azure_mgmt_resources 0.18.0 → 0.18.1

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