azure_mgmt_resources 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. checksums.yaml +13 -5
  2. data/README.md +1 -27
  3. data/azure_mgmt_resources.gemspec +2 -6
  4. data/lib/azure_mgmt_resources/deployment_operations.rb +161 -141
  5. data/lib/azure_mgmt_resources/deployments.rb +684 -310
  6. data/lib/azure_mgmt_resources/{Models → models}/basic_dependency.rb +1 -3
  7. data/lib/azure_mgmt_resources/models/debug_setting.rb +56 -0
  8. data/lib/azure_mgmt_resources/{Models → models}/dependency.rb +4 -6
  9. data/lib/azure_mgmt_resources/{Models → models}/deployment.rb +1 -3
  10. data/lib/azure_mgmt_resources/models/deployment_export_result.rb +56 -0
  11. data/lib/azure_mgmt_resources/{Models → models}/deployment_extended.rb +8 -9
  12. data/lib/azure_mgmt_resources/{Models → models}/deployment_extended_filter.rb +1 -3
  13. data/lib/azure_mgmt_resources/{Models → models}/deployment_list_result.rb +4 -6
  14. data/lib/azure_mgmt_resources/{Models → models}/deployment_mode.rb +2 -1
  15. data/lib/azure_mgmt_resources/{Models → models}/deployment_operation.rb +1 -3
  16. data/lib/azure_mgmt_resources/{Models → models}/deployment_operation_properties.rb +41 -2
  17. data/lib/azure_mgmt_resources/{Models → models}/deployment_operations_list_result.rb +4 -6
  18. data/lib/azure_mgmt_resources/{Models → models}/deployment_properties.rb +19 -4
  19. data/lib/azure_mgmt_resources/{Models → models}/deployment_properties_extended.rb +25 -10
  20. data/lib/azure_mgmt_resources/{Models → models}/deployment_validate_result.rb +1 -3
  21. data/lib/azure_mgmt_resources/models/export_template_request.rb +69 -0
  22. data/lib/azure_mgmt_resources/{Models → models}/generic_resource.rb +1 -3
  23. data/lib/azure_mgmt_resources/{Models → models}/generic_resource_filter.rb +1 -3
  24. data/lib/azure_mgmt_resources/models/http_message.rb +56 -0
  25. data/lib/azure_mgmt_resources/{Models → models}/parameters_link.rb +2 -4
  26. data/lib/azure_mgmt_resources/{Models → models}/plan.rb +1 -3
  27. data/lib/azure_mgmt_resources/{Models → models}/provider.rb +4 -6
  28. data/lib/azure_mgmt_resources/{Models → models}/provider_list_result.rb +4 -6
  29. data/lib/azure_mgmt_resources/{Models → models}/provider_resource_type.rb +1 -3
  30. data/lib/azure_mgmt_resources/{Models → models}/resource_group.rb +8 -9
  31. data/lib/azure_mgmt_resources/models/resource_group_export_result.rb +71 -0
  32. data/lib/azure_mgmt_resources/{Models → models}/resource_group_filter.rb +1 -3
  33. data/lib/azure_mgmt_resources/{Models → models}/resource_group_list_result.rb +11 -12
  34. data/lib/azure_mgmt_resources/{Models → models}/resource_group_properties.rb +1 -3
  35. data/lib/azure_mgmt_resources/{Models → models}/resource_list_result.rb +11 -12
  36. data/lib/azure_mgmt_resources/{Models → models}/resource_management_error_with_details.rb +29 -28
  37. data/lib/azure_mgmt_resources/{Models → models}/resource_provider_operation_definition.rb +1 -3
  38. data/lib/azure_mgmt_resources/{Models → models}/resource_provider_operation_detail_list_result.rb +4 -6
  39. data/lib/azure_mgmt_resources/{Models → models}/resource_provider_operation_display_properties.rb +1 -3
  40. data/lib/azure_mgmt_resources/{Models → models}/resources_move_info.rb +1 -3
  41. data/lib/azure_mgmt_resources/{Models → models}/tag_count.rb +1 -3
  42. data/lib/azure_mgmt_resources/{Models → models}/tag_details.rb +4 -6
  43. data/lib/azure_mgmt_resources/{Models → models}/tag_value.rb +1 -3
  44. data/lib/azure_mgmt_resources/{Models → models}/tags_list_result.rb +11 -12
  45. data/lib/azure_mgmt_resources/{Models → models}/target_resource.rb +1 -3
  46. data/lib/azure_mgmt_resources/{Models → models}/template_link.rb +2 -4
  47. data/lib/azure_mgmt_resources/module_definition.rb +5 -3
  48. data/lib/azure_mgmt_resources/providers.rb +265 -239
  49. data/lib/azure_mgmt_resources/resource_groups.rb +604 -465
  50. data/lib/azure_mgmt_resources/resource_management_client.rb +18 -11
  51. data/lib/azure_mgmt_resources/resource_provider_operation_details.rb +154 -47
  52. data/lib/azure_mgmt_resources/resources.rb +425 -380
  53. data/lib/azure_mgmt_resources/tags.rb +310 -288
  54. data/lib/azure_mgmt_resources/version.rb +5 -3
  55. data/lib/azure_mgmt_resources.rb +20 -19
  56. metadata +68 -126
  57. data/.travis.yml +0 -3
  58. data/Gemfile +0 -14
  59. data/lib/azure_mgmt_resources/Models/resource_group_extended.rb +0 -113
  60. data/lib/azure_mgmt_resources/Models/resource_group_extended_filter.rb +0 -63
  61. data/lib/azure_mgmt_resources/Models/resource_group_format_resource_properties.rb +0 -54
  62. data/lib/azure_mgmt_resources/Models/resource_management_error.rb +0 -77
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
- # Code generated by Microsoft (R) AutoRest Code Generator 0.11.0.0
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
3
3
  # Changes may cause incorrect behavior and will be lost if the code is
4
4
  # regenerated.
5
5
 
@@ -23,75 +23,192 @@ module Azure::ARM::Resources
23
23
  attr_reader :client
24
24
 
25
25
  #
26
- # Cancel a currently running template deployment.
26
+ # Delete deployment.
27
+ #
27
28
  # @param resource_group_name [String] The name of the resource group. The name
28
29
  # is case insensitive.
