datadog_api_client 2.23.0 → 2.24.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/schemas/v1/openapi.yaml +666 -156
  4. data/.generator/schemas/v2/openapi.yaml +774 -89
  5. data/.generator/src/generator/replacement.json +1 -1
  6. data/.github/CODEOWNERS +5 -5
  7. data/CHANGELOG.md +26 -0
  8. data/examples/v1/dashboards/CreateDashboard_1213075383.rb +10 -4
  9. data/examples/v1/dashboards/CreateDashboard_2336428357.rb +10 -4
  10. data/examples/v1/dashboards/CreateDashboard_2563642929.rb +66 -0
  11. data/examples/v1/dashboards/CreateDashboard_3669695268.rb +10 -4
  12. data/examples/v1/dashboards/CreateDashboard_915214113.rb +10 -4
  13. data/examples/v1/monitors/UpdateMonitor.rb +1 -0
  14. data/examples/v1/synthetics/CreateSyntheticsAPITest_1241981394.rb +1 -0
  15. data/examples/v1/synthetics/CreateSyntheticsAPITest_1279271422.rb +9 -4
  16. data/examples/v1/synthetics/CreateSyntheticsAPITest_1487281163.rb +15 -0
  17. data/examples/v1/synthetics/CreateSyntheticsAPITest_1987645492.rb +134 -0
  18. data/examples/v2/api-management/ListAPIs.rb +8 -0
  19. data/examples/v2/csm-threats/CreateCSMThreatsAgentRule.rb +3 -0
  20. data/examples/v2/csm-threats/UpdateCloudWorkloadSecurityAgentRule.rb +1 -0
  21. data/examples/v2/organizations/GetOrgConfig.rb +5 -0
  22. data/examples/v2/organizations/ListOrgConfigs.rb +5 -0
  23. data/examples/v2/organizations/UpdateOrgConfig.rb +14 -0
  24. data/examples/v2/security-monitoring/TestExistingSecurityMonitoringRule.rb +21 -0
  25. data/examples/v2/security-monitoring/TestSecurityMonitoringRule.rb +58 -0
  26. data/examples/v2/security-monitoring/ValidateSecurityMonitoringRule.rb +1 -1
  27. data/lib/datadog_api_client/configuration.rb +1 -0
  28. data/lib/datadog_api_client/inflector.rb +37 -1
  29. data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -1
  30. data/lib/datadog_api_client/v1/models/event.rb +1 -1
  31. data/lib/datadog_api_client/v1/models/formula_type.rb +26 -0
  32. data/lib/datadog_api_client/v1/models/geomap_widget_request.rb +14 -4
  33. data/lib/datadog_api_client/v1/models/group_type.rb +26 -0
  34. data/lib/datadog_api_client/v1/models/monitor.rb +1 -16
  35. data/lib/datadog_api_client/v1/models/monitor_update_request.rb +2 -23
  36. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +2 -2
  37. data/lib/datadog_api_client/v1/models/synthetics_api_step.rb +37 -180
  38. data/lib/datadog_api_client/v1/models/synthetics_api_test_step.rb +206 -0
  39. data/lib/datadog_api_client/v1/models/{synthetics_api_step_subtype.rb → synthetics_api_test_step_subtype.rb} +2 -2
  40. data/lib/datadog_api_client/v1/models/synthetics_api_wait_step.rb +148 -0
  41. data/lib/datadog_api_client/v1/models/synthetics_api_wait_step_subtype.rb +26 -0
  42. data/lib/datadog_api_client/v1/models/synthetics_assertion.rb +1 -0
  43. data/lib/datadog_api_client/v1/models/synthetics_assertion_body_hash_operator.rb +28 -0
  44. data/lib/datadog_api_client/v1/models/synthetics_assertion_body_hash_target.rb +140 -0
  45. data/lib/datadog_api_client/v1/models/synthetics_assertion_body_hash_type.rb +26 -0
  46. data/lib/datadog_api_client/v1/models/synthetics_assertion_json_path_target_target.rb +11 -1
  47. data/lib/datadog_api_client/v1/models/synthetics_test_options_monitor_options.rb +0 -4
  48. data/lib/datadog_api_client/v1/models/synthetics_test_request_body_file.rb +22 -1
  49. data/lib/datadog_api_client/v1/models/table_widget_request.rb +14 -4
  50. data/lib/datadog_api_client/v1/models/toplist_widget_request.rb +11 -1
  51. data/lib/datadog_api_client/v1/models/usage_rum_sessions_hour.rb +7 -7
  52. data/lib/datadog_api_client/v1/models/usage_rum_sessions_response.rb +2 -2
  53. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +168 -18
  54. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +169 -19
  55. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +171 -21
  56. data/lib/datadog_api_client/v1/models/widget_formula_sort.rb +144 -0
  57. data/lib/datadog_api_client/v1/models/widget_group_sort.rb +140 -0
  58. data/lib/datadog_api_client/v1/models/widget_sort_by.rb +110 -0
  59. data/lib/datadog_api_client/v1/models/widget_sort_order_by.rb +63 -0
  60. data/lib/datadog_api_client/v2/api/api_management_api.rb +80 -2
  61. data/lib/datadog_api_client/v2/api/organizations_api.rb +197 -0
  62. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +140 -1
  63. data/lib/datadog_api_client/v2/models/cloud_configuration_rule_payload.rb +240 -0
  64. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_create_attributes.rb +13 -1
  65. data/lib/datadog_api_client/v2/models/dora_incident_request_attributes.rb +1 -1
  66. data/lib/datadog_api_client/v2/models/events_group_by.rb +5 -4
  67. data/lib/datadog_api_client/v2/models/list_apis_response.rb +92 -0
  68. data/lib/datadog_api_client/v2/models/list_apis_response_data.rb +90 -0
  69. data/lib/datadog_api_client/v2/models/list_apis_response_data_attributes.rb +80 -0
  70. data/lib/datadog_api_client/v2/models/list_apis_response_meta.rb +80 -0
  71. data/lib/datadog_api_client/v2/models/list_apis_response_meta_pagination.rb +100 -0
  72. data/lib/datadog_api_client/v2/models/org_config_get_response.rb +98 -0
  73. data/lib/datadog_api_client/v2/models/org_config_list_response.rb +100 -0
  74. data/lib/datadog_api_client/v2/models/org_config_read.rb +140 -0
  75. data/lib/datadog_api_client/v2/models/org_config_read_attributes.rb +179 -0
  76. data/lib/datadog_api_client/v2/models/org_config_type.rb +26 -0
  77. data/lib/datadog_api_client/v2/models/org_config_write.rb +119 -0
  78. data/lib/datadog_api_client/v2/models/org_config_write_attributes.rb +98 -0
  79. data/lib/datadog_api_client/v2/models/org_config_write_request.rb +98 -0
  80. data/lib/datadog_api_client/v2/models/security_monitoring_rule_query_payload.rb +118 -0
  81. data/lib/datadog_api_client/v2/models/security_monitoring_rule_query_payload_data.rb +120 -0
  82. data/lib/datadog_api_client/v2/models/security_monitoring_rule_test_payload.rb +62 -0
  83. data/lib/datadog_api_client/v2/models/security_monitoring_rule_test_request.rb +92 -0
  84. data/lib/datadog_api_client/v2/models/security_monitoring_rule_test_response.rb +84 -0
  85. data/lib/datadog_api_client/v2/models/security_monitoring_rule_type_test.rb +26 -0
  86. data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +1 -1
  87. data/lib/datadog_api_client/v2/models/security_monitoring_rule_validate_payload.rb +64 -0
  88. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_payload.rb +251 -0
  89. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +1 -1
  90. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_payload.rb +263 -0
  91. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +1 -1
  92. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_test_payload.rb +263 -0
  93. data/lib/datadog_api_client/version.rb +1 -1
  94. metadata +47 -3
