datadog_api_client 2.1.0 → 2.2.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 (130) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/poetry.lock +21 -14
  4. data/.generator/pyproject.toml +1 -1
  5. data/.generator/schemas/v1/openapi.yaml +558 -8
  6. data/.generator/schemas/v2/openapi.yaml +973 -253
  7. data/.generator/src/generator/templates/api_client.j2 +5 -1
  8. data/.generator/src/generator/templates/configuration.j2 +17 -0
  9. data/.github/workflows/test.yml +3 -0
  10. data/.pre-commit-config.yaml +1 -1
  11. data/CHANGELOG.md +26 -0
  12. data/README.md +11 -0
  13. data/examples/v1/dashboards/CreateDashboard_1423904722.rb +38 -0
  14. data/examples/v1/dashboards/CreateDashboard_2652180930.rb +43 -0
  15. data/examples/v1/dashboards/CreateDashboard_2850365602.rb +55 -0
  16. data/examples/v1/dashboards/CreateDashboard_3117424216.rb +33 -0
  17. data/examples/v1/dashboards/CreateDashboard_3669695268.rb +50 -0
  18. data/examples/v1/dashboards/CreateDashboard_858397694.rb +41 -0
  19. data/examples/v1/synthetics/CreateGlobalVariable_1068962881.rb +1 -1
  20. data/examples/v2/incidents/ListIncidentAttachments.rb +8 -0
  21. data/examples/v2/incidents/ListIncidentAttachments_2457735435.rb +11 -0
  22. data/examples/v2/incidents/UpdateIncidentAttachments.rb +38 -0
  23. data/examples/v2/incidents/UpdateIncidentAttachments_3881702075.rb +26 -0
  24. data/examples/v2/metrics/ListActiveMetricConfigurations.rb +5 -0
  25. data/examples/v2/metrics/ListTagConfigurations.rb +1 -1
  26. data/examples/v2/metrics/ListTagConfigurations_265033704.rb +8 -0
  27. data/examples/v2/metrics/{ListTagConfigurations_103226315.rb → ListTagConfigurations_2739018321.rb} +1 -1
  28. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule.rb +3 -2
  29. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_461183901.rb +2 -2
  30. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_498211763.rb +2 -2
  31. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_914562040.rb +50 -0
  32. data/examples/v2/security-monitoring/GetSecurityMonitoringSignal.rb +5 -0
  33. data/examples/v2/security-monitoring/UpdateSecurityMonitoringRule.rb +2 -1
  34. data/examples/v2/usage-metering/GetEstimatedCostByOrg.rb +1 -4
  35. data/examples/v2/usage-metering/GetEstimatedCostByOrg_2734954020.rb +2 -4
  36. data/examples/v2/usage-metering/GetEstimatedCostByOrg_3186693804.rb +2 -4
  37. data/examples/v2/usage-metering/GetHistoricalCostByOrg.rb +8 -0
  38. data/generate.sh +30 -0
  39. data/lib/datadog_api_client/api_client.rb +5 -1
  40. data/lib/datadog_api_client/configuration.rb +20 -1
  41. data/lib/datadog_api_client/inflector.rb +51 -1
  42. data/lib/datadog_api_client/v1/api/service_level_objectives_api.rb +3 -1
  43. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +5 -5
  44. data/lib/datadog_api_client/v1/models/dashboard_template_variable.rb +14 -2
  45. data/lib/datadog_api_client/v1/models/dashboard_template_variable_preset_value.rb +28 -5
  46. data/lib/datadog_api_client/v1/models/formula_and_function_event_query_definition.rb +14 -4
  47. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +1 -0
  48. data/lib/datadog_api_client/v1/models/list_stream_query.rb +14 -4
  49. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +2 -0
  50. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +21 -1
  51. data/lib/datadog_api_client/v1/models/search_service_level_objective.rb +111 -0
  52. data/lib/datadog_api_client/v1/models/search_service_level_objective_attributes.rb +286 -0
  53. data/lib/datadog_api_client/v1/models/search_service_level_objective_data.rb +134 -0
  54. data/lib/datadog_api_client/v1/models/search_slo_query.rb +137 -0
  55. data/lib/datadog_api_client/v1/models/search_slo_response_data_attributes.rb +8 -8
  56. data/lib/datadog_api_client/v1/models/search_slo_response_links.rb +2 -0
  57. data/lib/datadog_api_client/v1/models/search_slo_threshold.rb +184 -0
  58. data/lib/datadog_api_client/v1/models/search_slo_timeframe.rb +28 -0
  59. data/lib/datadog_api_client/v1/models/slo_creator.rb +131 -0
  60. data/lib/datadog_api_client/v1/models/slo_list_widget_definition.rb +185 -0
  61. data/lib/datadog_api_client/v1/models/slo_list_widget_definition_type.rb +26 -0
  62. data/lib/datadog_api_client/v1/models/slo_list_widget_query.rb +149 -0
  63. data/lib/datadog_api_client/v1/models/slo_list_widget_request.rb +143 -0
  64. data/lib/datadog_api_client/v1/models/slo_list_widget_request_type.rb +26 -0
  65. data/lib/datadog_api_client/v1/models/slo_overall_statuses.rb +174 -0
  66. data/lib/datadog_api_client/v1/models/slo_raw_error_budget_remaining.rb +121 -0
  67. data/lib/datadog_api_client/v1/models/synthetics_assertion_operator.rb +1 -0
  68. data/lib/datadog_api_client/v1/models/topology_map_widget_definition.rb +193 -0
  69. data/lib/datadog_api_client/v1/models/topology_map_widget_definition_type.rb +26 -0
  70. data/lib/datadog_api_client/v1/models/topology_query.rb +144 -0
  71. data/lib/datadog_api_client/v1/models/topology_query_data_source.rb +27 -0
  72. data/lib/datadog_api_client/v1/models/topology_request.rb +121 -0
  73. data/lib/datadog_api_client/v1/models/topology_request_type.rb +26 -0
  74. data/lib/datadog_api_client/v1/models/usage_attribution_sort.rb +2 -0
  75. data/lib/datadog_api_client/v1/models/usage_attribution_supported_metrics.rb +2 -0
  76. data/lib/datadog_api_client/v1/models/usage_attribution_values.rb +21 -1
  77. data/lib/datadog_api_client/v1/models/usage_fargate_hour.rb +11 -1
  78. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +11 -1
  79. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +11 -1
  80. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +11 -1
  81. data/lib/datadog_api_client/v1/models/widget_definition.rb +3 -1
  82. data/lib/datadog_api_client/v2/api/incident_services_api.rb +2 -2
  83. data/lib/datadog_api_client/v2/api/incident_teams_api.rb +2 -2
  84. data/lib/datadog_api_client/v2/api/incidents_api.rb +155 -0
  85. data/lib/datadog_api_client/v2/api/metrics_api.rb +76 -8
  86. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +65 -0
  87. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +83 -17
  88. data/lib/datadog_api_client/v2/models/incident_attachment_attachment_type.rb +27 -0
  89. data/lib/datadog_api_client/v2/models/incident_attachment_attributes.rb +63 -0
  90. data/lib/datadog_api_client/v2/models/incident_attachment_data.rb +187 -0
  91. data/lib/datadog_api_client/v2/models/incident_attachment_link_attachment_type.rb +26 -0
  92. data/lib/datadog_api_client/v2/models/incident_attachment_link_attributes.rb +145 -0
  93. data/lib/datadog_api_client/v2/models/incident_attachment_link_attributes_attachment_object.rb +143 -0
  94. data/lib/datadog_api_client/v2/models/incident_attachment_postmortem_attachment_type.rb +26 -0
  95. data/lib/datadog_api_client/v2/models/incident_attachment_postmortem_attributes.rb +145 -0
  96. data/lib/datadog_api_client/v2/models/incident_attachment_related_object.rb +26 -0
  97. data/lib/datadog_api_client/v2/models/incident_attachment_relationships.rb +111 -0
  98. data/lib/datadog_api_client/v2/models/incident_attachment_type.rb +26 -0
  99. data/lib/datadog_api_client/v2/models/incident_attachment_update_attributes.rb +63 -0
  100. data/lib/datadog_api_client/v2/models/incident_attachment_update_data.rb +144 -0
  101. data/lib/datadog_api_client/v2/models/incident_attachment_update_request.rb +127 -0
  102. data/lib/datadog_api_client/v2/models/incident_attachment_update_response.rb +137 -0
  103. data/lib/datadog_api_client/v2/models/incident_attachments_postmortem_attributes_attachment_object.rb +143 -0
  104. data/lib/datadog_api_client/v2/models/incident_attachments_response.rb +136 -0
  105. data/lib/datadog_api_client/v2/models/incident_attachments_response_included_item.rb +62 -0
  106. data/lib/datadog_api_client/v2/models/incident_related_object.rb +1 -0
  107. data/lib/datadog_api_client/v2/models/incident_response_attributes.rb +1 -11
  108. data/lib/datadog_api_client/v2/models/incident_response_included_item.rb +2 -1
  109. data/lib/datadog_api_client/v2/models/incident_response_relationships.rb +14 -14
  110. data/lib/datadog_api_client/v2/models/metric_active_configuration_type.rb +26 -0
  111. data/lib/datadog_api_client/v2/models/metric_suggested_tags_and_aggregations.rb +133 -0
  112. data/lib/datadog_api_client/v2/models/metric_suggested_tags_and_aggregations_response.rb +111 -0
  113. data/lib/datadog_api_client/v2/models/metric_suggested_tags_attributes.rb +125 -0
  114. data/lib/datadog_api_client/v2/models/relationship_to_incident_attachment.rb +124 -0
  115. data/lib/datadog_api_client/v2/models/relationship_to_incident_attachment_data.rb +145 -0
  116. data/lib/datadog_api_client/v2/models/security_monitoring_rule_create_payload.rb +36 -248
  117. data/lib/datadog_api_client/v2/models/security_monitoring_rule_query.rb +36 -151
  118. data/lib/datadog_api_client/v2/models/security_monitoring_rule_query_aggregation.rb +1 -0
  119. data/lib/datadog_api_client/v2/models/security_monitoring_rule_response.rb +37 -253
  120. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_create_payload.rb +275 -0
  121. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_query.rb +187 -0
  122. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_response.rb +279 -0
  123. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_type.rb +26 -0
  124. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +275 -0
  125. data/lib/datadog_api_client/v2/models/{security_monitoring_rule_query_create.rb → security_monitoring_standard_rule_query.rb} +3 -3
  126. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +279 -0
  127. data/lib/datadog_api_client/version.rb +1 -1
  128. metadata +70 -6
  129. data/Makefile +0 -7
  130. data/examples/v2/metrics/ListTagConfigurations_1799362914.rb +0 -8