29
- # @param deployment_name [String] The name of the deployment.
30
- # @param [Hash{String => String}] The hash of custom headers need to be
31
- # applied to HTTP request.
32
- #
33
- # @return [Concurrent::Promise] Promise object which allows to get HTTP
30
+ # @param deployment_name [String] The name of the deployment to be deleted.
31
+ # @return [Concurrent::Promise] promise which provides async access to http
34
32
  # response.
35
33
  #
36
- def cancel(resource_group_name, deployment_name, custom_headers = nil)
34
+ def delete(resource_group_name, deployment_name, custom_headers = nil)
35
+ # Send request
36
+ promise = begin_delete_async(resource_group_name, deployment_name, custom_headers)
37
+
38
+ promise = promise.then do |response|
39
+ # Defining deserialization method.
40
+ deserialize_method = lambda do |parsed_response|
41
+ end
42
+
43
+ # Waiting for response.
44
+ @client.get_long_running_operation_result(response, deserialize_method)
45
+ end
46
+
47
+ promise
48
+ end
49
+
50
+ #
51
+ # Delete deployment.
52
+ #
53
+ # @param resource_group_name [String] The name of the resource group. The name
54
+ # is case insensitive.
55
+ # @param deployment_name [String] The name of the deployment to be deleted.
56
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
57
+ # will be added to the HTTP request.
58
+ #
59
+ #
60
+ def begin_delete(resource_group_name, deployment_name, custom_headers = nil)
61
+ response = begin_delete_async(resource_group_name, deployment_name, custom_headers).value!
62
+ nil
63
+ end
64
+
65
+ #
66
+ # Delete deployment.
67
+ #
68
+ # @param resource_group_name [String] The name of the resource group. The name
69
+ # is case insensitive.
70
+ # @param deployment_name [String] The name of the deployment to be deleted.
71
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
72
+ # will be added to the HTTP request.
73
+ #
74
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
75
+ #
76
+ def begin_delete_with_http_info(resource_group_name, deployment_name, custom_headers = nil)
77
+ begin_delete_async(resource_group_name, deployment_name, custom_headers).value!
78
+ end
79
+
80
+ #
81
+ # Delete deployment.
82
+ #
83
+ # @param resource_group_name [String] The name of the resource group. The name
84
+ # is case insensitive.
85
+ # @param deployment_name [String] The name of the deployment to be deleted.
86
+ # @param [Hash{String => String}] A hash of custom headers that will be added
87
+ # to the HTTP request.
88
+ #
89
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
90
+ #
91
+ def begin_delete_async(resource_group_name, deployment_name, custom_headers = nil)
37
92
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
38
93
  fail ArgumentError, 'deployment_name is nil' if deployment_name.nil?
39
94
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
40
95
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
41
- # Construct URL
42
- path = "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/cancel"
43
- path['{resourceGroupName}'] = ERB::Util.url_encode(resource_group_name) if path.include?('{resourceGroupName}')
44
- path['{deploymentName}'] = ERB::Util.url_encode(deployment_name) if path.include?('{deploymentName}')
45
- path['{subscriptionId}'] = ERB::Util.url_encode(@client.subscription_id) if path.include?('{subscriptionId}')
46
- url = URI.join(@client.base_url, path)
47
- properties = {}
48
- properties['api-version'] = ERB::Util.url_encode(@client.api_version.to_s) unless @client.api_version.nil?
49
- unless url.query.nil?
50
- url.query.split('&').each do |url_item|
51
- url_items_parts = url_item.split('=')
52
- properties[url_items_parts[0]] = url_items_parts[1]
53
- end
54
- end
55
- properties.reject!{ |key, value| value.nil? }
56
- url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
57
- fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
58
- corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
59
- url = URI.parse(corrected_url)
60
-
61
- connection = Faraday.new(:url => url) do |faraday|
62
- faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
63
- faraday.use :cookie_jar
64
- faraday.adapter Faraday.default_adapter
65
- end
66
- request_headers = Hash.new
96
+ request_headers = {}
67
97
 
68
98
  # Set Headers
69
99
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
70
- request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
100
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
101
+ path_template = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'
102
+ options = {
103
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
104
+ path_params: {'resourceGroupName' => resource_group_name,'deploymentName' => deployment_name,'subscriptionId' => @client.subscription_id},
105
+ query_params: {'api-version' => @client.api_version},
106
+ headers: request_headers.merge(custom_headers || {})
107
+ }
71
108
 
72
- unless custom_headers.nil?
73
- custom_headers.each do |key, value|
74
- request_headers[key] = value
75
- end
109
+ request_url = @base_url || @client.base_url
110
+
111
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :delete, options)
112
+ promise = request.run_promise do |req|
113
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
76
114
  end
77
115
 
78
- # Send Request
79
- promise = Concurrent::Promise.new do
80
- connection.post do |request|
81
- request.headers = request_headers
82
- @client.credentials.sign_request(request) unless @client.credentials.nil?
116
+ promise = promise.then do |http_response|
117
+ status_code = http_response.status
118
+ response_content = http_response.body
119
+ unless status_code == 202 || status_code == 204
120
+ error_model = JSON.load(response_content)
121
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
83
122
  end
