azure_mgmt_policy 0.12.0 → 0.13.0

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.
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
- # Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
3
  # Changes may cause incorrect behavior and will be lost if the code is
4
4
  # regenerated.
5
5
 
@@ -20,9 +20,6 @@ module Azure::ARM::Policy
20
20
  # @return [String] The ID of the target subscription.
21
21
  attr_accessor :subscription_id
22
22
 
23
- # @return [String] The API version to use for the operation.
24
- attr_reader :api_version
25
-
26
23
  # @return [String] Gets or sets the preferred language for the response.
27
24
  attr_accessor :accept_language
28
25
 
@@ -37,6 +34,9 @@ module Azure::ARM::Policy
37
34
  # @return [PolicyAssignments] policy_assignments
38
35
  attr_reader :policy_assignments
39
36
 
37
+ # @return [PolicySetDefinitions] policy_set_definitions
38
+ attr_reader :policy_set_definitions
39
+
40
40
  # @return [PolicyDefinitions] policy_definitions
41
41
  attr_reader :policy_definitions
42
42
 
@@ -54,8 +54,8 @@ module Azure::ARM::Policy
54
54
  @credentials = credentials
55
55
 
56
56
  @policy_assignments = PolicyAssignments.new(self)
57
+ @policy_set_definitions = PolicySetDefinitions.new(self)
57
58
  @policy_definitions = PolicyDefinitions.new(self)
58
- @api_version = '2016-12-01'
59
59
  @accept_language = 'en-US'
60
60
  @long_running_operation_retry_timeout = 30
61
61
  @generate_client_request_id = true
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
- # Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
3
  # Changes may cause incorrect behavior and will be lost if the code is
4
4
  # regenerated.
5
5
 
@@ -67,7 +67,7 @@ module Azure::ARM::Policy
67
67
  def create_or_update_async(policy_definition_name, parameters, custom_headers = nil)
68
68
  fail ArgumentError, 'policy_definition_name is nil' if policy_definition_name.nil?
69
69
  fail ArgumentError, 'parameters is nil' if parameters.nil?
70
- fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
70
+ api_version = '2016-12-01'
71
71
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
72
72
 
73
73
 
