azure_mgmt_resources_management 0.15.2 → 0.16.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.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/lib/2017-08-31-preview/generated/azure_mgmt_resources_management/management_groups.rb +21 -18
  3. data/lib/2017-08-31-preview/generated/azure_mgmt_resources_management/management_groups_api.rb +4 -1
  4. data/lib/2017-08-31-preview/generated/azure_mgmt_resources_management/operations.rb +15 -13
  5. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management.rb +42 -0
  6. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management/management_group_subscriptions.rb +209 -0
  7. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management/management_groups.rb +698 -0
  8. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management/management_groups_api.rb +136 -0
  9. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management/models/create_group_request.rb +59 -0
  10. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management/models/error_details.rb +57 -0
  11. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management/models/error_response.rb +47 -0
  12. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management/models/management_group.rb +130 -0
  13. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management/models/management_group_child_info.rb +91 -0
  14. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management/models/management_group_details.rb +81 -0
  15. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management/models/management_group_info.rb +98 -0
  16. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management/models/management_group_list_result.rb +99 -0
  17. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management/models/operation.rb +59 -0
  18. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management/models/operation_display.rb +83 -0
  19. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management/models/operation_list_result.rb +103 -0
  20. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management/models/parent_group_info.rb +59 -0
  21. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management/module_definition.rb +9 -0
  22. data/lib/2017-11-01-preview/generated/azure_mgmt_resources_management/operations.rb +219 -0
  23. data/lib/azure_mgmt_resources_management.rb +1 -0
  24. data/lib/profiles/latest/modules/resourcesmanagement_profile_module.rb +82 -69
  25. data/lib/profiles/latest/resourcesmanagement_latest_profile_client.rb +28 -9
  26. data/lib/profiles/latest/resourcesmanagement_module_definition.rb +0 -1
  27. data/lib/version.rb +1 -1
  28. metadata +21 -3