123
+
124
+ # Create Result
125
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
126
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
127
+
128
+ result
129
+ end
130
+
131
+ promise.execute
132
+ end
133
+
134
+ #
135
+ # Checks whether deployment exists.
136
+ #
137
+ # @param resource_group_name [String] The name of the resource group to check.
138
+ # The name is case insensitive.
139
+ # @param deployment_name [String] The name of the deployment.
140
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
141
+ # will be added to the HTTP request.
142
+ #
143
+ # @return [Boolean] operation results.
144
+ #
145
+ def check_existence(resource_group_name, deployment_name, custom_headers = nil)
146
+ response = check_existence_async(resource_group_name, deployment_name, custom_headers).value!
147
+ response.body unless response.nil?
148
+ end
149
+
150
+ #
151
+ # Checks whether deployment exists.
152
+ #
153
+ # @param resource_group_name [String] The name of the resource group to check.
154
+ # The name is case insensitive.
155
+ # @param deployment_name [String] The name of the deployment.
156
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
157
+ # will be added to the HTTP request.
158
+ #
159
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
160
+ #
161
+ def check_existence_with_http_info(resource_group_name, deployment_name, custom_headers = nil)
162
+ check_existence_async(resource_group_name, deployment_name, custom_headers).value!
163
+ end
164
+
165
+ #
166
+ # Checks whether deployment exists.
167
+ #
168
+ # @param resource_group_name [String] The name of the resource group to check.
169
+ # The name is case insensitive.
170
+ # @param deployment_name [String] The name of the deployment.
171
+ # @param [Hash{String => String}] A hash of custom headers that will be added
172
+ # to the HTTP request.
173
+ #
174
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
175
+ #
176
+ def check_existence_async(resource_group_name, deployment_name, custom_headers = nil)
177
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
178
+ fail ArgumentError, 'deployment_name is nil' if deployment_name.nil?
179
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
180
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
181
+ request_headers = {}
182
+
183
+ # Set Headers
184
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
185
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
186
+ path_template = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'
187
+ options = {
188
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
189
+ path_params: {'resourceGroupName' => resource_group_name,'deploymentName' => deployment_name,'subscriptionId' => @client.subscription_id},
190
+ query_params: {'api-version' => @client.api_version},
191
+ headers: request_headers.merge(custom_headers || {})
192
+ }
193
+
194
+ request_url = @base_url || @client.base_url
195
+
196
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :head, options)
197
+ promise = request.run_promise do |req|
198
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
84
199
  end
85
200
 
86
201
  promise = promise.then do |http_response|
87
202
  status_code = http_response.status
88
203
  response_content = http_response.body
89
- unless (status_code == 204)
90
- fail MsRestAzure::AzureOperationError.new(connection, http_response)
204
+ unless status_code == 204 || status_code == 404
205
+ error_model = JSON.load(response_content)
206
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
91
207
  end
92
208
 
93
209
  # Create Result
94
- result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
210
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
211
+ result.body = (status_code == 204)
95
212
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
96
213
 
97
214
  result
@@ -101,110 +218,158 @@ module Azure::ARM::Resources
101
218
  end
102
219
 
103
220
  #
104
- # Validate a deployment template.
221
+ # Create a named template deployment using a template.
222
+ #
105
223
  # @param resource_group_name [String] The name of the resource group. The name
106
224
  # is case insensitive.
107
225
  # @param deployment_name [String] The name of the deployment.
108
- # @param parameters [Deployment] Deployment to validate.
109
- # @param [Hash{String => String}] The hash of custom headers need to be
110
- # applied to HTTP request.
226
+ # @param parameters [Deployment] Additional parameters supplied to the
227
+ # operation.
228
+ # @param @client.api_version [String] Client Api Version.
229
+ # @param @client.subscription_id [String] Gets subscription credentials which
230
+ # uniquely identify Microsoft Azure subscription. The subscription ID forms
231
+ # part of the URI for every service call.
232
+ # @param @client.accept_language [String] Gets or sets the preferred language
233
+ # for the response.
111
234
  #
112
- # @return [Concurrent::Promise] Promise object which allows to get HTTP
235
+ # @return [Concurrent::Promise] promise which provides async access to http
113
236
  # response.
114
237
  #
115
- def validate(resource_group_name, deployment_name, parameters, custom_headers = nil)
238
+ def create_or_update(resource_group_name, deployment_name, parameters, custom_headers = nil)
239
+ # Send request
240
+ promise = begin_create_or_update_async(resource_group_name, deployment_name, parameters, custom_headers)
241
+
242
+ promise = promise.then do |response|
243
+ # Defining deserialization method.
244
+ deserialize_method = lambda do |parsed_response|
245
+ unless parsed_response.nil?
246
+ parsed_response = DeploymentExtended.deserialize_object(parsed_response)
247
+ end
248
+ end
249
+
250
+ # Waiting for response.
251
+ @client.get_long_running_operation_result(response, deserialize_method)
252
+ end
253
+
254
+ promise
255
+ end
256
+
257
+ #
258
+ # Create a named template deployment using a template.
259
+ #
260
+ # @param resource_group_name [String] The name of the resource group. The name
261
+ # is case insensitive.
262
+ # @param deployment_name [String] The name of the deployment.
263
+ # @param parameters [Deployment] Additional parameters supplied to the
264
+ # operation.
265
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
266
+ # will be added to the HTTP request.
267
+ #
268
+ # @return [DeploymentExtended] operation results.
269
+ #
270
+ def begin_create_or_update(resource_group_name, deployment_name, parameters, custom_headers = nil)
271
+ response = begin_create_or_update_async(resource_group_name, deployment_name, parameters, custom_headers).value!
272
+ response.body unless response.nil?
273
+ end
274
+
275
+ #
276
+ # Create a named template deployment using a template.
277
+ #
278
+ # @param resource_group_name [String] The name of the resource group. The name
279
+ # is case insensitive.
280
+ # @param deployment_name [String] The name of the deployment.
281
+ # @param parameters [Deployment] Additional parameters supplied to the
282
+ # operation.
283
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
284
+ # will be added to the HTTP request.
285
+ #
286
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
287
+ #
288
+ def begin_create_or_update_with_http_info(resource_group_name, deployment_name, parameters, custom_headers = nil)
289
+ begin_create_or_update_async(resource_group_name, deployment_name, parameters, custom_headers).value!
290
+ end
291
+
292
+ #
293
+ # Create a named template deployment using a template.
294
+ #
295
+ # @param resource_group_name [String] The name of the resource group. The name
296
+ # is case insensitive.
297
+ # @param deployment_name [String] The name of the deployment.
298
+ # @param parameters [Deployment] Additional parameters supplied to the
299
+ # operation.
300
+ # @param [Hash{String => String}] A hash of custom headers that will be added
301
+ # to the HTTP request.
302
+ #
303
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
304
+ #
305
+ def begin_create_or_update_async(resource_group_name, deployment_name, parameters, custom_headers = nil)
116
306
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
117
307
  fail ArgumentError, 'deployment_name is nil' if deployment_name.nil?
118
308
  fail ArgumentError, 'parameters is nil' if parameters.nil?
119
309
  parameters.validate unless parameters.nil?
