azure_mgmt_insights 0.8.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 (58) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/lib/azure_mgmt_insights.rb +5 -0
  4. data/lib/generated/azure_mgmt_insights.rb +77 -0
  5. data/lib/generated/azure_mgmt_insights/alert_rule_incidents.rb +121 -0
  6. data/lib/generated/azure_mgmt_insights/alert_rules.rb +410 -0
  7. data/lib/generated/azure_mgmt_insights/autoscale_settings.rb +521 -0
  8. data/lib/generated/azure_mgmt_insights/incidents.rb +117 -0
  9. data/lib/generated/azure_mgmt_insights/insights_management_client.rb +147 -0
  10. data/lib/generated/azure_mgmt_insights/log_profiles.rb +375 -0
  11. data/lib/generated/azure_mgmt_insights/models/alert_rule_resource.rb +156 -0
  12. data/lib/generated/azure_mgmt_insights/models/alert_rule_resource_collection.rb +53 -0
  13. data/lib/generated/azure_mgmt_insights/models/autoscale_notification.rb +77 -0
  14. data/lib/generated/azure_mgmt_insights/models/autoscale_profile.rb +100 -0
  15. data/lib/generated/azure_mgmt_insights/models/autoscale_setting_resource.rb +152 -0
  16. data/lib/generated/azure_mgmt_insights/models/autoscale_setting_resource_collection.rb +94 -0
  17. data/lib/generated/azure_mgmt_insights/models/comparison_operation_type.rb +20 -0
  18. data/lib/generated/azure_mgmt_insights/models/condition_operator.rb +18 -0
  19. data/lib/generated/azure_mgmt_insights/models/email_notification.rb +73 -0
  20. data/lib/generated/azure_mgmt_insights/models/incident.rb +92 -0
  21. data/lib/generated/azure_mgmt_insights/models/incident_list_result.rb +52 -0
  22. data/lib/generated/azure_mgmt_insights/models/location_threshold_rule_condition.rb +85 -0
  23. data/lib/generated/azure_mgmt_insights/models/log_profile_collection.rb +52 -0
  24. data/lib/generated/azure_mgmt_insights/models/log_profile_create_or_update_parameters.rb +99 -0
  25. data/lib/generated/azure_mgmt_insights/models/log_profile_resource.rb +143 -0
  26. data/lib/generated/azure_mgmt_insights/models/log_settings.rb +66 -0
  27. data/lib/generated/azure_mgmt_insights/models/management_event_aggregation_condition.rb +69 -0
  28. data/lib/generated/azure_mgmt_insights/models/management_event_rule_condition.rb +74 -0
  29. data/lib/generated/azure_mgmt_insights/models/metric_settings.rb +66 -0
  30. data/lib/generated/azure_mgmt_insights/models/metric_statistic_type.rb +18 -0
  31. data/lib/generated/azure_mgmt_insights/models/metric_trigger.rb +133 -0
  32. data/lib/generated/azure_mgmt_insights/models/recurrence.rb +61 -0
  33. data/lib/generated/azure_mgmt_insights/models/recurrence_frequency.rb +22 -0
  34. data/lib/generated/azure_mgmt_insights/models/recurrent_schedule.rb +101 -0
  35. data/lib/generated/azure_mgmt_insights/models/retention_policy.rb +55 -0
  36. data/lib/generated/azure_mgmt_insights/models/rule_action.rb +47 -0
  37. data/lib/generated/azure_mgmt_insights/models/rule_condition.rb +47 -0
  38. data/lib/generated/azure_mgmt_insights/models/rule_data_source.rb +46 -0
  39. data/lib/generated/azure_mgmt_insights/models/rule_email_action.rb +78 -0
  40. data/lib/generated/azure_mgmt_insights/models/rule_management_event_claims_data_source.rb +44 -0
  41. data/lib/generated/azure_mgmt_insights/models/rule_management_event_data_source.rb +151 -0
  42. data/lib/generated/azure_mgmt_insights/models/rule_metric_data_source.rb +70 -0
  43. data/lib/generated/azure_mgmt_insights/models/rule_webhook_action.rb +77 -0
  44. data/lib/generated/azure_mgmt_insights/models/scale_action.rb +85 -0
  45. data/lib/generated/azure_mgmt_insights/models/scale_capacity.rb +67 -0
  46. data/lib/generated/azure_mgmt_insights/models/scale_direction.rb +17 -0
  47. data/lib/generated/azure_mgmt_insights/models/scale_rule.rb +57 -0
  48. data/lib/generated/azure_mgmt_insights/models/service_diagnostic_settings_create_or_update_parameters.rb +101 -0
  49. data/lib/generated/azure_mgmt_insights/models/service_diagnostic_settings_resource.rb +144 -0
  50. data/lib/generated/azure_mgmt_insights/models/threshold_rule_condition.rb +111 -0
  51. data/lib/generated/azure_mgmt_insights/models/time_aggregation_operator.rb +19 -0
  52. data/lib/generated/azure_mgmt_insights/models/time_aggregation_type.rb +19 -0
  53. data/lib/generated/azure_mgmt_insights/models/time_window.rb +67 -0
  54. data/lib/generated/azure_mgmt_insights/models/webhook_notification.rb +61 -0
  55. data/lib/generated/azure_mgmt_insights/module_definition.rb +8 -0
  56. data/lib/generated/azure_mgmt_insights/service_diagnostic_settings_operations.rb +216 -0
  57. data/lib/generated/azure_mgmt_insights/version.rb +8 -0
  58. metadata +169 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c38aa0d2b35f34a4e3909fea242e1c800ec9eaff
