datadog_api_client 2.19.0 → 2.21.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 (256) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/conftest.py +5 -0
  4. data/.generator/schemas/v1/openapi.yaml +430 -172
  5. data/.generator/schemas/v2/openapi.yaml +3146 -165
  6. data/.generator/src/generator/templates/api.j2 +5 -5
  7. data/CHANGELOG.md +48 -0
  8. data/examples/v1/gcp-integration/CreateGCPIntegration.rb +3 -0
  9. data/examples/v1/gcp-integration/UpdateGCPIntegration_3544259255.rb +25 -0
  10. data/examples/v1/logs-indexes/CreateLogsIndex.rb +5 -0
  11. data/examples/v1/logs-indexes/UpdateLogsIndex.rb +5 -0
  12. data/examples/v1/synthetics/CreateSyntheticsAPITest.rb +1 -1
  13. data/examples/v1/synthetics/CreateSyntheticsAPITest_1279271422.rb +29 -0
  14. data/examples/v1/synthetics/CreateSyntheticsBrowserTest.rb +1 -1
  15. data/examples/v1/synthetics/TriggerCITests.rb +1 -1
  16. data/examples/v1/synthetics/UpdateBrowserTest.rb +2 -1
  17. data/examples/v1/usage-metering/GetUsageLambda.rb +5 -2
  18. data/examples/v2/api-management/CreateOpenAPI.rb +11 -0
  19. data/examples/v2/api-management/DeleteOpenAPI.rb +11 -0
  20. data/examples/v2/api-management/GetOpenAPI.rb +11 -0
  21. data/examples/v2/api-management/UpdateOpenAPI.rb +14 -0
  22. data/examples/v2/case-management/ArchiveCase.rb +14 -0
  23. data/examples/v2/case-management/AssignCase.rb +20 -0
  24. data/examples/v2/case-management/CreateCase.rb +33 -0
  25. data/examples/v2/case-management/CreateProject.rb +15 -0
  26. data/examples/v2/case-management/DeleteProject.rb +5 -0
  27. data/examples/v2/case-management/GetCase.rb +8 -0
  28. data/examples/v2/case-management/GetProject.rb +5 -0
  29. data/examples/v2/case-management/GetProjects.rb +5 -0
  30. data/examples/v2/case-management/SearchCases.rb +5 -0
  31. data/examples/v2/case-management/SearchCases_3433960044.rb +5 -0
  32. data/examples/v2/case-management/UnarchiveCase.rb +14 -0
  33. data/examples/v2/case-management/UnassignCase.rb +14 -0
  34. data/examples/v2/case-management/UpdatePriority.rb +17 -0
  35. data/examples/v2/case-management/UpdateStatus.rb +17 -0
  36. data/examples/v2/cloud-workload-security/CreateCSMThreatsAgentRule.rb +17 -0
  37. data/examples/v2/cloud-workload-security/DeleteCSMThreatsAgentRule.rb +8 -0
  38. data/examples/v2/cloud-workload-security/DownloadCSMThreatsPolicy.rb +5 -0
  39. data/examples/v2/cloud-workload-security/GetCSMThreatsAgentRule.rb +8 -0
  40. data/examples/v2/cloud-workload-security/ListCSMThreatsAgentRules.rb +5 -0
  41. data/examples/v2/cloud-workload-security/UpdateCSMThreatsAgentRule.rb +20 -0
  42. data/examples/v2/dora-metrics/CreateDORAIncident.rb +6 -3
  43. data/examples/v2/gcp-integration/CreateGCPSTSAccount_194782945.rb +18 -0
  44. data/examples/v2/gcp-integration/UpdateGCPSTSAccount_2241994060.rb +21 -0
  45. data/examples/v2/logs-custom-destinations/CreateLogsCustomDestination.rb +31 -0
  46. data/examples/v2/logs-custom-destinations/CreateLogsCustomDestination_1091442807.rb +31 -0
  47. data/examples/v2/logs-custom-destinations/CreateLogsCustomDestination_1288180912.rb +27 -0
  48. data/examples/v2/logs-custom-destinations/CreateLogsCustomDestination_141236188.rb +32 -0
  49. data/examples/v2/logs-custom-destinations/CreateLogsCustomDestination_2184123765.rb +31 -0
  50. data/examples/v2/logs-custom-destinations/DeleteLogsCustomDestination.rb +8 -0
  51. data/examples/v2/logs-custom-destinations/GetLogsCustomDestination.rb +8 -0
  52. data/examples/v2/logs-custom-destinations/ListLogsCustomDestinations.rb +5 -0
  53. data/examples/v2/logs-custom-destinations/UpdateLogsCustomDestination.rb +18 -0
  54. data/examples/v2/metrics/ListMetricAssets.rb +5 -0
  55. data/examples/v2/okta-integration/CreateOktaAccount.rb +1 -1
  56. data/examples/v2/security-monitoring/CreateSecurityMonitoringSuppression.rb +19 -0
  57. data/examples/v2/security-monitoring/DeleteSecurityMonitoringSuppression.rb +8 -0
  58. data/examples/v2/security-monitoring/GetSecurityMonitoringSuppression.rb +8 -0
  59. data/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions.rb +5 -0
  60. data/examples/v2/security-monitoring/UpdateSecurityMonitoringSuppression.rb +17 -0
  61. data/examples/v2/teams/GetTeamMemberships_3799131168.rb +8 -0
  62. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations.rb +1 -1
  63. data/lib/datadog_api_client/configuration.rb +4 -0
  64. data/lib/datadog_api_client/inflector.rb +134 -0
  65. data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -3
  66. data/lib/datadog_api_client/v1/api/organizations_api.rb +1 -1
  67. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +8 -8
  68. data/lib/datadog_api_client/v1/models/dashboard.rb +5 -1
  69. data/lib/datadog_api_client/v1/models/dashboard_summary_definition.rb +2 -0
  70. data/lib/datadog_api_client/v1/models/gcp_account.rb +14 -1
  71. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +6 -0
  72. data/lib/datadog_api_client/v1/models/log.rb +1 -1
  73. data/lib/datadog_api_client/v1/models/logs_daily_limit_reset.rb +90 -0
  74. data/lib/datadog_api_client/v1/models/logs_index.rb +36 -1
  75. data/lib/datadog_api_client/v1/models/logs_index_update_request.rb +36 -1
  76. data/lib/datadog_api_client/v1/models/metrics_payload.rb +1 -1
  77. data/lib/datadog_api_client/v1/models/metrics_query_metadata.rb +1 -1
  78. data/lib/datadog_api_client/v1/models/monitor_formula_and_function_events_data_source.rb +1 -0
  79. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +8 -0
  80. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +84 -4
  81. data/lib/datadog_api_client/v1/models/slo_correction_create_request_attributes.rb +1 -1
  82. data/lib/datadog_api_client/v1/models/slo_correction_response_attributes.rb +1 -1
  83. data/lib/datadog_api_client/v1/models/slo_correction_update_request_attributes.rb +1 -1
  84. data/lib/datadog_api_client/v1/models/slo_history_metrics.rb +2 -2
  85. data/lib/datadog_api_client/v1/models/slo_history_metrics_series.rb +1 -1
  86. data/lib/datadog_api_client/v1/models/slo_history_monitor.rb +1 -1
  87. data/lib/datadog_api_client/v1/models/slo_history_sli_data.rb +1 -1
  88. data/lib/datadog_api_client/v1/models/split_config.rb +6 -6
  89. data/lib/datadog_api_client/v1/models/synthetics_api_step_subtype.rb +1 -0
  90. data/lib/datadog_api_client/v1/models/synthetics_test_request.rb +21 -1
  91. data/lib/datadog_api_client/v1/models/usage_attribution_body.rb +1 -1
  92. data/lib/datadog_api_client/v1/models/usage_attribution_sort.rb +2 -0
  93. data/lib/datadog_api_client/v1/models/usage_attribution_supported_metrics.rb +2 -0
  94. data/lib/datadog_api_client/v1/models/usage_lambda_hour.rb +1 -1
  95. data/lib/datadog_api_client/v1/models/usage_lambda_response.rb +1 -1
  96. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +81 -1
  97. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +83 -3
  98. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +182 -102
  99. data/lib/datadog_api_client/v2/api/api_management_api.rb +319 -0
  100. data/lib/datadog_api_client/v2/api/case_management_api.rb +942 -0
  101. data/lib/datadog_api_client/v2/api/ci_visibility_tests_api.rb +2 -2
  102. data/lib/datadog_api_client/v2/api/cloud_workload_security_api.rb +392 -0
  103. data/lib/datadog_api_client/v2/api/incident_services_api.rb +15 -0
  104. data/lib/datadog_api_client/v2/api/logs_custom_destinations_api.rb +355 -0
  105. data/lib/datadog_api_client/v2/api/metrics_api.rb +69 -1
  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/service_definition_api.rb +2 -1
  109. data/lib/datadog_api_client/v2/api/teams_api.rb +22 -0
  110. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +6 -6
  111. data/lib/datadog_api_client/v2/models/case.rb +150 -0
  112. data/lib/datadog_api_client/v2/models/case3rd_party_ticket_status.rb +28 -0
  113. data/lib/datadog_api_client/v2/models/case_assign.rb +119 -0
  114. data/lib/datadog_api_client/v2/models/case_assign_attributes.rb +98 -0
  115. data/lib/datadog_api_client/v2/models/case_assign_request.rb +98 -0
  116. data/lib/datadog_api_client/v2/models/case_attributes.rb +202 -0
  117. data/lib/datadog_api_client/v2/models/case_create.rb +129 -0
  118. data/lib/datadog_api_client/v2/models/case_create_attributes.rb +139 -0
  119. data/lib/datadog_api_client/v2/models/case_create_relationships.rb +116 -0
  120. data/lib/datadog_api_client/v2/models/case_create_request.rb +98 -0
  121. data/lib/datadog_api_client/v2/models/case_empty.rb +98 -0
  122. data/lib/datadog_api_client/v2/models/case_empty_request.rb +98 -0
  123. data/lib/datadog_api_client/v2/models/case_priority.rb +31 -0
  124. data/lib/datadog_api_client/v2/models/case_relationships.rb +120 -0
  125. data/lib/datadog_api_client/v2/models/case_resource_type.rb +26 -0
  126. data/lib/datadog_api_client/v2/models/case_response.rb +80 -0
  127. data/lib/datadog_api_client/v2/models/case_sortable_field.rb +28 -0
  128. data/lib/datadog_api_client/v2/models/case_status.rb +28 -0
  129. data/lib/datadog_api_client/v2/models/case_type.rb +26 -0
  130. data/lib/datadog_api_client/v2/models/case_update_priority.rb +119 -0
  131. data/lib/datadog_api_client/v2/models/case_update_priority_attributes.rb +98 -0
  132. data/lib/datadog_api_client/v2/models/case_update_priority_request.rb +98 -0
  133. data/lib/datadog_api_client/v2/models/case_update_status.rb +119 -0
  134. data/lib/datadog_api_client/v2/models/case_update_status_attributes.rb +98 -0
  135. data/lib/datadog_api_client/v2/models/case_update_status_request.rb +98 -0
  136. data/lib/datadog_api_client/v2/models/cases_response.rb +92 -0
  137. data/lib/datadog_api_client/v2/models/cases_response_meta.rb +80 -0
  138. data/lib/datadog_api_client/v2/models/cases_response_meta_pagination.rb +100 -0
  139. data/lib/datadog_api_client/v2/models/ci_app_aggregate_sort.rb +1 -1
  140. data/lib/datadog_api_client/v2/models/ci_app_pipelines_group_by.rb +1 -1
  141. data/lib/datadog_api_client/v2/models/ci_app_tests_group_by.rb +1 -1
  142. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_action.rb +90 -0
  143. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_attributes.rb +21 -1
  144. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_kill.rb +80 -0
  145. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_update_data.rb +11 -1
  146. data/lib/datadog_api_client/v2/models/create_open_api_response.rb +80 -0
  147. data/lib/datadog_api_client/v2/models/create_open_api_response_attributes.rb +82 -0
  148. data/lib/datadog_api_client/v2/models/create_open_api_response_data.rb +90 -0
  149. data/lib/datadog_api_client/v2/models/custom_destination_attribute_tags_restriction_list_type.rb +31 -0
  150. data/lib/datadog_api_client/v2/models/custom_destination_create_request.rb +80 -0
  151. data/lib/datadog_api_client/v2/models/custom_destination_create_request_attributes.rb +193 -0
  152. data/lib/datadog_api_client/v2/models/custom_destination_create_request_definition.rb +119 -0
  153. data/lib/datadog_api_client/v2/models/custom_destination_elasticsearch_destination_auth.rb +119 -0
  154. data/lib/datadog_api_client/v2/models/custom_destination_forward_destination.rb +64 -0
  155. data/lib/datadog_api_client/v2/models/custom_destination_forward_destination_elasticsearch.rb +181 -0
  156. data/lib/datadog_api_client/v2/models/custom_destination_forward_destination_elasticsearch_type.rb +26 -0
  157. data/lib/datadog_api_client/v2/models/custom_destination_forward_destination_http.rb +141 -0
  158. data/lib/datadog_api_client/v2/models/custom_destination_forward_destination_http_type.rb +26 -0
  159. data/lib/datadog_api_client/v2/models/custom_destination_forward_destination_splunk.rb +141 -0
  160. data/lib/datadog_api_client/v2/models/custom_destination_forward_destination_splunk_type.rb +26 -0
  161. data/lib/datadog_api_client/v2/models/custom_destination_http_destination_auth.rb +63 -0
  162. data/lib/datadog_api_client/v2/models/custom_destination_http_destination_auth_basic.rb +140 -0
  163. data/lib/datadog_api_client/v2/models/custom_destination_http_destination_auth_basic_type.rb +26 -0
  164. data/lib/datadog_api_client/v2/models/custom_destination_http_destination_auth_custom_header.rb +140 -0
  165. data/lib/datadog_api_client/v2/models/custom_destination_http_destination_auth_custom_header_type.rb +26 -0
  166. data/lib/datadog_api_client/v2/models/custom_destination_response.rb +80 -0
  167. data/lib/datadog_api_client/v2/models/custom_destination_response_attributes.rb +171 -0
  168. data/lib/datadog_api_client/v2/models/custom_destination_response_definition.rb +100 -0
  169. data/lib/datadog_api_client/v2/models/custom_destination_response_forward_destination.rb +64 -0
  170. data/lib/datadog_api_client/v2/models/custom_destination_response_forward_destination_elasticsearch.rb +181 -0
  171. data/lib/datadog_api_client/v2/models/custom_destination_response_forward_destination_elasticsearch_type.rb +26 -0
  172. data/lib/datadog_api_client/v2/models/custom_destination_response_forward_destination_http.rb +141 -0
  173. data/lib/datadog_api_client/v2/models/custom_destination_response_forward_destination_http_type.rb +26 -0
  174. data/lib/datadog_api_client/v2/models/custom_destination_response_forward_destination_splunk.rb +120 -0
  175. data/lib/datadog_api_client/v2/models/custom_destination_response_forward_destination_splunk_type.rb +26 -0
  176. data/lib/datadog_api_client/v2/models/custom_destination_response_http_destination_auth.rb +63 -0
  177. data/lib/datadog_api_client/v2/models/custom_destination_response_http_destination_auth_basic.rb +98 -0
  178. data/lib/datadog_api_client/v2/models/custom_destination_response_http_destination_auth_basic_type.rb +26 -0
  179. data/lib/datadog_api_client/v2/models/custom_destination_response_http_destination_auth_custom_header.rb +119 -0
  180. data/lib/datadog_api_client/v2/models/custom_destination_response_http_destination_auth_custom_header_type.rb +26 -0
  181. data/lib/datadog_api_client/v2/models/custom_destination_type.rb +26 -0
  182. data/lib/datadog_api_client/v2/models/custom_destination_update_request.rb +80 -0
  183. data/lib/datadog_api_client/v2/models/custom_destination_update_request_attributes.rb +169 -0
  184. data/lib/datadog_api_client/v2/models/custom_destination_update_request_definition.rb +129 -0
  185. data/lib/datadog_api_client/v2/models/custom_destinations_response.rb +82 -0
  186. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +11 -1
  187. data/lib/datadog_api_client/v2/models/dora_incident_request_attributes.rb +31 -20
  188. data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +14 -1
  189. data/lib/datadog_api_client/v2/models/jira_issue.rb +90 -0
  190. data/lib/datadog_api_client/v2/models/jira_issue_result.rb +110 -0
  191. data/lib/datadog_api_client/v2/models/logs_archive_integration_gcs.rb +1 -12
  192. data/lib/datadog_api_client/v2/models/metric_asset_attributes.rb +80 -0
  193. data/lib/datadog_api_client/v2/models/metric_asset_dashboard_relationship.rb +90 -0
  194. data/lib/datadog_api_client/v2/models/metric_asset_dashboard_relationships.rb +82 -0
  195. data/lib/datadog_api_client/v2/models/metric_asset_monitor_relationship.rb +90 -0
  196. data/lib/datadog_api_client/v2/models/metric_asset_monitor_relationships.rb +82 -0
  197. data/lib/datadog_api_client/v2/models/metric_asset_notebook_relationship.rb +90 -0
  198. data/lib/datadog_api_client/v2/models/metric_asset_notebook_relationships.rb +82 -0
  199. data/lib/datadog_api_client/v2/models/metric_asset_response_data.rb +129 -0
  200. data/lib/datadog_api_client/v2/models/metric_asset_response_included.rb +65 -0
  201. data/lib/datadog_api_client/v2/models/metric_asset_response_relationships.rb +110 -0
  202. data/lib/datadog_api_client/v2/models/metric_asset_slo_relationship.rb +90 -0
  203. data/lib/datadog_api_client/v2/models/metric_asset_slo_relationships.rb +82 -0
  204. data/lib/datadog_api_client/v2/models/metric_assets_response.rb +92 -0
  205. data/lib/datadog_api_client/v2/models/metric_dashboard_asset.rb +129 -0
  206. data/lib/datadog_api_client/v2/models/metric_dashboard_attributes.rb +112 -0
  207. data/lib/datadog_api_client/v2/models/metric_dashboard_type.rb +26 -0
  208. data/lib/datadog_api_client/v2/models/metric_monitor_asset.rb +129 -0
  209. data/lib/datadog_api_client/v2/models/metric_monitor_type.rb +26 -0
  210. data/lib/datadog_api_client/v2/models/metric_notebook_asset.rb +129 -0
  211. data/lib/datadog_api_client/v2/models/metric_notebook_type.rb +26 -0
  212. data/lib/datadog_api_client/v2/models/metric_payload.rb +1 -1
  213. data/lib/datadog_api_client/v2/models/metric_slo_asset.rb +129 -0
  214. data/lib/datadog_api_client/v2/models/metric_slo_type.rb +26 -0
  215. data/lib/datadog_api_client/v2/models/nullable_user_relationship.rb +88 -0
  216. data/lib/datadog_api_client/v2/models/nullable_user_relationship_data.rb +119 -0
  217. data/lib/datadog_api_client/v2/models/open_api_endpoint.rb +90 -0
  218. data/lib/datadog_api_client/v2/models/open_api_file.rb +80 -0
  219. data/lib/datadog_api_client/v2/models/project.rb +150 -0
  220. data/lib/datadog_api_client/v2/models/project_attributes.rb +90 -0
  221. data/lib/datadog_api_client/v2/models/project_create.rb +119 -0
  222. data/lib/datadog_api_client/v2/models/project_create_attributes.rb +119 -0
  223. data/lib/datadog_api_client/v2/models/project_create_request.rb +98 -0
  224. data/lib/datadog_api_client/v2/models/project_relationship.rb +98 -0
  225. data/lib/datadog_api_client/v2/models/project_relationship_data.rb +119 -0
  226. data/lib/datadog_api_client/v2/models/project_relationships.rb +90 -0
  227. data/lib/datadog_api_client/v2/models/project_resource_type.rb +26 -0
  228. data/lib/datadog_api_client/v2/models/project_response.rb +80 -0
  229. data/lib/datadog_api_client/v2/models/projects_response.rb +82 -0
  230. data/lib/datadog_api_client/v2/models/security_monitoring_suppression.rb +100 -0
  231. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_attributes.rb +198 -0
  232. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_attributes.rb +181 -0
  233. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_data.rb +119 -0
  234. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_request.rb +98 -0
  235. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_response.rb +80 -0
  236. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_type.rb +26 -0
  237. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_attributes.rb +166 -0
  238. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_data.rb +119 -0
  239. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_request.rb +98 -0
  240. data/lib/datadog_api_client/v2/models/security_monitoring_suppressions_response.rb +82 -0
  241. data/lib/datadog_api_client/v2/models/security_monitoring_user.rb +98 -0
  242. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_included_keyword_configuration.rb +1 -1
  243. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_standard_pattern_attributes.rb +1 -1
  244. data/lib/datadog_api_client/v2/models/service_now_ticket.rb +90 -0
  245. data/lib/datadog_api_client/v2/models/service_now_ticket_result.rb +80 -0
  246. data/lib/datadog_api_client/v2/models/update_open_api_response.rb +80 -0
  247. data/lib/datadog_api_client/v2/models/update_open_api_response_attributes.rb +82 -0
  248. data/lib/datadog_api_client/v2/models/update_open_api_response_data.rb +90 -0
  249. data/lib/datadog_api_client/v2/models/user_relationship_data.rb +119 -0
  250. data/lib/datadog_api_client/v2/models/user_resource_type.rb +26 -0
  251. data/lib/datadog_api_client/v2/models/user_team_included.rb +62 -0
  252. data/lib/datadog_api_client/v2/models/user_team_response.rb +16 -4
  253. data/lib/datadog_api_client/v2/models/users_relationship.rb +100 -0
  254. data/lib/datadog_api_client/version.rb +1 -1
  255. metadata +179 -3
  256. data/examples/v1/usage-metering/GetUsageLambda_3132428705.rb +0 -8