120
310
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
121
311
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
122
- # Construct URL
123
- path = "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.resources/deployments/{deploymentName}/validate"
124
- path['{resourceGroupName}'] = ERB::Util.url_encode(resource_group_name) if path.include?('{resourceGroupName}')
125
- path['{deploymentName}'] = ERB::Util.url_encode(deployment_name) if path.include?('{deploymentName}')
126
- path['{subscriptionId}'] = ERB::Util.url_encode(@client.subscription_id) if path.include?('{subscriptionId}')
127
- url = URI.join(@client.base_url, path)
128
- properties = {}
129
- properties['api-version'] = ERB::Util.url_encode(@client.api_version.to_s) unless @client.api_version.nil?
130
- unless url.query.nil?
131
- url.query.split('&').each do |url_item|
132
- url_items_parts = url_item.split('=')
133
- properties[url_items_parts[0]] = url_items_parts[1]
134
- end
135
- end
136
- properties.reject!{ |key, value| value.nil? }
137
- url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
138
- fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
139
- corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
140
- url = URI.parse(corrected_url)
141
-
142
- connection = Faraday.new(:url => url) do |faraday|
143
- faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
144
- faraday.use :cookie_jar
145
- faraday.adapter Faraday.default_adapter
146
- end
147
- request_headers = Hash.new
312
+ request_headers = {}
148
313
 
149
314
  # Set Headers
150
315
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
151
- request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
152
-
153
- unless custom_headers.nil?
154
- custom_headers.each do |key, value|
155
- request_headers[key] = value
156
- end
157
- end
316
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
158
317
 
159
318
  # Serialize Request
160
- request_headers['Content-Type'] = 'application/json'
319
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
161
320
  unless parameters.nil?
162
321
  parameters = Deployment.serialize_object(parameters)
163
322
  end
164
- request_content = JSON.generate(parameters, quirks_mode: true)
165
-
166
- # Send Request
167
- promise = Concurrent::Promise.new do
168
- connection.post do |request|
169
- request.headers = request_headers
170
- request.body = request_content
171
- @client.credentials.sign_request(request) unless @client.credentials.nil?
172
- end
323
+ request_content = parameters != nil ? JSON.generate(parameters, quirks_mode: true) : nil
324
+ path_template = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'
325
+ options = {
326
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
327
+ path_params: {'resourceGroupName' => resource_group_name,'deploymentName' => deployment_name,'subscriptionId' => @client.subscription_id},
328
+ query_params: {'api-version' => @client.api_version},
329
+ body: request_content,
330
+ headers: request_headers.merge(custom_headers || {})
331
+ }
332
+
333
+ request_url = @base_url || @client.base_url
334
+
335
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :put, options)
336
+ promise = request.run_promise do |req|
337
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
173
338
  end
174
339
 
175
340
  promise = promise.then do |http_response|
176
341
  status_code = http_response.status
177
342
  response_content = http_response.body
178
- unless (status_code == 200 || status_code == 400)
343
+ unless status_code == 200 || status_code == 201
179
344
  error_model = JSON.load(response_content)
180
- fail MsRestAzure::AzureOperationError.new(connection, http_response, error_model)
345
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
181
346
  end
182
347
 
183
348
  # Create Result
184
- result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
349
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
185
350
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
186
351
  # Deserialize Response
187
352
  if status_code == 200
188
353
  begin
189
- parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
354
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
190
355
  unless parsed_response.nil?
191
- parsed_response = DeploymentValidateResult.deserialize_object(parsed_response)
356
+ parsed_response = DeploymentExtended.deserialize_object(parsed_response)
192
357
  end
193
358
  result.body = parsed_response
194
359
  rescue Exception => e
195
- fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
360
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
196
361
  end
197
362
  end
198
363
  # Deserialize Response
199
- if status_code == 400
364
+ if status_code == 201
200
365
  begin
201
- parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
366
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
202
367
  unless parsed_response.nil?
203
- parsed_response = DeploymentValidateResult.deserialize_object(parsed_response)
368
+ parsed_response = DeploymentExtended.deserialize_object(parsed_response)
204
369
  end
205
370
  result.body = parsed_response
206
371
  rescue Exception => e
207
- fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
372
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
208
373
  end
209
374
  end
210
375
 
@@ -215,111 +380,299 @@ module Azure::ARM::Resources
215
380
  end
216
381
 
217
382
  #
218
- # Create a named template deployment using a template.
219
- # @param resource_group_name [String] The name of the resource group. The name
220
- # is case insensitive.
383
+ # Get a deployment.
384
+ #
385
+ # @param resource_group_name [String] The name of the resource group to get.
386
+ # The name is case insensitive.
221
387
  # @param deployment_name [String] The name of the deployment.
222
- # @param parameters [Deployment] Additional parameters supplied to the
223
- # operation.
224
- # @param [Hash{String => String}] The hash of custom headers need to be
225
- # applied to HTTP request.
388
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
389
+ # will be added to the HTTP request.
226
390
  #
227
- # @return [Concurrent::Promise] Promise object which allows to get HTTP
228
- # response.
391
+ # @return [DeploymentExtended] operation results.
229
392
  #
230
- def create_or_update(resource_group_name, deployment_name, parameters, custom_headers = nil)
393
+ def get(resource_group_name, deployment_name, custom_headers = nil)
394
+ response = get_async(resource_group_name, deployment_name, custom_headers).value!
395
+ response.body unless response.nil?
396
+ end
397
+
398
+ #
399
+ # Get a deployment.
400
+ #
401
+ # @param resource_group_name [String] The name of the resource group to get.
402
+ # The name is case insensitive.
403
+ # @param deployment_name [String] The name of the deployment.
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 get_with_http_info(resource_group_name, deployment_name, custom_headers = nil)
410
+ get_async(resource_group_name, deployment_name, custom_headers).value!
411
+ end
412
+
413
+ #
414
+ # Get a deployment.
415
+ #
416
+ # @param resource_group_name [String] The name of the resource group to get.
417
+ # The name is case insensitive.
418
+ # @param deployment_name [String] The name of the deployment.
419
+ # @param [Hash{String => String}] A hash of custom headers that will be added
420
+ # to the HTTP request.
421
+ #
422
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
423
+ #
424
+ def get_async(resource_group_name, deployment_name, custom_headers = nil)
231
425
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
232
426
  fail ArgumentError, 'deployment_name is nil' if deployment_name.nil?
