azure_mgmt_policy 0.13.0 → 0.14.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 446e1a1714efde8c48a25dc7efa01260b3df0534
4
- data.tar.gz: 4c0343184a744547c56873c6432dd49f2af180d8
3
+ metadata.gz: ce6819415ad27cd3a642c78a7f764ea4d7207ae0
4
+ data.tar.gz: cf6f949d7465de7bee2255db86c86b3070edb587
5
5
  SHA512:
6
- metadata.gz: f93b55e390cc19946fd5f87f078312eb9f8f4fb23b706166579e60ad7c7b571d0b313fc162488361956671a1f04f7e1299727ca44b5243aaffae200e130b0ae3
7
- data.tar.gz: 81c7688b3dca8becbc4952d1fd5670c5ebd13c5de3493474efd624925172cf51cf64c504bc54257627d5f02fe069b97cce98268cf52db01c3bd3f27974c0983a
6
+ metadata.gz: a7715e3d9e624101724e03f131d0d99c9ebed91e918d22f044b443cec62f1d475b8898e030ec431dd142986725ff85935d0b10e483ef87f0e942237e61295ca5
7
+ data.tar.gz: 248f8137e558c2d0746edb85b3a391adf3244cd151db6d162ace601382e8d75ddd00be52c32a1449265dc1c6e3a273cc06fe829c2cecb700b186e3f3eef075b8
@@ -13,7 +13,6 @@ module Azure::ARM::Policy
13
13
 
14
14
  include MsRestAzure
15
15
 
16
- include MsRest::JSONable
17
16
  # @return [String] Http status code.
18
17
  attr_accessor :http_status
19
18
 
@@ -12,7 +12,6 @@ module Azure::ARM::Policy
12
12
 
13
13
  include MsRestAzure
14
14
 
15
- include MsRest::JSONable
16
15
  # @return [String] The display name of the policy assignment.
17
16
  attr_accessor :display_name
18
17
 
@@ -12,7 +12,6 @@ module Azure::ARM::Policy
12
12
 
13
13
  include MsRestAzure
14
14
 
15
- include MsRest::JSONable
16
15
  # @return [PolicyType] The type of policy definition. Possible values are
17
16
  # NotSpecified, BuiltIn, and Custom. Possible values include:
18
17
  # 'NotSpecified', 'BuiltIn', 'Custom'
@@ -12,7 +12,6 @@ module Azure::ARM::Policy
12
12
 
13
13
  include MsRestAzure
14
14
 
15
- include MsRest::JSONable
16
15
  # @return [String] The ID of the policy definition or policy set
17
16
  # definition.
18
17
  attr_accessor :policy_definition_id
@@ -12,7 +12,6 @@ module Azure::ARM::Policy
12
12
 
13
13
  include MsRestAzure
14
14
 
15
- include MsRest::JSONable
16
15
  # @return [PolicyType] The type of policy definition. Possible values are
17
16
  # NotSpecified, BuiltIn, and Custom. Possible values include:
18
17
  # 'NotSpecified', 'BuiltIn', 'Custom'
@@ -12,7 +12,6 @@ module Azure::ARM::Policy
12
12
 
13
13
  include MsRestAzure
14
14
 
15
- include MsRest::JSONable
16
15
  # @return [String] The name of the policy sku. Possible values are A0 and
17
16
  # A1.
18
17
  attr_accessor :name
@@ -84,7 +84,7 @@ module Azure::ARM::Policy
84
84
  request_content = @client.serialize(request_mapper, parameters)
85
85
  request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
86
86
 
87
- path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}'
87
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'
88
88
 
89
89
  request_url = @base_url || @client.base_url
90
90
 
@@ -174,7 +174,7 @@ module Azure::ARM::Policy
174
174
  # Set Headers
175
175
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
176
176
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
177
- path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}'
177
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'
178
178
 
179
179
  request_url = @base_url || @client.base_url
180
180
 
@@ -254,7 +254,7 @@ module Azure::ARM::Policy
254
254
  # Set Headers
255
255
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
256
256
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
257
- path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}'
257
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'
258
258
 