@@ -160,6 +160,73 @@ module DatadogAPIClient::V2
160
160
  return data, status_code, headers
161
161
  end
162
162
 
163
+ # Create a suppression rule.
164
+ #
165
+ # @see #create_security_monitoring_suppression_with_http_info
166
+ def create_security_monitoring_suppression(body, opts = {})
167
+ data, _status_code, _headers = create_security_monitoring_suppression_with_http_info(body, opts)
168
+ data
169
+ end
170
+
171
+ # Create a suppression rule.
172
+ #
173
+ # Create a new suppression rule.
174
+ #
175
+ # @param body [SecurityMonitoringSuppressionCreateRequest] The definition of the new suppression rule.
176
+ # @param opts [Hash] the optional parameters
177
+ # @return [Array<(SecurityMonitoringSuppressionResponse, Integer, Hash)>] SecurityMonitoringSuppressionResponse data, response status code and response headers
178
+ def create_security_monitoring_suppression_with_http_info(body, opts = {})
179
+
180
+ if @api_client.config.debugging
181
+ @api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.create_security_monitoring_suppression ...'
182
+ end
183
+ # verify the required parameter 'body' is set
184
+ if @api_client.config.client_side_validation && body.nil?
185
+ fail ArgumentError, "Missing the required parameter 'body' when calling SecurityMonitoringAPI.create_security_monitoring_suppression"
186
+ end
187
+ # resource path
188
+ local_var_path = '/api/v2/security_monitoring/configuration/suppressions'
189
+
190
+ # query parameters
191
+ query_params = opts[:query_params] || {}
192
+
193
+ # header parameters
194
+ header_params = opts[:header_params] || {}
195
+ # HTTP header 'Accept' (if needed)
196
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
197
+ # HTTP header 'Content-Type'
198
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
199
+
200
+ # form parameters
201
+ form_params = opts[:form_params] || {}
202
+
203
+ # http body (model)
204
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
205
+
206
+ # return_type
207
+ return_type = opts[:debug_return_type] || 'SecurityMonitoringSuppressionResponse'
208
+
209
+ # auth_names
210
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
211
+
212
+ new_options = opts.merge(
213
+ :operation => :create_security_monitoring_suppression,
214
+ :header_params => header_params,
215
+ :query_params => query_params,
216
+ :form_params => form_params,
217
+ :body => post_body,
218
+ :auth_names => auth_names,
219
+ :return_type => return_type,
220
+ :api_version => "V2"
221
+ )
222
+
223
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Post, local_var_path, new_options)
224
+ if @api_client.config.debugging
225
+ @api_client.config.logger.debug "API called: SecurityMonitoringAPI#create_security_monitoring_suppression\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
226
+ end
227
+ return data, status_code, headers
228
+ end
229
+
163
230
  # Delete a security filter.