@@ -0,0 +1,251 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # The payload of a signal correlation rule.
21
+ class SecurityMonitoringSignalRulePayload
22
+ include BaseGenericModel
23
+
24
+ # Cases for generating signals.
25
+ attr_reader :cases
26
+
27
+ # Additional queries to filter matched events before they are processed. This field is deprecated for log detection, signal correlation, and workload security rules.
28
+ attr_accessor :filters
29
+
30
+ # Whether the notifications include the triggering group-by values in their title.
31
+ attr_accessor :has_extended_title
32
+
33
+ # Whether the rule is enabled.
34
+ attr_reader :is_enabled
35
+
36
+ # Message for generated signals.
37
+ attr_reader :message
38
+
39
+ # The name of the rule.
40
+ attr_reader :name
41
+
42
+ # Options on rules.
43
+ attr_reader :options
44
+
45
+ # Queries for selecting signals which are part of the rule.
46
+ attr_reader :queries
47
+
48
+ # Tags for generated signals.
49
+ attr_accessor :tags
50
+
51
+ # The rule type.
52
+ attr_accessor :type
53
+
54
+ # Attribute mapping from ruby-style variable name to JSON key.
55
+ # @!visibility private
56
+ def self.attribute_map
57
+ {
58
+ :'cases' => :'cases',
59
+ :'filters' => :'filters',
60
+ :'has_extended_title' => :'hasExtendedTitle',
61
+ :'is_enabled' => :'isEnabled',
62
+ :'message' => :'message',
63
+ :'name' => :'name',
64
+ :'options' => :'options',
65
+ :'queries' => :'queries',
66
+ :'tags' => :'tags',
67
+ :'type' => :'type'
68
+ }
69
+ end
70
+
71
+ # Attribute type mapping.
72
+ # @!visibility private
73
+ def self.openapi_types
74
+ {
75
+ :'cases' => :'Array<SecurityMonitoringRuleCaseCreate>',
76
+ :'filters' => :'Array<SecurityMonitoringFilter>',
77
+ :'has_extended_title' => :'Boolean',
78
+ :'is_enabled' => :'Boolean',
79
+ :'message' => :'String',
80
+ :'name' => :'String',
81
+ :'options' => :'SecurityMonitoringRuleOptions',
82
+ :'queries' => :'Array<SecurityMonitoringSignalRuleQuery>',
83
+ :'tags' => :'Array<String>',
84
+ :'type' => :'SecurityMonitoringSignalRuleType'
85
+ }
86
+ end
87
+
88
+ # Initializes the object
89
+ # @param attributes [Hash] Model attributes in the form of hash
90
+ # @!visibility private
91
+ def initialize(attributes = {})
92
+ if (!attributes.is_a?(Hash))
93
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SecurityMonitoringSignalRulePayload` initialize method"
94
+ end
95
+
96
+ # check to see if the attribute exists and convert string to symbol for hash key
97
+ attributes = attributes.each_with_object({}) { |(k, v), h|
98
+ if (!self.class.attribute_map.key?(k.to_sym))
99
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::SecurityMonitoringSignalRulePayload`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
100
+ end
101
+ h[k.to_sym] = v
102
+ }
103
+
104
+ if attributes.key?(:'cases')
105
+ if (value = attributes[:'cases']).is_a?(Array)
106
+ self.cases = value
107
+ end
108
+ end
109
+
110
+ if attributes.key?(:'filters')
111
+ if (value = attributes[:'filters']).is_a?(Array)
112
+ self.filters = value
113
+ end
114
+ end
115
+
116
+ if attributes.key?(:'has_extended_title')
117
+ self.has_extended_title = attributes[:'has_extended_title']
118
+ end
119
+
120
+ if attributes.key?(:'is_enabled')
121
+ self.is_enabled = attributes[:'is_enabled']
122
+ end
123
+
124
+ if attributes.key?(:'message')
125
+ self.message = attributes[:'message']
126
+ end
127
+
128
+ if attributes.key?(:'name')
129
+ self.name = attributes[:'name']
130
+ end
131
+
132
+ if attributes.key?(:'options')
133
+ self.options = attributes[:'options']
134
+ end
135
+
136
+ if attributes.key?(:'queries')
137
+ if (value = attributes[:'queries']).is_a?(Array)
138
+ self.queries = value
139
+ end
140
+ end
141
+
142
+ if attributes.key?(:'tags')
143
+ if (value = attributes[:'tags']).is_a?(Array)
144
+ self.tags = value
145
+ end
146
+ end
147
+
148
+ if attributes.key?(:'type')
149
+ self.type = attributes[:'type']
150
+ end
151
+ end
152
+
153
+ # Check to see if the all the properties in the model are valid
154
+ # @return true if the model is valid
155
+ # @!visibility private
156
+ def valid?
157
+ return false if @cases.nil?
158
+ return false if @is_enabled.nil?
159
+ return false if @message.nil?
160
+ return false if @name.nil?
161
+ return false if @options.nil?
162
+ return false if @queries.nil?
163
+ true
164
+ end
165
+
166
+ # Custom attribute writer method with validation
167
+ # @param cases [Object] Object to be assigned
168
+ # @!visibility private
169
+ def cases=(cases)
170
+ if cases.nil?
171
+ fail ArgumentError, 'invalid value for "cases", cases cannot be nil.'
172
+ end
173
+ @cases = cases
174
+ end
175
+
176
+ # Custom attribute writer method with validation
177
+ # @param is_enabled [Object] Object to be assigned
178
+ # @!visibility private
179
+ def is_enabled=(is_enabled)
180
+ if is_enabled.nil?
181
+ fail ArgumentError, 'invalid value for "is_enabled", is_enabled cannot be nil.'
182
+ end
183
+ @is_enabled = is_enabled
184
+ end
185
+
186
+ # Custom attribute writer method with validation
187
+ # @param message [Object] Object to be assigned
188
+ # @!visibility private
189
+ def message=(message)
190
+ if message.nil?
191
+ fail ArgumentError, 'invalid value for "message", message cannot be nil.'
192
+ end
193
+ @message = message
194
+ end
195
+
196
+ # Custom attribute writer method with validation
197
+ # @param name [Object] Object to be assigned
198
+ # @!visibility private
199
+ def name=(name)
200
+ if name.nil?
201
+ fail ArgumentError, 'invalid value for "name", name cannot be nil.'
202
+ end
203
+ @name = name
204
+ end
205
+
206
+ # Custom attribute writer method with validation
207
+ # @param options [Object] Object to be assigned
208
+ # @!visibility private
209
+ def options=(options)
210
+ if options.nil?
211
+ fail ArgumentError, 'invalid value for "options", options cannot be nil.'
212
+ end
213
+ @options = options
214
+ end
215
+
216
+ # Custom attribute writer method with validation
217
+ # @param queries [Object] Object to be assigned
218
+ # @!visibility private
219
+ def queries=(queries)
220
+ if queries.nil?
221
+ fail ArgumentError, 'invalid value for "queries", queries cannot be nil.'
222
+ end
223
+ @queries = queries
224
+ end
225
+
226
+ # Checks equality by comparing each attribute.
227
+ # @param o [Object] Object to be compared
228
+ # @!visibility private
229
+ def ==(o)
230
+ return true if self.equal?(o)
231
+ self.class == o.class &&
232
+ cases == o.cases &&
233
+ filters == o.filters &&
234
+ has_extended_title == o.has_extended_title &&
235
+ is_enabled == o.is_enabled &&
236
+ message == o.message &&
237
+ name == o.name &&
238
+ options == o.options &&
239
+ queries == o.queries &&
240
+ tags == o.tags &&
241
+ type == o.type
242
+ end
243
+
244
+ # Calculates hash code according to all attributes.
245
+ # @return [Integer] Hash code
246
+ # @!visibility private
247
+ def hash
248
+ [cases, filters, has_extended_title, is_enabled, message, name, options, queries, tags, type].hash
249
+ end
250
+ end
251
+ end
@@ -48,7 +48,7 @@ module DatadogAPIClient::V2
48
48
  # Tags for generated signals.