259
259
  request_url = @base_url || @client.base_url
260
260
 
@@ -294,45 +294,579 @@ module Azure::ARM::Policy
294
294
  promise.execute
295
295
  end
296
296
 
297
+ #
298
+ # Gets the built in policy definition.
299
+ #
300
+ # @param policy_definition_name [String] The name of the built in policy
301
+ # definition to get.
302
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
303
+ # will be added to the HTTP request.
304
+ #
305
+ # @return [PolicyDefinition] operation results.
306
+ #
307
+ def get_built_in(policy_definition_name, custom_headers = nil)
308
+ response = get_built_in_async(policy_definition_name, custom_headers).value!
309
+ response.body unless response.nil?
310
+ end
311
+
312
+ #
313
+ # Gets the built in policy definition.
314
+ #
315
+ # @param policy_definition_name [String] The name of the built in policy
316
+ # definition to get.
317
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
318
+ # will be added to the HTTP request.
319
+ #
320
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
321
+ #
322
+ def get_built_in_with_http_info(policy_definition_name, custom_headers = nil)
323
+ get_built_in_async(policy_definition_name, custom_headers).value!
324
+ end
325
+
326
+ #
327
+ # Gets the built in policy definition.
328
+ #
329
+ # @param policy_definition_name [String] The name of the built in policy
330
+ # definition to get.
331
+ # @param [Hash{String => String}] A hash of custom headers that will be added
332
+ # to the HTTP request.
333
+ #
334
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
335
+ #
336
+ def get_built_in_async(policy_definition_name, custom_headers = nil)
337
+ fail ArgumentError, 'policy_definition_name is nil' if policy_definition_name.nil?
338
+ api_version = '2016-12-01'
339
+
340
+
341
+ request_headers = {}
342
+
343
+ # Set Headers
344
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
345
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
346
+ path_template = 'providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'
347
+
348
+ request_url = @base_url || @client.base_url
349
+
350
+ options = {
351
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
352
+ path_params: {'policyDefinitionName' => policy_definition_name},
353
+ query_params: {'api-version' => api_version},
354
+ headers: request_headers.merge(custom_headers || {}),
355
+ base_url: request_url
356
+ }
357
+ promise = @client.make_request_async(:get, path_template, options)
358
+
359
+ promise = promise.then do |result|
360
+ http_response = result.response
361
+ status_code = http_response.status
362
+ response_content = http_response.body
363
+ unless status_code == 200
364
+ error_model = JSON.load(response_content)
365
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
366
+ end
367
+
368
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
369
+ # Deserialize Response
370
+ if status_code == 200
371
+ begin
372
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
373
+ result_mapper = Azure::ARM::Policy::Models::PolicyDefinition.mapper()
374
+ result.body = @client.deserialize(result_mapper, parsed_response)
375
+ rescue Exception => e
376
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
377
+ end
378
+ end
379
+
380
+ result
381
+ end
382
+
383
+ promise.execute
384
+ end
385
+
386
+ #
387
+ # Creates or updates a policy definition at management group level.
388
+ #
389
+ # @param policy_definition_name [String] The name of the policy definition to
390
+ # create.
391
+ # @param parameters [PolicyDefinition] The policy definition properties.
392
+ # @param management_group_id [String] The ID of the management group.
393
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
394
+ # will be added to the HTTP request.
395
+ #
396
+ # @return [PolicyDefinition] operation results.
397
+ #
398
+ def create_or_update_at_management_group(policy_definition_name, parameters, management_group_id, custom_headers = nil)
399
+ response = create_or_update_at_management_group_async(policy_definition_name, parameters, management_group_id, custom_headers).value!
400
+ response.body unless response.nil?
401
+ end
402
+
403
+ #
404
+ # Creates or updates a policy definition at management group level.
405
+ #
406
+ # @param policy_definition_name [String] The name of the policy definition to
407
+ # create.
408
+ # @param parameters [PolicyDefinition] The policy definition properties.
409
+ # @param management_group_id [String] The ID of the management group.
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 create_or_update_at_management_group_with_http_info(policy_definition_name, parameters, management_group_id, custom_headers = nil)
416
+ create_or_update_at_management_group_async(policy_definition_name, parameters, management_group_id, custom_headers).value!
417
+ end
418
+
419
+ #
420
+ # Creates or updates a policy definition at management group level.
421
+ #
422
+ # @param policy_definition_name [String] The name of the policy definition to
423
+ # create.
424
+ # @param parameters [PolicyDefinition] The policy definition properties.
425
+ # @param management_group_id [String] The ID of the management group.
426
+ # @param [Hash{String => String}] A hash of custom headers that will be added
427
+ # to the HTTP request.
428
+ #
429
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
430
+ #
431
+ def create_or_update_at_management_group_async(policy_definition_name, parameters, management_group_id, custom_headers = nil)
432
+ fail ArgumentError, 'policy_definition_name is nil' if policy_definition_name.nil?
433
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
434
+ api_version = '2016-12-01'
435
+ fail ArgumentError, 'management_group_id is nil' if management_group_id.nil?
436
+
437
+
438
+ request_headers = {}
439
+
440
+ # Set Headers
441
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
442
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
443
+
444
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
445
+
446
+ # Serialize Request
447
+ request_mapper = Azure::ARM::Policy::Models::PolicyDefinition.mapper()
448
+ request_content = @client.serialize(request_mapper, parameters)
449
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
450
+
451
+ path_template = 'providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'
452
+
453
+ request_url = @base_url || @client.base_url
454
+
455
+ options = {
456
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
457
+ path_params: {'policyDefinitionName' => policy_definition_name,'managementGroupId' => management_group_id},
458
+ query_params: {'api-version' => api_version},
459
+ body: request_content,
460
+ headers: request_headers.merge(custom_headers || {}),
461
+ base_url: request_url
462
+ }
463
+ promise = @client.make_request_async(:put, path_template, options)
464
+
465
+ promise = promise.then do |result|
466
+ http_response = result.response
467
+ status_code = http_response.status
468
+ response_content = http_response.body
469
+ unless status_code == 201
470
+ error_model = JSON.load(response_content)
471
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
472
+ end
473
+
474
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
475
+ # Deserialize Response
476
+ if status_code == 201
477
+ begin
478
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
479
+ result_mapper = Azure::ARM::Policy::Models::PolicyDefinition.mapper()
480
+ result.body = @client.deserialize(result_mapper, parsed_response)
481
+ rescue Exception => e
482
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
483
+ end
484
+ end
485
+
486
+ result
487
+ end
488
+
489
+ promise.execute
490
+ end
491
+
492
+ #
493
+ # Deletes a policy definition at management group level.
494
+ #
495
+ # @param policy_definition_name [String] The name of the policy definition to
496
+ # delete.
497
+ # @param management_group_id [String] The ID of the management group.
498
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
499
+ # will be added to the HTTP request.
500
+ #
501
+ #
502
+ def delete_at_management_group(policy_definition_name, management_group_id, custom_headers = nil)
503
+ response = delete_at_management_group_async(policy_definition_name, management_group_id, custom_headers).value!
504
+ nil
505
+ end
506
+
507
+ #
508
+ # Deletes a policy definition at management group level.
509
+ #
510
+ # @param policy_definition_name [String] The name of the policy definition to
511
+ # delete.
512
+ # @param management_group_id [String] The ID of the management group.
513
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
514
+ # will be added to the HTTP request.
515
+ #
516
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
517
+ #
518
+ def delete_at_management_group_with_http_info(policy_definition_name, management_group_id, custom_headers = nil)
519
+ delete_at_management_group_async(policy_definition_name, management_group_id, custom_headers).value!
520
+ end
521
+
522
+ #
523
+ # Deletes a policy definition at management group level.
524
+ #
525
+ # @param policy_definition_name [String] The name of the policy definition to
526
+ # delete.
527
+ # @param management_group_id [String] The ID of the management group.
528
+ # @param [Hash{String => String}] A hash of custom headers that will be added
529
+ # to the HTTP request.
530
+ #
531
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
532
+ #
533
+ def delete_at_management_group_async(policy_definition_name, management_group_id, custom_headers = nil)
534
+ fail ArgumentError, 'policy_definition_name is nil' if policy_definition_name.nil?
535
+ api_version = '2016-12-01'
536
+ fail ArgumentError, 'management_group_id is nil' if management_group_id.nil?
537
+
538
+
539
+ request_headers = {}
540
+
541
+ # Set Headers
542
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
543
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
544
+ path_template = 'providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'
545
+
546
+ request_url = @base_url || @client.base_url
547
+
548
+ options = {
549
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
550
+ path_params: {'policyDefinitionName' => policy_definition_name,'managementGroupId' => management_group_id},
551
+ query_params: {'api-version' => api_version},
552
+ headers: request_headers.merge(custom_headers || {}),
553
+ base_url: request_url
554
+ }
555
+ promise = @client.make_request_async(:delete, path_template, options)
556
+
557
+ promise = promise.then do |result|
558
+ http_response = result.response
559
+ status_code = http_response.status
560
+ response_content = http_response.body
561
+ unless status_code == 204 || status_code == 200
562
+ error_model = JSON.load(response_content)
563
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
564
+ end
565
+
566
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
567
+
568
+ result
569
+ end
570
+
571
+ promise.execute
572
+ end
573
+
574
+ #
575
+ # Gets the policy definition at management group level.
576
+ #
577
+ # @param policy_definition_name [String] The name of the policy definition to
578
+ # get.
579
+ # @param management_group_id [String] The ID of the management group.
580
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
581
+ # will be added to the HTTP request.
582
+ #
583
+ # @return [PolicyDefinition] operation results.
584
+ #
585
+ def get_at_management_group(policy_definition_name, management_group_id, custom_headers = nil)
586
+ response = get_at_management_group_async(policy_definition_name, management_group_id, custom_headers).value!
587
+ response.body unless response.nil?
588
+ end
589
+
590
+ #
591
+ # Gets the policy definition at management group level.
592
+ #
593
+ # @param policy_definition_name [String] The name of the policy definition to
594
+ # get.
595
+ # @param management_group_id [String] The ID of the management group.
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 get_at_management_group_with_http_info(policy_definition_name, management_group_id, custom_headers = nil)
602
+ get_at_management_group_async(policy_definition_name, management_group_id, custom_headers).value!
603
+ end
604
+
605
+ #
606
+ # Gets the policy definition at management group level.
607
+ #
608
+ # @param policy_definition_name [String] The name of the policy definition to
609
+ # get.
610
+ # @param management_group_id [String] The ID of the management group.
611
+ # @param [Hash{String => String}] A hash of custom headers that will be added
612
+ # to the HTTP request.
613
+ #
614
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
615
+ #
616
+ def get_at_management_group_async(policy_definition_name, management_group_id, custom_headers = nil)
617
+ fail ArgumentError, 'policy_definition_name is nil' if policy_definition_name.nil?
618
+ api_version = '2016-12-01'
619
+ fail ArgumentError, 'management_group_id is nil' if management_group_id.nil?
620
+
621
+
622
+ request_headers = {}
623
+
624
+ # Set Headers
625
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
626
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
627
+ path_template = 'providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'
628
+
629
+ request_url = @base_url || @client.base_url
630
+
631
+ options = {
632
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
633
+ path_params: {'policyDefinitionName' => policy_definition_name,'managementGroupId' => management_group_id},
634
+ query_params: {'api-version' => api_version},
635
+ headers: request_headers.merge(custom_headers || {}),
636
+ base_url: request_url
637
+ }
638
+ promise = @client.make_request_async(:get, path_template, options)
639
+
640
+ promise = promise.then do |result|
641
+ http_response = result.response
642
+ status_code = http_response.status
643
+ response_content = http_response.body
644
+ unless status_code == 200
645
+ error_model = JSON.load(response_content)
646
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
647
+ end
648
+
649
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
650
+ # Deserialize Response
651
+ if status_code == 200
652
+ begin
653
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
654
+ result_mapper = Azure::ARM::Policy::Models::PolicyDefinition.mapper()
655
+ result.body = @client.deserialize(result_mapper, parsed_response)
656
+ rescue Exception => e
657
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
658
+ end
659
+ end
660
+
661
+ result
662
+ end
663
+
664
+ promise.execute
665
+ end
666
+
667
+ #
668
+ # Gets all the policy definitions for a subscription.
669
+ #
670
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
671
+ # will be added to the HTTP request.
672
+ #
673
+ # @return [Array<PolicyDefinition>] operation results.
674
+ #
675
+ def list(custom_headers = nil)
676
+ first_page = list_as_lazy(custom_headers)
677
+ first_page.get_all_items
678
+ end
679
+
680
+ #
681
+ # Gets all the policy definitions for a subscription.
682
+ #
683
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
684
+ # will be added to the HTTP request.
685
+ #
686
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
687
+ #
688
+ def list_with_http_info(custom_headers = nil)
689
+ list_async(custom_headers).value!
690
+ end
691
+
297
692
  #
