datadog_api_client 2.18.0 → 2.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/conftest.py +1 -1
  4. data/.generator/poetry.lock +69 -69
  5. data/.generator/schemas/v1/openapi.yaml +189 -11
  6. data/.generator/schemas/v2/openapi.yaml +1321 -188
  7. data/.generator/src/generator/templates/model_generic.j2 +2 -2
  8. data/CHANGELOG.md +18 -0
  9. data/examples/v1/azure-integration/CreateAzureIntegration.rb +4 -4
  10. data/examples/v1/azure-integration/DeleteAzureIntegration.rb +2 -15
  11. data/examples/v1/azure-integration/UpdateAzureIntegration.rb +4 -4
  12. data/examples/v1/gcp-integration/CreateGCPIntegration.rb +4 -5
  13. data/examples/v1/gcp-integration/DeleteGCPIntegration.rb +2 -14
  14. data/examples/v1/gcp-integration/UpdateGCPIntegration.rb +4 -5
  15. data/examples/v1/service-level-objectives/CreateSLO_3765703239.rb +46 -0
  16. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent.rb +0 -3
  17. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +0 -3
  18. data/examples/v2/cloud-cost-management/CreateCostAWSCURConfig.rb +18 -0
  19. data/examples/v2/cloud-cost-management/CreateCostAzureUCConfigs.rb +29 -0
  20. data/examples/v2/cloud-cost-management/DeleteCostAWSCURConfig.rb +5 -0
  21. data/examples/v2/cloud-cost-management/DeleteCostAzureUCConfig.rb +5 -0
  22. data/examples/v2/cloud-cost-management/GetCloudCostActivity.rb +5 -0
  23. data/examples/v2/cloud-cost-management/ListAWSRelatedAccounts.rb +5 -0
  24. data/examples/v2/cloud-cost-management/ListCostAWSCURConfigs.rb +5 -0
  25. data/examples/v2/cloud-cost-management/ListCostAzureUCConfigs.rb +5 -0
  26. data/examples/v2/cloud-cost-management/UpdateCostAWSCURConfig.rb +14 -0
  27. data/examples/v2/cloud-cost-management/UpdateCostAzureUCConfigs.rb +14 -0
  28. data/examples/v2/cloudflare-integration/CreateCloudflareAccount.rb +1 -1
  29. data/examples/v2/cloudflare-integration/UpdateCloudflareAccount.rb +4 -1
  30. data/examples/v2/downtimes/ListMonitorDowntimes_3316718253.rb +5 -0
  31. data/examples/v2/gcp-integration/CreateGCPSTSAccount_130557025.rb +16 -0
  32. data/examples/v2/gcp-integration/CreateGCPSTSAccount_2597004741.rb +16 -0
  33. data/examples/v2/gcp-integration/CreateGCPSTSAccount_4235664992.rb +17 -0
  34. data/examples/v2/gcp-integration/UpdateGCPSTSAccount_3205636354.rb +19 -0
  35. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_3367706049.rb +46 -0
  36. data/examples/v2/sensitive-data-scanner/CreateScanningRule.rb +7 -0
  37. data/examples/v2/sensitive-data-scanner/UpdateScanningRule.rb +7 -10
  38. data/examples/v2/teams/CreateTeamMembership.rb +6 -0
  39. data/lib/datadog_api_client/configuration.rb +0 -1
  40. data/lib/datadog_api_client/inflector.rb +52 -0
  41. data/lib/datadog_api_client/v1/api/downtimes_api.rb +28 -7
  42. data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -1
  43. data/lib/datadog_api_client/v1/models/gcp_account.rb +22 -2
  44. data/lib/datadog_api_client/v1/models/organization.rb +1 -1
  45. data/lib/datadog_api_client/v1/models/service_level_objective.rb +11 -1
  46. data/lib/datadog_api_client/v1/models/service_level_objective_request.rb +11 -1
  47. data/lib/datadog_api_client/v1/models/slo_data_source_query_definition.rb +62 -0
  48. data/lib/datadog_api_client/v1/models/slo_formula.rb +98 -0
  49. data/lib/datadog_api_client/v1/models/slo_response_data.rb +11 -1
  50. data/lib/datadog_api_client/v1/models/slo_sli_spec.rb +62 -0
  51. data/lib/datadog_api_client/v1/models/slo_time_slice_comparator.rb +29 -0
  52. data/lib/datadog_api_client/v1/models/slo_time_slice_condition.rb +141 -0
  53. data/lib/datadog_api_client/v1/models/slo_time_slice_query.rb +131 -0
  54. data/lib/datadog_api_client/v1/models/slo_time_slice_spec.rb +99 -0
  55. data/lib/datadog_api_client/v1/models/slo_type.rb +1 -0
  56. data/lib/datadog_api_client/v1/models/slo_type_numeric.rb +1 -0
  57. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +11 -1
  58. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +11 -1
  59. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +11 -1
  60. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +0 -6
  61. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +680 -0
  62. data/lib/datadog_api_client/v2/api/downtimes_api.rb +25 -0
  63. data/lib/datadog_api_client/v2/api/metrics_api.rb +3 -2
  64. data/lib/datadog_api_client/v2/models/aws_cur_config.rb +129 -0
  65. data/lib/datadog_api_client/v2/models/aws_cur_config_attributes.rb +305 -0
  66. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_data.rb +119 -0
  67. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request.rb +98 -0
  68. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_attributes.rb +98 -0
  69. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_type.rb +26 -0
  70. data/lib/datadog_api_client/v2/models/aws_cur_config_post_data.rb +119 -0
  71. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request.rb +98 -0
  72. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_attributes.rb +202 -0
  73. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_type.rb +26 -0
  74. data/lib/datadog_api_client/v2/models/aws_cur_config_response.rb +80 -0
  75. data/lib/datadog_api_client/v2/models/aws_cur_config_type.rb +26 -0
  76. data/lib/datadog_api_client/v2/models/aws_cur_configs_response.rb +82 -0
  77. data/lib/datadog_api_client/v2/models/aws_related_account.rb +129 -0
  78. data/lib/datadog_api_client/v2/models/aws_related_account_attributes.rb +90 -0
  79. data/lib/datadog_api_client/v2/models/aws_related_account_type.rb +26 -0
  80. data/lib/datadog_api_client/v2/models/aws_related_accounts_response.rb +82 -0
  81. data/lib/datadog_api_client/v2/models/azure_uc_config.rb +378 -0
  82. data/lib/datadog_api_client/v2/models/azure_uc_config_pair.rb +129 -0
  83. data/lib/datadog_api_client/v2/models/azure_uc_config_pair_attributes.rb +110 -0
  84. data/lib/datadog_api_client/v2/models/azure_uc_config_pair_type.rb +26 -0
  85. data/lib/datadog_api_client/v2/models/azure_uc_config_pairs_response.rb +80 -0
  86. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_data.rb +119 -0
  87. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request.rb +98 -0
  88. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_attributes.rb +98 -0
  89. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_type.rb +26 -0
  90. data/lib/datadog_api_client/v2/models/azure_uc_config_post_data.rb +119 -0
  91. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request.rb +98 -0
  92. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_attributes.rb +192 -0
  93. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_type.rb +26 -0
  94. data/lib/datadog_api_client/v2/models/azure_uc_configs_response.rb +82 -0
  95. data/lib/datadog_api_client/v2/models/bill_config.rb +161 -0
  96. data/lib/datadog_api_client/v2/models/ci_app_git_info.rb +2 -2
  97. data/lib/datadog_api_client/v2/models/cloud_cost_activity.rb +119 -0
  98. data/lib/datadog_api_client/v2/models/cloud_cost_activity_attributes.rb +98 -0
  99. data/lib/datadog_api_client/v2/models/cloud_cost_activity_response.rb +80 -0
  100. data/lib/datadog_api_client/v2/models/cloud_cost_activity_type.rb +26 -0
  101. data/lib/datadog_api_client/v2/models/cloudflare_account_create_request_attributes.rb +28 -4
  102. data/lib/datadog_api_client/v2/models/cloudflare_account_response_attributes.rb +28 -4
  103. data/lib/datadog_api_client/v2/models/cloudflare_account_update_request_attributes.rb +28 -4
  104. data/lib/datadog_api_client/v2/models/dora_git_info.rb +2 -2
  105. data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +25 -5
  106. data/lib/datadog_api_client/v2/models/relationship_to_user_team_team.rb +98 -0
  107. data/lib/datadog_api_client/v2/models/relationship_to_user_team_team_data.rb +119 -0
  108. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +14 -4
  109. data/lib/datadog_api_client/v2/models/security_monitoring_rule_third_party_options.rb +114 -0
  110. data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +13 -1
  111. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +13 -1
  112. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +13 -1
  113. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_root_query.rb +92 -0
  114. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case.rb +112 -0
  115. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case_create.rb +130 -0
  116. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_included_keyword_configuration.rb +134 -0
  117. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_rule_attributes.rb +46 -1
  118. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_standard_pattern_attributes.rb +33 -1
  119. data/lib/datadog_api_client/v2/models/user_team_attributes.rb +24 -1
  120. data/lib/datadog_api_client/v2/models/user_team_relationships.rb +11 -1
  121. data/lib/datadog_api_client/v2/models/user_team_team_type.rb +26 -0
  122. data/lib/datadog_api_client/version.rb +1 -1
  123. metadata +71 -2