164
231
  #
165
232
  # @see #delete_security_filter_with_http_info
@@ -290,6 +357,71 @@ module DatadogAPIClient::V2
290
357
  return data, status_code, headers
291
358
  end
292
359
 
360
+ # Delete a suppression rule.
361
+ #
362
+ # @see #delete_security_monitoring_suppression_with_http_info
363
+ def delete_security_monitoring_suppression(suppression_id, opts = {})
364
+ delete_security_monitoring_suppression_with_http_info(suppression_id, opts)
365
+ nil
366
+ end
367
+
368
+ # Delete a suppression rule.
369
+ #
370
+ # Delete a specific suppression rule.
371
+ #
372
+ # @param suppression_id [String] The ID of the suppression rule
373
+ # @param opts [Hash] the optional parameters
374
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
375
+ def delete_security_monitoring_suppression_with_http_info(suppression_id, opts = {})
376
+
377
+ if @api_client.config.debugging
378
+ @api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.delete_security_monitoring_suppression ...'
379
+ end
380
+ # verify the required parameter 'suppression_id' is set
381
+ if @api_client.config.client_side_validation && suppression_id.nil?
382
+ fail ArgumentError, "Missing the required parameter 'suppression_id' when calling SecurityMonitoringAPI.delete_security_monitoring_suppression"
383
+ end
384
+ # resource path
385
+ local_var_path = '/api/v2/security_monitoring/configuration/suppressions/{suppression_id}'.sub('{suppression_id}', CGI.escape(suppression_id.to_s).gsub('%2F', '/'))
386
+
387
+ # query parameters
388
+ query_params = opts[:query_params] || {}
389
+
390
+ # header parameters
391
+ header_params = opts[:header_params] || {}
392
+ # HTTP header 'Accept' (if needed)
393
+ header_params['Accept'] = @api_client.select_header_accept(['*/*'])
394
+
395
+ # form parameters
396
+ form_params = opts[:form_params] || {}
397
+
398
+ # http body (model)
399
+ post_body = opts[:debug_body]
400
+
401
+ # return_type
402
+ return_type = opts[:debug_return_type]
403
+
404
+ # auth_names
405
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
406
+
407
+ new_options = opts.merge(
408
+ :operation => :delete_security_monitoring_suppression,
409
+ :header_params => header_params,
410
+ :query_params => query_params,
411
+ :form_params => form_params,
412
+ :body => post_body,
413
+ :auth_names => auth_names,
414
+ :return_type => return_type,
415
+ :api_version => "V2"
416
+ )
417
+
418
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Delete, local_var_path, new_options)
419
+ if @api_client.config.debugging
420
+ @api_client.config.logger.debug "API called: SecurityMonitoringAPI#delete_security_monitoring_suppression\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
421
+ end
422
+ return data, status_code, headers
423
+ end
424
+
293
425
  # Modify the triage assignee of a security signal.