298
693
  # Gets all the policy definitions for a subscription.
299
694
  #
300
- # @param filter [String] The filter to apply on the operation.
695
+ # @param [Hash{String => String}] A hash of custom headers that will be added
696
+ # to the HTTP request.
697
+ #
698
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
699
+ #
700
+ def list_async(custom_headers = nil)
701
+ api_version = '2016-12-01'
702
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
703
+
704
+
705
+ request_headers = {}
706
+
707
+ # Set Headers
708
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
709
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
710
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions'
711
+
712
+ request_url = @base_url || @client.base_url
713
+
714
+ options = {
715
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
716
+ path_params: {'subscriptionId' => @client.subscription_id},
717
+ query_params: {'api-version' => api_version},
718
+ headers: request_headers.merge(custom_headers || {}),
719
+ base_url: request_url
720
+ }
721
+ promise = @client.make_request_async(:get, path_template, options)
722
+
723
+ promise = promise.then do |result|
724
+ http_response = result.response
725
+ status_code = http_response.status
726
+ response_content = http_response.body
727
+ unless status_code == 200
728
+ error_model = JSON.load(response_content)
729
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
730
+ end
731
+
732
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
733
+ # Deserialize Response
734
+ if status_code == 200
735
+ begin
736
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
737
+ result_mapper = Azure::ARM::Policy::Models::PolicyDefinitionListResult.mapper()
738
+ result.body = @client.deserialize(result_mapper, parsed_response)
739
+ rescue Exception => e
740
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
741
+ end
742
+ end
743
+
744
+ result
745
+ end
746
+
747
+ promise.execute
748
+ end
749
+
750
+ #
751
+ # Gets all the built in policy definitions.
752
+ #
753
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
754
+ # will be added to the HTTP request.
755
+ #
756
+ # @return [Array<PolicyDefinition>] operation results.
757
+ #
758
+ def list_built_in(custom_headers = nil)
759
+ first_page = list_built_in_as_lazy(custom_headers)
760
+ first_page.get_all_items
761
+ end
762
+
763
+ #
764
+ # Gets all the built in policy definitions.
765
+ #
766
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
767
+ # will be added to the HTTP request.
768
+ #
769
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
770
+ #
771
+ def list_built_in_with_http_info(custom_headers = nil)
772
+ list_built_in_async(custom_headers).value!
773
+ end
774
+
775
+ #
776
+ # Gets all the built in policy definitions.
777
+ #
778
+ # @param [Hash{String => String}] A hash of custom headers that will be added
779
+ # to the HTTP request.
780
+ #
781
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
782
+ #
783
+ def list_built_in_async(custom_headers = nil)
784
+ api_version = '2016-12-01'
785
+
786
+
787
+ request_headers = {}
788
+
789
+ # Set Headers
790
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
791
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
792
+ path_template = 'providers/Microsoft.Authorization/policyDefinitions'
793
+
794
+ request_url = @base_url || @client.base_url
795
+
796
+ options = {
797
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
798
+ query_params: {'api-version' => api_version},
799
+ headers: request_headers.merge(custom_headers || {}),
800
+ base_url: request_url
801
+ }
802
+ promise = @client.make_request_async(:get, path_template, options)
803
+
804
+ promise = promise.then do |result|
805
+ http_response = result.response
806
+ status_code = http_response.status
807
+ response_content = http_response.body
808
+ unless status_code == 200
809
+ error_model = JSON.load(response_content)
810
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
811
+ end
812
+
813
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
814
+ # Deserialize Response
815
+ if status_code == 200
816
+ begin
817
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
818
+ result_mapper = Azure::ARM::Policy::Models::PolicyDefinitionListResult.mapper()
819
+ result.body = @client.deserialize(result_mapper, parsed_response)
820
+ rescue Exception => e
821
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
822
+ end
823
+ end
824
+
825
+ result
826
+ end
827
+
828
+ promise.execute
829
+ end
830
+
831
+ #
832
+ # Gets all the policy definitions for a subscription at management group level.
833
+ #
834
+ # @param management_group_id [String] The ID of the management group.
301
835
  # @param custom_headers [Hash{String => String}] A hash of custom headers that