@@ -0,0 +1,114 @@
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
+ # Options on third party rules.
21
+ class SecurityMonitoringRuleThirdPartyOptions
22
+ include BaseGenericModel
23
+
24
+ # Notification targets for the logs that do not correspond to any of the cases.
25
+ attr_accessor :default_notifications
26
+
27
+ # Severity of the Security Signal.
28
+ attr_accessor :default_status
29
+
30
+ # Queries to be combined with third party case queries. Each of them can have different group by fields, to aggregate differently based on the type of alert.
31
+ attr_accessor :root_queries
32
+
33
+ # A template for the signal title; if omitted, the title is generated based on the case name.
34
+ attr_accessor :signal_title_template
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ # @!visibility private
38
+ def self.attribute_map
39
+ {
40
+ :'default_notifications' => :'defaultNotifications',
41
+ :'default_status' => :'defaultStatus',
42
+ :'root_queries' => :'rootQueries',
43
+ :'signal_title_template' => :'signalTitleTemplate'
44
+ }
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ # @!visibility private
49
+ def self.openapi_types
50
+ {
51
+ :'default_notifications' => :'Array<String>',
52
+ :'default_status' => :'SecurityMonitoringRuleSeverity',
53
+ :'root_queries' => :'Array<SecurityMonitoringThirdPartyRootQuery>',
54
+ :'signal_title_template' => :'String'
55
+ }
56
+ end
57
+
58
+ # Initializes the object
59
+ # @param attributes [Hash] Model attributes in the form of hash
60
+ # @!visibility private
61
+ def initialize(attributes = {})
62
+ if (!attributes.is_a?(Hash))
63
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SecurityMonitoringRuleThirdPartyOptions` initialize method"
64
+ end
65
+
66
+ # check to see if the attribute exists and convert string to symbol for hash key
67
+ attributes = attributes.each_with_object({}) { |(k, v), h|
68
+ if (!self.class.attribute_map.key?(k.to_sym))
69
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::SecurityMonitoringRuleThirdPartyOptions`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
70
+ end
71
+ h[k.to_sym] = v
72
+ }
73
+
74
+ if attributes.key?(:'default_notifications')
75
+ if (value = attributes[:'default_notifications']).is_a?(Array)
76
+ self.default_notifications = value
77
+ end
78
+ end
79
+
80
+ if attributes.key?(:'default_status')
81
+ self.default_status = attributes[:'default_status']
82
+ end
83
+
84
+ if attributes.key?(:'root_queries')
85
+ if (value = attributes[:'root_queries']).is_a?(Array)
86
+ self.root_queries = value
87
+ end
88
+ end
89
+
90
+ if attributes.key?(:'signal_title_template')
91
+ self.signal_title_template = attributes[:'signal_title_template']
92
+ end
93
+ end
94
+
95
+ # Checks equality by comparing each attribute.
96
+ # @param o [Object] Object to be compared
97
+ # @!visibility private
98
+ def ==(o)
99
+ return true if self.equal?(o)
100
+ self.class == o.class &&
101
+ default_notifications == o.default_notifications &&
102
+ default_status == o.default_status &&
103
+ root_queries == o.root_queries &&
104
+ signal_title_template == o.signal_title_template
105
+ end
106
+
107
+ # Calculates hash code according to all attributes.
108
+ # @return [Integer] Hash code
109
+ # @!visibility private
110
+ def hash
111
+ [default_notifications, default_status, root_queries, signal_title_template].hash
112
+ end
113
+ end
114
+ end
@@ -51,6 +51,9 @@ module DatadogAPIClient::V2
51
51
  # Tags for generated signals.
