datadog_api_client 2.21.0 → 2.23.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 (155) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/schemas/v1/openapi.yaml +308 -695
  4. data/.generator/schemas/v2/openapi.yaml +664 -185
  5. data/.github/workflows/prepare_release.yml +2 -2
  6. data/.github/workflows/publish.yml +2 -2
  7. data/.github/workflows/release.yml +2 -2
  8. data/.github/workflows/test.yml +1 -1
  9. data/CHANGELOG.md +41 -0
  10. data/Gemfile +1 -1
  11. data/examples/v1/aws-integration/CreateAWSAccount.rb +1 -1
  12. data/examples/v1/aws-integration/CreateNewAWSExternalID.rb +1 -0
  13. data/examples/v1/aws-integration/UpdateAWSAccount.rb +1 -1
  14. data/examples/v1/synthetics/CreateSyntheticsAPITest_1241981394.rb +118 -0
  15. data/examples/v1/synthetics/CreateSyntheticsAPITest_1487281163.rb +9 -0
  16. data/examples/v1/synthetics/CreateSyntheticsAPITest_960766374.rb +8 -0
  17. data/examples/v1/synthetics/UpdateAPITest.rb +8 -0
  18. data/examples/v1/synthetics/UpdateBrowserTest.rb +3 -0
  19. data/examples/v2/apm-retention-filters/UpdateApmRetentionFilter.rb +2 -2
  20. data/examples/v2/authn-mappings/CreateAuthNMapping.rb +1 -1
  21. data/examples/v2/authn-mappings/UpdateAuthNMapping.rb +1 -1
  22. data/examples/v2/{cloud-workload-security → csm-threats}/CreateCSMThreatsAgentRule.rb +2 -2
  23. data/examples/v2/{cloud-workload-security → csm-threats}/CreateCloudWorkloadSecurityAgentRule.rb +2 -2
  24. data/examples/v2/{cloud-workload-security → csm-threats}/DeleteCSMThreatsAgentRule.rb +1 -1
  25. data/examples/v2/{cloud-workload-security → csm-threats}/DeleteCloudWorkloadSecurityAgentRule.rb +1 -1
  26. data/examples/v2/{cloud-workload-security → csm-threats}/DownloadCSMThreatsPolicy.rb +1 -1
  27. data/examples/v2/{cloud-workload-security → csm-threats}/DownloadCloudWorkloadPolicyFile.rb +1 -1
  28. data/examples/v2/{cloud-workload-security → csm-threats}/GetCSMThreatsAgentRule.rb +1 -1
  29. data/examples/v2/{cloud-workload-security → csm-threats}/GetCloudWorkloadSecurityAgentRule.rb +1 -1
  30. data/examples/v2/{cloud-workload-security → csm-threats}/ListCSMThreatsAgentRules.rb +1 -1
  31. data/examples/v2/{cloud-workload-security → csm-threats}/ListCloudWorkloadSecurityAgentRules.rb +1 -1
  32. data/examples/v2/{cloud-workload-security → csm-threats}/UpdateCSMThreatsAgentRule.rb +1 -1
  33. data/examples/v2/{cloud-workload-security → csm-threats}/UpdateCloudWorkloadSecurityAgentRule.rb +1 -1
  34. data/examples/v2/gcp-integration/CreateGCPSTSAccount.rb +1 -1
  35. data/examples/v2/gcp-integration/CreateGCPSTSAccount_109518525.rb +1 -1
  36. data/examples/v2/gcp-integration/CreateGCPSTSAccount_130557025.rb +1 -1
  37. data/examples/v2/gcp-integration/CreateGCPSTSAccount_194782945.rb +1 -1
  38. data/examples/v2/gcp-integration/CreateGCPSTSAccount_2597004741.rb +1 -1
  39. data/examples/v2/gcp-integration/CreateGCPSTSAccount_4235664992.rb +1 -1
  40. data/examples/v2/gcp-integration/UpdateGCPSTSAccount.rb +1 -1
  41. data/examples/v2/gcp-integration/UpdateGCPSTSAccount_2241994060.rb +1 -1
  42. data/examples/v2/gcp-integration/UpdateGCPSTSAccount_3205636354.rb +1 -1
  43. data/examples/v2/logs-custom-destinations/UpdateLogsCustomDestination.rb +4 -0
  44. data/examples/v2/metrics/QueryScalarData_3112571352.rb +2 -2
  45. data/examples/v2/metrics/QueryTimeseriesData_301142940.rb +3 -3
  46. data/examples/v2/roles/CreateRole.rb +14 -2
  47. data/examples/v2/roles/CreateRole_3862893229.rb +27 -0
  48. data/examples/v2/security-monitoring/CreateSecurityMonitoringSuppression.rb +1 -1
  49. data/examples/v2/security-monitoring/CreateSecurityMonitoringSuppression_3192265332.rb +19 -0
  50. data/examples/v2/security-monitoring/ValidateSecurityMonitoringRule.rb +42 -0
  51. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions.rb +4 -0
  52. data/examples/v2/service-level-objectives/CreateSLOReportJob.rb +20 -0
  53. data/examples/v2/service-level-objectives/GetSLOReport.rb +8 -0
  54. data/examples/v2/service-level-objectives/GetSLOReportJobStatus.rb +11 -0
  55. data/lib/datadog_api_client/configuration.rb +3 -0
  56. data/lib/datadog_api_client/inflector.rb +26 -8
  57. data/lib/datadog_api_client/v1/api/authentication_api.rb +1 -1
  58. data/lib/datadog_api_client/v1/api/aws_integration_api.rb +1 -1
  59. data/lib/datadog_api_client/v1/api/logs_indexes_api.rb +1 -1
  60. data/lib/datadog_api_client/v1/api/logs_pipelines_api.rb +3 -3
  61. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +112 -135
  62. data/lib/datadog_api_client/v1/api/users_api.rb +1 -1
  63. data/lib/datadog_api_client/v1/models/aws_account.rb +12 -2
  64. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +3 -0
  65. data/lib/datadog_api_client/v1/models/monitor_options.rb +4 -1
  66. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +6 -0
  67. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +61 -1
  68. data/lib/datadog_api_client/v1/models/series.rb +1 -1
  69. data/lib/datadog_api_client/v1/models/service_level_objective.rb +2 -1
  70. data/lib/datadog_api_client/v1/models/service_level_objective_request.rb +2 -1
  71. data/lib/datadog_api_client/v1/models/slo_history_monitor.rb +7 -1
  72. data/lib/datadog_api_client/v1/models/slo_history_sli_data.rb +8 -1
  73. data/lib/datadog_api_client/v1/models/slo_overall_statuses.rb +2 -1
  74. data/lib/datadog_api_client/v1/models/slo_response_data.rb +2 -1
  75. data/lib/datadog_api_client/v1/models/slo_threshold.rb +2 -1
  76. data/lib/datadog_api_client/v1/models/slo_time_slice_condition.rb +14 -2
  77. data/lib/datadog_api_client/v1/models/slo_time_slice_interval.rb +29 -0
  78. data/lib/datadog_api_client/v1/models/slo_time_slice_spec.rb +1 -1
  79. data/lib/datadog_api_client/v1/models/slo_timeframe.rb +2 -1
  80. data/lib/datadog_api_client/v1/models/synthetics_api_test_config.rb +14 -4
  81. data/lib/datadog_api_client/v1/models/synthetics_assertion.rb +1 -0
  82. data/lib/datadog_api_client/v1/models/synthetics_assertion_json_schema_meta_schema.rb +27 -0
  83. data/lib/datadog_api_client/v1/models/synthetics_assertion_json_schema_operator.rb +26 -0
  84. data/lib/datadog_api_client/v1/models/synthetics_assertion_json_schema_target.rb +129 -0
  85. data/lib/datadog_api_client/v1/models/{usage_attribution_metadata.rb → synthetics_assertion_json_schema_target_target.rb} +19 -21
  86. data/lib/datadog_api_client/v1/models/synthetics_test_request.rb +13 -1
  87. data/lib/datadog_api_client/v1/models/synthetics_test_request_body_file.rb +175 -0
  88. data/lib/datadog_api_client/v1/models/synthetics_test_request_body_type.rb +2 -0
  89. data/lib/datadog_api_client/v1/models/usage_billable_summary_keys.rb +11 -1
  90. data/lib/datadog_api_client/v2/api/apm_retention_filters_api.rb +8 -2
  91. data/lib/datadog_api_client/v2/api/authn_mappings_api.rb +2 -2
  92. data/lib/datadog_api_client/v2/api/case_management_api.rb +17 -16
  93. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +10 -10
  94. data/lib/datadog_api_client/v2/api/{cloud_workload_security_api.rb → csm_threats_api.rb} +35 -35
  95. data/lib/datadog_api_client/v2/api/events_api.rb +1 -1
  96. data/lib/datadog_api_client/v2/api/ip_allowlist_api.rb +2 -2
  97. data/lib/datadog_api_client/v2/api/logs_api.rb +1 -1
  98. data/lib/datadog_api_client/v2/api/logs_archives_api.rb +4 -4
  99. data/lib/datadog_api_client/v2/api/logs_metrics_api.rb +2 -2
  100. data/lib/datadog_api_client/v2/api/metrics_api.rb +4 -4
  101. data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +2 -2
  102. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +69 -1
  103. data/lib/datadog_api_client/v2/api/service_level_objectives_api.rb +245 -0
  104. data/lib/datadog_api_client/v2/api/spans_api.rb +3 -3
  105. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +22 -4
  106. data/lib/datadog_api_client/v2/models/authn_mapping_create_data.rb +1 -1
  107. data/lib/datadog_api_client/v2/models/authn_mapping_create_relationships.rb +37 -54
  108. data/lib/datadog_api_client/v2/models/authn_mapping_included.rb +2 -1
  109. data/lib/datadog_api_client/v2/models/authn_mapping_relationship_to_role.rb +98 -0
  110. data/lib/datadog_api_client/v2/models/authn_mapping_relationship_to_team.rb +98 -0
  111. data/lib/datadog_api_client/v2/models/authn_mapping_relationships.rb +14 -4
  112. data/lib/datadog_api_client/v2/models/authn_mapping_team.rb +100 -0
  113. data/lib/datadog_api_client/v2/models/authn_mapping_team_attributes.rb +212 -0
  114. data/lib/datadog_api_client/v2/models/authn_mapping_update_data.rb +1 -1
  115. data/lib/datadog_api_client/v2/models/authn_mapping_update_relationships.rb +37 -54
  116. data/lib/datadog_api_client/v2/models/custom_destination_type.rb +1 -1
  117. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +1 -1
  118. data/lib/datadog_api_client/v2/models/logs_query_filter.rb +1 -1
  119. data/lib/datadog_api_client/v2/models/logs_storage_tier.rb +2 -1
  120. data/lib/datadog_api_client/v2/models/metric_series.rb +1 -1
  121. data/lib/datadog_api_client/v2/models/relationship_to_team.rb +80 -0
  122. data/lib/datadog_api_client/{v1/models/usage_attribution_response.rb → v2/models/relationship_to_team_data.rb} +21 -23
  123. data/lib/datadog_api_client/v2/models/retention_filter_create_response.rb +80 -0
  124. data/lib/datadog_api_client/v2/models/retention_filter_response.rb +1 -1
  125. data/lib/datadog_api_client/v2/models/retention_filter_update_attributes.rb +183 -0
  126. data/lib/datadog_api_client/v2/models/retention_filter_update_data.rb +1 -1
  127. data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +1 -1
  128. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_create_payload.rb +1 -1
  129. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_response.rb +1 -1
  130. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +1 -1
  131. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +14 -2
  132. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_attributes.rb +11 -1
  133. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_attributes.rb +13 -14
  134. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_attributes.rb +11 -1
  135. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2.rb +13 -1
  136. data/lib/datadog_api_client/v2/models/slo_report_create_request.rb +98 -0
  137. data/lib/datadog_api_client/v2/models/slo_report_create_request_attributes.rb +160 -0
  138. data/lib/datadog_api_client/{v1/models/usage_attribution_pagination.rb → v2/models/slo_report_create_request_data.rb} +29 -51
  139. data/lib/datadog_api_client/v2/models/slo_report_interval.rb +27 -0
  140. data/lib/datadog_api_client/v2/models/slo_report_post_response.rb +80 -0
  141. data/lib/datadog_api_client/v2/models/slo_report_post_response_data.rb +90 -0
  142. data/lib/datadog_api_client/v2/models/slo_report_status.rb +29 -0
  143. data/lib/datadog_api_client/v2/models/slo_report_status_get_response.rb +80 -0
  144. data/lib/datadog_api_client/v2/models/slo_report_status_get_response_attributes.rb +80 -0
  145. data/lib/datadog_api_client/v2/models/slo_report_status_get_response_data.rb +100 -0
  146. data/lib/datadog_api_client/v2/models/timeseries_response_series.rb +8 -0
  147. data/lib/datadog_api_client/v2/models/user_team_included.rb +2 -1
  148. data/lib/datadog_api_client/v2/models/user_teams_response.rb +13 -1
  149. data/lib/datadog_api_client/version.rb +1 -1
  150. metadata +70 -46
  151. data/examples/v1/usage-metering/GetUsageAttribution.rb +0 -9
  152. data/lib/datadog_api_client/v1/models/usage_attribution_body.rb +0 -152
  153. data/lib/datadog_api_client/v1/models/usage_attribution_sort.rb +0 -63
  154. data/lib/datadog_api_client/v1/models/usage_attribution_supported_metrics.rb +0 -74
  155. data/lib/datadog_api_client/v1/models/usage_attribution_values.rb +0 -590