302
836
  # will be added to the HTTP request.
303
837
  #
304
838
  # @return [Array<PolicyDefinition>] operation results.
305
839
  #
306
- def list(filter = nil, custom_headers = nil)
307
- first_page = list_as_lazy(filter, custom_headers)
840
+ def list_by_management_group(management_group_id, custom_headers = nil)
841
+ first_page = list_by_management_group_as_lazy(management_group_id, custom_headers)
308
842
  first_page.get_all_items
309
843
  end
310
844
 
311
845
  #
312
- # Gets all the policy definitions for a subscription.
846
+ # Gets all the policy definitions for a subscription at management group level.
313
847
  #
314
- # @param filter [String] The filter to apply on the operation.
848
+ # @param management_group_id [String] The ID of the management group.
315
849
  # @param custom_headers [Hash{String => String}] A hash of custom headers that
316
850
  # will be added to the HTTP request.
317
851
  #
318
852
  # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
319
853
  #
320
- def list_with_http_info(filter = nil, custom_headers = nil)
321
- list_async(filter, custom_headers).value!
854
+ def list_by_management_group_with_http_info(management_group_id, custom_headers = nil)
855
+ list_by_management_group_async(management_group_id, custom_headers).value!
322
856
  end
323
857
 
324
858
  #
325
- # Gets all the policy definitions for a subscription.
859
+ # Gets all the policy definitions for a subscription at management group level.
326
860
  #