233
- fail ArgumentError, 'parameters is nil' if parameters.nil?
234
- parameters.validate unless parameters.nil?
235
427
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
236
428
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
237
- # Construct URL
238
- path = "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}"
239
- path['{resourceGroupName}'] = ERB::Util.url_encode(resource_group_name) if path.include?('{resourceGroupName}')
240
- path['{deploymentName}'] = ERB::Util.url_encode(deployment_name) if path.include?('{deploymentName}')
241
- path['{subscriptionId}'] = ERB::Util.url_encode(@client.subscription_id) if path.include?('{subscriptionId}')
242
- url = URI.join(@client.base_url, path)
243
- properties = {}
244
- properties['api-version'] = ERB::Util.url_encode(@client.api_version.to_s) unless @client.api_version.nil?
245
- unless url.query.nil?
246
- url.query.split('&').each do |url_item|
247
- url_items_parts = url_item.split('=')
248
- properties[url_items_parts[0]] = url_items_parts[1]
249
- end
429
+ request_headers = {}
430
+
431
+ # Set Headers
432
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
433
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
434
+ path_template = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'
435
+ options = {
436
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
437
+ path_params: {'resourceGroupName' => resource_group_name,'deploymentName' => deployment_name,'subscriptionId' => @client.subscription_id},
438
+ query_params: {'api-version' => @client.api_version},
439
+ headers: request_headers.merge(custom_headers || {})
440
+ }
441
+
442
+ request_url = @base_url || @client.base_url
443
+
444
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :get, options)
445
+ promise = request.run_promise do |req|
446
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
250
447
  end
251
- properties.reject!{ |key, value| value.nil? }
252
- url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
253
- fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
254
- corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
255
- url = URI.parse(corrected_url)
256
-
257
- connection = Faraday.new(:url => url) do |faraday|
258
- faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
259
- faraday.use :cookie_jar
260
- faraday.adapter Faraday.default_adapter
448
+
449
+ promise = promise.then do |http_response|
450
+ status_code = http_response.status
451
+ response_content = http_response.body
452
+ unless status_code == 200
453
+ error_model = JSON.load(response_content)
454
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
455
+ end
456
+
457
+ # Create Result
458
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
459
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
460
+ # Deserialize Response
461
+ if status_code == 200
462
+ begin
463
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
464
+ unless parsed_response.nil?
465
+ parsed_response = DeploymentExtended.deserialize_object(parsed_response)
466
+ end
467
+ result.body = parsed_response
468
+ rescue Exception => e
469
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
470
+ end
471
+ end
472
+
473
+ result
261
474
  end
262
- request_headers = Hash.new
475
+
476
+ promise.execute
477
+ end
478
+
479
+ #
480
+ # Cancel a currently running template deployment.
481
+ #
482
+ # @param resource_group_name [String] The name of the resource group. The name
483
+ # is case insensitive.
484
+ # @param deployment_name [String] The name of the deployment.
485
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
486
+ # will be added to the HTTP request.
487
+ #
488
+ #
489
+ def cancel(resource_group_name, deployment_name, custom_headers = nil)
490
+ response = cancel_async(resource_group_name, deployment_name, custom_headers).value!
491
+ nil
492
+ end
493
+
494
+ #
495
+ # Cancel a currently running template deployment.
496
+ #
497
+ # @param resource_group_name [String] The name of the resource group. The name
498
+ # is case insensitive.
499
+ # @param deployment_name [String] The name of the deployment.
500
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
501
+ # will be added to the HTTP request.
502
+ #
503
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
504
+ #
505
+ def cancel_with_http_info(resource_group_name, deployment_name, custom_headers = nil)
506
+ cancel_async(resource_group_name, deployment_name, custom_headers).value!
507
+ end
508
+
509
+ #
510
+ # Cancel a currently running template deployment.
511
+ #
512
+ # @param resource_group_name [String] The name of the resource group. The name
513
+ # is case insensitive.
514
+ # @param deployment_name [String] The name of the deployment.
515
+ # @param [Hash{String => String}] A hash of custom headers that will be added
516
+ # to the HTTP request.
517
+ #
518
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
519
+ #
520
+ def cancel_async(resource_group_name, deployment_name, custom_headers = nil)
521
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
522
+ fail ArgumentError, 'deployment_name is nil' if deployment_name.nil?
523
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
524
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
525
+ request_headers = {}
263
526
 
264
527
  # Set Headers
265
528
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
266
- request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
529
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
530
+ path_template = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel'
531
+ options = {
532
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
533
+ path_params: {'resourceGroupName' => resource_group_name,'deploymentName' => deployment_name,'subscriptionId' => @client.subscription_id},
534
+ query_params: {'api-version' => @client.api_version},
535
+ headers: request_headers.merge(custom_headers || {})
536
+ }
267
537
 
268
- unless custom_headers.nil?
269
- custom_headers.each do |key, value|
270
- request_headers[key] = value
538
+ request_url = @base_url || @client.base_url
539
+
540
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :post, options)
541
+ promise = request.run_promise do |req|
542
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
543
+ end
544
+
545
+ promise = promise.then do |http_response|
546
+ status_code = http_response.status
547
+ response_content = http_response.body
548
+ unless status_code == 204
549
+ error_model = JSON.load(response_content)
550
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
271
551
  end
552
+
553
+ # Create Result
554
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
555
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
556
+
557
+ result
272
558
  end
273
559
 
