azure_mgmt_key_vault 0.17.6 → 0.17.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/lib/2015-06-01/generated/azure_mgmt_key_vault/key_vault_management_client.rb +1 -1
  3. data/lib/2016-10-01/generated/azure_mgmt_key_vault/key_vault_management_client.rb +1 -1
  4. data/lib/2018-02-14-preview/generated/azure_mgmt_key_vault/key_vault_management_client.rb +1 -1
  5. data/lib/2018-02-14/generated/azure_mgmt_key_vault/key_vault_management_client.rb +1 -1
  6. data/lib/2019-09-01/generated/azure_mgmt_key_vault.rb +86 -0
  7. data/lib/2019-09-01/generated/azure_mgmt_key_vault/key_vault_management_client.rb +149 -0
  8. data/lib/2019-09-01/generated/azure_mgmt_key_vault/keys.rb +806 -0
  9. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/access_policy_entry.rb +86 -0
  10. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/access_policy_update_kind.rb +17 -0
  11. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/attributes.rb +111 -0
  12. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/certificate_permissions.rb +31 -0
  13. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/check_name_availability_result.rb +77 -0
  14. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/create_mode.rb +16 -0
  15. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/deleted_vault.rb +83 -0
  16. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/deleted_vault_list_result.rb +98 -0
  17. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/deleted_vault_properties.rb +103 -0
  18. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/deletion_recovery_level.rb +18 -0
  19. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/iprule.rb +49 -0
  20. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/json_web_key_curve_name.rb +18 -0
  21. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/json_web_key_operation.rb +21 -0
  22. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/json_web_key_type.rb +18 -0
  23. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/key.rb +184 -0
  24. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/key_attributes.rb +86 -0
  25. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/key_create_parameters.rb +67 -0
  26. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/key_list_result.rb +98 -0
  27. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/key_permissions.rb +31 -0
  28. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/key_properties.rb +131 -0
  29. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/log_specification.rb +68 -0
  30. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/network_rule_action.rb +16 -0
  31. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/network_rule_bypass_options.rb +16 -0
  32. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/network_rule_set.rb +103 -0
  33. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/operation.rb +83 -0
  34. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/operation_display.rb +79 -0
  35. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/operation_list_result.rb +100 -0
  36. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/permissions.rb +111 -0
  37. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/private_endpoint.rb +47 -0
  38. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/private_endpoint_connection.rb +127 -0
  39. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/private_endpoint_connection_item.rb +74 -0
  40. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/private_endpoint_connection_provisioning_state.rb +20 -0
  41. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/private_endpoint_service_connection_status.rb +18 -0
  42. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/private_link_resource.rb +140 -0
  43. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/private_link_resource_list_result.rb +55 -0
  44. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/private_link_service_connection_state.rb +73 -0
  45. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/reason.rb +16 -0
  46. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/resource.rb +113 -0
  47. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/resource_list_result.rb +98 -0
  48. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/secret_permissions.rb +23 -0
  49. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/service_specification.rb +55 -0
  50. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/sku.rb +62 -0
  51. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/sku_name.rb +16 -0
  52. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/storage_permissions.rb +29 -0
  53. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/vault.rb +115 -0
  54. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/vault_access_policy_parameters.rb +95 -0
  55. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/vault_access_policy_properties.rb +57 -0
  56. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/vault_check_name_availability_parameters.rb +60 -0
  57. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/vault_create_or_update_parameters.rb +80 -0
  58. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/vault_list_result.rb +98 -0
  59. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/vault_patch_parameters.rb +67 -0
  60. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/vault_patch_properties.rb +205 -0
  61. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/vault_properties.rb +248 -0
  62. data/lib/2019-09-01/generated/azure_mgmt_key_vault/models/virtual_network_rule.rb +48 -0
  63. data/lib/2019-09-01/generated/azure_mgmt_key_vault/module_definition.rb +9 -0
  64. data/lib/2019-09-01/generated/azure_mgmt_key_vault/operations.rb +220 -0
  65. data/lib/2019-09-01/generated/azure_mgmt_key_vault/private_endpoint_connections.rb +410 -0
  66. data/lib/2019-09-01/generated/azure_mgmt_key_vault/private_link_resources.rb +124 -0
  67. data/lib/2019-09-01/generated/azure_mgmt_key_vault/vaults.rb +1771 -0
  68. data/lib/azure_mgmt_key_vault.rb +4 -3
  69. data/lib/version.rb +1 -1
  70. metadata +65 -3
