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