49
49
  attr_accessor :tags
50
50
 
51
- # Cases for generating signals from third party rules. Only available for third party rules.
51
+ # Cases for generating signals from third-party rules. Only available for third-party rules.
52
52
  attr_accessor :third_party_cases
53
53
 
54
54
  # The rule type.
@@ -0,0 +1,263 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # The payload of a rule.
21
+ class SecurityMonitoringStandardRulePayload
22
+ include BaseGenericModel
23
+
24
+ # Cases for generating signals.
25
+ attr_reader :cases
26
+
27
+ # Additional queries to filter matched events before they are processed. This field is deprecated for log detection, signal correlation, and workload security rules.
28
+ attr_accessor :filters
29
+
30
+ # Whether the notifications include the triggering group-by values in their title.
31
+ attr_accessor :has_extended_title
32
+
33
+ # Whether the rule is enabled.
34
+ attr_reader :is_enabled
35
+
36
+ # Message for generated signals.
37
+ attr_reader :message
38
+
39
+ # The name of the rule.
40
+ attr_reader :name
41
+
42
+ # Options on rules.
43
+ attr_reader :options
44
+
45
+ # Queries for selecting logs which are part of the rule.
46
+ attr_reader :queries
47
+
48
+ # Tags for generated signals.
49
+ attr_accessor :tags
50
+
51
+ # Cases for generating signals from third-party rules. Only available for third-party rules.
52
+ attr_accessor :third_party_cases
53
+
54
+ # The rule type.
55
+ attr_accessor :type
56
+
57
+ # Attribute mapping from ruby-style variable name to JSON key.
58
+ # @!visibility private
59
+ def self.attribute_map
60
+ {
61
+ :'cases' => :'cases',
62
+ :'filters' => :'filters',
63
+ :'has_extended_title' => :'hasExtendedTitle',
64
+ :'is_enabled' => :'isEnabled',
65
+ :'message' => :'message',
66
+ :'name' => :'name',
67
+ :'options' => :'options',
68
+ :'queries' => :'queries',
69
+ :'tags' => :'tags',
70
+ :'third_party_cases' => :'thirdPartyCases',
71
+ :'type' => :'type'
72
+ }
73
+ end
74
+
75
+ # Attribute type mapping.
76
+ # @!visibility private
77
+ def self.openapi_types
78
+ {
79
+ :'cases' => :'Array<SecurityMonitoringRuleCaseCreate>',
80
+ :'filters' => :'Array<SecurityMonitoringFilter>',
81
+ :'has_extended_title' => :'Boolean',
82
+ :'is_enabled' => :'Boolean',
83
+ :'message' => :'String',
84
+ :'name' => :'String',
85
+ :'options' => :'SecurityMonitoringRuleOptions',
86
+ :'queries' => :'Array<SecurityMonitoringStandardRuleQuery>',
87
+ :'tags' => :'Array<String>',
88
+ :'third_party_cases' => :'Array<SecurityMonitoringThirdPartyRuleCaseCreate>',
89
+ :'type' => :'SecurityMonitoringRuleTypeCreate'
90
+ }
91
+ end
92
+
93
+ # Initializes the object
94
+ # @param attributes [Hash] Model attributes in the form of hash
95
+ # @!visibility private
96
+ def initialize(attributes = {})
97
+ if (!attributes.is_a?(Hash))
98
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SecurityMonitoringStandardRulePayload` initialize method"
99
+ end
100
+
101
+ # check to see if the attribute exists and convert string to symbol for hash key
102
+ attributes = attributes.each_with_object({}) { |(k, v), h|
103
+ if (!self.class.attribute_map.key?(k.to_sym))
104
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::SecurityMonitoringStandardRulePayload`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
105
+ end
106
+ h[k.to_sym] = v
107
+ }
108
+
109
+ if attributes.key?(:'cases')
110
+ if (value = attributes[:'cases']).is_a?(Array)
111
+ self.cases = value
112
+ end
113
+ end
114
+
115
+ if attributes.key?(:'filters')
116
+ if (value = attributes[:'filters']).is_a?(Array)
117
+ self.filters = value
118
+ end
119
+ end
120
+
121
+ if attributes.key?(:'has_extended_title')
122
+ self.has_extended_title = attributes[:'has_extended_title']
123
+ end
124
+
125
+ if attributes.key?(:'is_enabled')
126
+ self.is_enabled = attributes[:'is_enabled']
127
+ end
128
+
129
+ if attributes.key?(:'message')
130
+ self.message = attributes[:'message']
131
+ end
132
+
133
+ if attributes.key?(:'name')
134
+ self.name = attributes[:'name']
135
+ end
136
+
137
+ if attributes.key?(:'options')
138
+ self.options = attributes[:'options']
139
+ end
140
+
141
+ if attributes.key?(:'queries')
142
+ if (value = attributes[:'queries']).is_a?(Array)
143
+ self.queries = value
144
+ end
145
+ end
146
+
147
+ if attributes.key?(:'tags')
148
+ if (value = attributes[:'tags']).is_a?(Array)
149
+ self.tags = value
150
+ end
151
+ end
152
+
153
+ if attributes.key?(:'third_party_cases')
154
+ if (value = attributes[:'third_party_cases']).is_a?(Array)
155
+ self.third_party_cases = value
156
+ end
157
+ end
158
+
159
+ if attributes.key?(:'type')
160
+ self.type = attributes[:'type']
161
+ end
162
+ end
163
+
164
+ # Check to see if the all the properties in the model are valid
165
+ # @return true if the model is valid
166
+ # @!visibility private
167
+ def valid?
168
+ return false if @cases.nil?
169
+ return false if @is_enabled.nil?
170
+ return false if @message.nil?
171
+ return false if @name.nil?
172
+ return false if @options.nil?
173
+ return false if @queries.nil?
174
+ true
175
+ end
176
+
177
+ # Custom attribute writer method with validation
178
+ # @param cases [Object] Object to be assigned
179
+ # @!visibility private
180
+ def cases=(cases)
181
+ if cases.nil?
182
+ fail ArgumentError, 'invalid value for "cases", cases cannot be nil.'
183
+ end
184
+ @cases = cases
185
+ end
186
+
187
+ # Custom attribute writer method with validation
188
+ # @param is_enabled [Object] Object to be assigned
189
+ # @!visibility private
190
+ def is_enabled=(is_enabled)
191
+ if is_enabled.nil?
192
+ fail ArgumentError, 'invalid value for "is_enabled", is_enabled cannot be nil.'
193
+ end
194
+ @is_enabled = is_enabled
195
+ end
196
+
197
+ # Custom attribute writer method with validation
198
+ # @param message [Object] Object to be assigned
199
+ # @!visibility private
200
+ def message=(message)
201
+ if message.nil?
202
+ fail ArgumentError, 'invalid value for "message", message cannot be nil.'
203
+ end
204
+ @message = message
205
+ end
206
+
207
+ # Custom attribute writer method with validation
208
+ # @param name [Object] Object to be assigned
209
+ # @!visibility private
210
+ def name=(name)
211
+ if name.nil?
212
+ fail ArgumentError, 'invalid value for "name", name cannot be nil.'
213
+ end
214
+ @name = name
215
+ end
216
+
217
+ # Custom attribute writer method with validation
218
+ # @param options [Object] Object to be assigned
219
+ # @!visibility private
220
+ def options=(options)
221
+ if options.nil?
222
+ fail ArgumentError, 'invalid value for "options", options cannot be nil.'
223
+ end
224
+ @options = options
225
+ end
226
+
227
+ # Custom attribute writer method with validation
228
+ # @param queries [Object] Object to be assigned
229
+ # @!visibility private
230
+ def queries=(queries)
231
+ if queries.nil?
232
+ fail ArgumentError, 'invalid value for "queries", queries cannot be nil.'
233
+ end
234
+ @queries = queries
235
+ end
236
+
237
+ # Checks equality by comparing each attribute.
238
+ # @param o [Object] Object to be compared
239
+ # @!visibility private
240
+ def ==(o)
241
+ return true if self.equal?(o)
242
+ self.class == o.class &&
243
+ cases == o.cases &&
244
+ filters == o.filters &&
245
+ has_extended_title == o.has_extended_title &&
246
+ is_enabled == o.is_enabled &&
247
+ message == o.message &&
248
+ name == o.name &&
249
+ options == o.options &&
250
+ queries == o.queries &&
251
+ tags == o.tags &&
252
+ third_party_cases == o.third_party_cases &&
253
+ type == o.type
254
+ end
255
+
256
+ # Calculates hash code according to all attributes.
257
+ # @return [Integer] Hash code
258
+ # @!visibility private
259
+ def hash
260
+ [cases, filters, has_extended_title, is_enabled, message, name, options, queries, tags, third_party_cases, type].hash
261
+ end
262
+ end
263
+ end
@@ -72,7 +72,7 @@ module DatadogAPIClient::V2
72
72
  # Tags for generated signals.
73
73
  attr_accessor :tags
74
74
 
75
- # Cases for generating signals from third party rules. Only available for third party rules.
75
+ # Cases for generating signals from third-party rules. Only available for third-party rules.
76
76
  attr_accessor :third_party_cases
77
77
 
78
78
  # The rule type.