@@ -21,6 +21,9 @@ module DatadogAPIClient::V2
21
21
  class SecurityMonitoringSuppressionCreateAttributes
22
22
  include BaseGenericModel
23
23
 
24
+ # An exclusion query on the input data of the security rules, which could be logs, Agent events, or other types of data based on the security rule. Events matching this query are ignored by any detection rules referenced in the suppression rule.
25
+ attr_accessor :data_exclusion_query
26
+
24
27
  # A description for the suppression rule.
25
28
  attr_accessor :description
26
29
 
@@ -36,13 +39,14 @@ module DatadogAPIClient::V2
36
39
  # The rule query of the suppression rule, with the same syntax as the search bar for detection rules.
37
40
  attr_reader :rule_query
38
41
 
39
- # The suppression query of the suppression rule. If a signal matches this query, it is suppressed and is not triggered . Same syntax as the queries to search signals in the signal explorer.
40
- attr_reader :suppression_query
42
+ # The suppression query of the suppression rule. If a signal matches this query, it is suppressed and is not triggered. It uses the same syntax as the queries to search signals in the Signals Explorer.
43
+ attr_accessor :suppression_query
41
44
 
42
45
  # Attribute mapping from ruby-style variable name to JSON key.
43
46
  # @!visibility private
44
47
  def self.attribute_map