294
426
  #
295
427
  # @see #edit_security_monitoring_signal_assignee_with_http_info
@@ -780,6 +912,71 @@ module DatadogAPIClient::V2
780
912
  return data, status_code, headers
781
913
  end
782
914
 
915
+ # Get a suppression rule.
916
+ #
917
+ # @see #get_security_monitoring_suppression_with_http_info
918
+ def get_security_monitoring_suppression(suppression_id, opts = {})
919
+ data, _status_code, _headers = get_security_monitoring_suppression_with_http_info(suppression_id, opts)
920
+ data
921
+ end
922
+
923
+ # Get a suppression rule.
924
+ #
925
+ # Get the details of a specific suppression rule.
926
+ #
927
+ # @param suppression_id [String] The ID of the suppression rule
928
+ # @param opts [Hash] the optional parameters
929
+ # @return [Array<(SecurityMonitoringSuppressionResponse, Integer, Hash)>] SecurityMonitoringSuppressionResponse data, response status code and response headers
930
+ def get_security_monitoring_suppression_with_http_info(suppression_id, opts = {})
931
+
932
+ if @api_client.config.debugging
933
+ @api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.get_security_monitoring_suppression ...'
934
+ end
935
+ # verify the required parameter 'suppression_id' is set
936
+ if @api_client.config.client_side_validation && suppression_id.nil?
937
+ fail ArgumentError, "Missing the required parameter 'suppression_id' when calling SecurityMonitoringAPI.get_security_monitoring_suppression"
938
+ end
939
+ # resource path
940
+ local_var_path = '/api/v2/security_monitoring/configuration/suppressions/{suppression_id}'.sub('{suppression_id}', CGI.escape(suppression_id.to_s).gsub('%2F', '/'))
941
+
942
+ # query parameters
943
+ query_params = opts[:query_params] || {}
944
+
945
+ # header parameters
946
+ header_params = opts[:header_params] || {}
947
+ # HTTP header 'Accept' (if needed)
948
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
949
+
950
+ # form parameters
951
+ form_params = opts[:form_params] || {}
952
+
953
+ # http body (model)
954
+ post_body = opts[:debug_body]
955
+
956
+ # return_type
957
+ return_type = opts[:debug_return_type] || 'SecurityMonitoringSuppressionResponse'
958
+
959
+ # auth_names
960
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
961
+
962
+ new_options = opts.merge(
963
+ :operation => :get_security_monitoring_suppression,
964
+ :header_params => header_params,
965
+ :query_params => query_params,
966
+ :form_params => form_params,
967
+ :body => post_body,
968
+ :auth_names => auth_names,
969
+ :return_type => return_type,
970
+ :api_version => "V2"
971
+ )
972
+
973
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
974
+ if @api_client.config.debugging
975
+ @api_client.config.logger.debug "API called: SecurityMonitoringAPI#get_security_monitoring_suppression\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
976
+ end
977
+ return data, status_code, headers
978
+ end
979
+
783
980
  # List findings.