52
52
  attr_accessor :tags
53
53
 
54
+ # Cases for generating signals from third party rules. Only available for third party rules.
55
+ attr_accessor :third_party_cases
56
+
54
57
  # The version of the rule being updated.
55
58
  attr_reader :version
56
59
 
@@ -68,6 +71,7 @@ module DatadogAPIClient::V2
68
71
  :'options' => :'options',
69
72
  :'queries' => :'queries',
70
73
  :'tags' => :'tags',
74
+ :'third_party_cases' => :'thirdPartyCases',
71
75
  :'version' => :'version'
72
76
  }
73
77
  end
@@ -86,6 +90,7 @@ module DatadogAPIClient::V2
86
90
  :'options' => :'SecurityMonitoringRuleOptions',
87
91
  :'queries' => :'Array<SecurityMonitoringRuleQuery>',
88
92
  :'tags' => :'Array<String>',
93
+ :'third_party_cases' => :'Array<SecurityMonitoringThirdPartyRuleCase>',
89
94
  :'version' => :'Integer'
90
95
  }
91
96
  end
@@ -154,6 +159,12 @@ module DatadogAPIClient::V2
154
159
  end
155
160
  end
156
161
 
162
+ if attributes.key?(:'third_party_cases')
163
+ if (value = attributes[:'third_party_cases']).is_a?(Array)
164
+ self.third_party_cases = value
165
+ end
166
+ end
167
+
157
168
  if attributes.key?(:'version')
