azure_mgmt_key_vault 0.17.1 → 0.17.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. checksums.yaml +5 -5
  2. data/lib/2015-06-01/generated/azure_mgmt_key_vault/key_vault_management_client.rb +1 -1
  3. data/lib/2015-06-01/generated/azure_mgmt_key_vault/models/resource_list_result.rb +1 -1
  4. data/lib/2015-06-01/generated/azure_mgmt_key_vault/models/vault_list_result.rb +1 -1
  5. data/lib/2015-06-01/generated/azure_mgmt_key_vault/vaults.rb +14 -0
  6. data/lib/2016-10-01/generated/azure_mgmt_key_vault/key_vault_management_client.rb +1 -1
  7. data/lib/2016-10-01/generated/azure_mgmt_key_vault/models/deleted_vault_list_result.rb +1 -1
  8. data/lib/2016-10-01/generated/azure_mgmt_key_vault/models/operation_list_result.rb +1 -1
  9. data/lib/2016-10-01/generated/azure_mgmt_key_vault/models/resource_list_result.rb +1 -1
  10. data/lib/2016-10-01/generated/azure_mgmt_key_vault/models/vault_list_result.rb +1 -1
  11. data/lib/2016-10-01/generated/azure_mgmt_key_vault/operations.rb +4 -0
  12. data/lib/2016-10-01/generated/azure_mgmt_key_vault/vaults.rb +32 -0
  13. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault.rb +74 -0
  14. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/key_vault_management_client.rb +141 -0
  15. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/access_policy_entry.rb +86 -0
  16. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/access_policy_update_kind.rb +17 -0
  17. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/attributes.rb +92 -0
  18. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/certificate_permissions.rb +30 -0
  19. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/check_name_availability_result.rb +77 -0
  20. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/create_mode.rb +16 -0
  21. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/deleted_vault.rb +83 -0
  22. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/deleted_vault_list_result.rb +98 -0
  23. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/deleted_vault_properties.rb +103 -0
  24. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/iprule.rb +49 -0
  25. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/key_permissions.rb +30 -0
  26. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/log_specification.rb +68 -0
  27. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/network_rule_action.rb +16 -0
  28. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/network_rule_bypass_options.rb +16 -0
  29. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/network_rule_set.rb +103 -0
  30. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/operation.rb +83 -0
  31. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/operation_display.rb +79 -0
  32. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/operation_list_result.rb +100 -0
  33. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/permissions.rb +111 -0
  34. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/reason.rb +16 -0
  35. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/resource.rb +113 -0
  36. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/resource_list_result.rb +98 -0
  37. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/secret.rb +98 -0
  38. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/secret_attributes.rb +77 -0
  39. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/secret_create_or_update_parameters.rb +67 -0
  40. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/secret_list_result.rb +98 -0
  41. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/secret_patch_parameters.rb +67 -0
  42. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/secret_patch_properties.rb +69 -0
  43. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/secret_permissions.rb +22 -0
  44. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/secret_properties.rb +97 -0
  45. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/service_specification.rb +55 -0
  46. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/sku.rb +62 -0
  47. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/sku_name.rb +16 -0
  48. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/storage_permissions.rb +28 -0
  49. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/vault.rb +99 -0
  50. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/vault_access_policy_parameters.rb +95 -0
  51. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/vault_access_policy_properties.rb +57 -0
  52. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/vault_check_name_availability_parameters.rb +60 -0
  53. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/vault_create_or_update_parameters.rb +80 -0
  54. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/vault_list_result.rb +98 -0
  55. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/vault_patch_parameters.rb +67 -0
  56. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/vault_patch_properties.rb +175 -0
  57. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/vault_properties.rb +188 -0
  58. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/models/virtual_network_rule.rb +48 -0
  59. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/module_definition.rb +9 -0
  60. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/operations.rb +220 -0
  61. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/secrets.rb +624 -0
  62. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/vaults.rb +1771 -0
  63. data/lib/2018-02-14/generated/azure_mgmt_key_vault/key_vault_management_client.rb +1 -1
  64. data/lib/2018-02-14/generated/azure_mgmt_key_vault/models/deleted_vault_list_result.rb +1 -1
  65. data/lib/2018-02-14/generated/azure_mgmt_key_vault/models/operation_list_result.rb +1 -1
  66. data/lib/2018-02-14/generated/azure_mgmt_key_vault/models/resource_list_result.rb +1 -1
  67. data/lib/2018-02-14/generated/azure_mgmt_key_vault/models/vault_list_result.rb +1 -1
  68. data/lib/2018-02-14/generated/azure_mgmt_key_vault/operations.rb +4 -0
  69. data/lib/2018-02-14/generated/azure_mgmt_key_vault/vaults.rb +32 -0
  70. data/lib/azure_mgmt_key_vault.rb +6 -2
  71. data/lib/profiles/v2017_03_09/keyvault_module_definition.rb +8 -0
  72. data/lib/profiles/v2017_03_09/keyvault_v2017_03_09_profile_client.rb +40 -0
  73. data/lib/profiles/v2017_03_09/modules/keyvault_profile_module.rb +187 -0
  74. data/lib/profiles/v2018_03_01/keyvault_module_definition.rb +8 -0
  75. data/lib/profiles/v2018_03_01/keyvault_v2018_03_01_profile_client.rb +40 -0
  76. data/lib/profiles/v2018_03_01/modules/keyvault_profile_module.rb +187 -0
  77. data/lib/profiles/v2019_03_01_hybrid/keyvault_module_definition.rb +8 -0
  78. data/lib/profiles/v2019_03_01_hybrid/keyvault_v2019_03_01_hybrid_profile_client.rb +40 -0
  79. data/lib/profiles/v2019_03_01_hybrid/modules/keyvault_profile_module.rb +187 -0
  80. data/lib/version.rb +1 -1
  81. metadata +64 -5