560
+ promise.execute
561
+ end
562
+
563
+ #
564
+ # Validate a deployment template.
565
+ #
566
+ # @param resource_group_name [String] The name of the resource group. The name
567
+ # is case insensitive.
568
+ # @param deployment_name [String] The name of the deployment.
569
+ # @param parameters [Deployment] Deployment to validate.
570
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
571
+ # will be added to the HTTP request.
572
+ #
573
+ # @return [DeploymentValidateResult] operation results.
574
+ #
575
+ def validate(resource_group_name, deployment_name, parameters, custom_headers = nil)
576
+ response = validate_async(resource_group_name, deployment_name, parameters, custom_headers).value!
577
+ response.body unless response.nil?
578
+ end
579
+
580
+ #
581
+ # Validate a deployment template.
582
+ #
583
+ # @param resource_group_name [String] The name of the resource group. The name
584
+ # is case insensitive.
585
+ # @param deployment_name [String] The name of the deployment.
586
+ # @param parameters [Deployment] Deployment to validate.
587
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
588
+ # will be added to the HTTP request.
589
+ #
590
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
591
+ #
592
+ def validate_with_http_info(resource_group_name, deployment_name, parameters, custom_headers = nil)
593
+ validate_async(resource_group_name, deployment_name, parameters, custom_headers).value!
594
+ end
595
+
596
+ #
597
+ # Validate a deployment template.
598
+ #
599
+ # @param resource_group_name [String] The name of the resource group. The name
600
+ # is case insensitive.
601
+ # @param deployment_name [String] The name of the deployment.
602
+ # @param parameters [Deployment] Deployment to validate.
603
+ # @param [Hash{String => String}] A hash of custom headers that will be added
604
+ # to the HTTP request.
605
+ #
606
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
607
+ #
608
+ def validate_async(resource_group_name, deployment_name, parameters, custom_headers = nil)
609
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
610
+ fail ArgumentError, 'deployment_name is nil' if deployment_name.nil?
611
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
612
+ parameters.validate unless parameters.nil?
613
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
614
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
615
+ request_headers = {}
616
+
617
+ # Set Headers
618
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
619
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
620
+
274
621
  # Serialize Request
275
- request_headers['Content-Type'] = 'application/json'
622
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
276
623
  unless parameters.nil?
277
624
  parameters = Deployment.serialize_object(parameters)
278
625
  end
279
- request_content = JSON.generate(parameters, quirks_mode: true)
280
-
281
- # Send Request
282
- promise = Concurrent::Promise.new do
283
- connection.put do |request|
284
- request.headers = request_headers
285
- request.body = request_content
286
- @client.credentials.sign_request(request) unless @client.credentials.nil?
287
- end
626
+ request_content = parameters != nil ? JSON.generate(parameters, quirks_mode: true) : nil
627
+ path_template = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate'
628
+ options = {
629
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
630
+ path_params: {'resourceGroupName' => resource_group_name,'deploymentName' => deployment_name,'subscriptionId' => @client.subscription_id},
631
+ query_params: {'api-version' => @client.api_version},
632
+ body: request_content,
633
+ headers: request_headers.merge(custom_headers || {})
634
+ }
635
+
636
+ request_url = @base_url || @client.base_url
637
+
638
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :post, options)
639
+ promise = request.run_promise do |req|
640
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
288
641
  end
289
642
 
290
643
  promise = promise.then do |http_response|
291
644
  status_code = http_response.status
292
645
  response_content = http_response.body
293
- unless (status_code == 200 || status_code == 201)
646
+ unless status_code == 200 || status_code == 400
294
647
  error_model = JSON.load(response_content)
295
- fail MsRestAzure::AzureOperationError.new(connection, http_response, error_model)
648
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
296
649
  end
297
650
 
298
651
  # Create Result
299
- result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
652
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
300
653
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
301
654
  # Deserialize Response
302
655
  if status_code == 200
303
656
  begin
304
- parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
657
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
305
658
  unless parsed_response.nil?
306
- parsed_response = DeploymentExtended.deserialize_object(parsed_response)
659
+ parsed_response = DeploymentValidateResult.deserialize_object(parsed_response)
307
660
  end
308
661
  result.body = parsed_response
309
662
  rescue Exception => e
310
- fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
663
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
311
664
  end
312
665
  end
313
666
  # Deserialize Response
314
- if status_code == 201
667
+ if status_code == 400
315
668
  begin
316
- parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
669
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
317
670
  unless parsed_response.nil?
318
- parsed_response = DeploymentExtended.deserialize_object(parsed_response)
671
+ parsed_response = DeploymentValidateResult.deserialize_object(parsed_response)
319
672
  end
320
673
  result.body = parsed_response
321
674
  rescue Exception => e
322
- fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
675
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
323
676
  end
324
677
  end
325
678
 
@@ -330,87 +683,93 @@ module Azure::ARM::Resources
330
683
  end
331
684
 
332
685
  #
333
- # Get a deployment.
334
- # @param resource_group_name [String] The name of the resource group to get.
335
- # The name is case insensitive.
686
+ # Exports a deployment template.
687
+ #
688
+ # @param resource_group_name [String] The name of the resource group. The name
689
+ # is case insensitive.
336
690
  # @param deployment_name [String] The name of the deployment.
337
- # @param [Hash{String => String}] The hash of custom headers need to be
338
- # applied to HTTP request.
691
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
692
+ # will be added to the HTTP request.
339
693
  #
340
- # @return [Concurrent::Promise] Promise object which allows to get HTTP
341
- # response.
694
+ # @return [DeploymentExportResult] operation results.
342
695
  #
343
- def get(resource_group_name, deployment_name, custom_headers = nil)
696
+ def export_template(resource_group_name, deployment_name, custom_headers = nil)
697
+ response = export_template_async(resource_group_name, deployment_name, custom_headers).value!
698
+ response.body unless response.nil?
699
+ end
700
+
701
+ #
702
+ # Exports a deployment template.
703
+ #
704
+ # @param resource_group_name [String] The name of the resource group. The name
705
+ # is case insensitive.
706
+ # @param deployment_name [String] The name of the deployment.
707
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
708
+ # will be added to the HTTP request.
709
+ #
710
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
711
+ #
712
+ def export_template_with_http_info(resource_group_name, deployment_name, custom_headers = nil)
713
+ export_template_async(resource_group_name, deployment_name, custom_headers).value!
714
+ end
715
+
716
+ #
717
+ # Exports a deployment template.
718
+ #
719
+ # @param resource_group_name [String] The name of the resource group. The name
720
+ # is case insensitive.
721
+ # @param deployment_name [String] The name of the deployment.
722
+ # @param [Hash{String => String}] A hash of custom headers that will be added
723
+ # to the HTTP request.
724
+ #
725
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
726
+ #
727
+ def export_template_async(resource_group_name, deployment_name, custom_headers = nil)
344
728
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
345
729
  fail ArgumentError, 'deployment_name is nil' if deployment_name.nil?