@@ -0,0 +1,248 @@
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::V2019_09_01
7
+ module Models
8
+ #
9
+ # Properties of the vault
10
+ #
11
+ class VaultProperties
12
+
13
+ include MsRestAzure
14
+
15
+ # @return The Azure Active Directory tenant ID that should be used for
16
+ # authenticating requests to the key vault.
17
+ attr_accessor :tenant_id
18
+
19
+ # @return [Sku] SKU details
20
+ attr_accessor :sku
21
+
22
+ # @return [Array<AccessPolicyEntry>] An array of 0 to 1024 identities
23
+ # that have access to the key vault. All identities in the array must use
24
+ # the same tenant ID as the key vault's tenant ID. When `createMode` is
25
+ # set to `recover`, access policies are not required. Otherwise, access
26
+ # policies are required.
27
+ attr_accessor :access_policies
28
+
29
+ # @return [String] The URI of the vault for performing operations on keys
30
+ # and secrets.
31
+ attr_accessor :vault_uri
32
+
33
+ # @return [Boolean] Property to specify whether Azure Virtual Machines
34
+ # are permitted to retrieve certificates stored as secrets from the key
35
+ # vault.
36
+ attr_accessor :enabled_for_deployment
37
+
38
+ # @return [Boolean] Property to specify whether Azure Disk Encryption is
39
+ # permitted to retrieve secrets from the vault and unwrap keys.
40
+ attr_accessor :enabled_for_disk_encryption
41
+
42
+ # @return [Boolean] Property to specify whether Azure Resource Manager is
43
+ # permitted to retrieve secrets from the key vault.
44
+ attr_accessor :enabled_for_template_deployment
45
+
46
+ # @return [Boolean] Property to specify whether the 'soft delete'
47
+ # functionality is enabled for this key vault. If it's not set to any
48
+ # value(true or false) when creating new key vault, it will be set to
49
+ # true by default. Once set to true, it cannot be reverted to false.
50
+ # Default value: true .
51
+ attr_accessor :enable_soft_delete
52
+
53
+ # @return [Integer] softDelete data retention days. It accepts >=7 and
54
+ # <=90. Default value: 90 .
55
+ attr_accessor :soft_delete_retention_in_days
56
+
57
+ # @return [Boolean] Property that controls how data actions are
58
+ # authorized. When true, the key vault will use Role Based Access Control
59
+ # (RBAC) for authorization of data actions, and the access policies
60
+ # specified in vault properties will be ignored (warning: this is a
61
+ # preview feature). When false, the key vault will use the access
62
+ # policies specified in vault properties, and any policy stored on Azure
63
+ # Resource Manager will be ignored. If null or not specified, the vault
64
+ # is created with the default value of false. Note that management
65
+ # actions are always authorized with RBAC. Default value: false .
66
+ attr_accessor :enable_rbac_authorization
67
+
68
+ # @return [CreateMode] The vault's create mode to indicate whether the
69
+ # vault need to be recovered or not. Possible values include: 'recover',
70
+ # 'default'
71
+ attr_accessor :create_mode
72
+
73
+ # @return [Boolean] Property specifying whether protection against purge
74
+ # is enabled for this vault. Setting this property to true activates
75
+ # protection against purge for this vault and its content - only the Key
76
+ # Vault service may initiate a hard, irrecoverable deletion. The setting
77
+ # is effective only if soft delete is also enabled. Enabling this
78
+ # functionality is irreversible - that is, the property does not accept
79
+ # false as its value.
80
+ attr_accessor :enable_purge_protection
81
+
82
+ # @return [NetworkRuleSet] Rules governing the accessibility of the key
83
+ # vault from specific network locations.
84
+ attr_accessor :network_acls
85
+
86
+ # @return [Array<PrivateEndpointConnectionItem>] List of private endpoint
87
+ # connections associated with the key vault.
88
+ attr_accessor :private_endpoint_connections
89
+
90
+
91
+ #
92
+ # Mapper for VaultProperties class as Ruby Hash.
93
+ # This will be used for serialization/deserialization.
94
+ #
95
+ def self.mapper()
96
+ {
97
+ client_side_validation: true,
98
+ required: false,
99
+ serialized_name: 'VaultProperties',
100
+ type: {
101
+ name: 'Composite',
102
+ class_name: 'VaultProperties',
103
+ model_properties: {
104
+ tenant_id: {
105
+ client_side_validation: true,
106
+ required: true,
107
+ serialized_name: 'tenantId',
108
+ type: {
109
+ name: 'String'
110
+ }
111
+ },
112
+ sku: {
113
+ client_side_validation: true,
114
+ required: true,
115
+ serialized_name: 'sku',
116
+ default_value: {},
117
+ type: {
118
+ name: 'Composite',
119
+ class_name: 'Sku'
120
+ }
121
+ },
122
+ access_policies: {
123
+ client_side_validation: true,
124
+ required: false,
125
+ serialized_name: 'accessPolicies',
126
+ type: {
127
+ name: 'Sequence',
128
+ element: {
129
+ client_side_validation: true,
130
+ required: false,
131
+ serialized_name: 'AccessPolicyEntryElementType',
132
+ type: {
133
+ name: 'Composite',
134
+ class_name: 'AccessPolicyEntry'
135
+ }
136
+ }
137
+ }
138
+ },
139
+ vault_uri: {
140
+ client_side_validation: true,
141
+ required: false,
142
+ serialized_name: 'vaultUri',
143
+ type: {
144
+ name: 'String'
145
+ }
146
+ },
147
+ enabled_for_deployment: {
148
+ client_side_validation: true,
149
+ required: false,
150
+ serialized_name: 'enabledForDeployment',
151
+ type: {
152
+ name: 'Boolean'
153
+ }
154
+ },
155
+ enabled_for_disk_encryption: {
156
+ client_side_validation: true,
157
+ required: false,
158
+ serialized_name: 'enabledForDiskEncryption',
159
+ type: {
160
+ name: 'Boolean'
161
+ }
162
+ },
163
+ enabled_for_template_deployment: {
164
+ client_side_validation: true,
165
+ required: false,
166
+ serialized_name: 'enabledForTemplateDeployment',
167
+ type: {
168
+ name: 'Boolean'
169
+ }
170
+ },
171
+ enable_soft_delete: {
172
+ client_side_validation: true,
173
+ required: false,
174
+ serialized_name: 'enableSoftDelete',
175
+ default_value: true,
176
+ type: {
177
+ name: 'Boolean'
178
+ }
179
+ },
180
+ soft_delete_retention_in_days: {
181
+ client_side_validation: true,
182
+ required: false,
183
+ serialized_name: 'softDeleteRetentionInDays',
184
+ default_value: 90,
185
+ type: {
186
+ name: 'Number'
187
+ }
188
+ },
189
+ enable_rbac_authorization: {
190
+ client_side_validation: true,
191
+ required: false,
192
+ serialized_name: 'enableRbacAuthorization',
193
+ default_value: false,
194
+ type: {
195
+ name: 'Boolean'
196
+ }
197
+ },
198
+ create_mode: {
199
+ client_side_validation: true,
200
+ required: false,
201
+ serialized_name: 'createMode',
202
+ type: {
203
+ name: 'Enum',
204
+ module: 'CreateMode'
205
+ }
206
+ },
207
+ enable_purge_protection: {
208
+ client_side_validation: true,
209
+ required: false,
210
+ serialized_name: 'enablePurgeProtection',
211
+ type: {
212
+ name: 'Boolean'
213
+ }
214
+ },
215
+ network_acls: {
216
+ client_side_validation: true,
217
+ required: false,
218
+ serialized_name: 'networkAcls',
219
+ type: {
220
+ name: 'Composite',
221
+ class_name: 'NetworkRuleSet'
222
+ }
223
+ },
224
+ private_endpoint_connections: {
225
+ client_side_validation: true,
226
+ required: false,
227
+ read_only: true,
228
+ serialized_name: 'privateEndpointConnections',
229
+ type: {
230
+ name: 'Sequence',
231
+ element: {
232
+ client_side_validation: true,
233
+ required: false,
234
+ serialized_name: 'PrivateEndpointConnectionItemElementType',
235
+ type: {
236
+ name: 'Composite',
237
+ class_name: 'PrivateEndpointConnectionItem'
238
+ }
239
+ }
240
+ }
241
+ }
242
+ }
243
+ }
244
+ }
245
+ end
246
+ end
247
+ end
248
+ end
@@ -0,0 +1,48 @@
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::V2019_09_01
7
+ module Models
8
+ #
9
+ # A rule governing the accessibility of a vault from a specific virtual
10
+ # network.
11
+ #
12
+ class VirtualNetworkRule
13
+
14
+ include MsRestAzure
15
+
16
+ # @return [String] Full resource id of a vnet subnet, such as
17
+ # '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'.
18
+ attr_accessor :id
19
+
20
+
21
+ #
22
+ # Mapper for VirtualNetworkRule class as Ruby Hash.
23
+ # This will be used for serialization/deserialization.
24
+ #
25
+ def self.mapper()
26
+ {
27
+ client_side_validation: true,
28
+ required: false,
29
+ serialized_name: 'VirtualNetworkRule',
30
+ type: {
31
+ name: 'Composite',
32
+ class_name: 'VirtualNetworkRule',
33
+ model_properties: {
34
+ id: {
35
+ client_side_validation: true,
36
+ required: true,
37
+ serialized_name: 'id',
38
+ type: {
39
+ name: 'String'
40
+ }
41
+ }
42
+ }
43
+ }
44
+ }
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,9 @@
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 end
7
+ module Azure::KeyVault end
8
+ module Azure::KeyVault::Mgmt end
9
+ module Azure::KeyVault::Mgmt::V2019_09_01 end
@@ -0,0 +1,220 @@
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::V2019_09_01
7
+ #
8
+ # The Azure management API provides a RESTful set of web services that
9
+ # interact with Azure Key Vault.
10
+ #
11
+ class Operations
12
+ include MsRestAzure
13
+
14
+ #
15
+ # Creates and initializes a new instance of the Operations 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
+ # Lists all of the available Key Vault Rest API operations.
27
+ #
28
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
29
+ # will be added to the HTTP request.
30
+ #
31
+ # @return [Array<Operation>] operation results.
32
+ #
33
+ def list(custom_headers:nil)
34
+ first_page = list_as_lazy(custom_headers:custom_headers)
35
+ first_page.get_all_items
36
+ end
37
+
38
+ #
39
+ # Lists all of the available Key Vault Rest API operations.
40
+ #
41
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
42
+ # will be added to the HTTP request.
43
+ #
44
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
45
+ #
46
+ def list_with_http_info(custom_headers:nil)
47
+ list_async(custom_headers:custom_headers).value!
48
+ end
49
+
50
+ #
51
+ # Lists all of the available Key Vault Rest API operations.
52
+ #
53
+ # @param [Hash{String => String}] A hash of custom headers that will be added
54
+ # to the HTTP request.
55
+ #
56
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
57
+ #
58
+ def list_async(custom_headers:nil)
59
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
60
+
61
+
62
+ request_headers = {}
63
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
64
+
65
+ # Set Headers
66
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
67
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
68
+ path_template = 'providers/Microsoft.KeyVault/operations'
69
+
70
+ request_url = @base_url || @client.base_url
71
+
72
+ options = {
73
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
74
+ query_params: {'api-version' => @client.api_version},
75
+ headers: request_headers.merge(custom_headers || {}),
76
+ base_url: request_url
77
+ }
78
+ promise = @client.make_request_async(:get, path_template, options)
79
+
80
+ promise = promise.then do |result|
81
+ http_response = result.response
82
+ status_code = http_response.status
83
+ response_content = http_response.body
84
+ unless status_code == 200
85
+ error_model = JSON.load(response_content)
86
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
87
+ end
88
+
89
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
90
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
91
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
92
+ # Deserialize Response
93
+ if status_code == 200
94
+ begin
95
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
96
+ result_mapper = Azure::KeyVault::Mgmt::V2019_09_01::Models::OperationListResult.mapper()
97
+ result.body = @client.deserialize(result_mapper, parsed_response)
98
+ rescue Exception => e
99
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
100
+ end
101
+ end
102
+
103
+ result
104
+ end
105
+
106
+ promise.execute
107
+ end
108
+
109
+ #
110
+ # Lists all of the available Key Vault Rest API operations.
111
+ #
112
+ # @param next_page_link [String] The NextLink from the previous successful call
113
+ # to List operation.
114
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
115
+ # will be added to the HTTP request.
116
+ #
117
+ # @return [OperationListResult] operation results.
118
+ #
119
+ def list_next(next_page_link, custom_headers:nil)
120
+ response = list_next_async(next_page_link, custom_headers:custom_headers).value!
121
+ response.body unless response.nil?
122
+ end
123
+
124
+ #
125
+ # Lists all of the available Key Vault Rest API operations.
126
+ #
127
+ # @param next_page_link [String] The NextLink from the previous successful call
128
+ # to List operation.
129
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
130
+ # will be added to the HTTP request.
131
+ #
132
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
133
+ #
134
+ def list_next_with_http_info(next_page_link, custom_headers:nil)
135
+ list_next_async(next_page_link, custom_headers:custom_headers).value!
136
+ end
137
+
138
+ #
139
+ # Lists all of the available Key Vault Rest API operations.
140
+ #
141
+ # @param next_page_link [String] The NextLink from the previous successful call
142
+ # to List operation.
143
+ # @param [Hash{String => String}] A hash of custom headers that will be added
144
+ # to the HTTP request.
145
+ #
146
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
147
+ #
148
+ def list_next_async(next_page_link, custom_headers:nil)
149
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
150
+
151
+
152
+ request_headers = {}
153
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
154
+
155
+ # Set Headers
156
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
157
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
158
+ path_template = '{nextLink}'
159
+
160
+ request_url = @base_url || @client.base_url
161
+
162
+ options = {
163
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
164
+ skip_encoding_path_params: {'nextLink' => next_page_link},
165
+ headers: request_headers.merge(custom_headers || {}),
166
+ base_url: request_url
167
+ }
168
+ promise = @client.make_request_async(:get, path_template, options)
169
+
170
+ promise = promise.then do |result|
171
+ http_response = result.response
172
+ status_code = http_response.status
173
+ response_content = http_response.body
174
+ unless status_code == 200
175
+ error_model = JSON.load(response_content)
176
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
177
+ end
178
+
179
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
180
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
181
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
182
+ # Deserialize Response
183
+ if status_code == 200
184
+ begin
185
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
186
+ result_mapper = Azure::KeyVault::Mgmt::V2019_09_01::Models::OperationListResult.mapper()
187
+ result.body = @client.deserialize(result_mapper, parsed_response)
188
+ rescue Exception => e
189
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
190
+ end
191
+ end
192
+
193
+ result
194
+ end
195
+
196
+ promise.execute
197
+ end
198
+
199
+ #
200
+ # Lists all of the available Key Vault Rest API operations.
201
+ #
202
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
203
+ # will be added to the HTTP request.
204
+ #
205
+ # @return [OperationListResult] which provide lazy access to pages of the
206
+ # response.
207
+ #
208
+ def list_as_lazy(custom_headers:nil)
209
+ response = list_async(custom_headers:custom_headers).value!
210
+ unless response.nil?
211
+ page = response.body
212
+ page.next_method = Proc.new do |next_page_link|
213
+ list_next_async(next_page_link, custom_headers:custom_headers)
214
+ end
215
+ page
216
+ end
217
+ end
218
+
219
+ end
220
+ end