@@ -0,0 +1,624 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::KeyVault::Mgmt::V2018_02_14_preview
7
+ #
8
+ # The Azure management API provides a RESTful set of web services that
9
+ # interact with Azure Key Vault.
10
+ #
11
+ class Secrets
12
+ include MsRestAzure
13
+
14
+ #
15
+ # Creates and initializes a new instance of the Secrets class.
16
+ # @param client service class for accessing basic functionality.
17
+ #
18
+ def initialize(client)
19
+ @client = client
20
+ end
21
+
22
+ # @return [KeyVaultManagementClient] reference to the KeyVaultManagementClient
23
+ attr_reader :client
24
+
25
+ #
26
+ # Create or update a secret in a key vault in the specified subscription.
27
+ # NOTE: This API is intended for internal use in ARM deployments. Users should
28
+ # use the data-plane REST service for interaction with vault secrets.
29
+ #
30
+ # @param resource_group_name [String] The name of the Resource Group to which
31
+ # the vault belongs.
32
+ # @param vault_name [String] Name of the vault
33
+ # @param secret_name [String] Name of the secret
34
+ # @param parameters [SecretCreateOrUpdateParameters] Parameters to create or
35
+ # update the secret
36
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
37
+ # will be added to the HTTP request.
38
+ #
39
+ # @return [Secret] operation results.
40
+ #
41
+ def create_or_update(resource_group_name, vault_name, secret_name, parameters, custom_headers:nil)
42
+ response = create_or_update_async(resource_group_name, vault_name, secret_name, parameters, custom_headers:custom_headers).value!
43
+ response.body unless response.nil?
44
+ end
45
+
46
+ #
47
+ # Create or update a secret in a key vault in the specified subscription.
48
+ # NOTE: This API is intended for internal use in ARM deployments. Users should
49
+ # use the data-plane REST service for interaction with vault secrets.
50
+ #
51
+ # @param resource_group_name [String] The name of the Resource Group to which
52
+ # the vault belongs.
53
+ # @param vault_name [String] Name of the vault
54
+ # @param secret_name [String] Name of the secret
55
+ # @param parameters [SecretCreateOrUpdateParameters] Parameters to create or
56
+ # update the secret
57
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
58
+ # will be added to the HTTP request.
59
+ #
60
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
61
+ #
62
+ def create_or_update_with_http_info(resource_group_name, vault_name, secret_name, parameters, custom_headers:nil)
63
+ create_or_update_async(resource_group_name, vault_name, secret_name, parameters, custom_headers:custom_headers).value!
64
+ end
65
+
66
+ #
67
+ # Create or update a secret in a key vault in the specified subscription.
68
+ # NOTE: This API is intended for internal use in ARM deployments. Users should
69
+ # use the data-plane REST service for interaction with vault secrets.
70
+ #
71
+ # @param resource_group_name [String] The name of the Resource Group to which
72
+ # the vault belongs.
73
+ # @param vault_name [String] Name of the vault
74
+ # @param secret_name [String] Name of the secret
75
+ # @param parameters [SecretCreateOrUpdateParameters] Parameters to create or
76
+ # update the secret
77
+ # @param [Hash{String => String}] A hash of custom headers that will be added
78
+ # to the HTTP request.
79
+ #
80
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
81
+ #
82
+ def create_or_update_async(resource_group_name, vault_name, secret_name, parameters, custom_headers:nil)
83
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
84
+ fail ArgumentError, 'vault_name is nil' if vault_name.nil?
85
+ fail ArgumentError, "'vault_name' should satisfy the constraint - 'Pattern': '^[a-zA-Z0-9-]{3,24}$'" if !vault_name.nil? && vault_name.match(Regexp.new('^^[a-zA-Z0-9-]{3,24}$$')).nil?
86
+ fail ArgumentError, 'secret_name is nil' if secret_name.nil?
87
+ fail ArgumentError, "'secret_name' should satisfy the constraint - 'Pattern': '^[a-zA-Z0-9-]{1,127}$'" if !secret_name.nil? && secret_name.match(Regexp.new('^^[a-zA-Z0-9-]{1,127}$$')).nil?
88
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
89
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
90
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
91
+
92
+
93
+ request_headers = {}
94
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
95
+
96
+ # Set Headers
97
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
98
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
99
+
100
+ # Serialize Request
101
+ request_mapper = Azure::KeyVault::Mgmt::V2018_02_14_preview::Models::SecretCreateOrUpdateParameters.mapper()
102
+ request_content = @client.serialize(request_mapper, parameters)
103
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
104
+
105
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}'
106
+
107
+ request_url = @base_url || @client.base_url
108
+
109
+ options = {
110
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
111
+ path_params: {'resourceGroupName' => resource_group_name,'vaultName' => vault_name,'secretName' => secret_name,'subscriptionId' => @client.subscription_id},
112
+ query_params: {'api-version' => @client.api_version},
113
+ body: request_content,
114
+ headers: request_headers.merge(custom_headers || {}),
115
+ base_url: request_url
116
+ }
117
+ promise = @client.make_request_async(:put, path_template, options)
118
+
119
+ promise = promise.then do |result|
120
+ http_response = result.response
121
+ status_code = http_response.status
122
+ response_content = http_response.body
123
+ unless status_code == 201 || status_code == 200
124
+ error_model = JSON.load(response_content)
125
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
126
+ end
127
+
128
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
129
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
130
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
131
+ # Deserialize Response
132
+ if status_code == 201
133
+ begin
134
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
135
+ result_mapper = Azure::KeyVault::Mgmt::V2018_02_14_preview::Models::Secret.mapper()
136
+ result.body = @client.deserialize(result_mapper, parsed_response)
137
+ rescue Exception => e
138
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
139
+ end
140
+ end
141
+ # Deserialize Response
142
+ if status_code == 200
143
+ begin
144
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
145
+ result_mapper = Azure::KeyVault::Mgmt::V2018_02_14_preview::Models::Secret.mapper()
146
+ result.body = @client.deserialize(result_mapper, parsed_response)
147
+ rescue Exception => e
148
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
149
+ end
150
+ end
151
+
152
+ result
153
+ end
154
+
155
+ promise.execute
156
+ end
157
+
158
+ #
159
+ # Update a secret in the specified subscription. NOTE: This API is intended
160
+ # for internal use in ARM deployments. Users should use the data-plane REST
161
+ # service for interaction with vault secrets.
162
+ #
163
+ # @param resource_group_name [String] The name of the Resource Group to which
164
+ # the vault belongs.
165
+ # @param vault_name [String] Name of the vault
166
+ # @param secret_name [String] Name of the secret
167
+ # @param parameters [SecretPatchParameters] Parameters to patch the secret
168
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
169
+ # will be added to the HTTP request.
170
+ #
171
+ # @return [Secret] operation results.
172
+ #
173
+ def update(resource_group_name, vault_name, secret_name, parameters, custom_headers:nil)
174
+ response = update_async(resource_group_name, vault_name, secret_name, parameters, custom_headers:custom_headers).value!
175
+ response.body unless response.nil?
176
+ end
177
+
178
+ #
179
+ # Update a secret in the specified subscription. NOTE: This API is intended
180
+ # for internal use in ARM deployments. Users should use the data-plane REST
181
+ # service for interaction with vault secrets.
182
+ #
183
+ # @param resource_group_name [String] The name of the Resource Group to which
184
+ # the vault belongs.
185
+ # @param vault_name [String] Name of the vault
186
+ # @param secret_name [String] Name of the secret
187
+ # @param parameters [SecretPatchParameters] Parameters to patch the secret
188
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
189
+ # will be added to the HTTP request.
190
+ #
191
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
192
+ #
193
+ def update_with_http_info(resource_group_name, vault_name, secret_name, parameters, custom_headers:nil)
194
+ update_async(resource_group_name, vault_name, secret_name, parameters, custom_headers:custom_headers).value!
195
+ end
196
+
197
+ #
198
+ # Update a secret in the specified subscription. NOTE: This API is intended
199
+ # for internal use in ARM deployments. Users should use the data-plane REST
200
+ # service for interaction with vault secrets.
201
+ #
202
+ # @param resource_group_name [String] The name of the Resource Group to which
203
+ # the vault belongs.
204
+ # @param vault_name [String] Name of the vault
205
+ # @param secret_name [String] Name of the secret
206
+ # @param parameters [SecretPatchParameters] Parameters to patch the secret
207
+ # @param [Hash{String => String}] A hash of custom headers that will be added
208
+ # to the HTTP request.
209
+ #
210
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
211
+ #
212
+ def update_async(resource_group_name, vault_name, secret_name, parameters, custom_headers:nil)
213
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
214
+ fail ArgumentError, 'vault_name is nil' if vault_name.nil?
215
+ fail ArgumentError, "'vault_name' should satisfy the constraint - 'Pattern': '^[a-zA-Z0-9-]{3,24}$'" if !vault_name.nil? && vault_name.match(Regexp.new('^^[a-zA-Z0-9-]{3,24}$$')).nil?
216
+ fail ArgumentError, 'secret_name is nil' if secret_name.nil?
217
+ fail ArgumentError, "'secret_name' should satisfy the constraint - 'Pattern': '^[a-zA-Z0-9-]{1,127}$'" if !secret_name.nil? && secret_name.match(Regexp.new('^^[a-zA-Z0-9-]{1,127}$$')).nil?
218
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
219
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
220
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
221
+
222
+
223
+ request_headers = {}
224
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
225
+
226
+ # Set Headers
227
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
228
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
229
+
230
+ # Serialize Request
231
+ request_mapper = Azure::KeyVault::Mgmt::V2018_02_14_preview::Models::SecretPatchParameters.mapper()
232
+ request_content = @client.serialize(request_mapper, parameters)
233
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
234
+
235
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}'
236
+
237
+ request_url = @base_url || @client.base_url
238
+
239
+ options = {
240
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
241
+ path_params: {'resourceGroupName' => resource_group_name,'vaultName' => vault_name,'secretName' => secret_name,'subscriptionId' => @client.subscription_id},
242
+ query_params: {'api-version' => @client.api_version},
243
+ body: request_content,
244
+ headers: request_headers.merge(custom_headers || {}),
245
+ base_url: request_url
246
+ }
247
+ promise = @client.make_request_async(:patch, path_template, options)
248
+
249
+ promise = promise.then do |result|
250
+ http_response = result.response
251
+ status_code = http_response.status
252
+ response_content = http_response.body
253
+ unless status_code == 201 || status_code == 200
254
+ error_model = JSON.load(response_content)
255
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
256
+ end
257
+
258
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
259
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
260
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
261
+ # Deserialize Response
262
+ if status_code == 201
263
+ begin
264
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
265
+ result_mapper = Azure::KeyVault::Mgmt::V2018_02_14_preview::Models::Secret.mapper()
266
+ result.body = @client.deserialize(result_mapper, parsed_response)
267
+ rescue Exception => e
268
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
269
+ end
270
+ end
271
+ # Deserialize Response
272
+ if status_code == 200
273
+ begin
274
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
275
+ result_mapper = Azure::KeyVault::Mgmt::V2018_02_14_preview::Models::Secret.mapper()
276
+ result.body = @client.deserialize(result_mapper, parsed_response)
277
+ rescue Exception => e
278
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
279
+ end
280
+ end
281
+
282
+ result
283
+ end
284
+
285
+ promise.execute
286
+ end
287
+
288
+ #
289
+ # Gets the specified secret. NOTE: This API is intended for internal use in
290
+ # ARM deployments. Users should use the data-plane REST service for interaction
291
+ # with vault secrets.
292
+ #
293
+ # @param resource_group_name [String] The name of the Resource Group to which
294
+ # the vault belongs.
295
+ # @param vault_name [String] The name of the vault.
296
+ # @param secret_name [String] The name of the secret.
297
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
298
+ # will be added to the HTTP request.
299
+ #
300
+ # @return [Secret] operation results.
301
+ #
302
+ def get(resource_group_name, vault_name, secret_name, custom_headers:nil)
303
+ response = get_async(resource_group_name, vault_name, secret_name, custom_headers:custom_headers).value!
304
+ response.body unless response.nil?
305
+ end
306
+
307
+ #
308
+ # Gets the specified secret. NOTE: This API is intended for internal use in
309
+ # ARM deployments. Users should use the data-plane REST service for interaction
310
+ # with vault secrets.
311
+ #
312
+ # @param resource_group_name [String] The name of the Resource Group to which
313
+ # the vault belongs.
314
+ # @param vault_name [String] The name of the vault.
315
+ # @param secret_name [String] The name of the secret.
316
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
317
+ # will be added to the HTTP request.
318
+ #
319
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
320
+ #
321
+ def get_with_http_info(resource_group_name, vault_name, secret_name, custom_headers:nil)
322
+ get_async(resource_group_name, vault_name, secret_name, custom_headers:custom_headers).value!
323
+ end
324
+
325
+ #
326
+ # Gets the specified secret. NOTE: This API is intended for internal use in
327
+ # ARM deployments. Users should use the data-plane REST service for interaction
328
+ # with vault secrets.
329
+ #
330
+ # @param resource_group_name [String] The name of the Resource Group to which
331
+ # the vault belongs.
332
+ # @param vault_name [String] The name of the vault.
333
+ # @param secret_name [String] The name of the secret.
334
+ # @param [Hash{String => String}] A hash of custom headers that will be added
335
+ # to the HTTP request.
336
+ #
337
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
338
+ #
339
+ def get_async(resource_group_name, vault_name, secret_name, custom_headers:nil)
340
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
341
+ fail ArgumentError, 'vault_name is nil' if vault_name.nil?
342
+ fail ArgumentError, 'secret_name is nil' if secret_name.nil?
343
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
344
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
345
+
346
+
347
+ request_headers = {}
348
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
349
+
350
+ # Set Headers
351
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
352
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
353
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}'
354
+
355
+ request_url = @base_url || @client.base_url
356
+
357
+ options = {
358
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
359
+ path_params: {'resourceGroupName' => resource_group_name,'vaultName' => vault_name,'secretName' => secret_name,'subscriptionId' => @client.subscription_id},
360
+ query_params: {'api-version' => @client.api_version},
361
+ headers: request_headers.merge(custom_headers || {}),
362
+ base_url: request_url
363
+ }
364
+ promise = @client.make_request_async(:get, path_template, options)
365
+
366
+ promise = promise.then do |result|
367
+ http_response = result.response
368
+ status_code = http_response.status
369
+ response_content = http_response.body
370
+ unless status_code == 200
371
+ error_model = JSON.load(response_content)
372
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
373
+ end
374
+
375
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
376
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
377
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
378
+ # Deserialize Response
379
+ if status_code == 200
380
+ begin
381
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
382
+ result_mapper = Azure::KeyVault::Mgmt::V2018_02_14_preview::Models::Secret.mapper()
383
+ result.body = @client.deserialize(result_mapper, parsed_response)
384
+ rescue Exception => e
385
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
386
+ end
387
+ end
388
+
389
+ result
390
+ end
391
+
392
+ promise.execute
393
+ end
394
+
395
+ #
396
+ # The List operation gets information about the secrets in a vault. NOTE: This
397
+ # API is intended for internal use in ARM deployments. Users should use the
398
+ # data-plane REST service for interaction with vault secrets.
399
+ #
400
+ # @param resource_group_name [String] The name of the Resource Group to which
401
+ # the vault belongs.
402
+ # @param vault_name [String] The name of the vault.
403
+ # @param top [Integer] Maximum number of results to return.
404
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
405
+ # will be added to the HTTP request.
406
+ #
407
+ # @return [Array<Secret>] operation results.
408
+ #
409
+ def list(resource_group_name, vault_name, top:nil, custom_headers:nil)
410
+ first_page = list_as_lazy(resource_group_name, vault_name, top:top, custom_headers:custom_headers)
411
+ first_page.get_all_items
412
+ end
413
+
414
+ #
415
+ # The List operation gets information about the secrets in a vault. NOTE: This
416
+ # API is intended for internal use in ARM deployments. Users should use the
417
+ # data-plane REST service for interaction with vault secrets.
418
+ #
419
+ # @param resource_group_name [String] The name of the Resource Group to which
420
+ # the vault belongs.
421
+ # @param vault_name [String] The name of the vault.
422
+ # @param top [Integer] Maximum number of results to return.
423
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
424
+ # will be added to the HTTP request.
425
+ #
426
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
427
+ #
428
+ def list_with_http_info(resource_group_name, vault_name, top:nil, custom_headers:nil)
429
+ list_async(resource_group_name, vault_name, top:top, custom_headers:custom_headers).value!
430
+ end
431
+
432
+ #
433
+ # The List operation gets information about the secrets in a vault. NOTE: This
434
+ # API is intended for internal use in ARM deployments. Users should use the
435
+ # data-plane REST service for interaction with vault secrets.
436
+ #
437
+ # @param resource_group_name [String] The name of the Resource Group to which
438
+ # the vault belongs.
439
+ # @param vault_name [String] The name of the vault.
440
+ # @param top [Integer] Maximum number of results to return.
441
+ # @param [Hash{String => String}] A hash of custom headers that will be added
442
+ # to the HTTP request.
443
+ #
444
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
445
+ #
446
+ def list_async(resource_group_name, vault_name, top:nil, custom_headers:nil)
447
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
448
+ fail ArgumentError, 'vault_name is nil' if vault_name.nil?
449
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
450
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
451
+
452
+
453
+ request_headers = {}
454
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
455
+
456
+ # Set Headers
457
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
458
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
459
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets'
460
+
461
+ request_url = @base_url || @client.base_url
462
+
463
+ options = {
464
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
465
+ path_params: {'resourceGroupName' => resource_group_name,'vaultName' => vault_name,'subscriptionId' => @client.subscription_id},
466
+ query_params: {'$top' => top,'api-version' => @client.api_version},
467
+ headers: request_headers.merge(custom_headers || {}),
468
+ base_url: request_url
469
+ }
470
+ promise = @client.make_request_async(:get, path_template, options)
471
+
472
+ promise = promise.then do |result|
473
+ http_response = result.response
474
+ status_code = http_response.status
475
+ response_content = http_response.body
476
+ unless status_code == 200
477
+ error_model = JSON.load(response_content)
478
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
479
+ end
480
+
481
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
482
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
483
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
484
+ # Deserialize Response
485
+ if status_code == 200
486
+ begin
487
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
488
+ result_mapper = Azure::KeyVault::Mgmt::V2018_02_14_preview::Models::SecretListResult.mapper()
489
+ result.body = @client.deserialize(result_mapper, parsed_response)
490
+ rescue Exception => e
491
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
492
+ end
493
+ end
494
+
495
+ result
496
+ end
497
+
498
+ promise.execute
499
+ end
500
+
501
+ #
502
+ # The List operation gets information about the secrets in a vault. NOTE: This
503
+ # API is intended for internal use in ARM deployments. Users should use the
504
+ # data-plane REST service for interaction with vault secrets.
505
+ #
506
+ # @param next_page_link [String] The NextLink from the previous successful call
507
+ # to List operation.
508
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
509
+ # will be added to the HTTP request.
510
+ #
511
+ # @return [SecretListResult] operation results.
512
+ #
513
+ def list_next(next_page_link, custom_headers:nil)
514
+ response = list_next_async(next_page_link, custom_headers:custom_headers).value!
515
+ response.body unless response.nil?
516
+ end
517
+
518
+ #
519
+ # The List operation gets information about the secrets in a vault. NOTE: This
520
+ # API is intended for internal use in ARM deployments. Users should use the
521
+ # data-plane REST service for interaction with vault secrets.
522
+ #
523
+ # @param next_page_link [String] The NextLink from the previous successful call
524
+ # to List operation.
525
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
526
+ # will be added to the HTTP request.
527
+ #
528
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
529
+ #
530
+ def list_next_with_http_info(next_page_link, custom_headers:nil)
531
+ list_next_async(next_page_link, custom_headers:custom_headers).value!
532
+ end
533
+
534
+ #
535
+ # The List operation gets information about the secrets in a vault. NOTE: This
536
+ # API is intended for internal use in ARM deployments. Users should use the
537
+ # data-plane REST service for interaction with vault secrets.
538
+ #
539
+ # @param next_page_link [String] The NextLink from the previous successful call
540
+ # to List operation.
541
+ # @param [Hash{String => String}] A hash of custom headers that will be added
542
+ # to the HTTP request.
543
+ #
544
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
545
+ #
546
+ def list_next_async(next_page_link, custom_headers:nil)
547
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
548
+
549
+
550
+ request_headers = {}
551
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
552
+
553
+ # Set Headers
554
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
555
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
556
+ path_template = '{nextLink}'
557
+
558
+ request_url = @base_url || @client.base_url
559
+
560
+ options = {
561
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
562
+ skip_encoding_path_params: {'nextLink' => next_page_link},
563
+ headers: request_headers.merge(custom_headers || {}),
564
+ base_url: request_url
565
+ }
566
+ promise = @client.make_request_async(:get, path_template, options)
567
+
568
+ promise = promise.then do |result|
569
+ http_response = result.response
570
+ status_code = http_response.status
571
+ response_content = http_response.body
572
+ unless status_code == 200
573
+ error_model = JSON.load(response_content)
574
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
575
+ end
576
+
577
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
578
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
579
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
580
+ # Deserialize Response
581
+ if status_code == 200
582
+ begin
583
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
584
+ result_mapper = Azure::KeyVault::Mgmt::V2018_02_14_preview::Models::SecretListResult.mapper()
585
+ result.body = @client.deserialize(result_mapper, parsed_response)
586
+ rescue Exception => e
587
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
588
+ end
589
+ end
590
+
591
+ result
592
+ end
593
+
594
+ promise.execute
595
+ end
596
+
597
+ #
598
+ # The List operation gets information about the secrets in a vault. NOTE: This
599
+ # API is intended for internal use in ARM deployments. Users should use the
600
+ # data-plane REST service for interaction with vault secrets.
601
+ #
602
+ # @param resource_group_name [String] The name of the Resource Group to which
603
+ # the vault belongs.
604
+ # @param vault_name [String] The name of the vault.
605
+ # @param top [Integer] Maximum number of results to return.
606
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
607
+ # will be added to the HTTP request.
608
+ #
609
+ # @return [SecretListResult] which provide lazy access to pages of the
610
+ # response.
611
+ #
612
+ def list_as_lazy(resource_group_name, vault_name, top:nil, custom_headers:nil)
613
+ response = list_async(resource_group_name, vault_name, top:top, custom_headers:custom_headers).value!
614
+ unless response.nil?
615
+ page = response.body
616
+ page.next_method = Proc.new do |next_page_link|
617
+ list_next_async(next_page_link, custom_headers:custom_headers)
618
+ end
619
+ page
620
+ end
621
+ end
622
+
623
+ end
624
+ end