327
- # @param filter [String] The filter to apply on the operation.
861
+ # @param management_group_id [String] The ID of the management group.
328
862
  # @param [Hash{String => String}] A hash of custom headers that will be added
329
863
  # to the HTTP request.
330
864
  #
331
865
  # @return [Concurrent::Promise] Promise object which holds the HTTP response.
332
866
  #
333
- def list_async(filter = nil, custom_headers = nil)
867
+ def list_by_management_group_async(management_group_id, custom_headers = nil)
334
868
  api_version = '2016-12-01'
335
- fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
869
+ fail ArgumentError, 'management_group_id is nil' if management_group_id.nil?
336
870
 
337
871
 
338
872
  request_headers = {}
@@ -340,14 +874,14 @@ module Azure::ARM::Policy
340
874
  # Set Headers
341
875
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
342
876
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
343
- path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions'
877
+ path_template = 'providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions'
344
878
 
345
879
  request_url = @base_url || @client.base_url
346
880
 
347
881
  options = {
348
882
  middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
349
- path_params: {'subscriptionId' => @client.subscription_id},
350
- query_params: {'$filter' => filter,'api-version' => api_version},
883
+ path_params: {'managementGroupId' => management_group_id},
884
+ query_params: {'api-version' => api_version},
351
885
  headers: request_headers.merge(custom_headers || {}),
352
886
  base_url: request_url
353
887
  }