158
169
  self.version = attributes[:'version']
159
170
  end
@@ -193,6 +204,7 @@ module DatadogAPIClient::V2
193
204
  options == o.options &&
194
205
  queries == o.queries &&
195
206
  tags == o.tags &&
207
+ third_party_cases == o.third_party_cases &&
196
208
  version == o.version
197
209
  end
198
210
 
@@ -200,7 +212,7 @@ module DatadogAPIClient::V2
200
212
  # @return [Integer] Hash code
201
213
  # @!visibility private
202
214
  def hash
203
- [cases, compliance_signal_options, filters, has_extended_title, is_enabled, message, name, options, queries, tags, version].hash
215
+ [cases, compliance_signal_options, filters, has_extended_title, is_enabled, message, name, options, queries, tags, third_party_cases, version].hash
204
216
  end
205
217
  end
206
218
  end
@@ -48,6 +48,9 @@ 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.
52
+ attr_accessor :third_party_cases
53
+
51
54
  # The rule type.
52
55
  attr_accessor :type
53
56
 
@@ -64,6 +67,7 @@ module DatadogAPIClient::V2
64
67
  :'options' => :'options',
65
68
  :'queries' => :'queries',
66
69
  :'tags' => :'tags',
70
+ :'third_party_cases' => :'thirdPartyCases',
67
71
  :'type' => :'type'
68
72
  }
69
73
  end
@@ -81,6 +85,7 @@ module DatadogAPIClient::V2
81
85
  :'options' => :'SecurityMonitoringRuleOptions',
82
86
  :'queries' => :'Array<SecurityMonitoringStandardRuleQuery>',
83
87
  :'tags' => :'Array<String>',
