datadog_api_client 2.18.0 → 2.20.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 (193) 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 +286 -55
  6. data/.generator/schemas/v2/openapi.yaml +2021 -226
  7. data/.generator/src/generator/templates/api.j2 +5 -5
  8. data/.generator/src/generator/templates/model_generic.j2 +2 -2
  9. data/CHANGELOG.md +38 -0
  10. data/examples/v1/azure-integration/CreateAzureIntegration.rb +4 -4
  11. data/examples/v1/azure-integration/DeleteAzureIntegration.rb +2 -15
  12. data/examples/v1/azure-integration/UpdateAzureIntegration.rb +4 -4
  13. data/examples/v1/gcp-integration/CreateGCPIntegration.rb +4 -5
  14. data/examples/v1/gcp-integration/DeleteGCPIntegration.rb +2 -14
  15. data/examples/v1/gcp-integration/UpdateGCPIntegration.rb +4 -5
  16. data/examples/v1/logs-indexes/CreateLogsIndex.rb +5 -0
  17. data/examples/v1/logs-indexes/UpdateLogsIndex.rb +5 -0
  18. data/examples/v1/service-level-objectives/CreateSLO_3765703239.rb +46 -0
  19. data/examples/v1/synthetics/CreateSyntheticsAPITest.rb +1 -1
  20. data/examples/v1/synthetics/CreateSyntheticsBrowserTest.rb +1 -1
  21. data/examples/v1/synthetics/TriggerCITests.rb +1 -1
  22. data/examples/v1/synthetics/UpdateBrowserTest.rb +1 -1
  23. data/examples/v1/usage-metering/GetUsageLambda.rb +5 -2
  24. data/examples/v2/api-management/CreateOpenAPI.rb +11 -0
  25. data/examples/v2/api-management/DeleteOpenAPI.rb +11 -0
  26. data/examples/v2/api-management/GetOpenAPI.rb +11 -0
  27. data/examples/v2/api-management/UpdateOpenAPI.rb +14 -0
  28. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent.rb +0 -3
  29. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +0 -3
  30. data/examples/v2/cloud-cost-management/CreateCostAWSCURConfig.rb +18 -0
  31. data/examples/v2/cloud-cost-management/CreateCostAzureUCConfigs.rb +29 -0
  32. data/examples/v2/cloud-cost-management/DeleteCostAWSCURConfig.rb +5 -0
  33. data/examples/v2/cloud-cost-management/DeleteCostAzureUCConfig.rb +5 -0
  34. data/examples/v2/cloud-cost-management/GetCloudCostActivity.rb +5 -0
  35. data/examples/v2/cloud-cost-management/ListAWSRelatedAccounts.rb +5 -0
  36. data/examples/v2/cloud-cost-management/ListCostAWSCURConfigs.rb +5 -0
  37. data/examples/v2/cloud-cost-management/ListCostAzureUCConfigs.rb +5 -0
  38. data/examples/v2/cloud-cost-management/UpdateCostAWSCURConfig.rb +14 -0
  39. data/examples/v2/cloud-cost-management/UpdateCostAzureUCConfigs.rb +14 -0
  40. data/examples/v2/cloudflare-integration/CreateCloudflareAccount.rb +1 -1
  41. data/examples/v2/cloudflare-integration/UpdateCloudflareAccount.rb +4 -1
  42. data/examples/v2/downtimes/ListMonitorDowntimes_3316718253.rb +5 -0
  43. data/examples/v2/gcp-integration/CreateGCPSTSAccount_130557025.rb +16 -0
  44. data/examples/v2/gcp-integration/CreateGCPSTSAccount_2597004741.rb +16 -0
  45. data/examples/v2/gcp-integration/CreateGCPSTSAccount_4235664992.rb +17 -0
  46. data/examples/v2/gcp-integration/UpdateGCPSTSAccount_3205636354.rb +19 -0
  47. data/examples/v2/okta-integration/CreateOktaAccount.rb +1 -1
  48. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_3367706049.rb +46 -0
  49. data/examples/v2/security-monitoring/CreateSecurityMonitoringSuppression.rb +19 -0
  50. data/examples/v2/security-monitoring/DeleteSecurityMonitoringSuppression.rb +8 -0
  51. data/examples/v2/security-monitoring/GetSecurityMonitoringSuppression.rb +8 -0
  52. data/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions.rb +5 -0
  53. data/examples/v2/security-monitoring/UpdateSecurityMonitoringSuppression.rb +17 -0
  54. data/examples/v2/sensitive-data-scanner/CreateScanningRule.rb +7 -0
  55. data/examples/v2/sensitive-data-scanner/UpdateScanningRule.rb +7 -10
  56. data/examples/v2/teams/CreateTeamMembership.rb +6 -0
  57. data/examples/v2/teams/GetTeamMemberships_3799131168.rb +8 -0
  58. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations.rb +1 -1
  59. data/lib/datadog_api_client/configuration.rb +4 -1
  60. data/lib/datadog_api_client/inflector.rb +74 -0
  61. data/lib/datadog_api_client/v1/api/downtimes_api.rb +28 -7
  62. data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -1
  63. data/lib/datadog_api_client/v1/api/organizations_api.rb +1 -1
  64. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +3 -3
  65. data/lib/datadog_api_client/v1/models/dashboard.rb +5 -1
  66. data/lib/datadog_api_client/v1/models/dashboard_summary_definition.rb +2 -0
  67. data/lib/datadog_api_client/v1/models/gcp_account.rb +22 -2
  68. data/lib/datadog_api_client/v1/models/log.rb +1 -1
  69. data/lib/datadog_api_client/v1/models/logs_daily_limit_reset.rb +90 -0
  70. data/lib/datadog_api_client/v1/models/logs_index.rb +36 -1
  71. data/lib/datadog_api_client/v1/models/logs_index_update_request.rb +36 -1
  72. data/lib/datadog_api_client/v1/models/metrics_payload.rb +1 -1
  73. data/lib/datadog_api_client/v1/models/metrics_query_metadata.rb +1 -1
  74. data/lib/datadog_api_client/v1/models/organization.rb +1 -1
  75. data/lib/datadog_api_client/v1/models/service_level_objective.rb +11 -1
  76. data/lib/datadog_api_client/v1/models/service_level_objective_request.rb +11 -1
  77. data/lib/datadog_api_client/v1/models/slo_correction_create_request_attributes.rb +1 -1
  78. data/lib/datadog_api_client/v1/models/slo_correction_response_attributes.rb +1 -1
  79. data/lib/datadog_api_client/v1/models/slo_correction_update_request_attributes.rb +1 -1
  80. data/lib/datadog_api_client/v1/models/slo_data_source_query_definition.rb +62 -0
  81. data/lib/datadog_api_client/v1/models/slo_formula.rb +98 -0
  82. data/lib/datadog_api_client/v1/models/slo_history_metrics.rb +2 -2
  83. data/lib/datadog_api_client/v1/models/slo_history_metrics_series.rb +1 -1
  84. data/lib/datadog_api_client/v1/models/slo_history_monitor.rb +1 -1
  85. data/lib/datadog_api_client/v1/models/slo_history_sli_data.rb +1 -1
  86. data/lib/datadog_api_client/v1/models/slo_response_data.rb +11 -1
  87. data/lib/datadog_api_client/v1/models/slo_sli_spec.rb +62 -0
  88. data/lib/datadog_api_client/v1/models/slo_time_slice_comparator.rb +29 -0
  89. data/lib/datadog_api_client/v1/models/slo_time_slice_condition.rb +141 -0
  90. data/lib/datadog_api_client/v1/models/slo_time_slice_query.rb +131 -0
  91. data/lib/datadog_api_client/v1/models/slo_time_slice_spec.rb +99 -0
  92. data/lib/datadog_api_client/v1/models/slo_type.rb +1 -0
  93. data/lib/datadog_api_client/v1/models/slo_type_numeric.rb +1 -0
  94. data/lib/datadog_api_client/v1/models/split_config.rb +6 -6
  95. data/lib/datadog_api_client/v1/models/synthetics_test_request.rb +11 -1
  96. data/lib/datadog_api_client/v1/models/usage_lambda_hour.rb +1 -1
  97. data/lib/datadog_api_client/v1/models/usage_lambda_response.rb +1 -1
  98. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +11 -1
  99. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +11 -1
  100. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +11 -1
  101. data/lib/datadog_api_client/v2/api/api_management_api.rb +319 -0
  102. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +0 -6
  103. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +680 -0
  104. data/lib/datadog_api_client/v2/api/downtimes_api.rb +25 -0
  105. data/lib/datadog_api_client/v2/api/metrics_api.rb +3 -2
  106. data/lib/datadog_api_client/v2/api/organizations_api.rb +1 -1
  107. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +329 -0
  108. data/lib/datadog_api_client/v2/api/teams_api.rb +22 -0
  109. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +3 -3
  110. data/lib/datadog_api_client/v2/models/aws_cur_config.rb +129 -0
  111. data/lib/datadog_api_client/v2/models/aws_cur_config_attributes.rb +305 -0
  112. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_data.rb +119 -0
  113. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request.rb +98 -0
  114. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_attributes.rb +98 -0
  115. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_type.rb +26 -0
  116. data/lib/datadog_api_client/v2/models/aws_cur_config_post_data.rb +119 -0
  117. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request.rb +98 -0
  118. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_attributes.rb +202 -0
  119. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_type.rb +26 -0
  120. data/lib/datadog_api_client/v2/models/aws_cur_config_response.rb +80 -0
  121. data/lib/datadog_api_client/v2/models/aws_cur_config_type.rb +26 -0
  122. data/lib/datadog_api_client/v2/models/aws_cur_configs_response.rb +82 -0
  123. data/lib/datadog_api_client/v2/models/aws_related_account.rb +129 -0
  124. data/lib/datadog_api_client/v2/models/aws_related_account_attributes.rb +90 -0
  125. data/lib/datadog_api_client/v2/models/aws_related_account_type.rb +26 -0
  126. data/lib/datadog_api_client/v2/models/aws_related_accounts_response.rb +82 -0
  127. data/lib/datadog_api_client/v2/models/azure_uc_config.rb +378 -0
  128. data/lib/datadog_api_client/v2/models/azure_uc_config_pair.rb +129 -0
  129. data/lib/datadog_api_client/v2/models/azure_uc_config_pair_attributes.rb +110 -0
  130. data/lib/datadog_api_client/v2/models/azure_uc_config_pair_type.rb +26 -0
  131. data/lib/datadog_api_client/v2/models/azure_uc_config_pairs_response.rb +80 -0
  132. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_data.rb +119 -0
  133. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request.rb +98 -0
  134. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_attributes.rb +98 -0
  135. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_type.rb +26 -0
  136. data/lib/datadog_api_client/v2/models/azure_uc_config_post_data.rb +119 -0
  137. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request.rb +98 -0
  138. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_attributes.rb +192 -0
  139. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_type.rb +26 -0
  140. data/lib/datadog_api_client/v2/models/azure_uc_configs_response.rb +82 -0
  141. data/lib/datadog_api_client/v2/models/bill_config.rb +161 -0
  142. data/lib/datadog_api_client/v2/models/ci_app_git_info.rb +2 -2
  143. data/lib/datadog_api_client/v2/models/cloud_cost_activity.rb +119 -0
  144. data/lib/datadog_api_client/v2/models/cloud_cost_activity_attributes.rb +98 -0
  145. data/lib/datadog_api_client/v2/models/cloud_cost_activity_response.rb +80 -0
  146. data/lib/datadog_api_client/v2/models/cloud_cost_activity_type.rb +26 -0
  147. data/lib/datadog_api_client/v2/models/cloudflare_account_create_request_attributes.rb +28 -4
  148. data/lib/datadog_api_client/v2/models/cloudflare_account_response_attributes.rb +28 -4
  149. data/lib/datadog_api_client/v2/models/cloudflare_account_update_request_attributes.rb +28 -4
  150. data/lib/datadog_api_client/v2/models/create_open_api_response.rb +80 -0
  151. data/lib/datadog_api_client/v2/models/create_open_api_response_attributes.rb +82 -0
  152. data/lib/datadog_api_client/v2/models/create_open_api_response_data.rb +90 -0
  153. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +11 -1
  154. data/lib/datadog_api_client/v2/models/dora_git_info.rb +2 -2
  155. data/lib/datadog_api_client/v2/models/dora_incident_request_attributes.rb +11 -1
  156. data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +25 -5
  157. data/lib/datadog_api_client/v2/models/metric_payload.rb +1 -1
  158. data/lib/datadog_api_client/v2/models/open_api_endpoint.rb +90 -0
  159. data/lib/datadog_api_client/v2/models/open_api_file.rb +80 -0
  160. data/lib/datadog_api_client/v2/models/relationship_to_user_team_team.rb +98 -0
  161. data/lib/datadog_api_client/v2/models/relationship_to_user_team_team_data.rb +119 -0
  162. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +14 -4
  163. data/lib/datadog_api_client/v2/models/security_monitoring_rule_third_party_options.rb +114 -0
  164. data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +13 -1
  165. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +13 -1
  166. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +13 -1
  167. data/lib/datadog_api_client/v2/models/security_monitoring_suppression.rb +100 -0
  168. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_attributes.rb +198 -0
  169. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_attributes.rb +181 -0
  170. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_data.rb +119 -0
  171. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_request.rb +98 -0
  172. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_response.rb +80 -0
  173. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_type.rb +26 -0
  174. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_attributes.rb +166 -0
  175. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_data.rb +119 -0
  176. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_request.rb +98 -0
  177. data/lib/datadog_api_client/v2/models/security_monitoring_suppressions_response.rb +82 -0
  178. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_root_query.rb +92 -0
  179. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case.rb +112 -0
  180. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case_create.rb +130 -0
  181. data/lib/datadog_api_client/v2/models/security_monitoring_user.rb +98 -0
  182. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_included_keyword_configuration.rb +134 -0
  183. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_rule_attributes.rb +46 -1
  184. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_standard_pattern_attributes.rb +33 -1
  185. data/lib/datadog_api_client/v2/models/update_open_api_response.rb +80 -0
  186. data/lib/datadog_api_client/v2/models/update_open_api_response_attributes.rb +82 -0
  187. data/lib/datadog_api_client/v2/models/update_open_api_response_data.rb +90 -0
  188. data/lib/datadog_api_client/v2/models/user_team_attributes.rb +24 -1
  189. data/lib/datadog_api_client/v2/models/user_team_relationships.rb +11 -1
  190. data/lib/datadog_api_client/v2/models/user_team_team_type.rb +26 -0
  191. data/lib/datadog_api_client/version.rb +1 -1
  192. metadata +103 -3
  193. data/examples/v1/usage-metering/GetUsageLambda_3132428705.rb +0 -8