346
730
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
347
731
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
348
- # Construct URL
349
- path = "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}"
350
- path['{resourceGroupName}'] = ERB::Util.url_encode(resource_group_name) if path.include?('{resourceGroupName}')
351
- path['{deploymentName}'] = ERB::Util.url_encode(deployment_name) if path.include?('{deploymentName}')
352
- path['{subscriptionId}'] = ERB::Util.url_encode(@client.subscription_id) if path.include?('{subscriptionId}')
353
- url = URI.join(@client.base_url, path)
354
- properties = {}
355
- properties['api-version'] = ERB::Util.url_encode(@client.api_version.to_s) unless @client.api_version.nil?
356
- unless url.query.nil?
357
- url.query.split('&').each do |url_item|
358
- url_items_parts = url_item.split('=')
359
- properties[url_items_parts[0]] = url_items_parts[1]
360
- end
361
- end
362
- properties.reject!{ |key, value| value.nil? }
363
- url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
364
- fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
365
- corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
366
- url = URI.parse(corrected_url)
367
-
368
- connection = Faraday.new(:url => url) do |faraday|
369
- faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
370
- faraday.use :cookie_jar
371
- faraday.adapter Faraday.default_adapter
372
- end
373
- request_headers = Hash.new
732
+ request_headers = {}
374
733
 
375
734
  # Set Headers
376
735
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
377
- request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
736
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
737
+ path_template = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate'
738
+ options = {
739
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
740
+ path_params: {'resourceGroupName' => resource_group_name,'deploymentName' => deployment_name,'subscriptionId' => @client.subscription_id},
741
+ query_params: {'api-version' => @client.api_version},
742
+ headers: request_headers.merge(custom_headers || {})
743
+ }
378
744
 
379
- unless custom_headers.nil?
380
- custom_headers.each do |key, value|
381
- request_headers[key] = value
382
- end
383
- end
745
+ request_url = @base_url || @client.base_url
384
746
 
385
- # Send Request
386
- promise = Concurrent::Promise.new do
387
- connection.get do |request|
388
- request.headers = request_headers
389
- @client.credentials.sign_request(request) unless @client.credentials.nil?
390
- end
747
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :post, options)
748
+ promise = request.run_promise do |req|
749
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
391
750
  end
392
751
 
393
752
  promise = promise.then do |http_response|
394
753
  status_code = http_response.status
395
754
  response_content = http_response.body
396
- unless (status_code == 200)
755
+ unless status_code == 200
397
756
  error_model = JSON.load(response_content)
398
- fail MsRestAzure::AzureOperationError.new(connection, http_response, error_model)
757
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
399
758
  end
400
759
 
401
760
  # Create Result
402
- result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
761
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
403
762
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
404
763
  # Deserialize Response
405
764
  if status_code == 200
406
765
  begin
407
- parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
766
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
408
767
  unless parsed_response.nil?
409
- parsed_response = DeploymentExtended.deserialize_object(parsed_response)
768
+ parsed_response = DeploymentExportResult.deserialize_object(parsed_response)
410
769
  end
411
770
  result.body = parsed_response
412
771
  rescue Exception => e
413
- fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
772
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
414
773
  end
415
774
  end
416
775
 
@@ -422,88 +781,97 @@ module Azure::ARM::Resources
422
781
 
423
782
  #
424
783
  # Get a list of deployments.
784
+ #
425
785
  # @param resource_group_name [String] The name of the resource group to filter
426
786
  # by. The name is case insensitive.
427
787
  # @param filter [String] The filter to apply on the operation.
428
788
  # @param top [Integer] Query parameters. If null is passed returns all
429
789
  # deployments.
430
- # @param [Hash{String => String}] The hash of custom headers need to be
431
- # applied to HTTP request.
790
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
791
+ # will be added to the HTTP request.
432
792
  #
433
- # @return [Concurrent::Promise] Promise object which allows to get HTTP
434
- # response.
793
+ # @return [DeploymentListResult] operation results.
435
794
  #
436
795
  def list(resource_group_name, filter = nil, top = nil, custom_headers = nil)
796
+ response = list_async(resource_group_name, filter, top, custom_headers).value!
797
+ response.body unless response.nil?
798
+ end
799
+
800
+ #
801
+ # Get a list of deployments.
802
+ #
803
+ # @param resource_group_name [String] The name of the resource group to filter
804
+ # by. The name is case insensitive.
805
+ # @param filter [String] The filter to apply on the operation.
806
+ # @param top [Integer] Query parameters. If null is passed returns all
807
+ # deployments.
808
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
809
+ # will be added to the HTTP request.
810
+ #
811
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
812
+ #
813
+ def list_with_http_info(resource_group_name, filter = nil, top = nil, custom_headers = nil)
814
+ list_async(resource_group_name, filter, top, custom_headers).value!
815
+ end
816
+
817
+ #
818
+ # Get a list of deployments.
819
+ #
820
+ # @param resource_group_name [String] The name of the resource group to filter
821
+ # by. The name is case insensitive.
822
+ # @param filter [String] The filter to apply on the operation.
823
+ # @param top [Integer] Query parameters. If null is passed returns all
824
+ # deployments.
825
+ # @param [Hash{String => String}] A hash of custom headers that will be added
826
+ # to the HTTP request.
827
+ #
828
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
829
+ #
830
+ def list_async(resource_group_name, filter = nil, top = nil, custom_headers = nil)
437
831
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
438
832
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
439
833
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
440
- # Construct URL
441
- path = "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/"
442
- path['{resourceGroupName}'] = ERB::Util.url_encode(resource_group_name) if path.include?('{resourceGroupName}')
443
- path['{subscriptionId}'] = ERB::Util.url_encode(@client.subscription_id) if path.include?('{subscriptionId}')
444
- url = URI.join(@client.base_url, path)
445
- properties = {}
446
- properties['$filter'] = ERB::Util.url_encode(filter.to_s) unless filter.nil?
447
- properties['$top'] = ERB::Util.url_encode(top.to_s) unless top.nil?
448
- properties['api-version'] = ERB::Util.url_encode(@client.api_version.to_s) unless @client.api_version.nil?
449
- unless url.query.nil?
450
- url.query.split('&').each do |url_item|
451
- url_items_parts = url_item.split('=')
452
- properties[url_items_parts[0]] = url_items_parts[1]
453
- end
454
- end
455
- properties.reject!{ |key, value| value.nil? }
456
- url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
457
- fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
458
- corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
459
- url = URI.parse(corrected_url)
460
-
461
- connection = Faraday.new(:url => url) do |faraday|
462
- faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
463
- faraday.use :cookie_jar
464
- faraday.adapter Faraday.default_adapter
465
- end
466
- request_headers = Hash.new
834
+ request_headers = {}
467
835
 