@@ -0,0 +1,187 @@
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
+ # Query for matching rule on signals
21
+ class SecurityMonitoringSignalRuleQuery
22
+ include BaseGenericModel
23
+
24
+ # Whether the object has unparsed attributes
25
+ # @!visibility private
26
+ attr_accessor :_unparsed
27
+
28
+ # The aggregation type.
29
+ attr_accessor :aggregation
30
+
31
+ # Fields to group by.
32
+ attr_accessor :correlated_by_fields
33
+
34
+ # Index of the rule query used to retrieve the correlated field.
35
+ attr_accessor :correlated_query_index
36
+
37
+ # Group of target fields to aggregate over when using the new value aggregations.
38
+ attr_accessor :metrics
39
+
40
+ # Name of the query.
41
+ attr_accessor :name
42
+
43
+ # Rule ID to match on signals.
44
+ attr_accessor :rule_id
45
+
46
+ # Attribute mapping from ruby-style variable name to JSON key.
47
+ # @!visibility private
48
+ def self.attribute_map
49
+ {
50
+ :'aggregation' => :'aggregation',
51
+ :'correlated_by_fields' => :'correlatedByFields',
52
+ :'correlated_query_index' => :'correlatedQueryIndex',
53
+ :'metrics' => :'metrics',
54
+ :'name' => :'name',
55
+ :'rule_id' => :'ruleId'
56
+ }
57
+ end
58
+
59
+ # Returns all the JSON keys this model knows about
60
+ # @!visibility private
61
+ def self.acceptable_attributes
62
+ attribute_map.values
63
+ end
64
+
65
+ # Attribute type mapping.
66
+ # @!visibility private
67
+ def self.openapi_types
68
+ {
69
+ :'aggregation' => :'SecurityMonitoringRuleQueryAggregation',
70
+ :'correlated_by_fields' => :'Array<String>',
71
+ :'correlated_query_index' => :'Integer',
72
+ :'metrics' => :'Array<String>',
73
+ :'name' => :'String',
74
+ :'rule_id' => :'String'
75
+ }
76
+ end
77
+
78
+ # List of attributes with nullable: true
79
+ # @!visibility private
80
+ def self.openapi_nullable
81
+ Set.new([
82
+ ])
83
+ end
84
+
85
+ # Initializes the object
86
+ # @param attributes [Hash] Model attributes in the form of hash
87
+ # @!visibility private
88
+ def initialize(attributes = {})
89
+ if (!attributes.is_a?(Hash))
90
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SecurityMonitoringSignalRuleQuery` initialize method"
91
+ end
92
+
93
+ # check to see if the attribute exists and convert string to symbol for hash key
94
+ attributes = attributes.each_with_object({}) { |(k, v), h|
95
+ if (!self.class.attribute_map.key?(k.to_sym))
96
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::SecurityMonitoringSignalRuleQuery`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
97
+ end
98
+ h[k.to_sym] = v
99
+ }
100
+
101
+ if attributes.key?(:'aggregation')
102
+ self.aggregation = attributes[:'aggregation']
103
+ end
104
+
105
+ if attributes.key?(:'correlated_by_fields')
106
+ if (value = attributes[:'correlated_by_fields']).is_a?(Array)
107
+ self.correlated_by_fields = value
108
+ end
109
+ end
110
+
111
+ if attributes.key?(:'correlated_query_index')
112
+ self.correlated_query_index = attributes[:'correlated_query_index']
113
+ end
114
+
115
+ if attributes.key?(:'metrics')
116
+ if (value = attributes[:'metrics']).is_a?(Array)
117
+ self.metrics = value
118
+ end
119
+ end
120
+
121
+ if attributes.key?(:'name')
122
+ self.name = attributes[:'name']
123
+ end
124
+
125
+ if attributes.key?(:'rule_id')
126
+ self.rule_id = attributes[:'rule_id']
127
+ end
128
+ end
129
+
130
+ # Check to see if the all the properties in the model are valid
131
+ # @return true if the model is valid
132
+ # @!visibility private
133
+ def valid?
134
+ return false if !@correlated_query_index.nil? && @correlated_query_index > 9
135
+ return false if @rule_id.nil?
136
+ true
137
+ end
138
+
139
+ # Custom attribute writer method with validation
140
+ # @param correlated_query_index [Object] Object to be assigned
141
+ # @!visibility private
142
+ def correlated_query_index=(correlated_query_index)
143
+ if !correlated_query_index.nil? && correlated_query_index > 9
144
+ fail ArgumentError, 'invalid value for "correlated_query_index", must be smaller than or equal to 9.'
145
+ end
146
+ @correlated_query_index = correlated_query_index
147
+ end
148
+
149
+ # Custom attribute writer method with validation
150
+ # @param rule_id [Object] Object to be assigned
151
+ # @!visibility private
152
+ def rule_id=(rule_id)
153
+ if rule_id.nil?
154
+ fail ArgumentError, 'invalid value for "rule_id", rule_id cannot be nil.'
155
+ end
156
+ @rule_id = rule_id
157
+ end
158
+
159
+ # Checks equality by comparing each attribute.
160
+ # @param o [Object] Object to be compared
161
+ # @!visibility private
162
+ def ==(o)
163
+ return true if self.equal?(o)
164
+ self.class == o.class &&
165
+ aggregation == o.aggregation &&
166
+ correlated_by_fields == o.correlated_by_fields &&
167
+ correlated_query_index == o.correlated_query_index &&
168
+ metrics == o.metrics &&
169
+ name == o.name &&
170
+ rule_id == o.rule_id
171
+ end
172
+
173
+ # @see the `==` method
174
+ # @param o [Object] Object to be compared
175
+ # @!visibility private
176
+ def eql?(o)
177
+ self == o
178
+ end
179
+
180
+ # Calculates hash code according to all attributes.
181
+ # @return [Integer] Hash code
182
+ # @!visibility private
183
+ def hash
184
+ [aggregation, correlated_by_fields, correlated_query_index, metrics, name, rule_id].hash
185
+ end
186
+ end
187
+ end
@@ -0,0 +1,279 @@
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
+ # Rule.
21
+ class SecurityMonitoringSignalRuleResponse
22
+ include BaseGenericModel
23
+
24
+ # Whether the object has unparsed attributes
25
+ # @!visibility private
26
+ attr_accessor :_unparsed
27
+
28
+ # Cases for generating signals.
29
+ attr_accessor :cases
30
+
31
+ # When the rule was created, timestamp in milliseconds.
32
+ attr_accessor :created_at
33
+
34
+ # User ID of the user who created the rule.
35
+ attr_accessor :creation_author_id
36
+
37
+ # Additional queries to filter matched events before they are processed.
38
+ attr_accessor :filters
39
+
40
+ # Whether the notifications include the triggering group-by values in their title.
41
+ attr_accessor :has_extended_title
42
+
43
+ # The ID of the rule.
44
+ attr_accessor :id
45
+
46
+ # Whether the rule is included by default.
47
+ attr_accessor :is_default
48
+
49
+ # Whether the rule has been deleted.
50
+ attr_accessor :is_deleted
51
+
52
+ # Whether the rule is enabled.
53
+ attr_accessor :is_enabled
54
+
55
+ # Message for generated signals.
56
+ attr_accessor :message
57
+
58
+ # The name of the rule.
59
+ attr_accessor :name
60
+
61
+ # Options on rules.
62
+ attr_accessor :options
63
+
64
+ # Queries for selecting logs which are part of the rule.
65
+ attr_accessor :queries
66
+
67
+ # Tags for generated signals.
68
+ attr_accessor :tags
69
+
70
+ # The rule type.
71
+ attr_accessor :type
72
+
73
+ # User ID of the user who updated the rule.
74
+ attr_accessor :update_author_id
75
+
76
+ # The version of the rule.
77
+ attr_accessor :version
78
+
79
+ # Attribute mapping from ruby-style variable name to JSON key.
80
+ # @!visibility private
81
+ def self.attribute_map
82
+ {
83
+ :'cases' => :'cases',
84
+ :'created_at' => :'createdAt',
85
+ :'creation_author_id' => :'creationAuthorId',
86
+ :'filters' => :'filters',
87
+ :'has_extended_title' => :'hasExtendedTitle',
88
+ :'id' => :'id',
89
+ :'is_default' => :'isDefault',
90
+ :'is_deleted' => :'isDeleted',
91
+ :'is_enabled' => :'isEnabled',
92
+ :'message' => :'message',
93
+ :'name' => :'name',
94
+ :'options' => :'options',
95
+ :'queries' => :'queries',
96
+ :'tags' => :'tags',
97
+ :'type' => :'type',
98
+ :'update_author_id' => :'updateAuthorId',
99
+ :'version' => :'version'
100
+ }
101
+ end
102
+
103
+ # Returns all the JSON keys this model knows about
104
+ # @!visibility private
105
+ def self.acceptable_attributes
106
+ attribute_map.values
107
+ end
108
+
109
+ # Attribute type mapping.
110
+ # @!visibility private
111
+ def self.openapi_types
112
+ {
113
+ :'cases' => :'Array<SecurityMonitoringRuleCase>',
114
+ :'created_at' => :'Integer',
115
+ :'creation_author_id' => :'Integer',
116
+ :'filters' => :'Array<SecurityMonitoringFilter>',
117
+ :'has_extended_title' => :'Boolean',
118
+ :'id' => :'String',
119
+ :'is_default' => :'Boolean',
120
+ :'is_deleted' => :'Boolean',
121
+ :'is_enabled' => :'Boolean',
122
+ :'message' => :'String',
123
+ :'name' => :'String',
124
+ :'options' => :'SecurityMonitoringRuleOptions',
125
+ :'queries' => :'Array<SecurityMonitoringSignalRuleQuery>',
126
+ :'tags' => :'Array<String>',
127
+ :'type' => :'SecurityMonitoringSignalRuleType',
128
+ :'update_author_id' => :'Integer',
129
+ :'version' => :'Integer'
130
+ }
131
+ end
132
+
133
+ # List of attributes with nullable: true
134
+ # @!visibility private
135
+ def self.openapi_nullable
136
+ Set.new([
137
+ ])
138
+ end
139
+
140
+ # Initializes the object
141
+ # @param attributes [Hash] Model attributes in the form of hash
142
+ # @!visibility private
143
+ def initialize(attributes = {})
144
+ if (!attributes.is_a?(Hash))
145
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SecurityMonitoringSignalRuleResponse` initialize method"
146
+ end
147
+
148
+ # check to see if the attribute exists and convert string to symbol for hash key
149
+ attributes = attributes.each_with_object({}) { |(k, v), h|
150
+ if (!self.class.attribute_map.key?(k.to_sym))
151
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::SecurityMonitoringSignalRuleResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
152
+ end
153
+ h[k.to_sym] = v
154
+ }
155
+
156
+ if attributes.key?(:'cases')
157
+ if (value = attributes[:'cases']).is_a?(Array)
158
+ self.cases = value
159
+ end
160
+ end
161
+
162
+ if attributes.key?(:'created_at')
163
+ self.created_at = attributes[:'created_at']
164
+ end
165
+
166
+ if attributes.key?(:'creation_author_id')
167
+ self.creation_author_id = attributes[:'creation_author_id']
168
+ end
169
+
170
+ if attributes.key?(:'filters')
171
+ if (value = attributes[:'filters']).is_a?(Array)
172
+ self.filters = value
173
+ end
174
+ end
175
+
176
+ if attributes.key?(:'has_extended_title')
177
+ self.has_extended_title = attributes[:'has_extended_title']
178
+ end
179
+
180
+ if attributes.key?(:'id')
181
+ self.id = attributes[:'id']
182
+ end
183
+
184
+ if attributes.key?(:'is_default')
185
+ self.is_default = attributes[:'is_default']
186
+ end
187
+
188
+ if attributes.key?(:'is_deleted')
189
+ self.is_deleted = attributes[:'is_deleted']
190
+ end
191
+
192
+ if attributes.key?(:'is_enabled')
193
+ self.is_enabled = attributes[:'is_enabled']
194
+ end
195
+
196
+ if attributes.key?(:'message')
197
+ self.message = attributes[:'message']
198
+ end
199
+
200
+ if attributes.key?(:'name')
201
+ self.name = attributes[:'name']
202
+ end
203
+
204
+ if attributes.key?(:'options')
205
+ self.options = attributes[:'options']
206
+ end
207
+
208
+ if attributes.key?(:'queries')
209
+ if (value = attributes[:'queries']).is_a?(Array)
210
+ self.queries = value
211
+ end
212
+ end
213
+
214
+ if attributes.key?(:'tags')
215
+ if (value = attributes[:'tags']).is_a?(Array)
216
+ self.tags = value
217
+ end
218
+ end
219
+
220
+ if attributes.key?(:'type')
221
+ self.type = attributes[:'type']
222
+ end
223
+
224
+ if attributes.key?(:'update_author_id')
225
+ self.update_author_id = attributes[:'update_author_id']
226
+ end
227
+
228
+ if attributes.key?(:'version')
229
+ self.version = attributes[:'version']
230
+ end
231
+ end
232
+
233
+ # Check to see if the all the properties in the model are valid
234
+ # @return true if the model is valid
235
+ # @!visibility private
236
+ def valid?
237
+ true
238
+ end
239
+
240
+ # Checks equality by comparing each attribute.
241
+ # @param o [Object] Object to be compared
242
+ # @!visibility private
243
+ def ==(o)
244
+ return true if self.equal?(o)
245
+ self.class == o.class &&
246
+ cases == o.cases &&
247
+ created_at == o.created_at &&
248
+ creation_author_id == o.creation_author_id &&
249
+ filters == o.filters &&
250
+ has_extended_title == o.has_extended_title &&
251
+ id == o.id &&
252
+ is_default == o.is_default &&
253
+ is_deleted == o.is_deleted &&
254
+ is_enabled == o.is_enabled &&
255
+ message == o.message &&
256
+ name == o.name &&
257
+ options == o.options &&
258
+ queries == o.queries &&
259
+ tags == o.tags &&
260
+ type == o.type &&
261
+ update_author_id == o.update_author_id &&
262
+ version == o.version
263
+ end
264
+
265
+ # @see the `==` method
266
+ # @param o [Object] Object to be compared
267
+ # @!visibility private
268
+ def eql?(o)
269
+ self == o
270
+ end
271
+
272
+ # Calculates hash code according to all attributes.
273
+ # @return [Integer] Hash code
274
+ # @!visibility private
275
+ def hash
276
+ [cases, created_at, creation_author_id, filters, has_extended_title, id, is_default, is_deleted, is_enabled, message, name, options, queries, tags, type, update_author_id, version].hash
277
+ end
278
+ end
279
+ end
@@ -0,0 +1,26 @@
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 rule type.
21
+ class SecurityMonitoringSignalRuleType
22
+ include BaseEnumModel
23
+
24
+ SIGNAL_CORRELATION = "signal_correlation".freeze
25
+ end
26
+ end