@@ -91,7 +91,7 @@ module Azure::ARM::Policy
91
91
  options = {
92
92
  middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
93
93
  path_params: {'policyDefinitionName' => policy_definition_name,'subscriptionId' => @client.subscription_id},
94
- query_params: {'api-version' => @client.api_version},
94
+ query_params: {'api-version' => api_version},
95
95
  body: request_content,
96
96
  headers: request_headers.merge(custom_headers || {}),
97
97
  base_url: request_url
@@ -165,7 +165,7 @@ module Azure::ARM::Policy
165
165
  #
166
166
  def delete_async(policy_definition_name, custom_headers = nil)
167
167
  fail ArgumentError, 'policy_definition_name is nil' if policy_definition_name.nil?
168
- fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
168
+ api_version = '2016-12-01'
169
169
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
170
170
 
171
171
 
@@ -181,7 +181,7 @@ module Azure::ARM::Policy
181
181
  options = {
182
182
  middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
183
183
  path_params: {'policyDefinitionName' => policy_definition_name,'subscriptionId' => @client.subscription_id},
184
- query_params: {'api-version' => @client.api_version},
184
+ query_params: {'api-version' => api_version},
185
185
  headers: request_headers.merge(custom_headers || {}),
186
186
  base_url: request_url
187
187
  }
@@ -245,7 +245,7 @@ module Azure::ARM::Policy
245
245
  #
246
246
  def get_async(policy_definition_name, custom_headers = nil)
247
247
  fail ArgumentError, 'policy_definition_name is nil' if policy_definition_name.nil?
248
- fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
248
+ api_version = '2016-12-01'
249
249
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
250
250
 
251
251
 
@@ -261,7 +261,7 @@ module Azure::ARM::Policy
261
261
  options = {
262
262
  middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
263
263
  path_params: {'policyDefinitionName' => policy_definition_name,'subscriptionId' => @client.subscription_id},
264
- query_params: {'api-version' => @client.api_version},
264
+ query_params: {'api-version' => api_version},
265
265
  headers: request_headers.merge(custom_headers || {}),
266
266
  base_url: request_url
267
267
  }
@@ -331,7 +331,7 @@ module Azure::ARM::Policy
331
331
  # @return [Concurrent::Promise] Promise object which holds the HTTP response.
332
332
  #
333
333
  def list_async(filter = nil, custom_headers = nil)
334
- fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
334
+ api_version = '2016-12-01'
335
335
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
336
336
 
337
337
 
@@ -347,7 +347,7 @@ module Azure::ARM::Policy
347
347
  options = {
348
348
  middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
349
349
  path_params: {'subscriptionId' => @client.subscription_id},
350
- query_params: {'$filter' => filter,'api-version' => @client.api_version},
350
+ query_params: {'$filter' => filter,'api-version' => api_version},
351
351
  headers: request_headers.merge(custom_headers || {}),
352
352
  base_url: request_url
353
353
  }
@@ -0,0 +1,498 @@
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::ARM::Policy
7
+ #
8
+ # To manage and control access to your resources, you can define customized
9
+ # policies and assign them at a scope.
10
+ #
11
+ class PolicySetDefinitions
12
+ include MsRestAzure
13
+
14
+ #
15
+ # Creates and initializes a new instance of the PolicySetDefinitions class.
16
+ # @param client service class for accessing basic functionality.
17
+ #
18
+ def initialize(client)
19
+ @client = client
20
+ end
21
+
22
+ # @return [PolicyClient] reference to the PolicyClient
23
+ attr_reader :client
24
+
25
+ #
26
+ # Creates or updates a policy set definition.
27
+ #
28
+ # @param policy_set_definition_name [String] The name of the policy set
29
+ # definition to create.
30
+ # @param parameters [PolicySetDefinition] The policy set definition properties.
31
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
32
+ # will be added to the HTTP request.
33
+ #
34
+ # @return [PolicySetDefinition] operation results.
35
+ #
36
+ def create_or_update(policy_set_definition_name, parameters, custom_headers = nil)
37
+ response = create_or_update_async(policy_set_definition_name, parameters, custom_headers).value!
38
+ response.body unless response.nil?
39
+ end
40
+
41
+ #
42
+ # Creates or updates a policy set definition.
43
+ #
44
+ # @param policy_set_definition_name [String] The name of the policy set
45
+ # definition to create.
46
+ # @param parameters [PolicySetDefinition] The policy set definition properties.
47
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
48
+ # will be added to the HTTP request.
49
+ #
50
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
51
+ #
52
+ def create_or_update_with_http_info(policy_set_definition_name, parameters, custom_headers = nil)
53
+ create_or_update_async(policy_set_definition_name, parameters, custom_headers).value!
54
+ end
55
+
56
+ #
57
+ # Creates or updates a policy set definition.
58
+ #
59
+ # @param policy_set_definition_name [String] The name of the policy set
60
+ # definition to create.
61
+ # @param parameters [PolicySetDefinition] The policy set definition properties.
62
+ # @param [Hash{String => String}] A hash of custom headers that will be added
63
+ # to the HTTP request.
64
+ #
65
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
66
+ #
67
+ def create_or_update_async(policy_set_definition_name, parameters, custom_headers = nil)
68
+ fail ArgumentError, 'policy_set_definition_name is nil' if policy_set_definition_name.nil?
69
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
70
+ api_version = '2017-06-01-preview'
71
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
72
+
73
+
74
+ request_headers = {}
75
+
76
+ # Set Headers
77
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
78
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
79
+
80
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
81
+
82
+ # Serialize Request
83
+ request_mapper = Azure::ARM::Policy::Models::PolicySetDefinition.mapper()
84
+ request_content = @client.serialize(request_mapper, parameters)
85
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
86
+
87
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policysetdefinitions/{policySetDefinitionName}'
88
+
89
+ request_url = @base_url || @client.base_url
90
+
91
+ options = {
92
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
93
+ path_params: {'policySetDefinitionName' => policy_set_definition_name,'subscriptionId' => @client.subscription_id},
94
+ query_params: {'api-version' => api_version},
95
+ body: request_content,
96
+ headers: request_headers.merge(custom_headers || {}),
97
+ base_url: request_url
98
+ }
99
+ promise = @client.make_request_async(:put, path_template, options)
100
+
101
+ promise = promise.then do |result|
102
+ http_response = result.response
103
+ status_code = http_response.status
104
+ response_content = http_response.body
105
+ unless status_code == 201 || status_code == 200
106
+ error_model = JSON.load(response_content)
107
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
108
+ end
109
+
110
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
111
+ # Deserialize Response
112
+ if status_code == 201
113
+ begin
114
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
115
+ result_mapper = Azure::ARM::Policy::Models::PolicySetDefinition.mapper()
116
+ result.body = @client.deserialize(result_mapper, parsed_response)
117
+ rescue Exception => e
118
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
119
+ end
120
+ end
121
+ # Deserialize Response
122
+ if status_code == 200
123
+ begin
124
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
125
+ result_mapper = Azure::ARM::Policy::Models::PolicySetDefinition.mapper()
126
+ result.body = @client.deserialize(result_mapper, parsed_response)
127
+ rescue Exception => e
128
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
129
+ end
130
+ end
131
+
132
+ result
133
+ end
134
+
135
+ promise.execute
136
+ end
137
+
138
+ #
139
+ # Deletes a policy set definition.
140
+ #
141
+ # @param policy_set_definition_name [String] The name of the policy set
142
+ # definition to delete.
143
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
144
+ # will be added to the HTTP request.
145
+ #
146
+ #
147
+ def delete(policy_set_definition_name, custom_headers = nil)
148
+ response = delete_async(policy_set_definition_name, custom_headers).value!
149
+ nil
150
+ end
151
+
152
+ #
153
+ # Deletes a policy set definition.
154
+ #
155
+ # @param policy_set_definition_name [String] The name of the policy set
156
+ # definition to delete.
157
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
158
+ # will be added to the HTTP request.
159
+ #
160
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
161
+ #
162
+ def delete_with_http_info(policy_set_definition_name, custom_headers = nil)
163
+ delete_async(policy_set_definition_name, custom_headers).value!
164
+ end
165
+
166
+ #
167
+ # Deletes a policy set definition.
168
+ #
169
+ # @param policy_set_definition_name [String] The name of the policy set
170
+ # definition to delete.
171
+ # @param [Hash{String => String}] A hash of custom headers that will be added
172
+ # to the HTTP request.
173
+ #
174
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
175
+ #
176
+ def delete_async(policy_set_definition_name, custom_headers = nil)
177
+ fail ArgumentError, 'policy_set_definition_name is nil' if policy_set_definition_name.nil?
178
+ api_version = '2017-06-01-preview'
179
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
180
+
181
+
182
+ request_headers = {}
183
+
184
+ # Set Headers
185
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
186
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
187
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policysetdefinitions/{policySetDefinitionName}'
188
+
189
+ request_url = @base_url || @client.base_url
190
+
191
+ options = {
192
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
193
+ path_params: {'policySetDefinitionName' => policy_set_definition_name,'subscriptionId' => @client.subscription_id},
194
+ query_params: {'api-version' => api_version},
195
+ headers: request_headers.merge(custom_headers || {}),
196
+ base_url: request_url
197
+ }
198
+ promise = @client.make_request_async(:delete, path_template, options)
199
+
200
+ promise = promise.then do |result|
201
+ http_response = result.response
202
+ status_code = http_response.status
203
+ response_content = http_response.body
204
+ unless status_code == 204 || status_code == 200
205
+ error_model = JSON.load(response_content)
206
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
207
+ end
208
+
209
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
210
+
211
+ result
212
+ end
213
+
214
+ promise.execute
215
+ end
216
+
217
+ #
218
+ # Gets the policy set definition.
219
+ #
220
+ # @param policy_set_definition_name [String] The name of the policy set
221
+ # definition to get.
222
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
223
+ # will be added to the HTTP request.
224
+ #
225
+ # @return [PolicySetDefinition] operation results.
226
+ #
227
+ def get(policy_set_definition_name, custom_headers = nil)
228
+ response = get_async(policy_set_definition_name, custom_headers).value!
229
+ response.body unless response.nil?
230
+ end
231
+
232
+ #
233
+ # Gets the policy set definition.
234
+ #
235
+ # @param policy_set_definition_name [String] The name of the policy set
236
+ # definition to get.
237
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
238
+ # will be added to the HTTP request.
239
+ #
240
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
241
+ #
242
+ def get_with_http_info(policy_set_definition_name, custom_headers = nil)
243
+ get_async(policy_set_definition_name, custom_headers).value!
244
+ end
245
+
246
+ #
247
+ # Gets the policy set definition.
248
+ #
249
+ # @param policy_set_definition_name [String] The name of the policy set
250
+ # definition to get.
251
+ # @param [Hash{String => String}] A hash of custom headers that will be added
252
+ # to the HTTP request.
253
+ #
254
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
255
+ #
256
+ def get_async(policy_set_definition_name, custom_headers = nil)
257
+ fail ArgumentError, 'policy_set_definition_name is nil' if policy_set_definition_name.nil?
258
+ api_version = '2017-06-01-preview'
259
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
260
+
261
+
262
+ request_headers = {}
263
+
264
+ # Set Headers
265
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
266
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
267
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policysetdefinitions/{policySetDefinitionName}'
268
+
269
+ request_url = @base_url || @client.base_url
270
+
271
+ options = {
272
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
273
+ path_params: {'policySetDefinitionName' => policy_set_definition_name,'subscriptionId' => @client.subscription_id},
274
+ query_params: {'api-version' => api_version},
275
+ headers: request_headers.merge(custom_headers || {}),
276
+ base_url: request_url
277
+ }
278
+ promise = @client.make_request_async(:get, path_template, options)
279
+
280
+ promise = promise.then do |result|
281
+ http_response = result.response
282
+ status_code = http_response.status
283
+ response_content = http_response.body
284
+ unless status_code == 200 || status_code == 404
285
+ error_model = JSON.load(response_content)
286
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
287
+ end
288
+
289
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
290
+ # Deserialize Response
291
+ if status_code == 200
292
+ begin
293
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
294
+ result_mapper = Azure::ARM::Policy::Models::PolicySetDefinition.mapper()
295
+ result.body = @client.deserialize(result_mapper, parsed_response)
296
+ rescue Exception => e
297
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
298
+ end
299
+ end
300
+
301
+ result
302
+ end
303
+
304
+ promise.execute
305
+ end
306
+
307
+ #
308
+ # Gets all the policy set definitions for a subscription.
309
+ #
310
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
311
+ # will be added to the HTTP request.
312
+ #
313
+ # @return [Array<PolicySetDefinition>] operation results.
314
+ #
315
+ def list(custom_headers = nil)
316
+ first_page = list_as_lazy(custom_headers)
317
+ first_page.get_all_items
318
+ end
319
+
320
+ #
321
+ # Gets all the policy set definitions for a subscription.
322
+ #
323
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
324
+ # will be added to the HTTP request.
325
+ #
326
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
327
+ #
328
+ def list_with_http_info(custom_headers = nil)
329
+ list_async(custom_headers).value!
330
+ end
331
+
332
+ #
333
+ # Gets all the policy set definitions for a subscription.
334
+ #
335
+ # @param [Hash{String => String}] A hash of custom headers that will be added
336
+ # to the HTTP request.
337
+ #
338
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
339
+ #
340
+ def list_async(custom_headers = nil)
341
+ api_version = '2017-06-01-preview'
342
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
343
+
344
+
345
+ request_headers = {}
346
+
347
+ # Set Headers
348
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
349
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
350
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policysetdefinitions'
351
+
352
+ request_url = @base_url || @client.base_url
353
+
354
+ options = {
355
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
356
+ path_params: {'subscriptionId' => @client.subscription_id},
357
+ query_params: {'api-version' => api_version},
358
+ headers: request_headers.merge(custom_headers || {}),
359
+ base_url: request_url
360
+ }
361
+ promise = @client.make_request_async(:get, path_template, options)
362
+
363
+ promise = promise.then do |result|
364
+ http_response = result.response
365
+ status_code = http_response.status
366
+ response_content = http_response.body
367
+ unless status_code == 200
368
+ error_model = JSON.load(response_content)
369
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
370
+ end
371
+
372
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
373
+ # Deserialize Response
374
+ if status_code == 200
375
+ begin
376
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
377
+ result_mapper = Azure::ARM::Policy::Models::PolicySetDefinitionListResult.mapper()
378
+ result.body = @client.deserialize(result_mapper, parsed_response)
379
+ rescue Exception => e
380
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
381
+ end
382
+ end
383
+
384
+ result
385
+ end
386
+
387
+ promise.execute
388
+ end
389
+
390
+ #
391
+ # Gets all the policy set definitions for a subscription.
392
+ #
393
+ # @param next_page_link [String] The NextLink from the previous successful call
394
+ # to List operation.
395
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
396
+ # will be added to the HTTP request.
397
+ #
398
+ # @return [PolicySetDefinitionListResult] operation results.
399
+ #
400
+ def list_next(next_page_link, custom_headers = nil)
401
+ response = list_next_async(next_page_link, custom_headers).value!
402
+ response.body unless response.nil?
403
+ end
404
+
405
+ #
406
+ # Gets all the policy set definitions for a subscription.
407
+ #
408
+ # @param next_page_link [String] The NextLink from the previous successful call
409
+ # to List operation.
410
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
411
+ # will be added to the HTTP request.
412
+ #
413
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
414
+ #
415
+ def list_next_with_http_info(next_page_link, custom_headers = nil)
416
+ list_next_async(next_page_link, custom_headers).value!
417
+ end
418
+
419
+ #
420
+ # Gets all the policy set definitions for a subscription.
421
+ #
422
+ # @param next_page_link [String] The NextLink from the previous successful call
423
+ # to List operation.
424
+ # @param [Hash{String => String}] A hash of custom headers that will be added
425
+ # to the HTTP request.
426
+ #
427
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
428
+ #
429
+ def list_next_async(next_page_link, custom_headers = nil)
430
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
431
+
432
+
433
+ request_headers = {}
434
+
435
+ # Set Headers
436
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
437
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
438
+ path_template = '{nextLink}'
439
+
440
+ request_url = @base_url || @client.base_url
441
+
442
+ options = {
443
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
444
+ skip_encoding_path_params: {'nextLink' => next_page_link},
445
+ headers: request_headers.merge(custom_headers || {}),
446
+ base_url: request_url
447
+ }
448
+ promise = @client.make_request_async(:get, path_template, options)
449
+
450
+ promise = promise.then do |result|
451
+ http_response = result.response
452
+ status_code = http_response.status
453
+ response_content = http_response.body
454
+ unless status_code == 200
455
+ error_model = JSON.load(response_content)
456
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
457
+ end
458
+
459
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
460
+ # Deserialize Response
461
+ if status_code == 200
462
+ begin
463
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
464
+ result_mapper = Azure::ARM::Policy::Models::PolicySetDefinitionListResult.mapper()
465
+ result.body = @client.deserialize(result_mapper, parsed_response)
466
+ rescue Exception => e
467
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
468
+ end
469
+ end
470
+
471
+ result
472
+ end
473
+
474
+ promise.execute
475
+ end
476
+
477
+ #
478
+ # Gets all the policy set definitions for a subscription.
479
+ #
480
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
481
+ # will be added to the HTTP request.
482
+ #
483
+ # @return [PolicySetDefinitionListResult] which provide lazy access to pages of
484
+ # the response.
485
+ #
486
+ def list_as_lazy(custom_headers = nil)
487
+ response = list_async(custom_headers).value!
488
+ unless response.nil?
489
+ page = response.body
490
+ page.next_method = Proc.new do |next_page_link|
491
+ list_next_async(next_page_link, custom_headers)
492
+ end
493
+ page
494
+ end
495
+ end
496
+
497
+ end
498
+ end