@@ -47,9 +47,12 @@ module DatadogAPIClient::V1
47
47
  # Only hosts that match one of the defined tags are imported into Datadog.
48
48
  attr_accessor :host_filters
49
49
 
50
- # When enabled, Datadog performs configuration checks across your Google Cloud environment by continuously scanning every resource.
50
+ # When enabled, Datadog will activate the Cloud Security Monitoring product for this service account. Note: This requires resource_collection_enabled to be set to true.
51
51
  attr_accessor :is_cspm_enabled
52
52
 
53
+ # When enabled, Datadog will attempt to collect Security Command Center Findings. Note: This requires additional permissions on the service account.
54
+ attr_accessor :is_security_command_center_enabled
55
+
53
56
  # Your private key name found in your JSON service account key.
54
57
  attr_accessor :private_key
55
58
 
@@ -59,6 +62,9 @@ module DatadogAPIClient::V1
59
62
  # Your Google Cloud project ID found in your JSON service account key.
60
63
  attr_accessor :project_id
61
64
 
65
+ # When enabled, Datadog scans for all resources in your GCP environment.
66
+ attr_accessor :resource_collection_enabled
67
+
62
68
  # Should be `https://accounts.google.com/o/oauth2/token`.
63
69
  attr_accessor :token_uri
64
70
 
