azure_mgmt_monitor 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/lib/azure_mgmt_monitor.rb +5 -0
  4. data/lib/generated/azure_mgmt_monitor.rb +96 -0
  5. data/lib/generated/azure_mgmt_monitor/action_groups.rb +579 -0
  6. data/lib/generated/azure_mgmt_monitor/activity_log_alerts.rb +593 -0
  7. data/lib/generated/azure_mgmt_monitor/alert_rule_incidents.rb +211 -0
  8. data/lib/generated/azure_mgmt_monitor/alert_rules.rb +510 -0
  9. data/lib/generated/azure_mgmt_monitor/autoscale_settings.rb +618 -0
  10. data/lib/generated/azure_mgmt_monitor/log_profiles.rb +477 -0
  11. data/lib/generated/azure_mgmt_monitor/models/action_group_list.rb +63 -0
  12. data/lib/generated/azure_mgmt_monitor/models/action_group_resource.rb +164 -0
  13. data/lib/generated/azure_mgmt_monitor/models/activity_log_alert_action_group.rb +65 -0
  14. data/lib/generated/azure_mgmt_monitor/models/activity_log_alert_action_list.rb +54 -0
  15. data/lib/generated/azure_mgmt_monitor/models/activity_log_alert_all_of_condition.rb +55 -0
  16. data/lib/generated/azure_mgmt_monitor/models/activity_log_alert_leaf_condition.rb +61 -0
  17. data/lib/generated/azure_mgmt_monitor/models/activity_log_alert_list.rb +64 -0
  18. data/lib/generated/azure_mgmt_monitor/models/activity_log_alert_patch_body.rb +65 -0
  19. data/lib/generated/azure_mgmt_monitor/models/activity_log_alert_resource.rb +147 -0
  20. data/lib/generated/azure_mgmt_monitor/models/alert_rule_resource.rb +159 -0
  21. data/lib/generated/azure_mgmt_monitor/models/alert_rule_resource_collection.rb +54 -0
  22. data/lib/generated/azure_mgmt_monitor/models/alert_rule_resource_patch.rb +131 -0
  23. data/lib/generated/azure_mgmt_monitor/models/autoscale_notification.rb +78 -0
  24. data/lib/generated/azure_mgmt_monitor/models/autoscale_profile.rb +101 -0
  25. data/lib/generated/azure_mgmt_monitor/models/autoscale_setting_resource.rb +155 -0
  26. data/lib/generated/azure_mgmt_monitor/models/autoscale_setting_resource_collection.rb +95 -0
  27. data/lib/generated/azure_mgmt_monitor/models/autoscale_setting_resource_patch.rb +127 -0
  28. data/lib/generated/azure_mgmt_monitor/models/comparison_operation_type.rb +20 -0
  29. data/lib/generated/azure_mgmt_monitor/models/condition_operator.rb +18 -0
  30. data/lib/generated/azure_mgmt_monitor/models/email_notification.rb +75 -0
  31. data/lib/generated/azure_mgmt_monitor/models/email_receiver.rb +69 -0
  32. data/lib/generated/azure_mgmt_monitor/models/enable_request.rb +45 -0
  33. data/lib/generated/azure_mgmt_monitor/models/error_response.rb +55 -0
  34. data/lib/generated/azure_mgmt_monitor/models/incident.rb +93 -0
  35. data/lib/generated/azure_mgmt_monitor/models/incident_list_result.rb +53 -0
  36. data/lib/generated/azure_mgmt_monitor/models/location_threshold_rule_condition.rb +85 -0
  37. data/lib/generated/azure_mgmt_monitor/models/log_profile_collection.rb +53 -0
  38. data/lib/generated/azure_mgmt_monitor/models/log_profile_resource.rb +154 -0
  39. data/lib/generated/azure_mgmt_monitor/models/log_profile_resource_patch.rb +126 -0
  40. data/lib/generated/azure_mgmt_monitor/models/log_settings.rb +70 -0
  41. data/lib/generated/azure_mgmt_monitor/models/management_event_aggregation_condition.rb +70 -0
  42. data/lib/generated/azure_mgmt_monitor/models/management_event_rule_condition.rb +73 -0
  43. data/lib/generated/azure_mgmt_monitor/models/metric_settings.rb +67 -0
  44. data/lib/generated/azure_mgmt_monitor/models/metric_statistic_type.rb +18 -0
  45. data/lib/generated/azure_mgmt_monitor/models/metric_trigger.rb +134 -0
  46. data/lib/generated/azure_mgmt_monitor/models/receiver_status.rb +17 -0
  47. data/lib/generated/azure_mgmt_monitor/models/recurrence.rb +62 -0
  48. data/lib/generated/azure_mgmt_monitor/models/recurrence_frequency.rb +22 -0
  49. data/lib/generated/azure_mgmt_monitor/models/recurrent_schedule.rb +139 -0
  50. data/lib/generated/azure_mgmt_monitor/models/retention_policy.rb +60 -0
  51. data/lib/generated/azure_mgmt_monitor/models/rule_action.rb +48 -0
  52. data/lib/generated/azure_mgmt_monitor/models/rule_condition.rb +63 -0
  53. data/lib/generated/azure_mgmt_monitor/models/rule_data_source.rb +58 -0
  54. data/lib/generated/azure_mgmt_monitor/models/rule_email_action.rb +80 -0
  55. data/lib/generated/azure_mgmt_monitor/models/rule_management_event_claims_data_source.rb +45 -0
  56. data/lib/generated/azure_mgmt_monitor/models/rule_management_event_data_source.rb +150 -0
  57. data/lib/generated/azure_mgmt_monitor/models/rule_metric_data_source.rb +68 -0
  58. data/lib/generated/azure_mgmt_monitor/models/rule_webhook_action.rb +80 -0
  59. data/lib/generated/azure_mgmt_monitor/models/scale_action.rb +86 -0
  60. data/lib/generated/azure_mgmt_monitor/models/scale_capacity.rb +69 -0
  61. data/lib/generated/azure_mgmt_monitor/models/scale_direction.rb +17 -0
  62. data/lib/generated/azure_mgmt_monitor/models/scale_rule.rb +57 -0
  63. data/lib/generated/azure_mgmt_monitor/models/scale_type.rb +17 -0
  64. data/lib/generated/azure_mgmt_monitor/models/service_diagnostic_settings_resource.rb +163 -0
  65. data/lib/generated/azure_mgmt_monitor/models/service_diagnostic_settings_resource_patch.rb +135 -0
  66. data/lib/generated/azure_mgmt_monitor/models/sms_receiver.rb +79 -0
  67. data/lib/generated/azure_mgmt_monitor/models/threshold_rule_condition.rb +108 -0
  68. data/lib/generated/azure_mgmt_monitor/models/time_aggregation_operator.rb +19 -0
  69. data/lib/generated/azure_mgmt_monitor/models/time_aggregation_type.rb +19 -0
  70. data/lib/generated/azure_mgmt_monitor/models/time_window.rb +104 -0
  71. data/lib/generated/azure_mgmt_monitor/models/webhook_notification.rb +63 -0
  72. data/lib/generated/azure_mgmt_monitor/models/webhook_receiver.rb +56 -0
  73. data/lib/generated/azure_mgmt_monitor/module_definition.rb +8 -0
  74. data/lib/generated/azure_mgmt_monitor/monitor_management_client.rb +150 -0
  75. data/lib/generated/azure_mgmt_monitor/service_diagnostic_settings_operations.rb +330 -0
  76. data/lib/generated/azure_mgmt_monitor/version.rb +8 -0
  77. metadata +188 -0