4
+ data.tar.gz: f64f4c1296d5575f5027b20997b51c561d7ba455
5
+ SHA512:
6
+ metadata.gz: 4d72a9d3f4be88feeefe348d80fe1ee1eacf88d6dd34e78bb6a13536f12c11b3ded603c21b4bc3bd62364cc558ce2a38fcfbdb88a80ab017d62820e6afcf6b81
7
+ data.tar.gz: afadf70f12a71c31251e32790398391f7bdfdd9448b23df172bb21df5ff52a777132ee64080bb6ebdb398a63c3bb490c3476dd82ed15745a4ca4df5ad71ace94
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 Microsoft Corporation
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,5 @@
1
+ # encoding: utf-8
2
+ # Copyright (c) Microsoft Corporation. All rights reserved.
3
+ # Licensed under the MIT License. See License.txt in the project root for license information.
4
+
5
+ require 'generated/azure_mgmt_insights'
@@ -0,0 +1,77 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ require 'uri'
7
+ require 'cgi'
8
+ require 'date'
9
+ require 'json'
10
+ require 'base64'
11
+ require 'erb'
12
+ require 'securerandom'
13
+ require 'time'
14
+ require 'timeliness'
15
+ require 'faraday'
16
+ require 'faraday-cookie_jar'
17
+ require 'concurrent'
18
+ require 'ms_rest'
19
+ require 'generated/azure_mgmt_insights/module_definition'
20
+ require 'ms_rest_azure'
21
+
22
+ module Azure::ARM::Insights
23
+ autoload :AutoscaleSettings, 'generated/azure_mgmt_insights/autoscale_settings.rb'
24
+ autoload :ServiceDiagnosticSettingsOperations, 'generated/azure_mgmt_insights/service_diagnostic_settings_operations.rb'
25
+ autoload :AlertRuleIncidents, 'generated/azure_mgmt_insights/alert_rule_incidents.rb'
26
+ autoload :Incidents, 'generated/azure_mgmt_insights/incidents.rb'
27
+ autoload :AlertRules, 'generated/azure_mgmt_insights/alert_rules.rb'
28
+ autoload :LogProfiles, 'generated/azure_mgmt_insights/log_profiles.rb'
29
+ autoload :InsightsManagementClient, 'generated/azure_mgmt_insights/insights_management_client.rb'
30
+
31
+ module Models
32
+ autoload :Incident, 'generated/azure_mgmt_insights/models/incident.rb'
33
+ autoload :IncidentListResult, 'generated/azure_mgmt_insights/models/incident_list_result.rb'
34
+ autoload :MetricTrigger, 'generated/azure_mgmt_insights/models/metric_trigger.rb'
35
+ autoload :RuleCondition, 'generated/azure_mgmt_insights/models/rule_condition.rb'
36
+ autoload :ScaleRule, 'generated/azure_mgmt_insights/models/scale_rule.rb'
37
+ autoload :RuleDataSource, 'generated/azure_mgmt_insights/models/rule_data_source.rb'
38
+ autoload :RecurrentSchedule, 'generated/azure_mgmt_insights/models/recurrent_schedule.rb'
39
+ autoload :ServiceDiagnosticSettingsCreateOrUpdateParameters, 'generated/azure_mgmt_insights/models/service_diagnostic_settings_create_or_update_parameters.rb'
40
+ autoload :ScaleCapacity, 'generated/azure_mgmt_insights/models/scale_capacity.rb'
41
+ autoload :EmailNotification, 'generated/azure_mgmt_insights/models/email_notification.rb'
42
+ autoload :ScaleAction, 'generated/azure_mgmt_insights/models/scale_action.rb'
43
+ autoload :AutoscaleNotification, 'generated/azure_mgmt_insights/models/autoscale_notification.rb'
44
+ autoload :TimeWindow, 'generated/azure_mgmt_insights/models/time_window.rb'
45
+ autoload :AutoscaleSettingResourceCollection, 'generated/azure_mgmt_insights/models/autoscale_setting_resource_collection.rb'
46
+ autoload :Recurrence, 'generated/azure_mgmt_insights/models/recurrence.rb'
47
+ autoload :MetricSettings, 'generated/azure_mgmt_insights/models/metric_settings.rb'
48
+ autoload :RuleAction, 'generated/azure_mgmt_insights/models/rule_action.rb'
49
+ autoload :AutoscaleProfile, 'generated/azure_mgmt_insights/models/autoscale_profile.rb'
50
+ autoload :RuleManagementEventClaimsDataSource, 'generated/azure_mgmt_insights/models/rule_management_event_claims_data_source.rb'
51
+ autoload :ManagementEventAggregationCondition, 'generated/azure_mgmt_insights/models/management_event_aggregation_condition.rb'
52
+ autoload :RetentionPolicy, 'generated/azure_mgmt_insights/models/retention_policy.rb'
53
+ autoload :LogProfileCollection, 'generated/azure_mgmt_insights/models/log_profile_collection.rb'
54
+ autoload :WebhookNotification, 'generated/azure_mgmt_insights/models/webhook_notification.rb'
55
+ autoload :LogProfileCreateOrUpdateParameters, 'generated/azure_mgmt_insights/models/log_profile_create_or_update_parameters.rb'
56
+ autoload :LogSettings, 'generated/azure_mgmt_insights/models/log_settings.rb'
57
+ autoload :AlertRuleResourceCollection, 'generated/azure_mgmt_insights/models/alert_rule_resource_collection.rb'
58
+ autoload :AutoscaleSettingResource, 'generated/azure_mgmt_insights/models/autoscale_setting_resource.rb'
59
+ autoload :ServiceDiagnosticSettingsResource, 'generated/azure_mgmt_insights/models/service_diagnostic_settings_resource.rb'
60
+ autoload :RuleMetricDataSource, 'generated/azure_mgmt_insights/models/rule_metric_data_source.rb'
61
+ autoload :RuleManagementEventDataSource, 'generated/azure_mgmt_insights/models/rule_management_event_data_source.rb'
62
+ autoload :ThresholdRuleCondition, 'generated/azure_mgmt_insights/models/threshold_rule_condition.rb'
63
+ autoload :LocationThresholdRuleCondition, 'generated/azure_mgmt_insights/models/location_threshold_rule_condition.rb'
64
+ autoload :ManagementEventRuleCondition, 'generated/azure_mgmt_insights/models/management_event_rule_condition.rb'
65
+ autoload :RuleEmailAction, 'generated/azure_mgmt_insights/models/rule_email_action.rb'
66
+ autoload :RuleWebhookAction, 'generated/azure_mgmt_insights/models/rule_webhook_action.rb'
67
+ autoload :AlertRuleResource, 'generated/azure_mgmt_insights/models/alert_rule_resource.rb'
68
+ autoload :LogProfileResource, 'generated/azure_mgmt_insights/models/log_profile_resource.rb'
69
+ autoload :MetricStatisticType, 'generated/azure_mgmt_insights/models/metric_statistic_type.rb'
70
+ autoload :TimeAggregationType, 'generated/azure_mgmt_insights/models/time_aggregation_type.rb'
71
+ autoload :ComparisonOperationType, 'generated/azure_mgmt_insights/models/comparison_operation_type.rb'
72
+ autoload :ScaleDirection, 'generated/azure_mgmt_insights/models/scale_direction.rb'
73
+ autoload :RecurrenceFrequency, 'generated/azure_mgmt_insights/models/recurrence_frequency.rb'
74
+ autoload :ConditionOperator, 'generated/azure_mgmt_insights/models/condition_operator.rb'
75
+ autoload :TimeAggregationOperator, 'generated/azure_mgmt_insights/models/time_aggregation_operator.rb'
76
+ end
77
+ end
@@ -0,0 +1,121 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Insights
7
+ #
8
+ # Composite Swagger for Insights Management Client
9
+ #
10
+ class AlertRuleIncidents
11
+ include Azure::ARM::Insights::Models
12
+ include MsRestAzure
13
+
14
+ #
15
+ # Creates and initializes a new instance of the AlertRuleIncidents class.
16
+ # @param client service class for accessing basic functionality.
17
+ #
18
+ def initialize(client)
19
+ @client = client
20
+ end
21
+
22
+ # @return [InsightsManagementClient] reference to the InsightsManagementClient
23
+ attr_reader :client
24
+
25
+ #
26
+ # Gets an incident associated to an alert rule
27
+ #
28
+ # @param resource_group_name [String] The name of the resource group.
29
+ # @param rule_name [String] The name of the rule.
30
+ # @param incident_name [String] The name of the incident to retrieve.
31
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
32
+ # will be added to the HTTP request.
33
+ #
34
+ # @return [Incident] operation results.
35
+ #
36
+ def get(resource_group_name, rule_name, incident_name, custom_headers = nil)
37
+ response = get_async(resource_group_name, rule_name, incident_name, custom_headers).value!
38
+ response.body unless response.nil?
39
+ end
40
+
41
+ #
42
+ # Gets an incident associated to an alert rule
43
+ #
44
+ # @param resource_group_name [String] The name of the resource group.
45
+ # @param rule_name [String] The name of the rule.
46
+ # @param incident_name [String] The name of the incident to retrieve.
47
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
48
+ # will be added to the HTTP request.
49
+ #
50
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
51
+ #
52
+ def get_with_http_info(resource_group_name, rule_name, incident_name, custom_headers = nil)
53
+ get_async(resource_group_name, rule_name, incident_name, custom_headers).value!
54
+ end
55
+
56
+ #
57
+ # Gets an incident associated to an alert rule
58
+ #
59
+ # @param resource_group_name [String] The name of the resource group.
60
+ # @param rule_name [String] The name of the rule.
61
+ # @param incident_name [String] The name of the incident to retrieve.
62
+ # @param [Hash{String => String}] A hash of custom headers that will be added
63
+ # to the HTTP request.
64
+ #
65
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
66
+ #
67
+ def get_async(resource_group_name, rule_name, incident_name, custom_headers = nil)
68
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
69
+ fail ArgumentError, 'rule_name is nil' if rule_name.nil?
70
+ fail ArgumentError, 'incident_name is nil' if incident_name.nil?
71
+ api_version = '2016-03-01'
72
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
73
+
74
+
75
+ request_headers = {}
76
+
77
+ # Set Headers
78
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
79
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
80
+ path_template = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}/incidents/{incidentName}'
81
+
82
+ request_url = @base_url || @client.base_url
83
+
84
+ options = {
85
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
86
+ path_params: {'resourceGroupName' => resource_group_name,'ruleName' => rule_name,'incidentName' => incident_name,'subscriptionId' => @client.subscription_id},
87
+ query_params: {'api-version' => api_version},
88
+ headers: request_headers.merge(custom_headers || {}),
89
+ base_url: request_url
90
+ }
91
+ promise = @client.make_request_async(:get, path_template, options)
92
+
93
+ promise = promise.then do |result|
94
+ http_response = result.response
95
+ status_code = http_response.status
96
+ response_content = http_response.body
97
+ unless status_code == 200
98
+ error_model = JSON.load(response_content)
99
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
100
+ end
101
+
102
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
103
+ # Deserialize Response
104
+ if status_code == 200
105
+ begin
106
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
107
+ result_mapper = Incident.mapper()
108
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
109
+ rescue Exception => e
110
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
111
+ end
112
+ end
113
+
114
+ result
115
+ end
116
+
117
+ promise.execute
118
+ end
119
+
120
+ end
121
+ end
@@ -0,0 +1,410 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Insights
7
+ #
8
+ # Composite Swagger for Insights Management Client
9
+ #
10
+ class AlertRules
11
+ include Azure::ARM::Insights::Models
12
+ include MsRestAzure
13
+
14
+ #
15
+ # Creates and initializes a new instance of the AlertRules class.
16
+ # @param client service class for accessing basic functionality.
17
+ #
18
+ def initialize(client)
19
+ @client = client
20
+ end
21
+
22
+ # @return [InsightsManagementClient] reference to the InsightsManagementClient
23
+ attr_reader :client
24
+
25
+ #
26
+ # Creates or updates an alert rule
27
+ #
28
+ # @param resource_group_name [String] The name of the resource group.
29
+ # @param rule_name [String] The name of the rule.
30
+ # @param parameters [AlertRuleResource] The parameters of the rule to create or
31
+ # update.
32
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
33
+ # will be added to the HTTP request.
34
+ #
35
+ # @return [AlertRuleResource] operation results.
36
+ #
37
+ def create_or_update(resource_group_name, rule_name, parameters, custom_headers = nil)
38
+ response = create_or_update_async(resource_group_name, rule_name, parameters, custom_headers).value!
39
+ response.body unless response.nil?
40
+ end
41
+
42
+ #
43
+ # Creates or updates an alert rule
44
+ #
45
+ # @param resource_group_name [String] The name of the resource group.
46
+ # @param rule_name [String] The name of the rule.
47
+ # @param parameters [AlertRuleResource] The parameters of the rule to create or
48
+ # update.
49
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
50
+ # will be added to the HTTP request.
51
+ #
52
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
53
+ #
54
+ def create_or_update_with_http_info(resource_group_name, rule_name, parameters, custom_headers = nil)
55
+ create_or_update_async(resource_group_name, rule_name, parameters, custom_headers).value!
56
+ end
57
+
58
+ #
59
+ # Creates or updates an alert rule
60
+ #
61
+ # @param resource_group_name [String] The name of the resource group.
62
+ # @param rule_name [String] The name of the rule.
63
+ # @param parameters [AlertRuleResource] The parameters of the rule to create or
64
+ # update.
65
+ # @param [Hash{String => String}] A hash of custom headers that will be added
66
+ # to the HTTP request.
67
+ #
68
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
69
+ #
70
+ def create_or_update_async(resource_group_name, rule_name, parameters, custom_headers = nil)
71
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
72
+ fail ArgumentError, 'rule_name is nil' if rule_name.nil?
73
+ api_version = '2016-03-01'
74
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
75
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
76
+
77
+
78
+ request_headers = {}
79
+
80
+ # Set Headers
81
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
82
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
83
+
84
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
85
+
86
+ # Serialize Request
87
+ request_mapper = AlertRuleResource.mapper()
88
+ request_content = @client.serialize(request_mapper, parameters, 'parameters')
89
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
90
+
91
+ path_template = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}'
92
+
93
+ request_url = @base_url || @client.base_url
94
+
95
+ options = {
96
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
97
+ path_params: {'resourceGroupName' => resource_group_name,'ruleName' => rule_name,'subscriptionId' => @client.subscription_id},
98
+ query_params: {'api-version' => api_version},
99
+ body: request_content,
100
+ headers: request_headers.merge(custom_headers || {}),
101
+ base_url: request_url
102
+ }
103
+ promise = @client.make_request_async(:put, path_template, options)
104
+
105
+ promise = promise.then do |result|
106
+ http_response = result.response
107
+ status_code = http_response.status
108
+ response_content = http_response.body
109
+ unless status_code == 200 || status_code == 201
110
+ error_model = JSON.load(response_content)
111
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
112
+ end
113
+
114
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
115
+ # Deserialize Response
116
+ if status_code == 200
117
+ begin
118
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
119
+ result_mapper = AlertRuleResource.mapper()
120
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
121
+ rescue Exception => e
122
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
123
+ end
124
+ end
125
+ # Deserialize Response
126
+ if status_code == 201
127
+ begin
128
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
129
+ result_mapper = AlertRuleResource.mapper()
130
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
131
+ rescue Exception => e
132
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
133
+ end
134
+ end
135
+
136
+ result
137
+ end
138
+
139
+ promise.execute
140
+ end
141
+
142
+ #
143
+ # Deletes an alert rule
144
+ #
145
+ # @param resource_group_name [String] The name of the resource group.
146
+ # @param rule_name [String] The name of the rule.
147
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
148
+ # will be added to the HTTP request.
149
+ #
150
+ #
151
+ def delete(resource_group_name, rule_name, custom_headers = nil)
152
+ response = delete_async(resource_group_name, rule_name, custom_headers).value!
153
+ nil
154
+ end
155
+
156
+ #
157
+ # Deletes an alert rule
158
+ #
159
+ # @param resource_group_name [String] The name of the resource group.
160
+ # @param rule_name [String] The name of the rule.
161
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
162
+ # will be added to the HTTP request.
163
+ #
164
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
165
+ #
166
+ def delete_with_http_info(resource_group_name, rule_name, custom_headers = nil)
167
+ delete_async(resource_group_name, rule_name, custom_headers).value!
168
+ end
169
+
170
+ #
171
+ # Deletes an alert rule
172
+ #
173
+ # @param resource_group_name [String] The name of the resource group.
174
+ # @param rule_name [String] The name of the rule.
175
+ # @param [Hash{String => String}] A hash of custom headers that will be added
176
+ # to the HTTP request.
177
+ #
178
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
179
+ #
180
+ def delete_async(resource_group_name, rule_name, custom_headers = nil)
181
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
182
+ fail ArgumentError, 'rule_name is nil' if rule_name.nil?
183
+ api_version = '2016-03-01'
184
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
185
+
186
+
187
+ request_headers = {}
188
+
189
+ # Set Headers
190
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
191
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
192
+ path_template = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}'
193
+
194
+ request_url = @base_url || @client.base_url
195
+
196
+ options = {
197
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
198
+ path_params: {'resourceGroupName' => resource_group_name,'ruleName' => rule_name,'subscriptionId' => @client.subscription_id},
199
+ query_params: {'api-version' => api_version},
200
+ headers: request_headers.merge(custom_headers || {}),
201
+ base_url: request_url
202
+ }
203
+ promise = @client.make_request_async(:delete, path_template, options)
204
+
205
+ promise = promise.then do |result|
206
+ http_response = result.response
207
+ status_code = http_response.status
208
+ response_content = http_response.body
209
+ unless status_code == 204 || status_code == 200
210
+ error_model = JSON.load(response_content)
211
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
212
+ end
213
+
214
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
215
+
216
+ result
217
+ end
218
+
219
+ promise.execute
220
+ end
221
+
222
+ #
223
+ # Gets an alert rule
224
+ #
225
+ # @param resource_group_name [String] The name of the resource group.
226
+ # @param rule_name [String] The name of the rule.
227
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
228
+ # will be added to the HTTP request.
229
+ #
230
+ # @return [AlertRuleResource] operation results.
231
+ #
232
+ def get(resource_group_name, rule_name, custom_headers = nil)
233
+ response = get_async(resource_group_name, rule_name, custom_headers).value!
234
+ response.body unless response.nil?
235
+ end
236
+
237
+ #
238
+ # Gets an alert rule
239
+ #
240
+ # @param resource_group_name [String] The name of the resource group.
241
+ # @param rule_name [String] The name of the rule.
242
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
243
+ # will be added to the HTTP request.
244
+ #
245
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
246
+ #
247
+ def get_with_http_info(resource_group_name, rule_name, custom_headers = nil)
248
+ get_async(resource_group_name, rule_name, custom_headers).value!
249
+ end
250
+
251
+ #
252
+ # Gets an alert rule
253
+ #
254
+ # @param resource_group_name [String] The name of the resource group.
255
+ # @param rule_name [String] The name of the rule.
256
+ # @param [Hash{String => String}] A hash of custom headers that will be added
257
+ # to the HTTP request.
258
+ #
259
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
260
+ #
261
+ def get_async(resource_group_name, rule_name, custom_headers = nil)
262
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
263
+ fail ArgumentError, 'rule_name is nil' if rule_name.nil?
264
+ api_version = '2016-03-01'
265
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
266
+
267
+
268
+ request_headers = {}
269
+
270
+ # Set Headers
271
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
272
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
273
+ path_template = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}'
274
+
275
+ request_url = @base_url || @client.base_url
276
+
277
+ options = {
278
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
279
+ path_params: {'resourceGroupName' => resource_group_name,'ruleName' => rule_name,'subscriptionId' => @client.subscription_id},
280
+ query_params: {'api-version' => api_version},
281
+ headers: request_headers.merge(custom_headers || {}),
282
+ base_url: request_url
283
+ }
284
+ promise = @client.make_request_async(:get, path_template, options)
285
+
286
+ promise = promise.then do |result|
287
+ http_response = result.response
288
+ status_code = http_response.status
289
+ response_content = http_response.body
290
+ unless status_code == 200
291
+ error_model = JSON.load(response_content)
292
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
293
+ end
294
+
295
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
296
+ # Deserialize Response
297
+ if status_code == 200
298
+ begin
299
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
300
+ result_mapper = AlertRuleResource.mapper()
301
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
302
+ rescue Exception => e
303
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
304
+ end
305
+ end
306
+
307
+ result
308
+ end
309
+
310
+ promise.execute
311
+ end
312
+
313
+ #
314
+ # List the alert rules within a resource group.
315
+ #
316
+ # @param resource_group_name [String] The name of the resource group.
317
+ # @param filter [String] The filter to apply on the operation. For more
318
+ # information please see
319
+ # https://msdn.microsoft.com/en-us/library/azure/dn931934.aspx
320
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
321
+ # will be added to the HTTP request.
322
+ #
323
+ # @return [AlertRuleResourceCollection] operation results.
324
+ #
325
+ def list_by_resource_group(resource_group_name, filter = nil, custom_headers = nil)
326
+ response = list_by_resource_group_async(resource_group_name, filter, custom_headers).value!
327
+ response.body unless response.nil?
328
+ end
329
+
330
+ #
331
+ # List the alert rules within a resource group.
332
+ #
333
+ # @param resource_group_name [String] The name of the resource group.
334
+ # @param filter [String] The filter to apply on the operation. For more
335
+ # information please see
336
+ # https://msdn.microsoft.com/en-us/library/azure/dn931934.aspx
337
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
338
+ # will be added to the HTTP request.
339
+ #
340
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
341
+ #
342
+ def list_by_resource_group_with_http_info(resource_group_name, filter = nil, custom_headers = nil)
343
+ list_by_resource_group_async(resource_group_name, filter, custom_headers).value!
344
+ end
345
+
346
+ #
347
+ # List the alert rules within a resource group.
348
+ #
349
+ # @param resource_group_name [String] The name of the resource group.
350
+ # @param filter [String] The filter to apply on the operation. For more
351
+ # information please see
352
+ # https://msdn.microsoft.com/en-us/library/azure/dn931934.aspx
353
+ # @param [Hash{String => String}] A hash of custom headers that will be added
354
+ # to the HTTP request.
355
+ #
356
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
357
+ #
358
+ def list_by_resource_group_async(resource_group_name, filter = nil, custom_headers = nil)
359
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
360
+ api_version = '2016-03-01'
361
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
362
+
363
+
364
+ request_headers = {}
365
+
366
+ # Set Headers
367
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
368
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
369
+ path_template = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules'
370
+
371
+ request_url = @base_url || @client.base_url
372
+
373
+ options = {
374
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
375
+ path_params: {'resourceGroupName' => resource_group_name,'subscriptionId' => @client.subscription_id},
376
+ query_params: {'api-version' => api_version,'$filter' => filter},
377
+ headers: request_headers.merge(custom_headers || {}),
378
+ base_url: request_url
379
+ }
380
+ promise = @client.make_request_async(:get, path_template, options)
381
+
382
+ promise = promise.then do |result|
383
+ http_response = result.response
384
+ status_code = http_response.status
385
+ response_content = http_response.body
386
+ unless status_code == 200
387
+ error_model = JSON.load(response_content)
388
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
389
+ end
390
+
391
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
392
+ # Deserialize Response
393
+ if status_code == 200
394
+ begin
395
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
396
+ result_mapper = AlertRuleResourceCollection.mapper()
397
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
398
+ rescue Exception => e
399
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
400
+ end
401
+ end
402
+
403
+ result
404
+ end
405
+
406
+ promise.execute
407
+ end
408
+
409
+ end
410
+ end