datadog_api_client 2.1.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
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