1
1
require 'cloud_controller/blobstore/client'
2
2
require 'cloud_controller/blobstore/retryable_client'
3
3
require 'cloud_controller/blobstore/fog/fog_client'
4
- require 'cloud_controller/blobstore/fog/ error_handling_client'
4
+ require 'cloud_controller/blobstore/error_handling_client'
5
5
require 'cloud_controller/blobstore/webdav/dav_client'
6
6
require 'cloud_controller/blobstore/safe_delete_client'
7
- require 'cloud_controller/blobstore/cli/azure_cli_client '
7
+ require 'cloud_controller/blobstore/storage_cli/storage_cli_client '
8
8
require 'google/apis/errors'
9
9
10
10
module CloudController
@@ -13,8 +13,11 @@ class ClientProvider
13
13
def self . provide ( options :, directory_key :, root_dir : nil , resource_type : nil )
14
14
if options [ :blobstore_type ] . blank? || ( options [ :blobstore_type ] == 'fog' )
15
15
provide_fog ( options , directory_key , root_dir )
16
- elsif options [ :blobstore_type ] == 'cli'
17
- provide_azure_cli ( options , directory_key , root_dir )
16
+ elsif options [ :blobstore_type ] == 'storage-cli'
17
+ provide_storage_cli ( options , directory_key , root_dir )
18
+ elsif options [ :blobstore_type ] == 'storage-cli-fork'
19
+ # Just for testing not yet merged features in bosh-azure-cli
20
+ provide_storage_cli ( options , directory_key , root_dir , fork : true )
18
21
else
19
22
provide_webdav ( options , directory_key , root_dir )
20
23
end
@@ -69,18 +72,17 @@ def provide_webdav(options, directory_key, root_dir)
69
72
Client . new ( SafeDeleteClient . new ( retryable_client , root_dir ) )
70
73
end
71
74
72
- def provide_azure_cli ( options , directory_key , root_dir )
75
+ def provide_storage_cli ( options , directory_key , root_dir , fork : false )
76
+ client = StorageCliClient . build ( fog_connection : options . fetch ( :fog_connection ) ,
77
+ directory_key : directory_key ,
78
+ root_dir : root_dir ,
79
+ min_size : options [ :minimum_size ] ,
80
+ max_size : options [ :maximum_size ] ,
81
+ fork : fork )
73
82
74
- client = AzureCliClient . new ( fog_connection : options . fetch ( :fog_connection ) ,
75
- directory_key : directory_key ,
76
- root_dir : root_dir ,
77
- min_size : options [ :minimum_size ] ,
78
- max_size : options [ :maximum_size ] ,
79
- )
80
-
81
- logger = Steno . logger ( 'cc.blobstore.azure_cli' )
83
+ logger = Steno . logger ( 'cc.blobstore.storage_cli_client' )
82
84
errors = [ StandardError ]
83
- retryable_client = RetryableClient . new ( client : client , errors : errors , logger : logger )
85
+ retryable_client = RetryableClient . new ( client :, errors :, logger :)
84
86
85
87
Client . new ( SafeDeleteClient . new ( retryable_client , root_dir ) )
86
88
end
0 commit comments