784
981
  #
785
982
  # @see #list_findings_with_http_info
@@ -1164,6 +1361,66 @@ module DatadogAPIClient::V2
1164
1361
  end
1165
1362
  end
1166
1363
 
1364
+ # Get all suppression rules.
1365
+ #
1366
+ # @see #list_security_monitoring_suppressions_with_http_info
1367
+ def list_security_monitoring_suppressions(opts = {})
1368
+ data, _status_code, _headers = list_security_monitoring_suppressions_with_http_info(opts)
1369
+ data
1370
+ end
1371
+
1372
+ # Get all suppression rules.
1373
+ #
1374
+ # Get the list of all suppression rules.
1375
+ #
1376
+ # @param opts [Hash] the optional parameters
1377
+ # @return [Array<(SecurityMonitoringSuppressionsResponse, Integer, Hash)>] SecurityMonitoringSuppressionsResponse data, response status code and response headers
1378
+ def list_security_monitoring_suppressions_with_http_info(opts = {})
1379
+
1380
+ if @api_client.config.debugging
1381
+ @api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.list_security_monitoring_suppressions ...'
1382
+ end
1383
+ # resource path
1384
+ local_var_path = '/api/v2/security_monitoring/configuration/suppressions'
1385
+
1386
+ # query parameters
1387
+ query_params = opts[:query_params] || {}
1388
+
1389
+ # header parameters
1390
+ header_params = opts[:header_params] || {}
1391
+ # HTTP header 'Accept' (if needed)
1392
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1393
+
1394
+ # form parameters
1395
+ form_params = opts[:form_params] || {}
1396
+
1397
+ # http body (model)
1398
+ post_body = opts[:debug_body]
1399
+
1400
+ # return_type
1401
+ return_type = opts[:debug_return_type] || 'SecurityMonitoringSuppressionsResponse'
1402
+
1403
+ # auth_names
1404
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1405
+
1406
+ new_options = opts.merge(
1407
+ :operation => :list_security_monitoring_suppressions,
1408
+ :header_params => header_params,
1409
+ :query_params => query_params,
1410
+ :form_params => form_params,
1411
+ :body => post_body,
1412
+ :auth_names => auth_names,
1413
+ :return_type => return_type,
1414
+ :api_version => "V2"
1415
+ )
1416
+
1417
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1418
+ if @api_client.config.debugging
1419
+ @api_client.config.logger.debug "API called: SecurityMonitoringAPI#list_security_monitoring_suppressions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1420
+ end
1421
+ return data, status_code, headers
1422
+ end
1423
+
1167
1424
  # Mute or unmute a batch of findings.