@@ -467,18 +1001,191 @@ module Azure::ARM::Policy
467
1001
  promise.execute
468
1002
  end
469
1003
 
1004
+ #
1005
+ # Gets all the built in policy definitions.
1006
+ #
1007
+ # @param next_page_link [String] The NextLink from the previous successful call
1008
+ # to List operation.
1009
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1010
+ # will be added to the HTTP request.
1011
+ #
1012
+ # @return [PolicyDefinitionListResult] operation results.
1013
+ #
1014
+ def list_built_in_next(next_page_link, custom_headers = nil)
1015
+ response = list_built_in_next_async(next_page_link, custom_headers).value!
1016
+ response.body unless response.nil?
1017
+ end
1018
+
1019
+ #
1020
+ # Gets all the built in policy definitions.
1021
+ #
1022
+ # @param next_page_link [String] The NextLink from the previous successful call
1023
+ # to List operation.
1024
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1025
+ # will be added to the HTTP request.
1026
+ #
1027
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1028
+ #
1029
+ def list_built_in_next_with_http_info(next_page_link, custom_headers = nil)
1030
+ list_built_in_next_async(next_page_link, custom_headers).value!
1031
+ end
1032
+
1033
+ #
1034
+ # Gets all the built in policy definitions.
1035
+ #
1036
+ # @param next_page_link [String] The NextLink from the previous successful call
1037
+ # to List operation.
1038
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1039
+ # to the HTTP request.
1040
+ #
1041
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1042
+ #
1043
+ def list_built_in_next_async(next_page_link, custom_headers = nil)
1044
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
1045
+
1046
+
1047
+ request_headers = {}
1048
+
1049
+ # Set Headers
1050
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1051
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1052
+ path_template = '{nextLink}'
1053
+
1054
+ request_url = @base_url || @client.base_url
1055
+
1056
+ options = {
1057
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1058
+ skip_encoding_path_params: {'nextLink' => next_page_link},
1059
+ headers: request_headers.merge(custom_headers || {}),
1060
+ base_url: request_url
1061
+ }
1062
+ promise = @client.make_request_async(:get, path_template, options)
1063
+
1064
+ promise = promise.then do |result|
1065
+ http_response = result.response
1066
+ status_code = http_response.status
1067
+ response_content = http_response.body
1068
+ unless status_code == 200
1069
+ error_model = JSON.load(response_content)
1070
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1071
+ end
1072
+
1073
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1074
+ # Deserialize Response
1075
+ if status_code == 200
1076
+ begin
1077
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1078
+ result_mapper = Azure::ARM::Policy::Models::PolicyDefinitionListResult.mapper()
1079
+ result.body = @client.deserialize(result_mapper, parsed_response)
1080
+ rescue Exception => e
1081
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1082
+ end
1083
+ end
1084
+
1085
+ result
1086
+ end
1087
+
1088
+ promise.execute
1089
+ end
1090
+
1091
+ #
1092
+ # Gets all the policy definitions for a subscription at management group level.
1093
+ #
1094
+ # @param next_page_link [String] The NextLink from the previous successful call
1095
+ # to List operation.
1096
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1097
+ # will be added to the HTTP request.
1098
+ #
1099
+ # @return [PolicyDefinitionListResult] operation results.
1100
+ #
1101
+ def list_by_management_group_next(next_page_link, custom_headers = nil)
1102
+ response = list_by_management_group_next_async(next_page_link, custom_headers).value!
1103
+ response.body unless response.nil?
1104
+ end
1105
+
1106
+ #
1107
+ # Gets all the policy definitions for a subscription at management group level.
1108
+ #
1109
+ # @param next_page_link [String] The NextLink from the previous successful call
1110
+ # to List operation.
1111
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1112
+ # will be added to the HTTP request.
1113
+ #
1114
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1115
+ #
1116
+ def list_by_management_group_next_with_http_info(next_page_link, custom_headers = nil)
1117
+ list_by_management_group_next_async(next_page_link, custom_headers).value!
1118
+ end
1119
+
1120
+ #
1121
+ # Gets all the policy definitions for a subscription at management group level.
1122
+ #
1123
+ # @param next_page_link [String] The NextLink from the previous successful call
1124
+ # to List operation.
1125
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1126
+ # to the HTTP request.
1127
+ #
1128
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1129
+ #
1130
+ def list_by_management_group_next_async(next_page_link, custom_headers = nil)
1131
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
1132
+
1133
+
1134
+ request_headers = {}
1135
+
1136
+ # Set Headers
1137
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1138
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1139
+ path_template = '{nextLink}'
1140
+
1141
+ request_url = @base_url || @client.base_url
1142
+
1143
+ options = {
1144
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1145
+ skip_encoding_path_params: {'nextLink' => next_page_link},
1146
+ headers: request_headers.merge(custom_headers || {}),
1147
+ base_url: request_url
1148
+ }
1149
+ promise = @client.make_request_async(:get, path_template, options)
1150
+
1151
+ promise = promise.then do |result|
1152
+ http_response = result.response
1153
+ status_code = http_response.status
1154
+ response_content = http_response.body
1155
+ unless status_code == 200
1156
+ error_model = JSON.load(response_content)
1157
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1158
+ end
1159
+
1160
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1161
+ # Deserialize Response
1162
+ if status_code == 200
1163
+ begin
1164
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1165
+ result_mapper = Azure::ARM::Policy::Models::PolicyDefinitionListResult.mapper()
1166
+ result.body = @client.deserialize(result_mapper, parsed_response)
1167
+ rescue Exception => e
1168
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1169
+ end
1170
+ end
1171
+
1172
+ result
1173
+ end
1174
+
1175
+ promise.execute
1176
+ end
1177
+
470
1178
  #