88
+ :'third_party_cases' => :'Array<SecurityMonitoringThirdPartyRuleCaseCreate>',
84
89
  :'type' => :'SecurityMonitoringRuleTypeCreate'
85
90
  }
86
91
  end
@@ -145,6 +150,12 @@ module DatadogAPIClient::V2
145
150
  end
146
151
  end
147
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
+
148
159
  if attributes.key?(:'type')
149
160
  self.type = attributes[:'type']
150
161
  end
@@ -238,6 +249,7 @@ module DatadogAPIClient::V2
238
249
  options == o.options &&
239
250
  queries == o.queries &&
240
251
  tags == o.tags &&
252
+ third_party_cases == o.third_party_cases &&
241
253
  type == o.type
242
254
  end
243
255
 
@@ -245,7 +257,7 @@ module DatadogAPIClient::V2
245
257
  # @return [Integer] Hash code
246
258
  # @!visibility private
247
259
  def hash
248
- [cases, filters, has_extended_title, is_enabled, message, name, options, queries, tags, type].hash
260
+ [cases, filters, has_extended_title, is_enabled, message, name, options, queries, tags, third_party_cases, type].hash
249
261
  end
250
262
  end
251
263
  end
@@ -69,6 +69,9 @@ module DatadogAPIClient::V2
69
69
  # Tags for generated signals.
70
70
  attr_accessor :tags
71
71
 
72
+ # Cases for generating signals from third party rules. Only available for third party rules.
73
+ attr_accessor :third_party_cases
74
+
72
75
  # The rule type.
73
76
  attr_accessor :type
74
77
 
@@ -98,6 +101,7 @@ module DatadogAPIClient::V2
98
101
  :'options' => :'options',
99
102
  :'queries' => :'queries',
100
103
  :'tags' => :'tags',
104
+ :'third_party_cases' => :'thirdPartyCases',
101
105
  :'type' => :'type',
102
106
  :'update_author_id' => :'updateAuthorId',
103
107
  :'version' => :'version'
@@ -124,6 +128,7 @@ module DatadogAPIClient::V2
124
128
  :'options' => :'SecurityMonitoringRuleOptions',
125
129
  :'queries' => :'Array<SecurityMonitoringStandardRuleQuery>',
126
130
  :'tags' => :'Array<String>',
131
+ :'third_party_cases' => :'Array<SecurityMonitoringThirdPartyRuleCase>',
127
132
  :'type' => :'SecurityMonitoringRuleTypeRead',
128
133
  :'update_author_id' => :'Integer',
129
134
  :'version' => :'Integer'
@@ -218,6 +223,12 @@ module DatadogAPIClient::V2
218
223
  end
219
224
  end
220
225
 
226
+ if attributes.key?(:'third_party_cases')
227
+ if (value = attributes[:'third_party_cases']).is_a?(Array)
228
+ self.third_party_cases = value
229
+ end
230
+ end
231
+
221
232
  if attributes.key?(:'type')
222
233
  self.type = attributes[:'type']
223
234
  end
@@ -253,6 +264,7 @@ module DatadogAPIClient::V2
253
264
  options == o.options &&
254
265
  queries == o.queries &&
255
266
  tags == o.tags &&
267
+ third_party_cases == o.third_party_cases &&
256
268
  type == o.type &&
257
269
  update_author_id == o.update_author_id &&
258
270
  version == o.version
@@ -262,7 +274,7 @@ module DatadogAPIClient::V2
262
274
  # @return [Integer] Hash code
263
275
  # @!visibility private
264
276
  def hash
265
- [cases, compliance_signal_options, created_at, creation_author_id, deprecation_date, filters, has_extended_title, id, is_default, is_deleted, is_enabled, message, name, options, queries, tags, type, update_author_id, version].hash
277
+ [cases, compliance_signal_options, created_at, creation_author_id, deprecation_date, filters, has_extended_title, id, is_default, is_deleted, is_enabled, message, name, options, queries, tags, third_party_cases, type, update_author_id, version].hash
266
278
  end
267
279
  end
268
280
  end
