7
7
from azure .cli .core ._profile import Profile
8
8
9
9
10
- def _get_token (cli_ctx , server , resource , scope ): # pylint: disable=unused-argument
11
- return Profile (cli_ctx = cli_ctx ).get_raw_token (resource )[0 ]
12
-
13
-
14
10
def get_keyvault_name_completion_list (resource_name ):
15
11
16
12
@Completer
17
13
def completer (cmd , prefix , namespace , ** kwargs ): # pylint: disable=unused-argument
18
- from .vendored_sdks .azure_keyvault_t1 import KeyVaultAuthentication , KeyVaultClient
19
- from azure .cli .core .profiles import ResourceType , get_api_version
20
- version = str (get_api_version (cmd .cli_ctx , ResourceType .DATA_KEYVAULT ))
21
- client = KeyVaultClient (KeyVaultAuthentication (_get_token ), api_version = version )
22
- func_name = 'get_{}s' .format (resource_name )
14
+ func_name = 'list_properties_of_{}s' .format (resource_name )
23
15
vault = namespace .vault_base_url
16
+ profile = Profile (cli_ctx = cmd .cli_ctx )
17
+ credential , _ , _ = profile .get_login_credentials (subscription_id = cmd .cli_ctx .data .get ('subscription_id' ))
18
+ if resource_name == 'key' :
19
+ from azure .keyvault .keys import KeyClient
20
+ from azure .cli .command_modules .keyvault ._client_factory import is_azure_stack_profile
21
+ version = '7.5-preview.1' if not is_azure_stack_profile (cmd = cmd ) else '2016-10-01'
22
+ client = KeyClient (vault_url = vault , credential = credential , api_version = version ,
23
+ verify_challenge_resource = False )
24
+ elif resource_name == 'secret' :
25
+ from azure .keyvault .secrets import SecretClient
26
+ from azure .cli .command_modules .keyvault ._client_factory import is_azure_stack_profile
27
+ version = '7.4' if not is_azure_stack_profile (cmd = cmd ) else '2016-10-01'
28
+ client = SecretClient (vault_url = vault , credential = credential , api_version = version ,
29
+ verify_challenge_resource = False )
30
+ else :
31
+ from azure .keyvault .certificates import CertificateClient
32
+ from azure .cli .command_modules .keyvault ._client_factory import is_azure_stack_profile
33
+ version = '7.4' if not is_azure_stack_profile (cmd = cmd ) else '2016-10-01'
34
+ client = CertificateClient (vault_url = vault , credential = credential , api_version = version ,
35
+ verify_challenge_resource = False )
24
36
items = []
25
- for y in list (getattr (client , func_name )(vault )):
26
- id_val = getattr (y , 'id' , None ) or getattr (y , 'kid' , None )
27
- items .append (id_val .rsplit ('/' , 1 )[1 ])
37
+ for y in list (getattr (client , func_name )()):
38
+ items .append (y .name )
28
39
return items
29
40
30
41
return completer
@@ -34,17 +45,31 @@ def get_keyvault_version_completion_list(resource_name):
34
45
35
46
@Completer
36
47
def completer (cmd , prefix , namespace , ** kwargs ): # pylint: disable=unused-argument
37
- from .vendored_sdks .azure_keyvault_t1 import KeyVaultAuthentication , KeyVaultClient
38
- from azure .cli .core .profiles import ResourceType , get_api_version
39
- version = str (get_api_version (cmd .cli_ctx , ResourceType .DATA_KEYVAULT ))
40
- client = KeyVaultClient (KeyVaultAuthentication (_get_token ), api_version = version )
41
- func_name = 'get_{}_versions' .format (resource_name )
48
+ func_name = 'list_properties_of_{}_versions' .format (resource_name )
42
49
vault = namespace .vault_base_url
43
- name = getattr (namespace , '{}_name' .format (resource_name ))
50
+ profile = Profile (cli_ctx = cmd .cli_ctx )
51
+ credential , _ , _ = profile .get_login_credentials (subscription_id = cmd .cli_ctx .data .get ('subscription_id' ))
52
+ if resource_name == 'key' :
53
+ from azure .keyvault .keys import KeyClient
54
+ from azure .cli .command_modules .keyvault ._client_factory import is_azure_stack_profile
55
+ version = '7.5-preview.1' if not is_azure_stack_profile (cmd = cmd ) else '2016-10-01'
56
+ client = KeyClient (vault_url = vault , credential = credential , api_version = version ,
57
+ verify_challenge_resource = False )
58
+ elif resource_name == 'secret' :
59
+ from azure .keyvault .secrets import SecretClient
60
+ from azure .cli .command_modules .keyvault ._client_factory import is_azure_stack_profile
61
+ version = '7.4' if not is_azure_stack_profile (cmd = cmd ) else '2016-10-01'
62
+ client = SecretClient (vault_url = vault , credential = credential , api_version = version ,
63
+ verify_challenge_resource = False )
64
+ else :
65
+ from azure .keyvault .certificates import CertificateClient
66
+ from azure .cli .command_modules .keyvault ._client_factory import is_azure_stack_profile
67
+ version = '7.4' if not is_azure_stack_profile (cmd = cmd ) else '2016-10-01'
68
+ client = CertificateClient (vault_url = vault , credential = credential , api_version = version ,
69
+ verify_challenge_resource = False )
44
70
items = []
45
- for y in list (getattr (client , func_name )(vault , name )):
46
- id_val = getattr (y , 'id' , None ) or getattr (y , 'kid' , None )
47
- items .append (id_val .rsplit ('/' , 1 )[1 ])
71
+ for y in list (getattr (client , func_name )()):
72
+ items .append (y .version )
48
73
return items
49
74
50
75
return completer
0 commit comments