45
48
  {
49
+ :'data_exclusion_query' => :'data_exclusion_query',
46
50
  :'description' => :'description',
47
51
  :'enabled' => :'enabled',
48
52
  :'expiration_date' => :'expiration_date',
@@ -56,6 +60,7 @@ module DatadogAPIClient::V2
56
60
  # @!visibility private
57
61
  def self.openapi_types
58
62
  {
63
+ :'data_exclusion_query' => :'String',
59
64
  :'description' => :'String',
60
65
  :'enabled' => :'Boolean',
61
66
  :'expiration_date' => :'Integer',
@@ -81,6 +86,10 @@ module DatadogAPIClient::V2
81
86
  h[k.to_sym] = v
82
87
  }
83
88
 
89
+ if attributes.key?(:'data_exclusion_query')
90
+ self.data_exclusion_query = attributes[:'data_exclusion_query']
91
+ end
92
+
84
93
  if attributes.key?(:'description')
85
94
  self.description = attributes[:'description']
86
95
  end
@@ -113,7 +122,6 @@ module DatadogAPIClient::V2
113
122
  return false if @enabled.nil?
114
123
  return false if @name.nil?
115
124
  return false if @rule_query.nil?
116
- return false if @suppression_query.nil?
117
125
  true
118
126
  end
119
127
 
@@ -147,22 +155,13 @@ module DatadogAPIClient::V2
147
155
  @rule_query = rule_query
148
156
  end
149
157
 
150
- # Custom attribute writer method with validation
151
- # @param suppression_query [Object] Object to be assigned
152
- # @!visibility private
153
- def suppression_query=(suppression_query)
154
- if suppression_query.nil?
155
- fail ArgumentError, 'invalid value for "suppression_query", suppression_query cannot be nil.'
156
- end
157
- @suppression_query = suppression_query
158
- end
159
-
160
158
  # Checks equality by comparing each attribute.
161
159
  # @param o [Object] Object to be compared
162
160
  # @!visibility private
163
161
  def ==(o)
164
162
  return true if self.equal?(o)
165
163
  self.class == o.class &&
164
+ data_exclusion_query == o.data_exclusion_query &&
166
165
  description == o.description &&
167
166
  enabled == o.enabled &&
168
167
  expiration_date == o.expiration_date &&
@@ -175,7 +174,7 @@ module DatadogAPIClient::V2
175
174
  # @return [Integer] Hash code
176
175
  # @!visibility private
177
176
  def hash
178
- [description, enabled, expiration_date, name, rule_query, suppression_query].hash
177
+ [data_exclusion_query, description, enabled, expiration_date, name, rule_query, suppression_query].hash
179
178
  end
180
179
  end
181
180
  end
@@ -21,6 +21,9 @@ module DatadogAPIClient::V2
21
21
  class SecurityMonitoringSuppressionUpdateAttributes
22
22
  include BaseGenericModel
23
23
 
24
+ # An exclusion query on the input data of the security rules, which could be logs, Agent events, or other types of data based on the security rule. Events matching this query are ignored by any detection rules referenced in the suppression rule.
25
+ attr_accessor :data_exclusion_query
26
+
24
27
  # A description for the suppression rule.
25
28
  attr_accessor :description
26
29
 
@@ -46,6 +49,7 @@ module DatadogAPIClient::V2
46
49
  # @!visibility private
47
50
  def self.attribute_map
48
51
  {
52
+ :'data_exclusion_query' => :'data_exclusion_query',
49
53
  :'description' => :'description',
50
54
  :'enabled' => :'enabled',
51
55
  :'expiration_date' => :'expiration_date',
@@ -60,6 +64,7 @@ module DatadogAPIClient::V2
60
64
  # @!visibility private
61
65
  def self.openapi_types
62
66
  {
67
+ :'data_exclusion_query' => :'String',
63
68
  :'description' => :'String',
64
69
  :'enabled' => :'Boolean',
65
70
  :'expiration_date' => :'Integer',
@@ -94,6 +99,10 @@ module DatadogAPIClient::V2
94
99
  h[k.to_sym] = v
95
100
  }
96
101
 
102
+ if attributes.key?(:'data_exclusion_query')
103
+ self.data_exclusion_query = attributes[:'data_exclusion_query']
104
+ end
105
+
97
106
  if attributes.key?(:'description')
98
107
  self.description = attributes[:'description']
99
108
  end
@@ -147,6 +156,7 @@ module DatadogAPIClient::V2
147
156
  def ==(o)
148
157
  return true if self.equal?(o)
149
158
  self.class == o.class &&
159
+ data_exclusion_query == o.data_exclusion_query &&
150
160
  description == o.description &&
151
161
  enabled == o.enabled &&
152
162
  expiration_date == o.expiration_date &&
@@ -160,7 +170,7 @@ module DatadogAPIClient::V2
160
170
  # @return [Integer] Hash code
161
171
  # @!visibility private
162
172
  def hash
163
- [description, enabled, expiration_date, name, rule_query, suppression_query, version].hash
173
+ [data_exclusion_query, description, enabled, expiration_date, name, rule_query, suppression_query, version].hash
164
174
  end
165
175
  end
166
176
  end
@@ -24,6 +24,9 @@ module DatadogAPIClient::V2
24
24
  # Identifier for a group of related services serving a product feature, which the service is a part of.
25
25
  attr_accessor :application
26
26
 
27
+ # A set of CI fingerprints.
28
+ attr_accessor :ci_pipeline_fingerprints
29
+
27
30
  # A list of contacts related to the services.
28
31
  attr_accessor :contacts
29
32
 
@@ -68,6 +71,7 @@ module DatadogAPIClient::V2
68
71
  def self.attribute_map
69
72
  {
70
73
  :'application' => :'application',
74
+ :'ci_pipeline_fingerprints' => :'ci-pipeline-fingerprints',
71
75
  :'contacts' => :'contacts',
72
76
  :'dd_service' => :'dd-service',
73
77
  :'description' => :'description',
@@ -89,6 +93,7 @@ module DatadogAPIClient::V2
89
93
  def self.openapi_types
90
94
  {
91
95
  :'application' => :'String',
96
+ :'ci_pipeline_fingerprints' => :'Array<String>',
92
97
  :'contacts' => :'Array<ServiceDefinitionV2Dot2Contact>',
93
98
  :'dd_service' => :'String',
94
99
  :'description' => :'String',
@@ -125,6 +130,12 @@ module DatadogAPIClient::V2
125
130
  self.application = attributes[:'application']
126
131
  end
127
132
 
133
+ if attributes.key?(:'ci_pipeline_fingerprints')
134
+ if (value = attributes[:'ci_pipeline_fingerprints']).is_a?(Array)
135
+ self.ci_pipeline_fingerprints = value
136
+ end
137
+ end
138
+
128
139
  if attributes.key?(:'contacts')
129
140
  if (value = attributes[:'contacts']).is_a?(Array)
130
141
  self.contacts = value
@@ -222,6 +233,7 @@ module DatadogAPIClient::V2
222
233
  return true if self.equal?(o)
223
234
  self.class == o.class &&
224
235
  application == o.application &&
236
+ ci_pipeline_fingerprints == o.ci_pipeline_fingerprints &&
225
237
  contacts == o.contacts &&
226
238
  dd_service == o.dd_service &&
227
239
  description == o.description &&
@@ -241,7 +253,7 @@ module DatadogAPIClient::V2
241
253
  # @return [Integer] Hash code
242
254
  # @!visibility private
243
255
  def hash
244
- [application, contacts, dd_service, description, extensions, integrations, languages, lifecycle, links, schema_version, tags, team, tier, type].hash
256
+ [application, ci_pipeline_fingerprints, contacts, dd_service, description, extensions, integrations, languages, lifecycle, links, schema_version, tags, team, tier, type].hash
245
257
  end
246
258
  end
247
259
  end
@@ -0,0 +1,98 @@
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 SLO report request body.
21
+ class SloReportCreateRequest
22
+ include BaseGenericModel
23
+
24
+ # The data portion of the SLO report request.
25
+ attr_reader :data
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ # @!visibility private
29
+ def self.attribute_map
30
+ {
31
+ :'data' => :'data'
32
+ }
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ # @!visibility private
37
+ def self.openapi_types
38
+ {
39
+ :'data' => :'SloReportCreateRequestData'
40
+ }
41
+ end
42
+
43
+ # Initializes the object
44
+ # @param attributes [Hash] Model attributes in the form of hash
45
+ # @!visibility private
46
+ def initialize(attributes = {})
47
+ if (!attributes.is_a?(Hash))
48
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SloReportCreateRequest` initialize method"
49
+ end
50
+
51
+ # check to see if the attribute exists and convert string to symbol for hash key
52
+ attributes = attributes.each_with_object({}) { |(k, v), h|
53
+ if (!self.class.attribute_map.key?(k.to_sym))
54
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::SloReportCreateRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
55
+ end
56
+ h[k.to_sym] = v
57
+ }
58
+
59
+ if attributes.key?(:'data')
60
+ self.data = attributes[:'data']
61
+ end
62
+ end
63
+
64
+ # Check to see if the all the properties in the model are valid
65
+ # @return true if the model is valid
66
+ # @!visibility private
67
+ def valid?
68
+ return false if @data.nil?
69
+ true
70
+ end
71
+
72
+ # Custom attribute writer method with validation
73
+ # @param data [Object] Object to be assigned
74
+ # @!visibility private
75
+ def data=(data)
76
+ if data.nil?
77
+ fail ArgumentError, 'invalid value for "data", data cannot be nil.'
78
+ end
79
+ @data = data
80
+ end
81
+
82
+ # Checks equality by comparing each attribute.
83
+ # @param o [Object] Object to be compared
84
+ # @!visibility private
85
+ def ==(o)
86
+ return true if self.equal?(o)
87
+ self.class == o.class &&
88
+ data == o.data
89
+ end
90
+
91
+ # Calculates hash code according to all attributes.
92
+ # @return [Integer] Hash code
93
+ # @!visibility private
94
+ def hash
95
+ [data].hash
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,160 @@
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 attributes portion of the SLO report request.
21
+ class SloReportCreateRequestAttributes
22
+ include BaseGenericModel
23
+
24
+ # The `from` timestamp for the report in epoch seconds.
25
+ attr_reader :from_ts
26
+
27
+ # The frequency at which report data is to be generated.
28
+ attr_accessor :interval
29
+
30
+ # The query string used to filter SLO results. Some examples of queries include `service:<service-name>` and `slo-name`.
31
+ attr_reader :query
32
+
33
+ # The timezone used to determine the start and end of each interval. For example, weekly intervals start at 12am on Sunday in the specified timezone.
34
+ attr_accessor :timezone
35
+
36
+ # The `to` timestamp for the report in epoch seconds.
37
+ attr_reader :to_ts
38
+
39
+ # Attribute mapping from ruby-style variable name to JSON key.
40
+ # @!visibility private
41
+ def self.attribute_map
42
+ {
43
+ :'from_ts' => :'from_ts',
44
+ :'interval' => :'interval',
45
+ :'query' => :'query',
46
+ :'timezone' => :'timezone',
47
+ :'to_ts' => :'to_ts'
48
+ }
49
+ end
50
+
51
+ # Attribute type mapping.
52
+ # @!visibility private
53
+ def self.openapi_types
54
+ {
55
+ :'from_ts' => :'Integer',
56
+ :'interval' => :'SLOReportInterval',
57
+ :'query' => :'String',
58
+ :'timezone' => :'String',
59
+ :'to_ts' => :'Integer'
60
+ }
61
+ end
62
+
63
+ # Initializes the object
64
+ # @param attributes [Hash] Model attributes in the form of hash
65
+ # @!visibility private
66
+ def initialize(attributes = {})
67
+ if (!attributes.is_a?(Hash))
68
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SloReportCreateRequestAttributes` initialize method"
69
+ end
70
+
71
+ # check to see if the attribute exists and convert string to symbol for hash key
72
+ attributes = attributes.each_with_object({}) { |(k, v), h|
73
+ if (!self.class.attribute_map.key?(k.to_sym))
74
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::SloReportCreateRequestAttributes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
75
+ end
76
+ h[k.to_sym] = v
77
+ }
78
+
79
+ if attributes.key?(:'from_ts')
80
+ self.from_ts = attributes[:'from_ts']
81
+ end
82
+
83
+ if attributes.key?(:'interval')
84
+ self.interval = attributes[:'interval']
85
+ end
86
+
87
+ if attributes.key?(:'query')
88
+ self.query = attributes[:'query']
89
+ end
90
+
91
+ if attributes.key?(:'timezone')
92
+ self.timezone = attributes[:'timezone']
93
+ end
94
+
95
+ if attributes.key?(:'to_ts')
96
+ self.to_ts = attributes[:'to_ts']
97
+ end
98
+ end
99
+
100
+ # Check to see if the all the properties in the model are valid
101
+ # @return true if the model is valid
102
+ # @!visibility private
103
+ def valid?
104
+ return false if @from_ts.nil?
105
+ return false if @query.nil?
106
+ return false if @to_ts.nil?
107
+ true
108
+ end
109
+
110
+ # Custom attribute writer method with validation
111
+ # @param from_ts [Object] Object to be assigned
112
+ # @!visibility private
113
+ def from_ts=(from_ts)
114
+ if from_ts.nil?
115
+ fail ArgumentError, 'invalid value for "from_ts", from_ts cannot be nil.'
116
+ end
117
+ @from_ts = from_ts
118
+ end
119
+
120
+ # Custom attribute writer method with validation
121
+ # @param query [Object] Object to be assigned
122
+ # @!visibility private
123
+ def query=(query)
124
+ if query.nil?
125
+ fail ArgumentError, 'invalid value for "query", query cannot be nil.'
126
+ end
127
+ @query = query
128
+ end
129
+
130
+ # Custom attribute writer method with validation
131
+ # @param to_ts [Object] Object to be assigned
132
+ # @!visibility private
133
+ def to_ts=(to_ts)
134
+ if to_ts.nil?
135
+ fail ArgumentError, 'invalid value for "to_ts", to_ts cannot be nil.'
136
+ end
137
+ @to_ts = to_ts
138
+ end
139
+
140
+ # Checks equality by comparing each attribute.
141
+ # @param o [Object] Object to be compared
142
+ # @!visibility private
143
+ def ==(o)
144
+ return true if self.equal?(o)
145
+ self.class == o.class &&
146
+ from_ts == o.from_ts &&
147
+ interval == o.interval &&
148
+ query == o.query &&
149
+ timezone == o.timezone &&
150
+ to_ts == o.to_ts
151
+ end
152
+
153
+ # Calculates hash code according to all attributes.
154
+ # @return [Integer] Hash code
155
+ # @!visibility private
156
+ def hash
157
+ [from_ts, interval, query, timezone, to_ts].hash
158
+ end
159
+ end
160
+ end
@@ -1,5 +1,5 @@
1
1
  =begin
2
- #Datadog API V1 Collection
2
+ #Datadog API V2 Collection
3
3
 
4
4
  #Collection of all Datadog Public endpoints.
5
5
 
@@ -16,35 +16,19 @@ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.ge
16
16
  require 'date'
17
17
  require 'time'
18
18
 
19
- module DatadogAPIClient::V1
20
- # The metadata for the current pagination.
21
- class UsageAttributionPagination
19
+ module DatadogAPIClient::V2
20
+ # The data portion of the SLO report request.
21
+ class SloReportCreateRequestData
22
22
  include BaseGenericModel
23
23
 
24
- # Maximum amount of records to be returned.
25
- attr_accessor :limit
26
-
27
- # Records to be skipped before beginning to return.
28
- attr_accessor :offset
29
-
30
- # Direction to sort by.
31
- attr_accessor :sort_direction
32
-
33
- # Field to sort by.
34
- attr_accessor :sort_name
35
-
36
- # Total number of records.
37
- attr_accessor :total_number_of_records
24
+ # The attributes portion of the SLO report request.
25
+ attr_reader :attributes
38
26
 
39
27
  # Attribute mapping from ruby-style variable name to JSON key.
40
28
  # @!visibility private
41
29
  def self.attribute_map
42
30
  {
43
- :'limit' => :'limit',
44
- :'offset' => :'offset',
45
- :'sort_direction' => :'sort_direction',
46
- :'sort_name' => :'sort_name',
47
- :'total_number_of_records' => :'total_number_of_records'
31
+ :'attributes' => :'attributes'
48
32
  }
49
33
  end
50
34
 
@@ -52,11 +36,7 @@ module DatadogAPIClient::V1
52
36
  # @!visibility private
53
37
  def self.openapi_types
54
38
  {
55
- :'limit' => :'Integer',
56
- :'offset' => :'Integer',
57
- :'sort_direction' => :'String',
58
- :'sort_name' => :'String',
59
- :'total_number_of_records' => :'Integer'
39
+ :'attributes' => :'SloReportCreateRequestAttributes'
60
40
  }
61
41
  end
62
42
 
@@ -65,36 +45,38 @@ module DatadogAPIClient::V1
65
45
  # @!visibility private
66
46
  def initialize(attributes = {})
67
47
  if (!attributes.is_a?(Hash))
68
- fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V1::UsageAttributionPagination` initialize method"
48
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SloReportCreateRequestData` initialize method"
69
49
  end
70
50
 
71
51
  # check to see if the attribute exists and convert string to symbol for hash key
72
52
  attributes = attributes.each_with_object({}) { |(k, v), h|
73
53
  if (!self.class.attribute_map.key?(k.to_sym))
74
- fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V1::UsageAttributionPagination`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
54
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::SloReportCreateRequestData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
75
55
  end
76
56
  h[k.to_sym] = v
77
57
  }
78
58
 
79
- if attributes.key?(:'limit')
80
- self.limit = attributes[:'limit']
81
- end
82
-
83
- if attributes.key?(:'offset')
84
- self.offset = attributes[:'offset']
85
- end
86
-
87
- if attributes.key?(:'sort_direction')
88
- self.sort_direction = attributes[:'sort_direction']
59
+ if attributes.key?(:'attributes')
60
+ self.attributes = attributes[:'attributes']
89
61
  end
62
+ end
90
63
 
91
- if attributes.key?(:'sort_name')
92
- self.sort_name = attributes[:'sort_name']
93
- end
64
+ # Check to see if the all the properties in the model are valid
65
+ # @return true if the model is valid
66
+ # @!visibility private
67
+ def valid?
68
+ return false if @attributes.nil?
69
+ true
70
+ end
94
71
 
95
- if attributes.key?(:'total_number_of_records')
96
- self.total_number_of_records = attributes[:'total_number_of_records']
72
+ # Custom attribute writer method with validation
73
+ # @param attributes [Object] Object to be assigned
74
+ # @!visibility private
75
+ def attributes=(attributes)
76
+ if attributes.nil?
77
+ fail ArgumentError, 'invalid value for "attributes", attributes cannot be nil.'
97
78
  end
79
+ @attributes = attributes
98
80
  end
99
81
 
100
82
  # Checks equality by comparing each attribute.
@@ -103,18 +85,14 @@ module DatadogAPIClient::V1
103
85
  def ==(o)
104
86
  return true if self.equal?(o)
105
87
  self.class == o.class &&
106
- limit == o.limit &&
107
- offset == o.offset &&
108
- sort_direction == o.sort_direction &&
109
- sort_name == o.sort_name &&
110
- total_number_of_records == o.total_number_of_records
88
+ attributes == o.attributes
111
89
  end
112
90
 
113
91
  # Calculates hash code according to all attributes.
114
92
  # @return [Integer] Hash code
115
93
  # @!visibility private
116
94
  def hash
117
- [limit, offset, sort_direction, sort_name, total_number_of_records].hash
95
+ [attributes].hash
118
96
  end
119
97
  end
120
98
  end
@@ -0,0 +1,27 @@
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 frequency at which report data is to be generated.
21
+ class SLOReportInterval
22
+ include BaseEnumModel
23
+
24
+ WEEKLY = "weekly".freeze
25
+ MONTHLY = "monthly".freeze
26
+ end
27
+ end