1168
1425
  #
1169
1426
  # @see #mute_findings_with_http_info
@@ -1469,5 +1726,77 @@ module DatadogAPIClient::V2
1469
1726
  end
1470
1727
  return data, status_code, headers
1471
1728
  end
1729
+
1730
+ # Update a suppression rule.
1731
+ #
1732
+ # @see #update_security_monitoring_suppression_with_http_info
1733
+ def update_security_monitoring_suppression(suppression_id, body, opts = {})
1734
+ data, _status_code, _headers = update_security_monitoring_suppression_with_http_info(suppression_id, body, opts)
1735
+ data
1736
+ end
1737
+
1738
+ # Update a suppression rule.
1739
+ #
1740
+ # Update a specific suppression rule.
1741
+ #
1742
+ # @param suppression_id [String] The ID of the suppression rule
1743
+ # @param body [SecurityMonitoringSuppressionUpdateRequest] New definition of the suppression rule. Supports partial updates.
1744
+ # @param opts [Hash] the optional parameters
1745
+ # @return [Array<(SecurityMonitoringSuppressionResponse, Integer, Hash)>] SecurityMonitoringSuppressionResponse data, response status code and response headers
1746
+ def update_security_monitoring_suppression_with_http_info(suppression_id, body, opts = {})
1747
+
1748
+ if @api_client.config.debugging
1749
+ @api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.update_security_monitoring_suppression ...'
1750
+ end
1751
+ # verify the required parameter 'suppression_id' is set
1752
+ if @api_client.config.client_side_validation && suppression_id.nil?
1753
+ fail ArgumentError, "Missing the required parameter 'suppression_id' when calling SecurityMonitoringAPI.update_security_monitoring_suppression"
1754
+ end
1755
+ # verify the required parameter 'body' is set
1756
+ if @api_client.config.client_side_validation && body.nil?
1757
+ fail ArgumentError, "Missing the required parameter 'body' when calling SecurityMonitoringAPI.update_security_monitoring_suppression"
1758
+ end
1759
+ # resource path
1760
+ local_var_path = '/api/v2/security_monitoring/configuration/suppressions/{suppression_id}'.sub('{suppression_id}', CGI.escape(suppression_id.to_s).gsub('%2F', '/'))
1761
+
1762
+ # query parameters
1763
+ query_params = opts[:query_params] || {}
1764
+
1765
+ # header parameters
1766
+ header_params = opts[:header_params] || {}
1767
+ # HTTP header 'Accept' (if needed)
1768
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1769
+ # HTTP header 'Content-Type'
1770
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1771
+
1772
+ # form parameters
1773
+ form_params = opts[:form_params] || {}
1774
+
1775
+ # http body (model)
1776
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
1777
+
1778
+ # return_type
1779
+ return_type = opts[:debug_return_type] || 'SecurityMonitoringSuppressionResponse'
1780
+
1781
+ # auth_names
1782
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1783
+
1784
+ new_options = opts.merge(
1785
+ :operation => :update_security_monitoring_suppression,
1786
+ :header_params => header_params,
1787
+ :query_params => query_params,
1788
+ :form_params => form_params,
1789
+ :body => post_body,
1790
+ :auth_names => auth_names,
1791
+ :return_type => return_type,
1792
+ :api_version => "V2"
1793
+ )
1794
+
1795
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Patch, local_var_path, new_options)
1796
+ if @api_client.config.debugging
1797
+ @api_client.config.logger.debug "API called: SecurityMonitoringAPI#update_security_monitoring_suppression\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1798
+ end
1799
+ return data, status_code, headers
1800
+ end
1472
1801
  end