@@ -0,0 +1,92 @@
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
+ # A query to be combined with the third party case query.
21
+ class SecurityMonitoringThirdPartyRootQuery
22
+ include BaseGenericModel
23
+
24
+ # Fields to group by.
25
+ attr_accessor :group_by_fields
26
+
27
+ # Query to run on logs.
28
+ attr_accessor :query
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ # @!visibility private
32
+ def self.attribute_map
33
+ {
34
+ :'group_by_fields' => :'groupByFields',
35
+ :'query' => :'query'
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ # @!visibility private
41
+ def self.openapi_types
42
+ {
43
+ :'group_by_fields' => :'Array<String>',
44
+ :'query' => :'String'
45
+ }
46
+ end
47
+
48
+ # Initializes the object
49
+ # @param attributes [Hash] Model attributes in the form of hash
50
+ # @!visibility private
51
+ def initialize(attributes = {})
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SecurityMonitoringThirdPartyRootQuery` initialize method"
54
+ end
55
+
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::SecurityMonitoringThirdPartyRootQuery`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
63
+
64
+ if attributes.key?(:'group_by_fields')
65
+ if (value = attributes[:'group_by_fields']).is_a?(Array)
66
+ self.group_by_fields = value
67
+ end
68
+ end
69
+
70
+ if attributes.key?(:'query')
71
+ self.query = attributes[:'query']
72
+ end
73
+ end
74
+
75
+ # Checks equality by comparing each attribute.
76
+ # @param o [Object] Object to be compared
77
+ # @!visibility private
78
+ def ==(o)
79
+ return true if self.equal?(o)
80
+ self.class == o.class &&
81
+ group_by_fields == o.group_by_fields &&
82
+ query == o.query
83
+ end
84
+
85
+ # Calculates hash code according to all attributes.
86
+ # @return [Integer] Hash code
87
+ # @!visibility private
88
+ def hash
89
+ [group_by_fields, query].hash
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,112 @@
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
+ # Case when signal is generated by a third party rule.
21
+ class SecurityMonitoringThirdPartyRuleCase
22
+ include BaseGenericModel
23
+
24
+ # Name of the case.
25
+ attr_accessor :name
26
+
27
+ # Notification targets for each rule case.
28
+ attr_accessor :notifications
29
+
30
+ # A query to map a third party event to this case.
31
+ attr_accessor :query
32
+
33
+ # Severity of the Security Signal.
34
+ attr_accessor :status
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ # @!visibility private
38
+ def self.attribute_map
39
+ {
40
+ :'name' => :'name',
41
+ :'notifications' => :'notifications',
42
+ :'query' => :'query',
43
+ :'status' => :'status'
44
+ }
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ # @!visibility private
49
+ def self.openapi_types
50
+ {
51
+ :'name' => :'String',
52
+ :'notifications' => :'Array<String>',
53
+ :'query' => :'String',
54
+ :'status' => :'SecurityMonitoringRuleSeverity'
55
+ }
56
+ end
57
+
58
+ # Initializes the object
59
+ # @param attributes [Hash] Model attributes in the form of hash
60
+ # @!visibility private
61
+ def initialize(attributes = {})
62
+ if (!attributes.is_a?(Hash))
63
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SecurityMonitoringThirdPartyRuleCase` initialize method"
64
+ end
65
+
66
+ # check to see if the attribute exists and convert string to symbol for hash key
67
+ attributes = attributes.each_with_object({}) { |(k, v), h|
68
+ if (!self.class.attribute_map.key?(k.to_sym))
69
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::SecurityMonitoringThirdPartyRuleCase`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
70
+ end
71
+ h[k.to_sym] = v
72
+ }
73
+
74
+ if attributes.key?(:'name')
75
+ self.name = attributes[:'name']
76
+ end
77
+
78
+ if attributes.key?(:'notifications')
79
+ if (value = attributes[:'notifications']).is_a?(Array)
80
+ self.notifications = value
81
+ end
82
+ end
83
+
84
+ if attributes.key?(:'query')
85
+ self.query = attributes[:'query']
86
+ end
87
+
88
+ if attributes.key?(:'status')
89
+ self.status = attributes[:'status']
90
+ end
91
+ end
92
+
93
+ # Checks equality by comparing each attribute.
94
+ # @param o [Object] Object to be compared
95
+ # @!visibility private
96
+ def ==(o)
97
+ return true if self.equal?(o)
98
+ self.class == o.class &&
99
+ name == o.name &&
100
+ notifications == o.notifications &&
101
+ query == o.query &&
102
+ status == o.status
103
+ end
104
+
105
+ # Calculates hash code according to all attributes.
106
+ # @return [Integer] Hash code
107
+ # @!visibility private
108
+ def hash
109
+ [name, notifications, query, status].hash
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,130 @@
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
+ # Case when a signal is generated by a third party rule.
21
+ class SecurityMonitoringThirdPartyRuleCaseCreate
22
+ include BaseGenericModel
23
+
24
+ # Name of the case.
25
+ attr_accessor :name
26
+
27
+ # Notification targets for each rule case.
28
+ attr_accessor :notifications
29
+
30
+ # A query to map a third party event to this case.
31
+ attr_accessor :query
32
+
33
+ # Severity of the Security Signal.
34
+ attr_reader :status
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ # @!visibility private
38
+ def self.attribute_map
39
+ {
40
+ :'name' => :'name',
41
+ :'notifications' => :'notifications',
42
+ :'query' => :'query',
43
+ :'status' => :'status'
44
+ }
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ # @!visibility private
49
+ def self.openapi_types
50
+ {
51
+ :'name' => :'String',
52
+ :'notifications' => :'Array<String>',
53
+ :'query' => :'String',
54
+ :'status' => :'SecurityMonitoringRuleSeverity'
55
+ }
56
+ end
57
+
58
+ # Initializes the object
59
+ # @param attributes [Hash] Model attributes in the form of hash
60
+ # @!visibility private
61
+ def initialize(attributes = {})
62
+ if (!attributes.is_a?(Hash))
63
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SecurityMonitoringThirdPartyRuleCaseCreate` initialize method"
64
+ end
65
+
66
+ # check to see if the attribute exists and convert string to symbol for hash key
67
+ attributes = attributes.each_with_object({}) { |(k, v), h|
68
+ if (!self.class.attribute_map.key?(k.to_sym))
69
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::SecurityMonitoringThirdPartyRuleCaseCreate`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
70
+ end
71
+ h[k.to_sym] = v
72
+ }
73
+
74
+ if attributes.key?(:'name')
75
+ self.name = attributes[:'name']
76
+ end
77
+
78
+ if attributes.key?(:'notifications')
79
+ if (value = attributes[:'notifications']).is_a?(Array)
80
+ self.notifications = value
81
+ end
82
+ end
83
+
84
+ if attributes.key?(:'query')
85
+ self.query = attributes[:'query']
86
+ end
87
+
88
+ if attributes.key?(:'status')
89
+ self.status = attributes[:'status']
90
+ end
91
+ end
92
+
93
+ # Check to see if the all the properties in the model are valid
94
+ # @return true if the model is valid
95
+ # @!visibility private
96
+ def valid?
97
+ return false if @status.nil?
98
+ true
99
+ end
100
+
101
+ # Custom attribute writer method with validation
102
+ # @param status [Object] Object to be assigned
103
+ # @!visibility private
104
+ def status=(status)
105
+ if status.nil?
106
+ fail ArgumentError, 'invalid value for "status", status cannot be nil.'
107
+ end
108
+ @status = status
109
+ end
110
+
111
+ # Checks equality by comparing each attribute.
112
+ # @param o [Object] Object to be compared
113
+ # @!visibility private
114
+ def ==(o)
115
+ return true if self.equal?(o)
116
+ self.class == o.class &&
117
+ name == o.name &&
118
+ notifications == o.notifications &&
119
+ query == o.query &&
120
+ status == o.status
121
+ end
122
+
123
+ # Calculates hash code according to all attributes.
124
+ # @return [Integer] Hash code
125
+ # @!visibility private
126
+ def hash
127
+ [name, notifications, query, status].hash
128
+ end
129
+ end
130
+ end