468
836
  # Set Headers
469
837
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
470
- request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
838
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
839
+ path_template = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/'
840
+ options = {
841
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
842
+ path_params: {'resourceGroupName' => resource_group_name,'subscriptionId' => @client.subscription_id},
843
+ query_params: {'$filter' => filter,'$top' => top,'api-version' => @client.api_version},
844
+ headers: request_headers.merge(custom_headers || {})
845
+ }
471
846
 
472
- unless custom_headers.nil?
473
- custom_headers.each do |key, value|
474
- request_headers[key] = value
475
- end
476
- end
847
+ request_url = @base_url || @client.base_url
477
848
 
478
- # Send Request
479
- promise = Concurrent::Promise.new do
480
- connection.get do |request|
481
- request.headers = request_headers
482
- @client.credentials.sign_request(request) unless @client.credentials.nil?
483
- end
849
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :get, options)
850
+ promise = request.run_promise do |req|
851
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
484
852
  end
485
853
 
486
854
  promise = promise.then do |http_response|
487
855
  status_code = http_response.status
488
856
  response_content = http_response.body
489
- unless (status_code == 200)
857
+ unless status_code == 200
490
858
  error_model = JSON.load(response_content)
491
- fail MsRestAzure::AzureOperationError.new(connection, http_response, error_model)
859
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
492
860
  end
493
861
 
494
862
  # Create Result
495
- result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
863
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
496
864
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
497
865
  # Deserialize Response
498
866
  if status_code == 200
499
867
  begin
500
- parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
868
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
501
869
  unless parsed_response.nil?
502
870
  parsed_response = DeploymentListResult.deserialize_object(parsed_response)
503
871
  end
504
872
  result.body = parsed_response
505
873
  rescue Exception => e
506
- fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
874
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
507
875
  end
508
876
  end
509
877
 
@@ -515,79 +883,85 @@ module Azure::ARM::Resources
515
883
 
516
884
  #
517
885
  # Get a list of deployments.
886
+ #
518
887
  # @param next_page_link [String] The NextLink from the previous successful
519
888
  # call to List operation.
520
- # @param [Hash{String => String}] The hash of custom headers need to be
521
- # applied to HTTP request.
889
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
890
+ # will be added to the HTTP request.
522
891
  #
523
- # @return [Concurrent::Promise] Promise object which allows to get HTTP
524
- # response.
892
+ # @return [DeploymentListResult] operation results.
525
893
  #
526
894
  def list_next(next_page_link, custom_headers = nil)
895
+ response = list_next_async(next_page_link, custom_headers).value!
896
+ response.body unless response.nil?
897
+ end
898
+
899
+ #
900
+ # Get a list of deployments.
901
+ #
902
+ # @param next_page_link [String] The NextLink from the previous successful
903
+ # call to List operation.
904
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
905
+ # will be added to the HTTP request.
906
+ #
907
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
908
+ #
909
+ def list_next_with_http_info(next_page_link, custom_headers = nil)
910
+ list_next_async(next_page_link, custom_headers).value!
911
+ end
912
+
913
+ #
914
+ # Get a list of deployments.
915
+ #
916
+ # @param next_page_link [String] The NextLink from the previous successful
917
+ # call to List operation.
918
+ # @param [Hash{String => String}] A hash of custom headers that will be added
919
+ # to the HTTP request.
920
+ #
921
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
922
+ #
923
+ def list_next_async(next_page_link, custom_headers = nil)
527
924
  fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
528
- # Construct URL
529
- path = "{nextLink}"
530
- path['{nextLink}'] = next_page_link if path.include?('{nextLink}')
531
- url = URI.parse(path)
532
- properties = {}
533
- unless url.query.nil?
534
- url.query.split('&').each do |url_item|
535
- url_items_parts = url_item.split('=')
536
- properties[url_items_parts[0]] = url_items_parts[1]
537
- end
538
- end
539
- properties.reject!{ |key, value| value.nil? }
540
- url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
541
- fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
542
- corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
543
- url = URI.parse(corrected_url)
544
-
545
- connection = Faraday.new(:url => url) do |faraday|
546
- faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
547
- faraday.use :cookie_jar
548
- faraday.adapter Faraday.default_adapter
549
- end
550
- request_headers = Hash.new
925
+ request_headers = {}
551
926
 
552
927
  # Set Headers
553
928
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
554
- request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
929
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
930
+ path_template = '{nextLink}'
931
+ options = {
932
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
933
+ skip_encoding_path_params: {'nextLink' => next_page_link},
934
+ headers: request_headers.merge(custom_headers || {})
935
+ }
555
936
 
556
- unless custom_headers.nil?
557
- custom_headers.each do |key, value|
558
- request_headers[key] = value
559
- end
560
- end
937
+ request_url = @base_url || @client.base_url
561
938
 
562
- # Send Request
563
- promise = Concurrent::Promise.new do
564
- connection.get do |request|
565
- request.headers = request_headers
566
- @client.credentials.sign_request(request) unless @client.credentials.nil?
567
- end
939
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :get, options)
940
+ promise = request.run_promise do |req|
941
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
568
942
  end
569
943
 
570
944
  promise = promise.then do |http_response|
571
945
  status_code = http_response.status
572
946
  response_content = http_response.body
573
- unless (status_code == 200)
947
+ unless status_code == 200
574
948
  error_model = JSON.load(response_content)
575
- fail MsRestAzure::AzureOperationError.new(connection, http_response, error_model)
949
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
576
950
  end
577
951
 
578
952
  # Create Result
579
- result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
953
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
580
954
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
581
955
  # Deserialize Response
582
956
  if status_code == 200
583
957
  begin
584
- parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
958
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
585
959
  unless parsed_response.nil?
586
960
  parsed_response = DeploymentListResult.deserialize_object(parsed_response)
587
961
  end
588
962
  result.body = parsed_response
589
963
  rescue Exception => e
590
- fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
964
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
591
965
  end
592
966
  end
593
967