1473
1802
  end
@@ -307,13 +307,14 @@ module DatadogAPIClient::V2
307
307
  api_version = "V2"
308
308
  page_size = @api_client.get_attribute_from_path(opts, "page_size", 10)
309
309
  @api_client.set_attribute_from_path(api_version, opts, "page_size", Integer, page_size)
310
+ @api_client.set_attribute_from_path(api_version, opts, "page_number", Integer, 0)
310
311
  while true do
311
312
  response = list_service_definitions(opts)
312
313
  @api_client.get_attribute_from_path(response, "data").each { |item| yield(item) }
313
314
  if @api_client.get_attribute_from_path(response, "data").length < page_size
314
315
  break
315
316
  end
316
- @api_client.set_attribute_from_path(api_version, opts, "page_number", Integer, @api_client.get_attribute_from_path(opts, "page_number", 0) + page_size)
317
+ @api_client.set_attribute_from_path(api_version, opts, "page_number", Integer, @api_client.get_attribute_from_path(opts, "page_number", 0) + 1)
317
318
  end
318
319
  end
319
320
  end
@@ -717,6 +717,28 @@ module DatadogAPIClient::V2
717
717
  return data, status_code, headers
718
718
  end
719
719
 
720
+ # Get team memberships.
721
+ #
722
+ # Provide a paginated version of {#get_team_memberships}, returning all items.
723
+ #
724
+ # To use it you need to use a block: get_team_memberships_with_pagination { |item| p item }
725
+ #
726
+ # @yield [UserTeam] Paginated items
727
+ def get_team_memberships_with_pagination(team_id, opts = {})
728
+ api_version = "V2"
729
+ page_size = @api_client.get_attribute_from_path(opts, "page_size", 10)
730
+ @api_client.set_attribute_from_path(api_version, opts, "page_size", Integer, page_size)
731
+ @api_client.set_attribute_from_path(api_version, opts, "page_number", Integer, 0)
732
+ while true do
733
+ response = get_team_memberships(team_id, opts)
734
+ @api_client.get_attribute_from_path(response, "data").each { |item| yield(item) }
735
+ if @api_client.get_attribute_from_path(response, "data").length < page_size
736
+ break
737
+ end
738
+ @api_client.set_attribute_from_path(api_version, opts, "page_number", Integer, @api_client.get_attribute_from_path(opts, "page_number", 0) + 1)
739
+ end
740
+ end
741
+
720
742
  # Get permission settings for a team.
721
743
  #
722
744
  # @see #get_team_permission_settings_with_http_info
@@ -33,7 +33,7 @@ module DatadogAPIClient::V2
33
33
 
34
34
  # Get active billing dimensions for cost attribution.
35
35
  #
36
- # Get active billing dimensions for cost attribution. Cost data for a given month becomes available no later than the 17th of the following month.
36
+ # Get active billing dimensions for cost attribution. Cost data for a given month becomes available no later than the 19th of the following month.
37
37
  #
38
38
  # @param opts [Hash] the optional parameters
39
39
  # @return [Array<(ActiveBillingDimensionsResponse, Integer, Hash)>] ActiveBillingDimensionsResponse data, response status code and response headers
@@ -321,7 +321,7 @@ module DatadogAPIClient::V2
321
321
  # Get hourly usage by product family.
322
322
  #
323
323
  # @param filter_timestamp_start [Time] Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
324
- # @param filter_product_families [String] Comma separated list of product families to retrieve. Available families are `all`, `analyzed_logs`, `application_security`, `audit_trail`, `serverless`, `ci_app`, `cloud_cost_management`, `csm_container_enterprise`, `csm_host_enterprise`, `cspm`, `custom_events`, `cws`, `dbm`, `fargate`, `infra_hosts`, `incident_management`, `indexed_logs`, `indexed_spans`, `ingested_spans`, `iot`, `lambda_traced_invocations`, `logs`, `network_flows`, `network_hosts`, `netflow_monitoring`, `observability_pipelines`, `online_archive`, `profiling`, `rum`, `rum_browser_sessions`, `rum_mobile_sessions`, `sds`, `snmp`, `synthetics_api`, `synthetics_browser`, `synthetics_mobile`, `synthetics_parallel_testing`, and `timeseries`. The following product family has been **deprecated**: `audit_logs`.
324
+ # @param filter_product_families [String] Comma separated list of product families to retrieve. Available families are `all`, `analyzed_logs`, `application_security`, `audit_trail`, `serverless`, `ci_app`, `cloud_cost_management`, `csm_container_enterprise`, `csm_host_enterprise`, `cspm`, `custom_events`, `cws`, `dbm`, `error_tracking`, `fargate`, `infra_hosts`, `incident_management`, `indexed_logs`, `indexed_spans`, `ingested_spans`, `iot`, `lambda_traced_invocations`, `logs`, `network_flows`, `network_hosts`, `netflow_monitoring`, `observability_pipelines`, `online_archive`, `profiling`, `rum`, `rum_browser_sessions`, `rum_mobile_sessions`, `sds`, `snmp`, `synthetics_api`, `synthetics_browser`, `synthetics_mobile`, `synthetics_parallel_testing`, and `timeseries`. The following product family has been **deprecated**: `audit_logs`.
325
325
  # @param opts [Hash] the optional parameters