@@ -0,0 +1,698 @@
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::ResourcesManagement::Mgmt::V2017_11_01_preview
7
+ #
8
+ # The Azure Management Groups API enables consolidation of multiple
9
+ # subscriptions/resources into an organizational hierarchy and centrally
10
+ # manage access control, policies, alerting and reporting for those
11
+ # resources.
12
+ #
13
+ #
14
+ class ManagementGroups
15
+ include MsRestAzure
16
+
17
+ #
18
+ # Creates and initializes a new instance of the ManagementGroups class.
19
+ # @param client service class for accessing basic functionality.
20
+ #
21
+ def initialize(client)
22
+ @client = client
23
+ end
24
+
25
+ # @return [ManagementGroupsAPI] reference to the ManagementGroupsAPI
26
+ attr_reader :client
27
+
28
+ #
29
+ # List management groups for the authenticated user.
30
+ #
31
+ #
32
+ # @param cache_control [String] Indicates that the request shouldn't utilize
33
+ # any caches.
34
+ # @param skiptoken [String] Page continuation token is only used if a previous
35
+ # operation returned a partial result.
36
+ # If a previous response contains a nextLink element, the value of the nextLink
37
+ # element will include a token parameter that specifies a starting point to use
38
+ # for subsequent calls.
39
+ #
40
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
41
+ # will be added to the HTTP request.
42
+ #
43
+ # @return [Array<ManagementGroupInfo>] operation results.
44
+ #
45
+ def list(cache_control:'no-cache', skiptoken:nil, custom_headers:nil)
46
+ first_page = list_as_lazy(cache_control:cache_control, skiptoken:skiptoken, custom_headers:custom_headers)
47
+ first_page.get_all_items
48
+ end
49
+
50
+ #
51
+ # List management groups for the authenticated user.
52
+ #
53
+ #
54
+ # @param cache_control [String] Indicates that the request shouldn't utilize
55
+ # any caches.
56
+ # @param skiptoken [String] Page continuation token is only used if a previous
57
+ # operation returned a partial result.
58
+ # If a previous response contains a nextLink element, the value of the nextLink
59
+ # element will include a token parameter that specifies a starting point to use
60
+ # for subsequent calls.
61
+ #
62
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
63
+ # will be added to the HTTP request.
64
+ #
65
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
66
+ #
67
+ def list_with_http_info(cache_control:'no-cache', skiptoken:nil, custom_headers:nil)
68
+ list_async(cache_control:cache_control, skiptoken:skiptoken, custom_headers:custom_headers).value!
69
+ end
70
+
71
+ #
72
+ # List management groups for the authenticated user.
73
+ #
74
+ #
75
+ # @param cache_control [String] Indicates that the request shouldn't utilize
76
+ # any caches.
77
+ # @param skiptoken [String] Page continuation token is only used if a previous
78
+ # operation returned a partial result.
79
+ # If a previous response contains a nextLink element, the value of the nextLink
80
+ # element will include a token parameter that specifies a starting point to use
81
+ # for subsequent calls.
82
+ #
83
+ # @param [Hash{String => String}] A hash of custom headers that will be added
84
+ # to the HTTP request.
85
+ #
86
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
87
+ #
88
+ def list_async(cache_control:'no-cache', skiptoken:nil, custom_headers:nil)
89
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
90
+
91
+
92
+ request_headers = {}
93
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
94
+
95
+ # Set Headers
96
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
97
+ request_headers['Cache-Control'] = cache_control unless cache_control.nil?
98
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
99
+ path_template = 'providers/Microsoft.Management/managementGroups'
100
+
101
+ request_url = @base_url || @client.base_url
102
+
103
+ options = {
104
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
105
+ query_params: {'api-version' => @client.api_version,'$skiptoken' => skiptoken},
106
+ headers: request_headers.merge(custom_headers || {}),
107
+ base_url: request_url
108
+ }
109
+ promise = @client.make_request_async(:get, path_template, options)
110
+
111
+ promise = promise.then do |result|
112
+ http_response = result.response
113
+ status_code = http_response.status
114
+ response_content = http_response.body
115
+ unless status_code == 200
116
+ error_model = JSON.load(response_content)
117
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
118
+ end
119
+
120
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
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::ResourcesManagement::Mgmt::V2017_11_01_preview::Models::ManagementGroupListResult.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
+ # Get the details of the management group.
140
+ #
141
+ #
142
+ # @param group_id [String] Management Group ID.
143
+ # @param expand [Enum] The $expand=children query string parameter allows
144
+ # clients to request inclusion of children in the response payload. Possible
145
+ # values include: 'children'
146
+ # @param recurse [Boolean] The $recurse=true query string parameter allows
147
+ # clients to request inclusion of entire hierarchy in the response payload.
148
+ # @param cache_control [String] Indicates that the request shouldn't utilize
149
+ # any caches.
150
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
151
+ # will be added to the HTTP request.
152
+ #
153
+ # @return [ManagementGroup] operation results.
154
+ #
155
+ def get(group_id, expand:nil, recurse:nil, cache_control:'no-cache', custom_headers:nil)
156
+ response = get_async(group_id, expand:expand, recurse:recurse, cache_control:cache_control, custom_headers:custom_headers).value!
157
+ response.body unless response.nil?
158
+ end
159
+
160
+ #
161
+ # Get the details of the management group.
162
+ #
163
+ #
164
+ # @param group_id [String] Management Group ID.
165
+ # @param expand [Enum] The $expand=children query string parameter allows
166
+ # clients to request inclusion of children in the response payload. Possible
167
+ # values include: 'children'
168
+ # @param recurse [Boolean] The $recurse=true query string parameter allows
169
+ # clients to request inclusion of entire hierarchy in the response payload.
170
+ # @param cache_control [String] Indicates that the request shouldn't utilize
171
+ # any caches.
172
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
173
+ # will be added to the HTTP request.
174
+ #
175
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
176
+ #
177
+ def get_with_http_info(group_id, expand:nil, recurse:nil, cache_control:'no-cache', custom_headers:nil)
178
+ get_async(group_id, expand:expand, recurse:recurse, cache_control:cache_control, custom_headers:custom_headers).value!
179
+ end
180
+
181
+ #
182
+ # Get the details of the management group.
183
+ #
184
+ #
185
+ # @param group_id [String] Management Group ID.
186
+ # @param expand [Enum] The $expand=children query string parameter allows
187
+ # clients to request inclusion of children in the response payload. Possible
188
+ # values include: 'children'
189
+ # @param recurse [Boolean] The $recurse=true query string parameter allows
190
+ # clients to request inclusion of entire hierarchy in the response payload.
191
+ # @param cache_control [String] Indicates that the request shouldn't utilize
192
+ # any caches.
193
+ # @param [Hash{String => String}] A hash of custom headers that will be added
194
+ # to the HTTP request.
195
+ #
196
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
197
+ #
198
+ def get_async(group_id, expand:nil, recurse:nil, cache_control:'no-cache', custom_headers:nil)
199
+ fail ArgumentError, 'group_id is nil' if group_id.nil?
200
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
201
+
202
+
203
+ request_headers = {}
204
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
205
+
206
+ # Set Headers
207
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
208
+ request_headers['Cache-Control'] = cache_control unless cache_control.nil?
209
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
210
+ path_template = 'providers/Microsoft.Management/managementGroups/{groupId}'
211
+
212
+ request_url = @base_url || @client.base_url
213
+
214
+ options = {
215
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
216
+ path_params: {'groupId' => group_id},
217
+ query_params: {'api-version' => @client.api_version,'$expand' => expand,'$recurse' => recurse},
218
+ headers: request_headers.merge(custom_headers || {}),
219
+ base_url: request_url
220
+ }
221
+ promise = @client.make_request_async(:get, path_template, options)
222
+
223
+ promise = promise.then do |result|
224
+ http_response = result.response
225
+ status_code = http_response.status
226
+ response_content = http_response.body
227
+ unless status_code == 200
228
+ error_model = JSON.load(response_content)
229
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
230
+ end
231
+
232
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
233
+ # Deserialize Response
234
+ if status_code == 200
235
+ begin
236
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
237
+ result_mapper = Azure::ResourcesManagement::Mgmt::V2017_11_01_preview::Models::ManagementGroup.mapper()
238
+ result.body = @client.deserialize(result_mapper, parsed_response)
239
+ rescue Exception => e
240
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
241
+ end
242
+ end
243
+
244
+ result
245
+ end
246
+
247
+ promise.execute
248
+ end
249
+
250
+ #
251
+ # Create or update a management group.
252
+ # If a management group is already created and a subsequent create request is
253
+ # issued with different properties, the management group properties will be
254
+ # updated.
255
+ #
256
+ #
257
+ # @param group_id [String] Management Group ID.
258
+ # @param create_group_request [CreateGroupRequest] Management group creation
259
+ # parameters.
260
+ # @param cache_control [String] Indicates that the request shouldn't utilize
261
+ # any caches.
262
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
263
+ # will be added to the HTTP request.
264
+ #
265
+ # @return [ManagementGroup] operation results.
266
+ #
267
+ def create_or_update(group_id, create_group_request, cache_control:'no-cache', custom_headers:nil)
268
+ response = create_or_update_async(group_id, create_group_request, cache_control:cache_control, custom_headers:custom_headers).value!
269
+ response.body unless response.nil?
270
+ end
271
+
272
+ #
273
+ # Create or update a management group.
274
+ # If a management group is already created and a subsequent create request is
275
+ # issued with different properties, the management group properties will be
276
+ # updated.
277
+ #
278
+ #
279
+ # @param group_id [String] Management Group ID.
280
+ # @param create_group_request [CreateGroupRequest] Management group creation
281
+ # parameters.
282
+ # @param cache_control [String] Indicates that the request shouldn't utilize
283
+ # any caches.
284
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
285
+ # will be added to the HTTP request.
286
+ #
287
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
288
+ #
289
+ def create_or_update_with_http_info(group_id, create_group_request, cache_control:'no-cache', custom_headers:nil)
290
+ create_or_update_async(group_id, create_group_request, cache_control:cache_control, custom_headers:custom_headers).value!
291
+ end
292
+
293
+ #
294
+ # Create or update a management group.
295
+ # If a management group is already created and a subsequent create request is
296
+ # issued with different properties, the management group properties will be
297
+ # updated.
298
+ #
299
+ #
300
+ # @param group_id [String] Management Group ID.
301
+ # @param create_group_request [CreateGroupRequest] Management group creation
302
+ # parameters.
303
+ # @param cache_control [String] Indicates that the request shouldn't utilize
304
+ # any caches.
305
+ # @param [Hash{String => String}] A hash of custom headers that will be added
306
+ # to the HTTP request.
307
+ #
308
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
309
+ #
310
+ def create_or_update_async(group_id, create_group_request, cache_control:'no-cache', custom_headers:nil)
311
+ fail ArgumentError, 'group_id is nil' if group_id.nil?
312
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
313
+ fail ArgumentError, 'create_group_request is nil' if create_group_request.nil?
314
+
315
+
316
+ request_headers = {}
317
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
318
+
319
+ # Set Headers
320
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
321
+ request_headers['Cache-Control'] = cache_control unless cache_control.nil?
322
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
323
+
324
+ # Serialize Request
325
+ request_mapper = Azure::ResourcesManagement::Mgmt::V2017_11_01_preview::Models::CreateGroupRequest.mapper()
326
+ request_content = @client.serialize(request_mapper, create_group_request)
327
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
328
+
329
+ path_template = 'providers/Microsoft.Management/managementGroups/{groupId}'
330
+
331
+ request_url = @base_url || @client.base_url
332
+
333
+ options = {
334
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
335
+ path_params: {'groupId' => group_id},
336
+ query_params: {'api-version' => @client.api_version},
337
+ body: request_content,
338
+ headers: request_headers.merge(custom_headers || {}),
339
+ base_url: request_url
340
+ }
341
+ promise = @client.make_request_async(:put, path_template, options)
342
+
343
+ promise = promise.then do |result|
344
+ http_response = result.response
345
+ status_code = http_response.status
346
+ response_content = http_response.body
347
+ unless status_code == 200
348
+ error_model = JSON.load(response_content)
349
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
350
+ end
351
+
352
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
353
+ # Deserialize Response
354
+ if status_code == 200
355
+ begin
356
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
357
+ result_mapper = Azure::ResourcesManagement::Mgmt::V2017_11_01_preview::Models::ManagementGroup.mapper()
358
+ result.body = @client.deserialize(result_mapper, parsed_response)
359
+ rescue Exception => e
360
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
361
+ end
362
+ end
363
+
364
+ result
365
+ end
366
+
367
+ promise.execute
368
+ end
369
+
370
+ #
371
+ # Update a management group.
372
+ #
373
+ #
374
+ # @param group_id [String] Management Group ID.
375
+ # @param create_group_request [CreateGroupRequest] Management group creation
376
+ # parameters.
377
+ # @param cache_control [String] Indicates that the request shouldn't utilize
378
+ # any caches.
379
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
380
+ # will be added to the HTTP request.
381
+ #
382
+ # @return [ManagementGroup] operation results.
383
+ #
384
+ def update(group_id, create_group_request, cache_control:'no-cache', custom_headers:nil)
385
+ response = update_async(group_id, create_group_request, cache_control:cache_control, custom_headers:custom_headers).value!
386
+ response.body unless response.nil?
387
+ end
388
+
389
+ #
390
+ # Update a management group.
391
+ #
392
+ #
393
+ # @param group_id [String] Management Group ID.
394
+ # @param create_group_request [CreateGroupRequest] Management group creation
395
+ # parameters.
396
+ # @param cache_control [String] Indicates that the request shouldn't utilize
397
+ # any caches.
398
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
399
+ # will be added to the HTTP request.
400
+ #
401
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
402
+ #
403
+ def update_with_http_info(group_id, create_group_request, cache_control:'no-cache', custom_headers:nil)
404
+ update_async(group_id, create_group_request, cache_control:cache_control, custom_headers:custom_headers).value!
405
+ end
406
+
407
+ #
408
+ # Update a management group.
409
+ #
410
+ #
411
+ # @param group_id [String] Management Group ID.
412
+ # @param create_group_request [CreateGroupRequest] Management group creation
413
+ # parameters.
414
+ # @param cache_control [String] Indicates that the request shouldn't utilize
415
+ # any caches.
416
+ # @param [Hash{String => String}] A hash of custom headers that will be added
417
+ # to the HTTP request.
418
+ #
419
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
420
+ #
421
+ def update_async(group_id, create_group_request, cache_control:'no-cache', custom_headers:nil)
422
+ fail ArgumentError, 'group_id is nil' if group_id.nil?
423
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
424
+ fail ArgumentError, 'create_group_request is nil' if create_group_request.nil?
425
+
426
+
427
+ request_headers = {}
428
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
429
+
430
+ # Set Headers
431
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
432
+ request_headers['Cache-Control'] = cache_control unless cache_control.nil?
433
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
434
+
435
+ # Serialize Request
436
+ request_mapper = Azure::ResourcesManagement::Mgmt::V2017_11_01_preview::Models::CreateGroupRequest.mapper()
437
+ request_content = @client.serialize(request_mapper, create_group_request)
438
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
439
+
440
+ path_template = 'providers/Microsoft.Management/managementGroups/{groupId}'
441
+
442
+ request_url = @base_url || @client.base_url
443
+
444
+ options = {
445
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
446
+ path_params: {'groupId' => group_id},
447
+ query_params: {'api-version' => @client.api_version},
448
+ body: request_content,
449
+ headers: request_headers.merge(custom_headers || {}),
450
+ base_url: request_url
451
+ }
452
+ promise = @client.make_request_async(:patch, path_template, options)
453
+
454
+ promise = promise.then do |result|
455
+ http_response = result.response
456
+ status_code = http_response.status
457
+ response_content = http_response.body
458
+ unless status_code == 200
459
+ error_model = JSON.load(response_content)
460
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
461
+ end
462
+
463
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
464
+ # Deserialize Response
465
+ if status_code == 200
466
+ begin
467
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
468
+ result_mapper = Azure::ResourcesManagement::Mgmt::V2017_11_01_preview::Models::ManagementGroup.mapper()
469
+ result.body = @client.deserialize(result_mapper, parsed_response)
470
+ rescue Exception => e
471
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
472
+ end
473
+ end
474
+
475
+ result
476
+ end
477
+
478
+ promise.execute
479
+ end
480
+
481
+ #
482
+ # Delete management group.
483
+ # If a management group contains child resources, the request will fail.
484
+ #
485
+ #
486
+ # @param group_id [String] Management Group ID.
487
+ # @param cache_control [String] Indicates that the request shouldn't utilize
488
+ # any caches.
489
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
490
+ # will be added to the HTTP request.
491
+ #
492
+ #
493
+ def delete(group_id, cache_control:'no-cache', custom_headers:nil)
494
+ response = delete_async(group_id, cache_control:cache_control, custom_headers:custom_headers).value!
495
+ nil
496
+ end
497
+
498
+ #
499
+ # Delete management group.
500
+ # If a management group contains child resources, the request will fail.
501
+ #
502
+ #
503
+ # @param group_id [String] Management Group ID.
504
+ # @param cache_control [String] Indicates that the request shouldn't utilize
505
+ # any caches.
506
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
507
+ # will be added to the HTTP request.
508
+ #
509
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
510
+ #
511
+ def delete_with_http_info(group_id, cache_control:'no-cache', custom_headers:nil)
512
+ delete_async(group_id, cache_control:cache_control, custom_headers:custom_headers).value!
513
+ end
514
+
515
+ #
516
+ # Delete management group.
517
+ # If a management group contains child resources, the request will fail.
518
+ #
519
+ #
520
+ # @param group_id [String] Management Group ID.
521
+ # @param cache_control [String] Indicates that the request shouldn't utilize
522
+ # any caches.
523
+ # @param [Hash{String => String}] A hash of custom headers that will be added
524
+ # to the HTTP request.
525
+ #
526
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
527
+ #
528
+ def delete_async(group_id, cache_control:'no-cache', custom_headers:nil)
529
+ fail ArgumentError, 'group_id is nil' if group_id.nil?
530
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
531
+
532
+
533
+ request_headers = {}
534
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
535
+
536
+ # Set Headers
537
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
538
+ request_headers['Cache-Control'] = cache_control unless cache_control.nil?
539
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
540
+ path_template = 'providers/Microsoft.Management/managementGroups/{groupId}'
541
+
542
+ request_url = @base_url || @client.base_url
543
+
544
+ options = {
545
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
546
+ path_params: {'groupId' => group_id},
547
+ query_params: {'api-version' => @client.api_version},
548
+ headers: request_headers.merge(custom_headers || {}),
549
+ base_url: request_url
550
+ }
551
+ promise = @client.make_request_async(:delete, path_template, options)
552
+
553
+ promise = promise.then do |result|
554
+ http_response = result.response
555
+ status_code = http_response.status
556
+ response_content = http_response.body
557
+ unless status_code == 200 || status_code == 204
558
+ error_model = JSON.load(response_content)
559
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
560
+ end
561
+
562
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
563
+
564
+ result
565
+ end
566
+
567
+ promise.execute
568
+ end
569
+
570
+ #
571
+ # List management groups for the authenticated user.
572
+ #
573
+ #
574
+ # @param next_page_link [String] The NextLink from the previous successful call
575
+ # to List operation.
576
+ # @param cache_control [String] Indicates that the request shouldn't utilize
577
+ # any caches.
578
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
579
+ # will be added to the HTTP request.
580
+ #
581
+ # @return [ManagementGroupListResult] operation results.
582
+ #
583
+ def list_next(next_page_link, cache_control:'no-cache', custom_headers:nil)
584
+ response = list_next_async(next_page_link, cache_control:cache_control, custom_headers:custom_headers).value!
585
+ response.body unless response.nil?
586
+ end
587
+
588
+ #
589
+ # List management groups for the authenticated user.
590
+ #
591
+ #
592
+ # @param next_page_link [String] The NextLink from the previous successful call
593
+ # to List operation.
594
+ # @param cache_control [String] Indicates that the request shouldn't utilize
595
+ # any caches.
596
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
597
+ # will be added to the HTTP request.
598
+ #
599
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
600
+ #
601
+ def list_next_with_http_info(next_page_link, cache_control:'no-cache', custom_headers:nil)
602
+ list_next_async(next_page_link, cache_control:cache_control, custom_headers:custom_headers).value!
603
+ end
604
+
605
+ #
606
+ # List management groups for the authenticated user.
607
+ #
608
+ #
609
+ # @param next_page_link [String] The NextLink from the previous successful call
610
+ # to List operation.
611
+ # @param cache_control [String] Indicates that the request shouldn't utilize
612
+ # any caches.
613
+ # @param [Hash{String => String}] A hash of custom headers that will be added
614
+ # to the HTTP request.
615
+ #
616
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
617
+ #
618
+ def list_next_async(next_page_link, cache_control:'no-cache', custom_headers:nil)
619
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
620
+
621
+
622
+ request_headers = {}
623
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
624
+
625
+ # Set Headers
626
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
627
+ request_headers['Cache-Control'] = cache_control unless cache_control.nil?
628
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
629
+ path_template = '{nextLink}'
630
+
631
+ request_url = @base_url || @client.base_url
632
+
633
+ options = {
634
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
635
+ skip_encoding_path_params: {'nextLink' => next_page_link},
636
+ headers: request_headers.merge(custom_headers || {}),
637
+ base_url: request_url
638
+ }
639
+ promise = @client.make_request_async(:get, path_template, options)
640
+
641
+ promise = promise.then do |result|
642
+ http_response = result.response
643
+ status_code = http_response.status
644
+ response_content = http_response.body
645
+ unless status_code == 200
646
+ error_model = JSON.load(response_content)
647
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
648
+ end
649
+
650
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
651
+ # Deserialize Response
652
+ if status_code == 200
653
+ begin
654
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
655
+ result_mapper = Azure::ResourcesManagement::Mgmt::V2017_11_01_preview::Models::ManagementGroupListResult.mapper()
656
+ result.body = @client.deserialize(result_mapper, parsed_response)
657
+ rescue Exception => e
658
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
659
+ end
660
+ end
661
+
662
+ result
663
+ end
664
+
665
+ promise.execute
666
+ end
667
+
668
+ #
669
+ # List management groups for the authenticated user.
670
+ #
671
+ #
672
+ # @param cache_control [String] Indicates that the request shouldn't utilize
673
+ # any caches.
674
+ # @param skiptoken [String] Page continuation token is only used if a previous
675
+ # operation returned a partial result.
676
+ # If a previous response contains a nextLink element, the value of the nextLink
677
+ # element will include a token parameter that specifies a starting point to use
678
+ # for subsequent calls.
679
+ #
680
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
681
+ # will be added to the HTTP request.
682
+ #
683
+ # @return [ManagementGroupListResult] which provide lazy access to pages of the
684
+ # response.
685
+ #
686
+ def list_as_lazy(cache_control:'no-cache', skiptoken:nil, custom_headers:nil)
687
+ response = list_async(cache_control:cache_control, skiptoken:skiptoken, custom_headers:custom_headers).value!
688
+ unless response.nil?
689
+ page = response.body
690
+ page.next_method = Proc.new do |next_page_link|
691
+ list_next_async(next_page_link, cache_control:cache_control, custom_headers:custom_headers)
692
+ end
693
+ page
694
+ end
695
+ end
696
+
697
+ end
698
+ end