471
1179
  # Gets all the policy definitions for a subscription.
472
1180
  #
473
- # @param filter [String] The filter to apply on the operation.
474
1181
  # @param custom_headers [Hash{String => String}] A hash of custom headers that
475
1182
  # will be added to the HTTP request.
476
1183
  #
477
1184
  # @return [PolicyDefinitionListResult] which provide lazy access to pages of
478
1185
  # the response.
479
1186
  #
480
- def list_as_lazy(filter = nil, custom_headers = nil)
481
- response = list_async(filter, custom_headers).value!
1187
+ def list_as_lazy(custom_headers = nil)
1188
+ response = list_async(custom_headers).value!
482
1189
  unless response.nil?
483
1190
  page = response.body
484
1191
  page.next_method = Proc.new do |next_page_link|
@@ -488,5 +1195,46 @@ module Azure::ARM::Policy
488
1195
  end
489
1196
  end
490
1197
 
1198
+ #
1199
+ # Gets all the built in policy definitions.
1200
+ #
1201
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1202
+ # will be added to the HTTP request.
1203
+ #
1204
+ # @return [PolicyDefinitionListResult] which provide lazy access to pages of
1205
+ # the response.
1206
+ #
1207
+ def list_built_in_as_lazy(custom_headers = nil)
1208
+ response = list_built_in_async(custom_headers).value!
1209
+ unless response.nil?
1210
+ page = response.body
1211
+ page.next_method = Proc.new do |next_page_link|
1212
+ list_built_in_next_async(next_page_link, custom_headers)
1213
+ end
1214
+ page
1215
+ end
1216
+ end
1217
+
1218
+ #
1219
+ # Gets all the policy definitions for a subscription at management group level.
1220
+ #
1221
+ # @param management_group_id [String] The ID of the management group.
1222
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1223
+ # will be added to the HTTP request.
1224
+ #
1225
+ # @return [PolicyDefinitionListResult] which provide lazy access to pages of
1226
+ # the response.
1227
+ #
1228
+ def list_by_management_group_as_lazy(management_group_id, custom_headers = nil)
1229
+ response = list_by_management_group_async(management_group_id, custom_headers).value!
1230
+ unless response.nil?
1231
+ page = response.body
1232
+ page.next_method = Proc.new do |next_page_link|
1233
+ list_by_management_group_next_async(next_page_link, custom_headers)
1234
+ end
1235
+ page
1236
+ end
1237
+ end
1238
+
491
1239
  end
492
1240
  end