azure_mgmt_resources 0.16.0 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/lib/2016-02-01/generated/azure_mgmt_resources/models/deployment_extended.rb +1 -0
  3. data/lib/2016-02-01/generated/azure_mgmt_resources/models/tag_details.rb +1 -0
  4. data/lib/2016-02-01/generated/azure_mgmt_resources/models/tag_value.rb +1 -0
  5. data/lib/2016-02-01/generated/azure_mgmt_resources/resource_management_client.rb +8 -9
  6. data/lib/2016-07-01/generated/azure_mgmt_resources/models/deployment_extended.rb +1 -0
  7. data/lib/2016-07-01/generated/azure_mgmt_resources/models/tag_details.rb +1 -0
  8. data/lib/2016-07-01/generated/azure_mgmt_resources/models/tag_value.rb +1 -0
  9. data/lib/2016-07-01/generated/azure_mgmt_resources/resource_management_client.rb +7 -6
  10. data/lib/2016-09-01/generated/azure_mgmt_resources/models/deployment_extended.rb +1 -0
  11. data/lib/2016-09-01/generated/azure_mgmt_resources/models/tag_details.rb +1 -0
  12. data/lib/2016-09-01/generated/azure_mgmt_resources/models/tag_value.rb +1 -0
  13. data/lib/2016-09-01/generated/azure_mgmt_resources/resource_management_client.rb +7 -6
  14. data/lib/2017-05-10/generated/azure_mgmt_resources/models/deployment_extended.rb +1 -0
  15. data/lib/2017-05-10/generated/azure_mgmt_resources/models/resource.rb +1 -1
  16. data/lib/2017-05-10/generated/azure_mgmt_resources/models/resource_provider_operation_display_properties.rb +1 -1
  17. data/lib/2017-05-10/generated/azure_mgmt_resources/models/tag_details.rb +1 -0
  18. data/lib/2017-05-10/generated/azure_mgmt_resources/models/tag_value.rb +1 -0
  19. data/lib/2017-05-10/generated/azure_mgmt_resources/resource_management_client.rb +7 -6
  20. data/lib/2018-02-01/generated/azure_mgmt_resources.rb +83 -0
  21. data/lib/2018-02-01/generated/azure_mgmt_resources/deployment_operations.rb +350 -0
  22. data/lib/2018-02-01/generated/azure_mgmt_resources/deployments.rb +1136 -0
  23. data/lib/2018-02-01/generated/azure_mgmt_resources/models/alias_path_type.rb +65 -0
  24. data/lib/2018-02-01/generated/azure_mgmt_resources/models/alias_type.rb +66 -0
  25. data/lib/2018-02-01/generated/azure_mgmt_resources/models/basic_dependency.rb +68 -0
  26. data/lib/2018-02-01/generated/azure_mgmt_resources/models/debug_setting.rb +54 -0
  27. data/lib/2018-02-01/generated/azure_mgmt_resources/models/dependency.rb +88 -0
  28. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment.rb +47 -0
  29. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_export_result.rb +46 -0
  30. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_extended.rb +70 -0
  31. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_extended_filter.rb +46 -0
  32. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_list_result.rb +99 -0
  33. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_mode.rb +16 -0
  34. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_operation.rb +71 -0
  35. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_operation_properties.rb +134 -0
  36. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_operations_list_result.rb +99 -0
  37. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_properties.rb +136 -0
  38. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_properties_extended.rb +210 -0
  39. data/lib/2018-02-01/generated/azure_mgmt_resources/models/deployment_validate_result.rb +60 -0
  40. data/lib/2018-02-01/generated/azure_mgmt_resources/models/export_template_request.rb +69 -0
  41. data/lib/2018-02-01/generated/azure_mgmt_resources/models/generic_resource.rb +158 -0
  42. data/lib/2018-02-01/generated/azure_mgmt_resources/models/generic_resource_filter.rb +68 -0
  43. data/lib/2018-02-01/generated/azure_mgmt_resources/models/http_message.rb +46 -0
  44. data/lib/2018-02-01/generated/azure_mgmt_resources/models/identity.rb +73 -0
  45. data/lib/2018-02-01/generated/azure_mgmt_resources/models/on_error_deployment.rb +60 -0
  46. data/lib/2018-02-01/generated/azure_mgmt_resources/models/on_error_deployment_extended.rb +73 -0
  47. data/lib/2018-02-01/generated/azure_mgmt_resources/models/on_error_deployment_type.rb +16 -0
  48. data/lib/2018-02-01/generated/azure_mgmt_resources/models/parameters_link.rb +58 -0
  49. data/lib/2018-02-01/generated/azure_mgmt_resources/models/plan.rb +90 -0
  50. data/lib/2018-02-01/generated/azure_mgmt_resources/models/provider.rb +92 -0
  51. data/lib/2018-02-01/generated/azure_mgmt_resources/models/provider_list_result.rb +99 -0
  52. data/lib/2018-02-01/generated/azure_mgmt_resources/models/provider_resource_type.rb +125 -0
  53. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource.rb +101 -0
  54. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_group.rb +115 -0
  55. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_group_export_result.rb +58 -0
  56. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_group_filter.rb +57 -0
  57. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_group_list_result.rb +99 -0
  58. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_group_patchable.rb +90 -0
  59. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_group_properties.rb +47 -0
  60. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_identity_type.rb +18 -0
  61. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_list_result.rb +99 -0
  62. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_management_error_with_details.rb +92 -0
  63. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resource_provider_operation_display_properties.rb +91 -0
  64. data/lib/2018-02-01/generated/azure_mgmt_resources/models/resources_move_info.rb +65 -0
  65. data/lib/2018-02-01/generated/azure_mgmt_resources/models/sku.rb +101 -0
  66. data/lib/2018-02-01/generated/azure_mgmt_resources/models/sub_resource.rb +46 -0
  67. data/lib/2018-02-01/generated/azure_mgmt_resources/models/tag_count.rb +57 -0
  68. data/lib/2018-02-01/generated/azure_mgmt_resources/models/tag_details.rb +92 -0
  69. data/lib/2018-02-01/generated/azure_mgmt_resources/models/tag_value.rb +70 -0
  70. data/lib/2018-02-01/generated/azure_mgmt_resources/models/tags_list_result.rb +99 -0
  71. data/lib/2018-02-01/generated/azure_mgmt_resources/models/target_resource.rb +68 -0
  72. data/lib/2018-02-01/generated/azure_mgmt_resources/models/template_link.rb +58 -0
  73. data/lib/2018-02-01/generated/azure_mgmt_resources/module_definition.rb +9 -0
  74. data/lib/2018-02-01/generated/azure_mgmt_resources/providers.rb +520 -0
  75. data/lib/2018-02-01/generated/azure_mgmt_resources/resource_groups.rb +891 -0
  76. data/lib/2018-02-01/generated/azure_mgmt_resources/resource_management_client.rb +151 -0
  77. data/lib/2018-02-01/generated/azure_mgmt_resources/resources.rb +2178 -0
  78. data/lib/2018-02-01/generated/azure_mgmt_resources/tags.rb +599 -0
  79. data/lib/2018-05-01/generated/azure_mgmt_resources.rb +84 -0
  80. data/lib/2018-05-01/generated/azure_mgmt_resources/deployment_operations.rb +653 -0
  81. data/lib/2018-05-01/generated/azure_mgmt_resources/deployments.rb +2148 -0
  82. data/lib/2018-05-01/generated/azure_mgmt_resources/models/alias_path_type.rb +65 -0
  83. data/lib/2018-05-01/generated/azure_mgmt_resources/models/alias_type.rb +66 -0
  84. data/lib/2018-05-01/generated/azure_mgmt_resources/models/basic_dependency.rb +68 -0
  85. data/lib/2018-05-01/generated/azure_mgmt_resources/models/debug_setting.rb +54 -0
  86. data/lib/2018-05-01/generated/azure_mgmt_resources/models/dependency.rb +88 -0
  87. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment.rb +58 -0
  88. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_export_result.rb +46 -0
  89. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_extended.rb +81 -0
  90. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_extended_filter.rb +46 -0
  91. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_list_result.rb +99 -0
  92. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_mode.rb +16 -0
  93. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_operation.rb +71 -0
  94. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_operation_properties.rb +134 -0
  95. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_operations_list_result.rb +99 -0
  96. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_properties.rb +136 -0
  97. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_properties_extended.rb +210 -0
  98. data/lib/2018-05-01/generated/azure_mgmt_resources/models/deployment_validate_result.rb +60 -0
  99. data/lib/2018-05-01/generated/azure_mgmt_resources/models/export_template_request.rb +69 -0
  100. data/lib/2018-05-01/generated/azure_mgmt_resources/models/generic_resource.rb +158 -0
  101. data/lib/2018-05-01/generated/azure_mgmt_resources/models/generic_resource_filter.rb +68 -0
  102. data/lib/2018-05-01/generated/azure_mgmt_resources/models/http_message.rb +46 -0
  103. data/lib/2018-05-01/generated/azure_mgmt_resources/models/identity.rb +96 -0
  104. data/lib/2018-05-01/generated/azure_mgmt_resources/models/identity_user_assigned_identities_value.rb +60 -0
  105. data/lib/2018-05-01/generated/azure_mgmt_resources/models/on_error_deployment.rb +60 -0
  106. data/lib/2018-05-01/generated/azure_mgmt_resources/models/on_error_deployment_extended.rb +73 -0
  107. data/lib/2018-05-01/generated/azure_mgmt_resources/models/on_error_deployment_type.rb +16 -0
  108. data/lib/2018-05-01/generated/azure_mgmt_resources/models/parameters_link.rb +58 -0
  109. data/lib/2018-05-01/generated/azure_mgmt_resources/models/plan.rb +90 -0
  110. data/lib/2018-05-01/generated/azure_mgmt_resources/models/provider.rb +92 -0
  111. data/lib/2018-05-01/generated/azure_mgmt_resources/models/provider_list_result.rb +99 -0
  112. data/lib/2018-05-01/generated/azure_mgmt_resources/models/provider_resource_type.rb +125 -0
  113. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource.rb +101 -0
  114. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_group.rb +115 -0
  115. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_group_export_result.rb +58 -0
  116. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_group_filter.rb +57 -0
  117. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_group_list_result.rb +99 -0
  118. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_group_patchable.rb +90 -0
  119. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_group_properties.rb +47 -0
  120. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_identity_type.rb +18 -0
  121. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_list_result.rb +99 -0
  122. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_management_error_with_details.rb +92 -0
  123. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resource_provider_operation_display_properties.rb +91 -0
  124. data/lib/2018-05-01/generated/azure_mgmt_resources/models/resources_move_info.rb +65 -0
  125. data/lib/2018-05-01/generated/azure_mgmt_resources/models/sku.rb +101 -0
  126. data/lib/2018-05-01/generated/azure_mgmt_resources/models/sub_resource.rb +46 -0
  127. data/lib/2018-05-01/generated/azure_mgmt_resources/models/tag_count.rb +57 -0
  128. data/lib/2018-05-01/generated/azure_mgmt_resources/models/tag_details.rb +92 -0
  129. data/lib/2018-05-01/generated/azure_mgmt_resources/models/tag_value.rb +70 -0
  130. data/lib/2018-05-01/generated/azure_mgmt_resources/models/tags_list_result.rb +99 -0
  131. data/lib/2018-05-01/generated/azure_mgmt_resources/models/target_resource.rb +68 -0
  132. data/lib/2018-05-01/generated/azure_mgmt_resources/models/template_link.rb +58 -0
  133. data/lib/2018-05-01/generated/azure_mgmt_resources/module_definition.rb +9 -0
  134. data/lib/2018-05-01/generated/azure_mgmt_resources/providers.rb +520 -0
  135. data/lib/2018-05-01/generated/azure_mgmt_resources/resource_groups.rb +891 -0
  136. data/lib/2018-05-01/generated/azure_mgmt_resources/resource_management_client.rb +151 -0
  137. data/lib/2018-05-01/generated/azure_mgmt_resources/resources.rb +2178 -0
  138. data/lib/2018-05-01/generated/azure_mgmt_resources/tags.rb +599 -0
  139. data/lib/azure_mgmt_resources.rb +4 -2
  140. data/lib/profiles/latest/modules/resources_profile_module.rb +138 -122
  141. data/lib/version.rb +1 -1
  142. metadata +124 -5