326
326
  # @option opts [Time] :filter_timestamp_end Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
327
327
  # @option opts [Boolean] :filter_include_descendants Include child org usage in the response. Defaults to false.
@@ -409,7 +409,7 @@ module DatadogAPIClient::V2
409
409
  # Get Monthly Cost Attribution.
410
410
  #
411
411
  # Get monthly cost attribution by tag across multi-org and single root-org accounts.
412
- # Cost Attribution data for a given month becomes available no later than the 17th of the following month.
412
+ # Cost Attribution data for a given month becomes available no later than the 19th of the following month.
413
413
  # This API endpoint is paginated. To make sure you receive all records, check if the value of `next_record_id` is
414
414
  # set in the response. If it is, make another request and pass `next_record_id` as a parameter.
415
415
  # Pseudo code example:
@@ -642,7 +642,7 @@ module DatadogAPIClient::V2
642
642
  return data, status_code, headers
643
643
  end
644
644
 
645
- # Get hourly usage for lambda traced invocations.
645
+ # Get hourly usage for Lambda traced invocations.
646
646
  #
647
647
  # @see #get_usage_lambda_traced_invocations_with_http_info
648
648
  def get_usage_lambda_traced_invocations(start_hr, opts = {})
@@ -650,9 +650,9 @@ module DatadogAPIClient::V2
650
650
  data
651
651
  end
652
652
 
653
- # Get hourly usage for lambda traced invocations.
653
+ # Get hourly usage for Lambda traced invocations.
654
654
  #
655
- # Get hourly usage for lambda traced invocations.
655
+ # Get hourly usage for Lambda traced invocations.
656
656
  # **Note:** hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family)
657
657
  #
658
658
  # @param start_hr [Time] Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.
@@ -0,0 +1,150 @@
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 case
21
+ class Case
22
+ include BaseGenericModel
23
+
24
+ # Case attributes
25
+ attr_reader :attributes
26
+
27
+ # Case's identifier
28
+ attr_reader :id
29
+
30
+ # Resources related to a case
31
+ attr_accessor :relationships
32
+
33
+ # Case resource type
34
+ attr_reader :type
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ # @!visibility private
38
+ def self.attribute_map
39
+ {
40
+ :'attributes' => :'attributes',
41
+ :'id' => :'id',
42
+ :'relationships' => :'relationships',
43
+ :'type' => :'type'
44
+ }
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ # @!visibility private
49
+ def self.openapi_types
50
+ {
51
+ :'attributes' => :'CaseAttributes',
52
+ :'id' => :'String',
53
+ :'relationships' => :'CaseRelationships',
54
+ :'type' => :'CaseResourceType'
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::Case` 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::Case`. 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?(:'attributes')
75
+ self.attributes = attributes[:'attributes']
76
+ end
77
+
78
+ if attributes.key?(:'id')
79
+ self.id = attributes[:'id']
80
+ end
81
+
82
+ if attributes.key?(:'relationships')
83
+ self.relationships = attributes[:'relationships']
84
+ end
85
+
86
+ if attributes.key?(:'type')
87
+ self.type = attributes[:'type']
88
+ end
89
+ end
90
+
91
+ # Check to see if the all the properties in the model are valid
92
+ # @return true if the model is valid
93
+ # @!visibility private
94
+ def valid?
95
+ return false if @attributes.nil?
96
+ return false if @id.nil?
97
+ return false if @type.nil?
98
+ true
99
+ end
100
+
101
+ # Custom attribute writer method with validation
102
+ # @param attributes [Object] Object to be assigned
103
+ # @!visibility private
104
+ def attributes=(attributes)
105
+ if attributes.nil?
106
+ fail ArgumentError, 'invalid value for "attributes", attributes cannot be nil.'
107
+ end
108
+ @attributes = attributes
109
+ end
110
+
111
+ # Custom attribute writer method with validation
112
+ # @param id [Object] Object to be assigned
113
+ # @!visibility private
114
+ def id=(id)
115
+ if id.nil?
116
+ fail ArgumentError, 'invalid value for "id", id cannot be nil.'
117
+ end
118
+ @id = id
119
+ end
120
+
121
+ # Custom attribute writer method with validation
122
+ # @param type [Object] Object to be assigned
123
+ # @!visibility private
124
+ def type=(type)
125
+ if type.nil?
126
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
127
+ end
128
+ @type = type
129
+ end
130
+
131
+ # Checks equality by comparing each attribute.
132
+ # @param o [Object] Object to be compared
133
+ # @!visibility private
134
+ def ==(o)
135
+ return true if self.equal?(o)
136
+ self.class == o.class &&
137
+ attributes == o.attributes &&
138
+ id == o.id &&
139
+ relationships == o.relationships &&
140
+ type == o.type
141
+ end
142
+
143
+ # Calculates hash code according to all attributes.
144
+ # @return [Integer] Hash code
145
+ # @!visibility private
146
+ def hash
147
+ [attributes, id, relationships, type].hash
148
+ end
149
+ end
150
+ end
@@ -0,0 +1,28 @@
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 status
21
+ class Case3rdPartyTicketStatus
22
+ include BaseEnumModel
23
+
24
+ IN_PROGRESS = "IN_PROGRESS".freeze
25
+ COMPLETED = "COMPLETED".freeze
26
+ FAILED = "FAILED".freeze
27
+ end
28
+ end