@@ -0,0 +1,618 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Monitor
7
+ #
8
+ # Monitor Management Client
9
+ #
10
+ class AutoscaleSettings
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the AutoscaleSettings class.
15
+ # @param client service class for accessing basic functionality.
16
+ #
17
+ def initialize(client)
18
+ @client = client
19
+ end
20
+
21
+ # @return [MonitorManagementClient] reference to the MonitorManagementClient
22
+ attr_reader :client
23
+
24
+ #
25
+ # Lists the autoscale settings for a resource group
26
+ #
27
+ # @param resource_group_name [String] The name of the resource group.
28
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
29
+ # will be added to the HTTP request.
30
+ #
31
+ # @return [Array<AutoscaleSettingResource>] operation results.
32
+ #
33
+ def list_by_resource_group(resource_group_name, custom_headers = nil)
34
+ first_page = list_by_resource_group_as_lazy(resource_group_name, custom_headers)
35
+ first_page.get_all_items
36
+ end
37
+
38
+ #
39
+ # Lists the autoscale settings for a resource group
40
+ #
41
+ # @param resource_group_name [String] The name of the resource group.
42
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
43
+ # will be added to the HTTP request.
44
+ #
45
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
46
+ #
47
+ def list_by_resource_group_with_http_info(resource_group_name, custom_headers = nil)
48
+ list_by_resource_group_async(resource_group_name, custom_headers).value!
49
+ end
50
+
51
+ #
52
+ # Lists the autoscale settings for a resource group
53
+ #
54
+ # @param resource_group_name [String] The name of the resource group.
55
+ # @param [Hash{String => String}] A hash of custom headers that will be added
56
+ # to the HTTP request.
57
+ #
58
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
59
+ #
60
+ def list_by_resource_group_async(resource_group_name, custom_headers = nil)
61
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
62
+ api_version = '2015-04-01'
63
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
64
+
65
+
66
+ request_headers = {}
67
+
68
+ # Set Headers
69
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
70
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
71
+ path_template = 'subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings'
72
+
73
+ request_url = @base_url || @client.base_url
74
+
75
+ options = {
76
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
77
+ path_params: {'resourceGroupName' => resource_group_name,'subscriptionId' => @client.subscription_id},
78
+ query_params: {'api-version' => api_version},
79
+ headers: request_headers.merge(custom_headers || {}),
80
+ base_url: request_url
81
+ }
82
+ promise = @client.make_request_async(:get, path_template, options)
83
+
84
+ promise = promise.then do |result|
85
+ http_response = result.response
86
+ status_code = http_response.status
87
+ response_content = http_response.body
88
+ unless status_code == 200
89
+ error_model = JSON.load(response_content)
90
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
91
+ end
92
+
93
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
94
+ # Deserialize Response
95
+ if status_code == 200
96
+ begin
97
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
98
+ result_mapper = Azure::ARM::Monitor::Models::AutoscaleSettingResourceCollection.mapper()
99
+ result.body = @client.deserialize(result_mapper, parsed_response)
100
+ rescue Exception => e
101
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
102
+ end
103
+ end
104
+
105
+ result
106
+ end
107
+
108
+ promise.execute
109
+ end
110
+
111
+ #
112
+ # Creates or updates an autoscale setting.
113
+ #
114
+ # @param resource_group_name [String] The name of the resource group.
115
+ # @param autoscale_setting_name [String] The autoscale setting name.
116
+ # @param parameters [AutoscaleSettingResource] Parameters supplied to the
117
+ # operation.
118
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
119
+ # will be added to the HTTP request.
120
+ #
121
+ # @return [AutoscaleSettingResource] operation results.
122
+ #
123
+ def create_or_update(resource_group_name, autoscale_setting_name, parameters, custom_headers = nil)
124
+ response = create_or_update_async(resource_group_name, autoscale_setting_name, parameters, custom_headers).value!
125
+ response.body unless response.nil?
126
+ end
127
+
128
+ #
129
+ # Creates or updates an autoscale setting.
130
+ #
131
+ # @param resource_group_name [String] The name of the resource group.
132
+ # @param autoscale_setting_name [String] The autoscale setting name.
133
+ # @param parameters [AutoscaleSettingResource] Parameters supplied to the
134
+ # operation.
135
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
136
+ # will be added to the HTTP request.
137
+ #
138
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
139
+ #
140
+ def create_or_update_with_http_info(resource_group_name, autoscale_setting_name, parameters, custom_headers = nil)
141
+ create_or_update_async(resource_group_name, autoscale_setting_name, parameters, custom_headers).value!
142
+ end
143
+
144
+ #
145
+ # Creates or updates an autoscale setting.
146
+ #
147
+ # @param resource_group_name [String] The name of the resource group.
148
+ # @param autoscale_setting_name [String] The autoscale setting name.
149
+ # @param parameters [AutoscaleSettingResource] Parameters supplied to the
150
+ # operation.
151
+ # @param [Hash{String => String}] A hash of custom headers that will be added
152
+ # to the HTTP request.
153
+ #
154
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
155
+ #
156
+ def create_or_update_async(resource_group_name, autoscale_setting_name, parameters, custom_headers = nil)
157
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
158
+ fail ArgumentError, 'autoscale_setting_name is nil' if autoscale_setting_name.nil?
159
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
160
+ api_version = '2015-04-01'
161
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
162
+
163
+
164
+ request_headers = {}
165
+
166
+ # Set Headers
167
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
168
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
169
+
170
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
171
+
172
+ # Serialize Request
173
+ request_mapper = Azure::ARM::Monitor::Models::AutoscaleSettingResource.mapper()
174
+ request_content = @client.serialize(request_mapper, parameters)
175
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
176
+
177
+ path_template = 'subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings/{autoscaleSettingName}'
178
+
179
+ request_url = @base_url || @client.base_url
180
+
181
+ options = {
182
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
183
+ path_params: {'resourceGroupName' => resource_group_name,'autoscaleSettingName' => autoscale_setting_name,'subscriptionId' => @client.subscription_id},
184
+ query_params: {'api-version' => api_version},
185
+ body: request_content,
186
+ headers: request_headers.merge(custom_headers || {}),
187
+ base_url: request_url
188
+ }
189
+ promise = @client.make_request_async(:put, path_template, options)
190
+
191
+ promise = promise.then do |result|
192
+ http_response = result.response
193
+ status_code = http_response.status
194
+ response_content = http_response.body
195
+ unless status_code == 200 || status_code == 201
196
+ error_model = JSON.load(response_content)
197
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
198
+ end
199
+
200
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
201
+ # Deserialize Response
202
+ if status_code == 200
203
+ begin
204
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
205
+ result_mapper = Azure::ARM::Monitor::Models::AutoscaleSettingResource.mapper()
206
+ result.body = @client.deserialize(result_mapper, parsed_response)
207
+ rescue Exception => e
208
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
209
+ end
210
+ end
211
+ # Deserialize Response
212
+ if status_code == 201
213
+ begin
214
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
215
+ result_mapper = Azure::ARM::Monitor::Models::AutoscaleSettingResource.mapper()
216
+ result.body = @client.deserialize(result_mapper, parsed_response)
217
+ rescue Exception => e
218
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
219
+ end
220
+ end
221
+
222
+ result
223
+ end
224
+
225
+ promise.execute
226
+ end
227
+
228
+ #
229
+ # Deletes and autoscale setting
230
+ #
231
+ # @param resource_group_name [String] The name of the resource group.
232
+ # @param autoscale_setting_name [String] The autoscale setting name.
233
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
234
+ # will be added to the HTTP request.
235
+ #
236
+ #
237
+ def delete(resource_group_name, autoscale_setting_name, custom_headers = nil)
238
+ response = delete_async(resource_group_name, autoscale_setting_name, custom_headers).value!
239
+ nil
240
+ end
241
+
242
+ #
243
+ # Deletes and autoscale setting
244
+ #
245
+ # @param resource_group_name [String] The name of the resource group.
246
+ # @param autoscale_setting_name [String] The autoscale setting name.
247
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
248
+ # will be added to the HTTP request.
249
+ #
250
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
251
+ #
252
+ def delete_with_http_info(resource_group_name, autoscale_setting_name, custom_headers = nil)
253
+ delete_async(resource_group_name, autoscale_setting_name, custom_headers).value!
254
+ end
255
+
256
+ #
257
+ # Deletes and autoscale setting
258
+ #
259
+ # @param resource_group_name [String] The name of the resource group.
260
+ # @param autoscale_setting_name [String] The autoscale setting name.
261
+ # @param [Hash{String => String}] A hash of custom headers that will be added
262
+ # to the HTTP request.
263
+ #
264
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
265
+ #
266
+ def delete_async(resource_group_name, autoscale_setting_name, custom_headers = nil)
267
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
268
+ fail ArgumentError, 'autoscale_setting_name is nil' if autoscale_setting_name.nil?
269
+ api_version = '2015-04-01'
270
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
271
+
272
+
273
+ request_headers = {}
274
+
275
+ # Set Headers
276
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
277
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
278
+ path_template = 'subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings/{autoscaleSettingName}'
279
+
280
+ request_url = @base_url || @client.base_url
281
+
282
+ options = {
283
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
284
+ path_params: {'resourceGroupName' => resource_group_name,'autoscaleSettingName' => autoscale_setting_name,'subscriptionId' => @client.subscription_id},
285
+ query_params: {'api-version' => api_version},
286
+ headers: request_headers.merge(custom_headers || {}),
287
+ base_url: request_url
288
+ }
289
+ promise = @client.make_request_async(:delete, path_template, options)
290
+
291
+ promise = promise.then do |result|
292
+ http_response = result.response
293
+ status_code = http_response.status
294
+ response_content = http_response.body
295
+ unless status_code == 200 || status_code == 204
296
+ error_model = JSON.load(response_content)
297
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
298
+ end
299
+
300
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
301
+
302
+ result
303
+ end
304
+
305
+ promise.execute
306
+ end
307
+
308
+ #
309
+ # Gets an autoscale setting
310
+ #
311
+ # @param resource_group_name [String] The name of the resource group.
312
+ # @param autoscale_setting_name [String] The autoscale setting name.
313
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
314
+ # will be added to the HTTP request.
315
+ #
316
+ # @return [AutoscaleSettingResource] operation results.
317
+ #
318
+ def get(resource_group_name, autoscale_setting_name, custom_headers = nil)
319
+ response = get_async(resource_group_name, autoscale_setting_name, custom_headers).value!
320
+ response.body unless response.nil?
321
+ end
322
+
323
+ #
324
+ # Gets an autoscale setting
325
+ #
326
+ # @param resource_group_name [String] The name of the resource group.
327
+ # @param autoscale_setting_name [String] The autoscale setting name.
328
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
329
+ # will be added to the HTTP request.
330
+ #
331
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
332
+ #
333
+ def get_with_http_info(resource_group_name, autoscale_setting_name, custom_headers = nil)
334
+ get_async(resource_group_name, autoscale_setting_name, custom_headers).value!
335
+ end
336
+
337
+ #
338
+ # Gets an autoscale setting
339
+ #
340
+ # @param resource_group_name [String] The name of the resource group.
341
+ # @param autoscale_setting_name [String] The autoscale setting name.
342
+ # @param [Hash{String => String}] A hash of custom headers that will be added
343
+ # to the HTTP request.
344
+ #
345
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
346
+ #
347
+ def get_async(resource_group_name, autoscale_setting_name, custom_headers = nil)
348
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
349
+ fail ArgumentError, 'autoscale_setting_name is nil' if autoscale_setting_name.nil?
350
+ api_version = '2015-04-01'
351
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
352
+
353
+
354
+ request_headers = {}
355
+
356
+ # Set Headers
357
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
358
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
359
+ path_template = 'subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings/{autoscaleSettingName}'
360
+
361
+ request_url = @base_url || @client.base_url
362
+
363
+ options = {
364
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
365
+ path_params: {'resourceGroupName' => resource_group_name,'autoscaleSettingName' => autoscale_setting_name,'subscriptionId' => @client.subscription_id},
366
+ query_params: {'api-version' => api_version},
367
+ headers: request_headers.merge(custom_headers || {}),
368
+ base_url: request_url
369
+ }
370
+ promise = @client.make_request_async(:get, path_template, options)
371
+
372
+ promise = promise.then do |result|
373
+ http_response = result.response
374
+ status_code = http_response.status
375
+ response_content = http_response.body
376
+ unless status_code == 200
377
+ error_model = JSON.load(response_content)
378
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
379
+ end
380
+
381
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
382
+ # Deserialize Response
383
+ if status_code == 200
384
+ begin
385
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
386
+ result_mapper = Azure::ARM::Monitor::Models::AutoscaleSettingResource.mapper()
387
+ result.body = @client.deserialize(result_mapper, parsed_response)
388
+ rescue Exception => e
389
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
390
+ end
391
+ end
392
+
393
+ result
394
+ end
395
+
396
+ promise.execute
397
+ end
398
+
399
+ #
400
+ # Updates an existing AutoscaleSettingsResource. To update other fields use the
401
+ # CreateOrUpdate method.
402
+ #
403
+ # @param resource_group_name [String] The name of the resource group.
404
+ # @param autoscale_setting_name [String] The autoscale setting name.
405
+ # @param autoscale_setting_resource [AutoscaleSettingResourcePatch] Parameters
406
+ # supplied to the operation.
407
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
408
+ # will be added to the HTTP request.
409
+ #
410
+ # @return [AutoscaleSettingResource] operation results.
411
+ #
412
+ def update(resource_group_name, autoscale_setting_name, autoscale_setting_resource, custom_headers = nil)
413
+ response = update_async(resource_group_name, autoscale_setting_name, autoscale_setting_resource, custom_headers).value!
414
+ response.body unless response.nil?
415
+ end
416
+
417
+ #
418
+ # Updates an existing AutoscaleSettingsResource. To update other fields use the
419
+ # CreateOrUpdate method.
420
+ #
421
+ # @param resource_group_name [String] The name of the resource group.
422
+ # @param autoscale_setting_name [String] The autoscale setting name.
423
+ # @param autoscale_setting_resource [AutoscaleSettingResourcePatch] Parameters
424
+ # supplied to the operation.
425
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
426
+ # will be added to the HTTP request.
427
+ #
428
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
429
+ #
430
+ def update_with_http_info(resource_group_name, autoscale_setting_name, autoscale_setting_resource, custom_headers = nil)
431
+ update_async(resource_group_name, autoscale_setting_name, autoscale_setting_resource, custom_headers).value!
432
+ end
433
+
434
+ #
435
+ # Updates an existing AutoscaleSettingsResource. To update other fields use the
436
+ # CreateOrUpdate method.
437
+ #
438
+ # @param resource_group_name [String] The name of the resource group.
439
+ # @param autoscale_setting_name [String] The autoscale setting name.
440
+ # @param autoscale_setting_resource [AutoscaleSettingResourcePatch] Parameters
441
+ # supplied to the operation.
442
+ # @param [Hash{String => String}] A hash of custom headers that will be added
443
+ # to the HTTP request.
444
+ #
445
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
446
+ #
447
+ def update_async(resource_group_name, autoscale_setting_name, autoscale_setting_resource, custom_headers = nil)
448
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
449
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
450
+ fail ArgumentError, 'autoscale_setting_name is nil' if autoscale_setting_name.nil?
451
+ api_version = '2015-04-01'
452
+ fail ArgumentError, 'autoscale_setting_resource is nil' if autoscale_setting_resource.nil?
453
+
454
+
455
+ request_headers = {}
456
+
457
+ # Set Headers
458
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
459
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
460
+
461
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
462
+
463
+ # Serialize Request
464
+ request_mapper = Azure::ARM::Monitor::Models::AutoscaleSettingResourcePatch.mapper()
465
+ request_content = @client.serialize(request_mapper, autoscale_setting_resource)
466
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
467
+
468
+ path_template = 'subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings/{autoscaleSettingName}'
469
+
470
+ request_url = @base_url || @client.base_url
471
+
472
+ options = {
473
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
474
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'autoscaleSettingName' => autoscale_setting_name},
475
+ query_params: {'api-version' => api_version},
476
+ body: request_content,
477
+ headers: request_headers.merge(custom_headers || {}),
478
+ base_url: request_url
479
+ }
480
+ promise = @client.make_request_async(:patch, path_template, options)
481
+
482
+ promise = promise.then do |result|
483
+ http_response = result.response
484
+ status_code = http_response.status
485
+ response_content = http_response.body
486
+ unless status_code == 200
487
+ error_model = JSON.load(response_content)
488
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
489
+ end
490
+
491
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
492
+ # Deserialize Response
493
+ if status_code == 200
494
+ begin
495
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
496
+ result_mapper = Azure::ARM::Monitor::Models::AutoscaleSettingResource.mapper()
497
+ result.body = @client.deserialize(result_mapper, parsed_response)
498
+ rescue Exception => e
499
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
500
+ end
501
+ end
502
+
503
+ result
504
+ end
505
+
506
+ promise.execute
507
+ end
508
+
509
+ #
510
+ # Lists the autoscale settings for a resource group
511
+ #
512
+ # @param next_page_link [String] The NextLink from the previous successful call
513
+ # to List operation.
514
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
515
+ # will be added to the HTTP request.
516
+ #
517
+ # @return [AutoscaleSettingResourceCollection] operation results.
518
+ #
519
+ def list_by_resource_group_next(next_page_link, custom_headers = nil)
520
+ response = list_by_resource_group_next_async(next_page_link, custom_headers).value!
521
+ response.body unless response.nil?
522
+ end
523
+
524
+ #
525
+ # Lists the autoscale settings for a resource group
526
+ #
527
+ # @param next_page_link [String] The NextLink from the previous successful call
528
+ # to List operation.
529
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
530
+ # will be added to the HTTP request.
531
+ #
532
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
533
+ #
534
+ def list_by_resource_group_next_with_http_info(next_page_link, custom_headers = nil)
535
+ list_by_resource_group_next_async(next_page_link, custom_headers).value!
536
+ end
537
+
538
+ #
539
+ # Lists the autoscale settings for a resource group
540
+ #
541
+ # @param next_page_link [String] The NextLink from the previous successful call
542
+ # to List operation.
543
+ # @param [Hash{String => String}] A hash of custom headers that will be added
544
+ # to the HTTP request.
545
+ #
546
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
547
+ #
548
+ def list_by_resource_group_next_async(next_page_link, custom_headers = nil)
549
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
550
+
551
+
552
+ request_headers = {}
553
+
554
+ # Set Headers
555
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
556
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
557
+ path_template = '{nextLink}'
558
+
559
+ request_url = @base_url || @client.base_url
560
+
561
+ options = {
562
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
563
+ skip_encoding_path_params: {'nextLink' => next_page_link},
564
+ headers: request_headers.merge(custom_headers || {}),
565
+ base_url: request_url
566
+ }
567
+ promise = @client.make_request_async(:get, path_template, options)
568
+
569
+ promise = promise.then do |result|
570
+ http_response = result.response
571
+ status_code = http_response.status
572
+ response_content = http_response.body
573
+ unless status_code == 200
574
+ error_model = JSON.load(response_content)
575
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
576
+ end
577
+
578
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
579
+ # Deserialize Response
580
+ if status_code == 200
581
+ begin
582
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
583
+ result_mapper = Azure::ARM::Monitor::Models::AutoscaleSettingResourceCollection.mapper()
584
+ result.body = @client.deserialize(result_mapper, parsed_response)
585
+ rescue Exception => e
586
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
587
+ end
588
+ end
589
+
590
+ result
591
+ end
592
+
593
+ promise.execute
594
+ end
595
+
596
+ #
597
+ # Lists the autoscale settings for a resource group
598
+ #
599
+ # @param resource_group_name [String] The name of the resource group.
600
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
601
+ # will be added to the HTTP request.
602
+ #
603
+ # @return [AutoscaleSettingResourceCollection] which provide lazy access to
604
+ # pages of the response.
605
+ #
606
+ def list_by_resource_group_as_lazy(resource_group_name, custom_headers = nil)
607
+ response = list_by_resource_group_async(resource_group_name, custom_headers).value!
608
+ unless response.nil?
609
+ page = response.body
610
+ page.next_method = Proc.new do |next_page_link|
611
+ list_by_resource_group_next_async(next_page_link, custom_headers)
612
+ end
613
+ page
614
+ end
615
+ end
616
+
617
+ end
618
+ end