@@ -0,0 +1,891 @@
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::Resources::Mgmt::V2018_05_01
7
+ #
8
+ # Provides operations for working with resources and resource groups.
9
+ #
10
+ class ResourceGroups
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the ResourceGroups class.
15
+ # @param client service class for accessing basic functionality.
16
+ #
17
+ def initialize(client)
18
+ @client = client
19
+ end
20
+
21
+ # @return [ResourceManagementClient] reference to the ResourceManagementClient
22
+ attr_reader :client
23
+
24
+ #
25
+ # Checks whether a resource group exists.
26
+ #
27
+ # @param resource_group_name [String] The name of the resource group to check.
28
+ # The name is case insensitive.
29
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
30
+ # will be added to the HTTP request.
31
+ #
32
+ # @return [Boolean] operation results.
33
+ #
34
+ def check_existence(resource_group_name, custom_headers:nil)
35
+ response = check_existence_async(resource_group_name, custom_headers:custom_headers).value!
36
+ response.body unless response.nil?
37
+ end
38
+
39
+ #
40
+ # Checks whether a resource group exists.
41
+ #
42
+ # @param resource_group_name [String] The name of the resource group to check.
43
+ # The name is case insensitive.
44
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
45
+ # will be added to the HTTP request.
46
+ #
47
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
48
+ #
49
+ def check_existence_with_http_info(resource_group_name, custom_headers:nil)
50
+ check_existence_async(resource_group_name, custom_headers:custom_headers).value!
51
+ end
52
+
53
+ #
54
+ # Checks whether a resource group exists.
55
+ #
56
+ # @param resource_group_name [String] The name of the resource group to check.
57
+ # The name is case insensitive.
58
+ # @param [Hash{String => String}] A hash of custom headers that will be added
59
+ # to the HTTP request.
60
+ #
61
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
62
+ #
63
+ def check_existence_async(resource_group_name, custom_headers:nil)
64
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
65
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
66
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
67
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
68
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
69
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
70
+
71
+
72
+ request_headers = {}
73
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
74
+
75
+ # Set Headers
76
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
77
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
78
+ path_template = 'subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'
79
+
80
+ request_url = @base_url || @client.base_url
81
+
82
+ options = {
83
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
84
+ path_params: {'resourceGroupName' => resource_group_name,'subscriptionId' => @client.subscription_id},
85
+ query_params: {'api-version' => @client.api_version},
86
+ headers: request_headers.merge(custom_headers || {}),
87
+ base_url: request_url
88
+ }
89
+ promise = @client.make_request_async(:head, path_template, options)
90
+
91
+ promise = promise.then do |result|
92
+ http_response = result.response
93
+ status_code = http_response.status
94
+ response_content = http_response.body
95
+ unless status_code == 204 || status_code == 404
96
+ error_model = JSON.load(response_content)
97
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
98
+ end
99
+
100
+ result.body = (status_code == 204)
101
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
102
+
103
+ result
104
+ end
105
+
106
+ promise.execute
107
+ end
108
+
109
+ #
110
+ # Creates or updates a resource group.
111
+ #
112
+ # @param resource_group_name [String] The name of the resource group to create
113
+ # or update.
114
+ # @param parameters [ResourceGroup] Parameters supplied to the create or update
115
+ # a resource group.
116
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
117
+ # will be added to the HTTP request.
118
+ #
119
+ # @return [ResourceGroup] operation results.
120
+ #
121
+ def create_or_update(resource_group_name, parameters, custom_headers:nil)
122
+ response = create_or_update_async(resource_group_name, parameters, custom_headers:custom_headers).value!
123
+ response.body unless response.nil?
124
+ end
125
+
126
+ #
127
+ # Creates or updates a resource group.
128
+ #
129
+ # @param resource_group_name [String] The name of the resource group to create
130
+ # or update.
131
+ # @param parameters [ResourceGroup] Parameters supplied to the create or update
132
+ # a resource group.
133
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
134
+ # will be added to the HTTP request.
135
+ #
136
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
137
+ #
138
+ def create_or_update_with_http_info(resource_group_name, parameters, custom_headers:nil)
139
+ create_or_update_async(resource_group_name, parameters, custom_headers:custom_headers).value!
140
+ end
141
+
142
+ #
143
+ # Creates or updates a resource group.
144
+ #
145
+ # @param resource_group_name [String] The name of the resource group to create
146
+ # or update.
147
+ # @param parameters [ResourceGroup] Parameters supplied to the create or update
148
+ # a resource group.
149
+ # @param [Hash{String => String}] A hash of custom headers that will be added
150
+ # to the HTTP request.
151
+ #
152
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
153
+ #
154
+ def create_or_update_async(resource_group_name, parameters, custom_headers:nil)
155
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
156
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
157
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
158
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
159
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
160
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
161
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
162
+
163
+
164
+ request_headers = {}
165
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
166
+
167
+ # Set Headers
168
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
169
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
170
+
171
+ # Serialize Request
172
+ request_mapper = Azure::Resources::Mgmt::V2018_05_01::Models::ResourceGroup.mapper()
173
+ request_content = @client.serialize(request_mapper, parameters)
174
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
175
+
176
+ path_template = 'subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'
177
+
178
+ request_url = @base_url || @client.base_url
179
+
180
+ options = {
181
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
182
+ path_params: {'resourceGroupName' => resource_group_name,'subscriptionId' => @client.subscription_id},
183
+ query_params: {'api-version' => @client.api_version},
184
+ body: request_content,
185
+ headers: request_headers.merge(custom_headers || {}),
186
+ base_url: request_url
187
+ }
188
+ promise = @client.make_request_async(:put, path_template, options)
189
+
190
+ promise = promise.then do |result|
191
+ http_response = result.response
192
+ status_code = http_response.status
193
+ response_content = http_response.body
194
+ unless status_code == 201 || status_code == 200
195
+ error_model = JSON.load(response_content)
196
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
197
+ end
198
+
199
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
200
+ # Deserialize Response
201
+ if status_code == 201
202
+ begin
203
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
204
+ result_mapper = Azure::Resources::Mgmt::V2018_05_01::Models::ResourceGroup.mapper()
205
+ result.body = @client.deserialize(result_mapper, parsed_response)
206
+ rescue Exception => e
207
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
208
+ end
209
+ end
210
+ # Deserialize Response
211
+ if status_code == 200
212
+ begin
213
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
214
+ result_mapper = Azure::Resources::Mgmt::V2018_05_01::Models::ResourceGroup.mapper()
215
+ result.body = @client.deserialize(result_mapper, parsed_response)
216
+ rescue Exception => e
217
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
218
+ end
219
+ end
220
+
221
+ result
222
+ end
223
+
224
+ promise.execute
225
+ end
226
+
227
+ #
228
+ # Deletes a resource group.
229
+ #
230
+ # When you delete a resource group, all of its resources are also deleted.
231
+ # Deleting a resource group deletes all of its template deployments and
232
+ # currently stored operations.
233
+ #
234
+ # @param resource_group_name [String] The name of the resource group to delete.
235
+ # The name is case insensitive.
236
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
237
+ # will be added to the HTTP request.
238
+ #
239
+ def delete(resource_group_name, custom_headers:nil)
240
+ response = delete_async(resource_group_name, custom_headers:custom_headers).value!
241
+ nil
242
+ end
243
+
244
+ #
245
+ # @param resource_group_name [String] The name of the resource group to delete.
246
+ # The name is case insensitive.
247
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
248
+ # will be added to the HTTP request.
249
+ #
250
+ # @return [Concurrent::Promise] promise which provides async access to http
251
+ # response.
252
+ #
253
+ def delete_async(resource_group_name, custom_headers:nil)
254
+ # Send request
255
+ promise = begin_delete_async(resource_group_name, custom_headers:custom_headers)
256
+
257
+ promise = promise.then do |response|
258
+ # Defining deserialization method.
259
+ deserialize_method = lambda do |parsed_response|
260
+ end
261
+
262
+ # Waiting for response.
263
+ @client.get_long_running_operation_result(response, deserialize_method)
264
+ end
265
+
266
+ promise
267
+ end
268
+
269
+ #
270
+ # Gets a resource group.
271
+ #
272
+ # @param resource_group_name [String] The name of the resource group to get.
273
+ # The name is case insensitive.
274
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
275
+ # will be added to the HTTP request.
276
+ #
277
+ # @return [ResourceGroup] operation results.
278
+ #
279
+ def get(resource_group_name, custom_headers:nil)
280
+ response = get_async(resource_group_name, custom_headers:custom_headers).value!
281
+ response.body unless response.nil?
282
+ end
283
+
284
+ #
285
+ # Gets a resource group.
286
+ #
287
+ # @param resource_group_name [String] The name of the resource group to get.
288
+ # The name is case insensitive.
289
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
290
+ # will be added to the HTTP request.
291
+ #
292
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
293
+ #
294
+ def get_with_http_info(resource_group_name, custom_headers:nil)
295
+ get_async(resource_group_name, custom_headers:custom_headers).value!
296
+ end
297
+
298
+ #
299
+ # Gets a resource group.
300
+ #
301
+ # @param resource_group_name [String] The name of the resource group to get.
302
+ # The name is case insensitive.
303
+ # @param [Hash{String => String}] A hash of custom headers that will be added
304
+ # to the HTTP request.
305
+ #
306
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
307
+ #
308
+ def get_async(resource_group_name, custom_headers:nil)
309
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
310
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
311
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
312
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
313
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
314
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
315
+
316
+
317
+ request_headers = {}
318
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
319
+
320
+ # Set Headers
321
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
322
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
323
+ path_template = 'subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'
324
+
325
+ request_url = @base_url || @client.base_url
326
+
327
+ options = {
328
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
329
+ path_params: {'resourceGroupName' => resource_group_name,'subscriptionId' => @client.subscription_id},
330
+ query_params: {'api-version' => @client.api_version},
331
+ headers: request_headers.merge(custom_headers || {}),
332
+ base_url: request_url
333
+ }
334
+ promise = @client.make_request_async(:get, path_template, options)
335
+
336
+ promise = promise.then do |result|
337
+ http_response = result.response
338
+ status_code = http_response.status
339
+ response_content = http_response.body
340
+ unless status_code == 200
341
+ error_model = JSON.load(response_content)
342
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
343
+ end
344
+
345
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
346
+ # Deserialize Response
347
+ if status_code == 200
348
+ begin
349
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
350
+ result_mapper = Azure::Resources::Mgmt::V2018_05_01::Models::ResourceGroup.mapper()
351
+ result.body = @client.deserialize(result_mapper, parsed_response)
352
+ rescue Exception => e
353
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
354
+ end
355
+ end
356
+
357
+ result
358
+ end
359
+
360
+ promise.execute
361
+ end
362
+
363
+ #
364
+ # Updates a resource group.
365
+ #
366
+ # Resource groups can be updated through a simple PATCH operation to a group
367
+ # address. The format of the request is the same as that for creating a
368
+ # resource group. If a field is unspecified, the current value is retained.
369
+ #
370
+ # @param resource_group_name [String] The name of the resource group to update.
371
+ # The name is case insensitive.
372
+ # @param parameters [ResourceGroupPatchable] Parameters supplied to update a
373
+ # resource group.
374
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
375
+ # will be added to the HTTP request.
376
+ #
377
+ # @return [ResourceGroup] operation results.
378
+ #
379
+ def update(resource_group_name, parameters, custom_headers:nil)
380
+ response = update_async(resource_group_name, parameters, custom_headers:custom_headers).value!
381
+ response.body unless response.nil?
382
+ end
383
+
384
+ #
385
+ # Updates a resource group.
386
+ #
387
+ # Resource groups can be updated through a simple PATCH operation to a group
388
+ # address. The format of the request is the same as that for creating a
389
+ # resource group. If a field is unspecified, the current value is retained.
390
+ #
391
+ # @param resource_group_name [String] The name of the resource group to update.
392
+ # The name is case insensitive.
393
+ # @param parameters [ResourceGroupPatchable] Parameters supplied to update a
394
+ # resource group.
395
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
396
+ # will be added to the HTTP request.
397
+ #
398
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
399
+ #
400
+ def update_with_http_info(resource_group_name, parameters, custom_headers:nil)
401
+ update_async(resource_group_name, parameters, custom_headers:custom_headers).value!
402
+ end
403
+
404
+ #
405
+ # Updates a resource group.
406
+ #
407
+ # Resource groups can be updated through a simple PATCH operation to a group
408
+ # address. The format of the request is the same as that for creating a
409
+ # resource group. If a field is unspecified, the current value is retained.
410
+ #
411
+ # @param resource_group_name [String] The name of the resource group to update.
412
+ # The name is case insensitive.
413
+ # @param parameters [ResourceGroupPatchable] Parameters supplied to update a
414
+ # resource group.
415
+ # @param [Hash{String => String}] A hash of custom headers that will be added
416
+ # to the HTTP request.
417
+ #
418
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
419
+ #
420
+ def update_async(resource_group_name, parameters, custom_headers:nil)
421
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
422
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
423
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
424
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
425
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
426
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
427
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
428
+
429
+
430
+ request_headers = {}
431
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
432
+
433
+ # Set Headers
434
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
435
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
436
+
437
+ # Serialize Request
438
+ request_mapper = Azure::Resources::Mgmt::V2018_05_01::Models::ResourceGroupPatchable.mapper()
439
+ request_content = @client.serialize(request_mapper, parameters)
440
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
441
+
442
+ path_template = 'subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'
443
+
444
+ request_url = @base_url || @client.base_url
445
+
446
+ options = {
447
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
448
+ path_params: {'resourceGroupName' => resource_group_name,'subscriptionId' => @client.subscription_id},
449
+ query_params: {'api-version' => @client.api_version},
450
+ body: request_content,
451
+ headers: request_headers.merge(custom_headers || {}),
452
+ base_url: request_url
453
+ }
454
+ promise = @client.make_request_async(:patch, path_template, options)
455
+
456
+ promise = promise.then do |result|
457
+ http_response = result.response
458
+ status_code = http_response.status
459
+ response_content = http_response.body
460
+ unless status_code == 200
461
+ error_model = JSON.load(response_content)
462
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
463
+ end
464
+
465
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
466
+ # Deserialize Response
467
+ if status_code == 200
468
+ begin
469
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
470
+ result_mapper = Azure::Resources::Mgmt::V2018_05_01::Models::ResourceGroup.mapper()
471
+ result.body = @client.deserialize(result_mapper, parsed_response)
472
+ rescue Exception => e
473
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
474
+ end
475
+ end
476
+
477
+ result
478
+ end
479
+
480
+ promise.execute
481
+ end
482
+
483
+ #
484
+ # Captures the specified resource group as a template.
485
+ #
486
+ # @param resource_group_name [String] The name of the resource group to export
487
+ # as a template.
488
+ # @param parameters [ExportTemplateRequest] Parameters for exporting the
489
+ # template.
490
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
491
+ # will be added to the HTTP request.
492
+ #
493
+ # @return [ResourceGroupExportResult] operation results.
494
+ #
495
+ def export_template(resource_group_name, parameters, custom_headers:nil)
496
+ response = export_template_async(resource_group_name, parameters, custom_headers:custom_headers).value!
497
+ response.body unless response.nil?
498
+ end
499
+
500
+ #
501
+ # Captures the specified resource group as a template.
502
+ #
503
+ # @param resource_group_name [String] The name of the resource group to export
504
+ # as a template.
505
+ # @param parameters [ExportTemplateRequest] Parameters for exporting the
506
+ # template.
507
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
508
+ # will be added to the HTTP request.
509
+ #
510
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
511
+ #
512
+ def export_template_with_http_info(resource_group_name, parameters, custom_headers:nil)
513
+ export_template_async(resource_group_name, parameters, custom_headers:custom_headers).value!
514
+ end
515
+
516
+ #
517
+ # Captures the specified resource group as a template.
518
+ #
519
+ # @param resource_group_name [String] The name of the resource group to export
520
+ # as a template.
521
+ # @param parameters [ExportTemplateRequest] Parameters for exporting the
522
+ # template.
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 export_template_async(resource_group_name, parameters, custom_headers:nil)
529
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
530
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
531
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
532
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
533
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
534
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
535
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
536
+
537
+
538
+ request_headers = {}
539
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
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
+
545
+ # Serialize Request
546
+ request_mapper = Azure::Resources::Mgmt::V2018_05_01::Models::ExportTemplateRequest.mapper()
547
+ request_content = @client.serialize(request_mapper, parameters)
548
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
549
+
550
+ path_template = 'subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate'
551
+
552
+ request_url = @base_url || @client.base_url
553
+
554
+ options = {
555
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
556
+ path_params: {'resourceGroupName' => resource_group_name,'subscriptionId' => @client.subscription_id},
557
+ query_params: {'api-version' => @client.api_version},
558
+ body: request_content,
559
+ headers: request_headers.merge(custom_headers || {}),
560
+ base_url: request_url
561
+ }
562
+ promise = @client.make_request_async(:post, path_template, options)
563
+
564
+ promise = promise.then do |result|
565
+ http_response = result.response
566
+ status_code = http_response.status
567
+ response_content = http_response.body
568
+ unless status_code == 200
569
+ error_model = JSON.load(response_content)
570
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
571
+ end
572
+
573
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
574
+ # Deserialize Response
575
+ if status_code == 200
576
+ begin
577
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
578
+ result_mapper = Azure::Resources::Mgmt::V2018_05_01::Models::ResourceGroupExportResult.mapper()
579
+ result.body = @client.deserialize(result_mapper, parsed_response)
580
+ rescue Exception => e
581
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
582
+ end
583
+ end
584
+
585
+ result
586
+ end
587
+
588
+ promise.execute
589
+ end
590
+
591
+ #
592
+ # Gets all the resource groups for a subscription.
593
+ #
594
+ # @param filter [String] The filter to apply on the operation.
595
+ # @param top [Integer] The number of results to return. If null is passed,
596
+ # returns all resource groups.
597
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
598
+ # will be added to the HTTP request.
599
+ #
600
+ # @return [Array<ResourceGroup>] operation results.
601
+ #
602
+ def list(filter:nil, top:nil, custom_headers:nil)
603
+ first_page = list_as_lazy(filter:filter, top:top, custom_headers:custom_headers)
604
+ first_page.get_all_items
605
+ end
606
+
607
+ #
608
+ # Gets all the resource groups for a subscription.
609
+ #
610
+ # @param filter [String] The filter to apply on the operation.
611
+ # @param top [Integer] The number of results to return. If null is passed,
612
+ # returns all resource groups.
613
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
614
+ # will be added to the HTTP request.
615
+ #
616
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
617
+ #
618
+ def list_with_http_info(filter:nil, top:nil, custom_headers:nil)
619
+ list_async(filter:filter, top:top, custom_headers:custom_headers).value!
620
+ end
621
+
622
+ #
623
+ # Gets all the resource groups for a subscription.
624
+ #
625
+ # @param filter [String] The filter to apply on the operation.
626
+ # @param top [Integer] The number of results to return. If null is passed,
627
+ # returns all resource groups.
628
+ # @param [Hash{String => String}] A hash of custom headers that will be added
629
+ # to the HTTP request.
630
+ #
631
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
632
+ #
633
+ def list_async(filter:nil, top:nil, custom_headers:nil)
634
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
635
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
636
+
637
+
638
+ request_headers = {}
639
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
640
+
641
+ # Set Headers
642
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
643
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
644
+ path_template = 'subscriptions/{subscriptionId}/resourcegroups'
645
+
646
+ request_url = @base_url || @client.base_url
647
+
648
+ options = {
649
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
650
+ path_params: {'subscriptionId' => @client.subscription_id},
651
+ query_params: {'$filter' => filter,'$top' => top,'api-version' => @client.api_version},
652
+ headers: request_headers.merge(custom_headers || {}),
653
+ base_url: request_url
654
+ }
655
+ promise = @client.make_request_async(:get, path_template, options)
656
+
657
+ promise = promise.then do |result|
658
+ http_response = result.response
659
+ status_code = http_response.status
660
+ response_content = http_response.body
661
+ unless status_code == 200
662
+ error_model = JSON.load(response_content)
663
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
664
+ end
665
+
666
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
667
+ # Deserialize Response
668
+ if status_code == 200
669
+ begin
670
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
671
+ result_mapper = Azure::Resources::Mgmt::V2018_05_01::Models::ResourceGroupListResult.mapper()
672
+ result.body = @client.deserialize(result_mapper, parsed_response)
673
+ rescue Exception => e
674
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
675
+ end
676
+ end
677
+
678
+ result
679
+ end
680
+
681
+ promise.execute
682
+ end
683
+
684
+ #
685
+ # Deletes a resource group.
686
+ #
687
+ # When you delete a resource group, all of its resources are also deleted.
688
+ # Deleting a resource group deletes all of its template deployments and
689
+ # currently stored operations.
690
+ #
691
+ # @param resource_group_name [String] The name of the resource group to delete.
692
+ # The name is case insensitive.
693
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
694
+ # will be added to the HTTP request.
695
+ #
696
+ #
697
+ def begin_delete(resource_group_name, custom_headers:nil)
698
+ response = begin_delete_async(resource_group_name, custom_headers:custom_headers).value!
699
+ nil
700
+ end
701
+
702
+ #
703
+ # Deletes a resource group.
704
+ #
705
+ # When you delete a resource group, all of its resources are also deleted.
706
+ # Deleting a resource group deletes all of its template deployments and
707
+ # currently stored operations.
708
+ #
709
+ # @param resource_group_name [String] The name of the resource group to delete.
710
+ # The name is case insensitive.
711
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
712
+ # will be added to the HTTP request.
713
+ #
714
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
715
+ #
716
+ def begin_delete_with_http_info(resource_group_name, custom_headers:nil)
717
+ begin_delete_async(resource_group_name, custom_headers:custom_headers).value!
718
+ end
719
+
720
+ #
721
+ # Deletes a resource group.
722
+ #
723
+ # When you delete a resource group, all of its resources are also deleted.
724
+ # Deleting a resource group deletes all of its template deployments and
725
+ # currently stored operations.
726
+ #
727
+ # @param resource_group_name [String] The name of the resource group to delete.
728
+ # The name is case insensitive.
729
+ # @param [Hash{String => String}] A hash of custom headers that will be added
730
+ # to the HTTP request.
731
+ #
732
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
733
+ #
734
+ def begin_delete_async(resource_group_name, custom_headers:nil)
735
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
736
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
737
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
738
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
739
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
740
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
741
+
742
+
743
+ request_headers = {}
744
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
745
+
746
+ # Set Headers
747
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
748
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
749
+ path_template = 'subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'
750
+
751
+ request_url = @base_url || @client.base_url
752
+
753
+ options = {
754
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
755
+ path_params: {'resourceGroupName' => resource_group_name,'subscriptionId' => @client.subscription_id},
756
+ query_params: {'api-version' => @client.api_version},
757
+ headers: request_headers.merge(custom_headers || {}),
758
+ base_url: request_url
759
+ }
760
+ promise = @client.make_request_async(:delete, path_template, options)
761
+
762
+ promise = promise.then do |result|
763
+ http_response = result.response
764
+ status_code = http_response.status
765
+ response_content = http_response.body
766
+ unless status_code == 202 || status_code == 200
767
+ error_model = JSON.load(response_content)
768
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
769
+ end
770
+
771
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
772
+
773
+ result
774
+ end
775
+
776
+ promise.execute
777
+ end
778
+
779
+ #
780
+ # Gets all the resource groups for a subscription.
781
+ #
782
+ # @param next_page_link [String] The NextLink from the previous successful call
783
+ # to List operation.
784
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
785
+ # will be added to the HTTP request.
786
+ #
787
+ # @return [ResourceGroupListResult] operation results.
788
+ #
789
+ def list_next(next_page_link, custom_headers:nil)
790
+ response = list_next_async(next_page_link, custom_headers:custom_headers).value!
791
+ response.body unless response.nil?
792
+ end
793
+
794
+ #
795
+ # Gets all the resource groups for a subscription.
796
+ #
797
+ # @param next_page_link [String] The NextLink from the previous successful call
798
+ # to List operation.
799
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
800
+ # will be added to the HTTP request.
801
+ #
802
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
803
+ #
804
+ def list_next_with_http_info(next_page_link, custom_headers:nil)
805
+ list_next_async(next_page_link, custom_headers:custom_headers).value!
806
+ end
807
+
808
+ #
809
+ # Gets all the resource groups for a subscription.
810
+ #
811
+ # @param next_page_link [String] The NextLink from the previous successful call
812
+ # to List operation.
813
+ # @param [Hash{String => String}] A hash of custom headers that will be added
814
+ # to the HTTP request.
815
+ #
816
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
817
+ #
818
+ def list_next_async(next_page_link, custom_headers:nil)
819
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
820
+
821
+
822
+ request_headers = {}
823
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
824
+
825
+ # Set Headers
826
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
827
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
828
+ path_template = '{nextLink}'
829
+
830
+ request_url = @base_url || @client.base_url
831
+
832
+ options = {
833
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
834
+ skip_encoding_path_params: {'nextLink' => next_page_link},
835
+ headers: request_headers.merge(custom_headers || {}),
836
+ base_url: request_url
837
+ }
838
+ promise = @client.make_request_async(:get, path_template, options)
839
+
840
+ promise = promise.then do |result|
841
+ http_response = result.response
842
+ status_code = http_response.status
843
+ response_content = http_response.body
844
+ unless status_code == 200
845
+ error_model = JSON.load(response_content)
846
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
847
+ end
848
+
849
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
850
+ # Deserialize Response
851
+ if status_code == 200
852
+ begin
853
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
854
+ result_mapper = Azure::Resources::Mgmt::V2018_05_01::Models::ResourceGroupListResult.mapper()
855
+ result.body = @client.deserialize(result_mapper, parsed_response)
856
+ rescue Exception => e
857
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
858
+ end
859
+ end
860
+
861
+ result
862
+ end
863
+
864
+ promise.execute
865
+ end
866
+
867
+ #
868
+ # Gets all the resource groups for a subscription.
869
+ #
870
+ # @param filter [String] The filter to apply on the operation.
871
+ # @param top [Integer] The number of results to return. If null is passed,
872
+ # returns all resource groups.
873
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
874
+ # will be added to the HTTP request.
875
+ #
876
+ # @return [ResourceGroupListResult] which provide lazy access to pages of the
877
+ # response.
878
+ #
879
+ def list_as_lazy(filter:nil, top:nil, custom_headers:nil)
880
+ response = list_async(filter:filter, top:top, custom_headers:custom_headers).value!
881
+ unless response.nil?
882
+ page = response.body
883
+ page.next_method = Proc.new do |next_page_link|
884
+ list_next_async(next_page_link, custom_headers:custom_headers)
885
+ end
886
+ page
887
+ end
888
+ end
889
+
890
+ end
891
+ end