datadog_api_client 2.23.0 → 2.24.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 (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.