@@ -78,9 +84,11 @@ module DatadogAPIClient::V1
78
84
  :'errors' => :'errors',
79
85
  :'host_filters' => :'host_filters',
80
86
  :'is_cspm_enabled' => :'is_cspm_enabled',
87
+ :'is_security_command_center_enabled' => :'is_security_command_center_enabled',
81
88
  :'private_key' => :'private_key',
82
89
  :'private_key_id' => :'private_key_id',
83
90
  :'project_id' => :'project_id',
91
+ :'resource_collection_enabled' => :'resource_collection_enabled',
84
92
  :'token_uri' => :'token_uri',
85
93
  :'type' => :'type'
86
94
  }
@@ -99,9 +107,11 @@ module DatadogAPIClient::V1
99
107
  :'errors' => :'Array<String>',
100
108
  :'host_filters' => :'String',
101
109
  :'is_cspm_enabled' => :'Boolean',
110
+ :'is_security_command_center_enabled' => :'Boolean',
102
111
  :'private_key' => :'String',
103
112
  :'private_key_id' => :'String',
104
113
  :'project_id' => :'String',
114
+ :'resource_collection_enabled' => :'Boolean',
105
115
  :'token_uri' => :'String',
106
116
  :'type' => :'String'
107
117
  }
@@ -161,6 +171,10 @@ module DatadogAPIClient::V1
161
171
  self.is_cspm_enabled = attributes[:'is_cspm_enabled']
162
172
  end
163
173
 
174
+ if attributes.key?(:'is_security_command_center_enabled')
175
+ self.is_security_command_center_enabled = attributes[:'is_security_command_center_enabled']
176
+ end
177
+
164
178
  if attributes.key?(:'private_key')
165
179
  self.private_key = attributes[:'private_key']
166
180
  end
@@ -173,6 +187,10 @@ module DatadogAPIClient::V1
173
187
  self.project_id = attributes[:'project_id']
174
188
  end
175
189
 
190
+ if attributes.key?(:'resource_collection_enabled')
191
+ self.resource_collection_enabled = attributes[:'resource_collection_enabled']
192
+ end
193
+
176
194
  if attributes.key?(:'token_uri')
177
195
  self.token_uri = attributes[:'token_uri']
178
196
  end
@@ -197,9 +215,11 @@ module DatadogAPIClient::V1
197
215
  errors == o.errors &&
198
216
  host_filters == o.host_filters &&
199
217
  is_cspm_enabled == o.is_cspm_enabled &&
218
+ is_security_command_center_enabled == o.is_security_command_center_enabled &&
200
219
  private_key == o.private_key &&
201
220
  private_key_id == o.private_key_id &&
202
221
  project_id == o.project_id &&
222
+ resource_collection_enabled == o.resource_collection_enabled &&
203
223
  token_uri == o.token_uri &&
204
224
  type == o.type
205
225
  end
@@ -208,7 +228,7 @@ module DatadogAPIClient::V1
208
228
  # @return [Integer] Hash code
209
229
  # @!visibility private
210
230
  def hash
211
- [auth_provider_x509_cert_url, auth_uri, automute, client_email, client_id, client_x509_cert_url, errors, host_filters, is_cspm_enabled, private_key, private_key_id, project_id, token_uri, type].hash
231
+ [auth_provider_x509_cert_url, auth_uri, automute, client_email, client_id, client_x509_cert_url, errors, host_filters, is_cspm_enabled, is_security_command_center_enabled, private_key, private_key_id, project_id, resource_collection_enabled, token_uri, type].hash
212
232
  end
213
233
  end
214
234
  end
@@ -24,7 +24,7 @@ module DatadogAPIClient::V1
24
24
  # JSON object containing all log attributes and their associated values.
25
25
  attr_accessor :content
26
26
 
27
- # Unique ID of the Log.
27
+ # ID of the Log.
28
28
  attr_accessor :id
29
29
 
30
30
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -0,0 +1,90 @@
1
+ =begin
2
+ #Datadog API V1 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::V1
20
+ # Object containing options to override the default daily limit reset time.
21
+ class LogsDailyLimitReset
22
+ include BaseGenericModel
23
+
24
+ # String in `HH:00` format representing the time of day the daily limit should be reset. The hours must be between 00 and 23 (inclusive).
25
+ attr_accessor :reset_time
26
+
27
+ # String in `(-|+)HH:00` format representing the UTC offset to apply to the given reset time. The hours must be between -12 and +14 (inclusive).
28
+ attr_accessor :reset_utc_offset
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ # @!visibility private
32
+ def self.attribute_map
33
+ {
34
+ :'reset_time' => :'reset_time',
35
+ :'reset_utc_offset' => :'reset_utc_offset'
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ # @!visibility private
41
+ def self.openapi_types
42
+ {
43
+ :'reset_time' => :'String',
44
+ :'reset_utc_offset' => :'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::V1::LogsDailyLimitReset` 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::V1::LogsDailyLimitReset`. 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?(:'reset_time')
65
+ self.reset_time = attributes[:'reset_time']
66
+ end
67
+
68
+ if attributes.key?(:'reset_utc_offset')
69
+ self.reset_utc_offset = attributes[:'reset_utc_offset']
70
+ end
71
+ end
72
+
73
+ # Checks equality by comparing each attribute.
74
+ # @param o [Object] Object to be compared
75
+ # @!visibility private
76
+ def ==(o)
77
+ return true if self.equal?(o)
78
+ self.class == o.class &&
79
+ reset_time == o.reset_time &&
80
+ reset_utc_offset == o.reset_utc_offset
81
+ end
82
+
83
+ # Calculates hash code according to all attributes.
84
+ # @return [Integer] Hash code
85
+ # @!visibility private
86
+ def hash
87
+ [reset_time, reset_utc_offset].hash
88
+ end
89
+ end
90
+ end
@@ -24,6 +24,12 @@ module DatadogAPIClient::V1
24
24
  # The number of log events you can send in this index per day before you are rate-limited.
25
25
  attr_accessor :daily_limit
26
26
 
27
+ # Object containing options to override the default daily limit reset time.
28
+ attr_accessor :daily_limit_reset
29
+
30
+ # A percentage threshold of the daily quota at which a Datadog warning event is generated.
31
+ attr_reader :daily_limit_warning_threshold_percentage
32
+
27
33
  # An array of exclusion objects. The logs are tested against the query of each filter,
28
34
  # following the order of the array. Only the first matching active exclusion matters,
29
35
  # others (if any) are ignored.
@@ -48,6 +54,8 @@ module DatadogAPIClient::V1
48
54
  def self.attribute_map
49
55
  {
50
56
  :'daily_limit' => :'daily_limit',
57
+ :'daily_limit_reset' => :'daily_limit_reset',
58
+ :'daily_limit_warning_threshold_percentage' => :'daily_limit_warning_threshold_percentage',
51
59
  :'exclusion_filters' => :'exclusion_filters',
52
60
  :'filter' => :'filter',
53
61
  :'is_rate_limited' => :'is_rate_limited',
@@ -61,6 +69,8 @@ module DatadogAPIClient::V1
61
69
  def self.openapi_types
62
70
  {
63
71
  :'daily_limit' => :'Integer',
72
+ :'daily_limit_reset' => :'LogsDailyLimitReset',
73
+ :'daily_limit_warning_threshold_percentage' => :'Float',
64
74
  :'exclusion_filters' => :'Array<LogsExclusion>',
65
75
  :'filter' => :'LogsFilter',
66
76
  :'is_rate_limited' => :'Boolean',
@@ -89,6 +99,14 @@ module DatadogAPIClient::V1
89
99
  self.daily_limit = attributes[:'daily_limit']
90
100
  end
91
101
 
102
+ if attributes.key?(:'daily_limit_reset')
103
+ self.daily_limit_reset = attributes[:'daily_limit_reset']
104
+ end
105
+
106
+ if attributes.key?(:'daily_limit_warning_threshold_percentage')
107
+ self.daily_limit_warning_threshold_percentage = attributes[:'daily_limit_warning_threshold_percentage']
108
+ end
109
+
92
110
  if attributes.key?(:'exclusion_filters')
93
111
  if (value = attributes[:'exclusion_filters']).is_a?(Array)
94
112
  self.exclusion_filters = value
@@ -116,11 +134,26 @@ module DatadogAPIClient::V1
116
134
  # @return true if the model is valid
117
135
  # @!visibility private
118
136
  def valid?
137
+ return false if !@daily_limit_warning_threshold_percentage.nil? && @daily_limit_warning_threshold_percentage > 99.99
138
+ return false if !@daily_limit_warning_threshold_percentage.nil? && @daily_limit_warning_threshold_percentage < 50
119
139
  return false if @filter.nil?
120
140
  return false if @name.nil?
121
141
  true
122
142
  end
123
143
 
144
+ # Custom attribute writer method with validation
145
+ # @param daily_limit_warning_threshold_percentage [Object] Object to be assigned
146
+ # @!visibility private
147
+ def daily_limit_warning_threshold_percentage=(daily_limit_warning_threshold_percentage)
148
+ if !daily_limit_warning_threshold_percentage.nil? && daily_limit_warning_threshold_percentage > 99.99
149
+ fail ArgumentError, 'invalid value for "daily_limit_warning_threshold_percentage", must be smaller than or equal to 99.99.'
150
+ end
151
+ if !daily_limit_warning_threshold_percentage.nil? && daily_limit_warning_threshold_percentage < 50
152
+ fail ArgumentError, 'invalid value for "daily_limit_warning_threshold_percentage", must be greater than or equal to 50.'
153
+ end
154
+ @daily_limit_warning_threshold_percentage = daily_limit_warning_threshold_percentage
155
+ end
156
+
124
157
  # Custom attribute writer method with validation
125
158
  # @param filter [Object] Object to be assigned
126
159
  # @!visibility private
@@ -148,6 +181,8 @@ module DatadogAPIClient::V1
148
181
  return true if self.equal?(o)
149
182
  self.class == o.class &&
150
183
  daily_limit == o.daily_limit &&
184
+ daily_limit_reset == o.daily_limit_reset &&
185
+ daily_limit_warning_threshold_percentage == o.daily_limit_warning_threshold_percentage &&
151
186
  exclusion_filters == o.exclusion_filters &&
152
187
  filter == o.filter &&
153
188
  is_rate_limited == o.is_rate_limited &&
@@ -159,7 +194,7 @@ module DatadogAPIClient::V1
159
194
  # @return [Integer] Hash code
160
195
  # @!visibility private
161
196
  def hash
162
- [daily_limit, exclusion_filters, filter, is_rate_limited, name, num_retention_days].hash
197
+ [daily_limit, daily_limit_reset, daily_limit_warning_threshold_percentage, exclusion_filters, filter, is_rate_limited, name, num_retention_days].hash
163
198
  end
164
199
  end
165
200
  end
@@ -24,6 +24,12 @@ module DatadogAPIClient::V1
24
24
  # The number of log events you can send in this index per day before you are rate-limited.
25
25
  attr_accessor :daily_limit
26
26
 
27
+ # Object containing options to override the default daily limit reset time.
28
+ attr_accessor :daily_limit_reset
29
+
30
+ # A percentage threshold of the daily quota at which a Datadog warning event is generated.
31
+ attr_reader :daily_limit_warning_threshold_percentage
32
+
27
33
  # If true, sets the `daily_limit` value to null and the index is not limited on a daily basis (any
28
34
  # specified `daily_limit` value in the request is ignored). If false or omitted, the index's current
29
35
  # `daily_limit` is maintained.
@@ -49,6 +55,8 @@ module DatadogAPIClient::V1
49
55
  def self.attribute_map
50
56
  {
51
57
  :'daily_limit' => :'daily_limit',
58
+ :'daily_limit_reset' => :'daily_limit_reset',
59
+ :'daily_limit_warning_threshold_percentage' => :'daily_limit_warning_threshold_percentage',
52
60
  :'disable_daily_limit' => :'disable_daily_limit',
53
61
  :'exclusion_filters' => :'exclusion_filters',
54
62
  :'filter' => :'filter',
@@ -61,6 +69,8 @@ module DatadogAPIClient::V1
61
69
  def self.openapi_types
62
70
  {
63
71
  :'daily_limit' => :'Integer',
72
+ :'daily_limit_reset' => :'LogsDailyLimitReset',
73
+ :'daily_limit_warning_threshold_percentage' => :'Float',
64
74
  :'disable_daily_limit' => :'Boolean',
65
75
  :'exclusion_filters' => :'Array<LogsExclusion>',
66
76
  :'filter' => :'LogsFilter',
@@ -88,6 +98,14 @@ module DatadogAPIClient::V1
88
98
  self.daily_limit = attributes[:'daily_limit']
89
99
  end
90
100
 
101
+ if attributes.key?(:'daily_limit_reset')
102
+ self.daily_limit_reset = attributes[:'daily_limit_reset']
103
+ end
104
+
105
+ if attributes.key?(:'daily_limit_warning_threshold_percentage')
106
+ self.daily_limit_warning_threshold_percentage = attributes[:'daily_limit_warning_threshold_percentage']
107
+ end
108
+
91
109
  if attributes.key?(:'disable_daily_limit')
92
110
  self.disable_daily_limit = attributes[:'disable_daily_limit']
93
111
  end
@@ -111,10 +129,25 @@ module DatadogAPIClient::V1
111
129
  # @return true if the model is valid
112
130
  # @!visibility private
113
131
  def valid?
132
+ return false if !@daily_limit_warning_threshold_percentage.nil? && @daily_limit_warning_threshold_percentage > 99.99
133
+ return false if !@daily_limit_warning_threshold_percentage.nil? && @daily_limit_warning_threshold_percentage < 50
114
134
  return false if @filter.nil?
115
135
  true
116
136
  end
117
137
 
138
+ # Custom attribute writer method with validation
139
+ # @param daily_limit_warning_threshold_percentage [Object] Object to be assigned
140
+ # @!visibility private
141
+ def daily_limit_warning_threshold_percentage=(daily_limit_warning_threshold_percentage)
142
+ if !daily_limit_warning_threshold_percentage.nil? && daily_limit_warning_threshold_percentage > 99.99
143
+ fail ArgumentError, 'invalid value for "daily_limit_warning_threshold_percentage", must be smaller than or equal to 99.99.'
144
+ end
145
+ if !daily_limit_warning_threshold_percentage.nil? && daily_limit_warning_threshold_percentage < 50
146
+ fail ArgumentError, 'invalid value for "daily_limit_warning_threshold_percentage", must be greater than or equal to 50.'
147
+ end
148
+ @daily_limit_warning_threshold_percentage = daily_limit_warning_threshold_percentage
149
+ end
150
+
118
151
  # Custom attribute writer method with validation
119
152
  # @param filter [Object] Object to be assigned
120
153
  # @!visibility private
@@ -132,6 +165,8 @@ module DatadogAPIClient::V1
132
165
  return true if self.equal?(o)
133
166
  self.class == o.class &&
134
167
  daily_limit == o.daily_limit &&
168
+ daily_limit_reset == o.daily_limit_reset &&
169
+ daily_limit_warning_threshold_percentage == o.daily_limit_warning_threshold_percentage &&
135
170
  disable_daily_limit == o.disable_daily_limit &&
136
171
  exclusion_filters == o.exclusion_filters &&
137
172
  filter == o.filter &&
@@ -142,7 +177,7 @@ module DatadogAPIClient::V1
142
177
  # @return [Integer] Hash code
143
178
  # @!visibility private
144
179
  def hash
145
- [daily_limit, disable_daily_limit, exclusion_filters, filter, num_retention_days].hash
180
+ [daily_limit, daily_limit_reset, daily_limit_warning_threshold_percentage, disable_daily_limit, exclusion_filters, filter, num_retention_days].hash
146
181
  end
147
182
  end
148
183
  end
@@ -21,7 +21,7 @@ module DatadogAPIClient::V1
21
21
  class MetricsPayload
22
22
  include BaseGenericModel
23
23
 
24
- # A list of time series to submit to Datadog.
24
+ # A list of timeseries to submit to Datadog.
25
25
  attr_reader :series
26
26
 
27
27
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -42,7 +42,7 @@ module DatadogAPIClient::V1
42
42
  # Metric name.
43
43
  attr_accessor :metric
44
44
 
45
- # List of points of the time series in milliseconds.
45
+ # List of points of the timeseries in milliseconds.
46
46
  attr_accessor :pointlist
47
47
 
48
48
  # The index of the series' query within the request.
@@ -30,7 +30,7 @@ module DatadogAPIClient::V1
30
30
  # Description of the organization.
31
31
  attr_accessor :description
32
32
 
33
- # The name of the new child-organization, limited to 32 characters.
33
+ # The name of the child organization, limited to 32 characters.
34
34
  attr_reader :name
35
35
 
36
36
  # The `public_id` of the organization you are operating within.
@@ -73,6 +73,9 @@ module DatadogAPIClient::V1
73
73
  # min of all of those requests.
74
74
  attr_accessor :query
75
75
 
76
+ # A generic SLI specification. This is currently used for time-slice SLOs only.
77
+ attr_accessor :sli_specification
78
+
76
79
  # A list of tags associated with this service level objective.
77
80
  # Always included in service level objective responses (but may be empty).
78
81
  # Optional in create/update requests.
@@ -112,6 +115,7 @@ module DatadogAPIClient::V1
112
115
  :'monitor_tags' => :'monitor_tags',
113
116
  :'name' => :'name',
114
117
  :'query' => :'query',
118
+ :'sli_specification' => :'sli_specification',
115
119
  :'tags' => :'tags',
116
120
  :'target_threshold' => :'target_threshold',
117
121
  :'thresholds' => :'thresholds',
@@ -135,6 +139,7 @@ module DatadogAPIClient::V1
135
139
  :'monitor_tags' => :'Array<String>',
136
140
  :'name' => :'String',
137
141
  :'query' => :'ServiceLevelObjectiveQuery',
142
+ :'sli_specification' => :'SLOSliSpec',
138
143
  :'tags' => :'Array<String>',
139
144
  :'target_threshold' => :'Float',
140
145
  :'thresholds' => :'Array<SLOThreshold>',
@@ -214,6 +219,10 @@ module DatadogAPIClient::V1
214
219
  self.query = attributes[:'query']
215
220
  end
216
221
 
222
+ if attributes.key?(:'sli_specification')
223
+ self.sli_specification = attributes[:'sli_specification']
224
+ end
225
+
217
226
  if attributes.key?(:'tags')
218
227
  if (value = attributes[:'tags']).is_a?(Array)
219
228
  self.tags = value
@@ -299,6 +308,7 @@ module DatadogAPIClient::V1
299
308
  monitor_tags == o.monitor_tags &&
300
309
  name == o.name &&
301
310
  query == o.query &&
311
+ sli_specification == o.sli_specification &&
302
312
  tags == o.tags &&
303
313
  target_threshold == o.target_threshold &&
304
314
  thresholds == o.thresholds &&
@@ -311,7 +321,7 @@ module DatadogAPIClient::V1
311
321
  # @return [Integer] Hash code
312
322
  # @!visibility private
313
323
  def hash
314
- [created_at, creator, description, groups, id, modified_at, monitor_ids, monitor_tags, name, query, tags, target_threshold, thresholds, timeframe, type, warning_threshold].hash
324
+ [created_at, creator, description, groups, id, modified_at, monitor_ids, monitor_tags, name, query, sli_specification, tags, target_threshold, thresholds, timeframe, type, warning_threshold].hash
315
325
  end
316
326
  end
317
327
  end
@@ -47,6 +47,9 @@ module DatadogAPIClient::V1
47
47
  # min of all of those requests.
48
48
  attr_accessor :query
49
49
 
50
+ # A generic SLI specification. This is currently used for time-slice SLOs only.
51
+ attr_accessor :sli_specification
52
+
50
53
  # A list of tags associated with this service level objective.
51
54
  # Always included in service level objective responses (but may be empty).
52
55
  # Optional in create/update requests.
@@ -81,6 +84,7 @@ module DatadogAPIClient::V1
81
84
  :'monitor_ids' => :'monitor_ids',
82
85
  :'name' => :'name',
83
86
  :'query' => :'query',
87
+ :'sli_specification' => :'sli_specification',
84
88
  :'tags' => :'tags',
85
89
  :'target_threshold' => :'target_threshold',
86
90
  :'thresholds' => :'thresholds',
@@ -99,6 +103,7 @@ module DatadogAPIClient::V1
99
103
  :'monitor_ids' => :'Array<Integer>',
100
104
  :'name' => :'String',
101
105
  :'query' => :'ServiceLevelObjectiveQuery',
106
+ :'sli_specification' => :'SLOSliSpec',
102
107
  :'tags' => :'Array<String>',
103
108
  :'target_threshold' => :'Float',
104
109
  :'thresholds' => :'Array<SLOThreshold>',
@@ -156,6 +161,10 @@ module DatadogAPIClient::V1
156
161
  self.query = attributes[:'query']
157
162
  end
158
163
 
164
+ if attributes.key?(:'sli_specification')
165
+ self.sli_specification = attributes[:'sli_specification']
166
+ end
167
+
159
168
  if attributes.key?(:'tags')
160
169
  if (value = attributes[:'tags']).is_a?(Array)
161
170
  self.tags = value
@@ -236,6 +245,7 @@ module DatadogAPIClient::V1
236
245
  monitor_ids == o.monitor_ids &&
237
246
  name == o.name &&
238
247
  query == o.query &&
248
+ sli_specification == o.sli_specification &&
239
249
  tags == o.tags &&
240
250
  target_threshold == o.target_threshold &&
241
251
  thresholds == o.thresholds &&
@@ -248,7 +258,7 @@ module DatadogAPIClient::V1
248
258
  # @return [Integer] Hash code
249
259
  # @!visibility private
250
260
  def hash
251
- [description, groups, monitor_ids, name, query, tags, target_threshold, thresholds, timeframe, type, warning_threshold].hash
261
+ [description, groups, monitor_ids, name, query, sli_specification, tags, target_threshold, thresholds, timeframe, type, warning_threshold].hash
252
262
  end
253
263
  end
254
264
  end
@@ -34,7 +34,7 @@ module DatadogAPIClient::V1
34
34
  attr_accessor :_end
35
35
 
36
36
  # The recurrence rules as defined in the iCalendar RFC 5545. The supported rules for SLO corrections
37
- # are `FREQ`, `INTERVAL`, `COUNT` and `UNTIL`.
37
+ # are `FREQ`, `INTERVAL`, `COUNT`, `UNTIL` and `BYDAY`.
38
38
  attr_accessor :rrule
39
39
 
40
40
  # ID of the SLO that this correction applies to.
@@ -46,7 +46,7 @@ module DatadogAPIClient::V1
46
46
  attr_accessor :modifier
47
47
 
48
48
  # The recurrence rules as defined in the iCalendar RFC 5545. The supported rules for SLO corrections
49
- # are `FREQ`, `INTERVAL`, `COUNT`, and `UNTIL`.
49
+ # are `FREQ`, `INTERVAL`, `COUNT`, `UNTIL` and `BYDAY`.
50
50
  attr_accessor :rrule
51
51
 
52
52
  # ID of the SLO that this correction applies to.
@@ -34,7 +34,7 @@ module DatadogAPIClient::V1
34
34
  attr_accessor :_end
35
35
 
36
36
  # The recurrence rules as defined in the iCalendar RFC 5545. The supported rules for SLO corrections
37
- # are `FREQ`, `INTERVAL`, `COUNT`, and `UNTIL`.
37
+ # are `FREQ`, `INTERVAL`, `COUNT`, `UNTIL` and `BYDAY`.
38
38
  attr_accessor :rrule
39
39
 
40
40
  # Starting time of the correction in epoch seconds.
@@ -0,0 +1,62 @@
1
+ =begin
2
+ #Datadog API V1 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::V1
20
+ # A formula and function query.
21
+ module SLODataSourceQueryDefinition
22
+ class << self
23
+ include BaseOneOfModel
24
+ include BaseOneOfModelNoDiscriminator
25
+
26
+ # List of class defined in oneOf (OpenAPI v3)
27
+ def openapi_one_of
28
+ [
29
+ :'FormulaAndFunctionMetricQueryDefinition'
30
+ ]
31
+ end
32
+ # Builds the object
33
+ # @param data [Mixed] Data to be matched against the list of oneOf items
34
+ # @return [Object] Returns the model or the data itself
35
+ def build(data)
36
+ # Go through the list of oneOf items and attempt to identify the appropriate one.
37
+ # Note:
38
+ # - We do not attempt to check whether exactly one item matches.
39
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
40
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
41
+ # - TODO: scalar values are de facto behaving as if they were nullable.
42
+ # - TODO: logging when debugging is set.
43
+ openapi_one_of.each do |klass|
44
+ begin
45
+ next if klass == :AnyType # "nullable: true"
46
+ typed_data = find_and_cast_into_type(klass, data)
47
+ next if typed_data.respond_to?(:_unparsed) && typed_data._unparsed
48
+ return typed_data if typed_data
49
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
50
+ end
51
+ end
52
+
53
+ if openapi_one_of.include?(:AnyType)
54
+ data
55
+ else
56
+ self._unparsed = true
57
+ DatadogAPIClient::UnparsedObject.new(data)
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end