datadog_api_client 2.26.1 → 2.28.1

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 (284) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/conftest.py +0 -3
  4. data/.generator/schemas/v1/openapi.yaml +2123 -212
  5. data/.generator/schemas/v2/openapi.yaml +3082 -240
  6. data/.generator/src/generator/formatter.py +3 -44
  7. data/.generator/src/generator/keywords.json +43 -0
  8. data/.generator/src/generator/templates/api.j2 +4 -0
  9. data/.generator/src/generator/templates/api_client.j2 +1 -0
  10. data/.github/workflows/approved_status.yml +4 -0
  11. data/.github/workflows/changelog.yml +5 -0
  12. data/.github/workflows/codeql-analysis.yml +4 -0
  13. data/.github/workflows/docs.yml +3 -0
  14. data/.github/workflows/labeler.yml +5 -0
  15. data/.github/workflows/prepare_release.yml +4 -0
  16. data/.github/workflows/publish.yml +5 -0
  17. data/.github/workflows/release.yml +4 -0
  18. data/.github/workflows/stale.yml +6 -0
  19. data/.github/workflows/test.yml +3 -0
  20. data/.github/workflows/test_integration.yml +3 -0
  21. data/CHANGELOG.md +66 -0
  22. data/examples/v1/dashboards/CreateDashboard_1413226400.rb +66 -0
  23. data/examples/v1/dashboards/CreateDashboard_1433408735.rb +44 -0
  24. data/examples/v1/dashboards/CreateDashboard_3298564989.rb +65 -0
  25. data/examples/v1/dashboards/CreateDashboard_794302680.rb +152 -0
  26. data/examples/v1/gcp-integration/CreateGCPIntegration.rb +1 -0
  27. data/examples/v1/gcp-integration/UpdateGCPIntegration.rb +1 -0
  28. data/examples/v1/gcp-integration/UpdateGCPIntegration_3544259255.rb +1 -0
  29. data/examples/v1/monitors/ValidateExistingMonitor.rb +0 -1
  30. data/examples/v1/monitors/ValidateMonitor.rb +0 -1
  31. data/examples/v1/monitors/ValidateMonitor_4247196452.rb +0 -1
  32. data/examples/v1/synthetics/CreateSyntheticsAPITest.rb +3 -1
  33. data/examples/v1/synthetics/CreateSyntheticsAPITest_1072503741.rb +1 -1
  34. data/examples/v1/synthetics/CreateSyntheticsAPITest_1279271422.rb +1 -1
  35. data/examples/v1/synthetics/CreateSyntheticsAPITest_1402674167.rb +1 -1
  36. data/examples/v1/synthetics/CreateSyntheticsAPITest_3829801148.rb +1 -1
  37. data/examples/v1/synthetics/CreateSyntheticsMobileTest.rb +27 -0
  38. data/examples/v1/synthetics/FetchUptimes.rb +13 -0
  39. data/examples/v1/synthetics/GetMobileTest.rb +8 -0
  40. data/examples/v1/synthetics/UpdateBrowserTest.rb +3 -1
  41. data/examples/v1/synthetics/UpdateMobileTest.rb +30 -0
  42. data/examples/v2/domain-allowlist/GetDomainAllowlist.rb +5 -0
  43. data/examples/v2/domain-allowlist/PatchDomainAllowlist.rb +17 -0
  44. data/examples/v2/gcp-integration/CreateGCPSTSAccount_2597004741.rb +1 -0
  45. data/examples/v2/incidents/CreateIncidentType.rb +19 -0
  46. data/examples/v2/incidents/DeleteIncidentType.rb +11 -0
  47. data/examples/v2/incidents/GetIncidentType.rb +8 -0
  48. data/examples/v2/incidents/ListIncidentTypes.rb +8 -0
  49. data/examples/v2/incidents/UpdateIncidentType.rb +22 -0
  50. data/examples/v2/logs/AggregateLogs_2955613758.rb +0 -1
  51. data/examples/v2/metrics/QueryScalarData.rb +0 -3
  52. data/examples/v2/metrics/QueryScalarData_3112571352.rb +0 -3
  53. data/examples/v2/metrics/QueryTimeseriesData.rb +0 -3
  54. data/examples/v2/metrics/QueryTimeseriesData_301142940.rb +0 -3
  55. data/examples/v2/microsoft-teams-integration/CreateTenantBasedHandle.rb +17 -0
  56. data/examples/v2/microsoft-teams-integration/CreateTenantBasedHandle_1540689753.rb +17 -0
  57. data/examples/v2/microsoft-teams-integration/DeleteTenantBasedHandle.rb +5 -0
  58. data/examples/v2/microsoft-teams-integration/DeleteTenantBasedHandle_377884154.rb +8 -0
  59. data/examples/v2/microsoft-teams-integration/GetChannelByName.rb +5 -0
  60. data/examples/v2/microsoft-teams-integration/GetTenantBasedHandle.rb +5 -0
  61. data/examples/v2/microsoft-teams-integration/GetTenantBasedHandle_2883785101.rb +8 -0
  62. data/examples/v2/microsoft-teams-integration/ListTenantBasedHandles.rb +5 -0
  63. data/examples/v2/microsoft-teams-integration/ListTenantBasedHandles_769592979.rb +5 -0
  64. data/examples/v2/microsoft-teams-integration/UpdateTenantBasedHandle.rb +17 -0
  65. data/examples/v2/microsoft-teams-integration/UpdateTenantBasedHandle_419892746.rb +18 -0
  66. data/examples/v2/rum-metrics/CreateRumMetric.rb +32 -0
  67. data/examples/v2/rum-metrics/DeleteRumMetric.rb +8 -0
  68. data/examples/v2/rum-metrics/GetRumMetric.rb +8 -0
  69. data/examples/v2/rum-metrics/ListRumMetrics.rb +5 -0
  70. data/examples/v2/rum-metrics/UpdateRumMetric.rb +29 -0
  71. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule.rb +9 -0
  72. data/examples/v2/security-monitoring/ListFindings_1668290866.rb +14 -0
  73. data/examples/v2/usage-metering/GetBillingDimensionMapping.rb +8 -0
  74. data/examples/v2/usage-metering/GetMonthlyCostAttribution.rb +4 -1
  75. data/lib/datadog_api_client/api_client.rb +1 -0
  76. data/lib/datadog_api_client/configuration.rb +6 -2
  77. data/lib/datadog_api_client/inflector.rb +109 -5
  78. data/lib/datadog_api_client/v1/api/monitors_api.rb +6 -3
  79. data/lib/datadog_api_client/v1/api/synthetics_api.rb +274 -0
  80. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +5 -3
  81. data/lib/datadog_api_client/v1/models/gcp_account.rb +11 -1
  82. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +2 -3
  83. data/lib/datadog_api_client/v1/models/list_stream_source.rb +1 -0
  84. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +4 -6
  85. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +21 -61
  86. data/lib/datadog_api_client/v1/models/slo_history_monitor.rb +1 -1
  87. data/lib/datadog_api_client/v1/models/synthetics_batch_details_data.rb +2 -2
  88. data/lib/datadog_api_client/v1/models/synthetics_batch_result.rb +2 -2
  89. data/lib/datadog_api_client/v1/models/{synthetics_status.rb → synthetics_batch_status.rb} +4 -4
  90. data/lib/datadog_api_client/v1/models/synthetics_config_variable_type.rb +1 -0
  91. data/lib/datadog_api_client/v1/models/synthetics_fetch_uptimes_payload.rb +167 -0
  92. data/lib/datadog_api_client/v1/models/synthetics_mobile_step.rb +229 -0
  93. data/lib/datadog_api_client/v1/models/synthetics_mobile_step_params.rb +249 -0
  94. data/lib/datadog_api_client/v1/models/synthetics_mobile_step_params_direction.rb +29 -0
  95. data/lib/datadog_api_client/v1/models/synthetics_mobile_step_params_element.rb +175 -0
  96. data/lib/datadog_api_client/v1/models/synthetics_mobile_step_params_element_context_type.rb +27 -0
  97. data/lib/datadog_api_client/v1/models/synthetics_mobile_step_params_element_relative_position.rb +115 -0
  98. data/lib/datadog_api_client/v1/models/synthetics_mobile_step_params_element_user_locator.rb +117 -0
  99. data/lib/datadog_api_client/v1/models/synthetics_mobile_step_params_element_user_locator_values_items.rb +115 -0
  100. data/lib/datadog_api_client/v1/models/synthetics_mobile_step_params_element_user_locator_values_items_type.rb +30 -0
  101. data/lib/datadog_api_client/v1/models/synthetics_mobile_step_params_positions_items.rb +115 -0
  102. data/lib/datadog_api_client/v1/models/synthetics_mobile_step_params_value.rb +63 -0
  103. data/lib/datadog_api_client/v1/models/synthetics_mobile_step_params_variable.rb +144 -0
  104. data/lib/datadog_api_client/v1/models/synthetics_mobile_step_type.rb +42 -0
  105. data/lib/datadog_api_client/v1/models/synthetics_mobile_test.rb +263 -0
  106. data/lib/datadog_api_client/v1/models/synthetics_mobile_test_config.rb +117 -0
  107. data/lib/datadog_api_client/v1/models/synthetics_mobile_test_options.rb +380 -0
  108. data/lib/datadog_api_client/v1/models/synthetics_mobile_test_type.rb +26 -0
  109. data/lib/datadog_api_client/v1/models/synthetics_mobile_tests_mobile_application.rb +173 -0
  110. data/lib/datadog_api_client/v1/models/synthetics_mobile_tests_mobile_application_reference_type.rb +27 -0
  111. data/lib/datadog_api_client/v1/models/synthetics_step.rb +22 -2
  112. data/lib/datadog_api_client/v1/models/synthetics_step_detail.rb +21 -1
  113. data/lib/datadog_api_client/v1/models/synthetics_test_ci_options.rb +19 -1
  114. data/lib/datadog_api_client/v1/models/synthetics_test_details_type.rb +1 -0
  115. data/lib/datadog_api_client/v1/models/synthetics_test_options_monitor_options.rb +34 -4
  116. data/lib/datadog_api_client/v1/models/synthetics_test_options_monitor_options_notification_preset_name.rb +29 -0
  117. data/lib/datadog_api_client/v1/models/synthetics_test_options_scheduling.rb +31 -2
  118. data/lib/datadog_api_client/v1/models/synthetics_test_options_scheduling_timeframe.rb +32 -6
  119. data/lib/datadog_api_client/v1/models/synthetics_test_request.rb +1 -1
  120. data/lib/datadog_api_client/v1/models/synthetics_test_request_port.rb +63 -0
  121. data/lib/datadog_api_client/v1/models/synthetics_test_restriction_policy_binding.rb +117 -0
  122. data/lib/datadog_api_client/v1/models/synthetics_test_restriction_policy_binding_relation.rb +27 -0
  123. data/lib/datadog_api_client/v1/models/synthetics_test_uptime.rb +135 -0
  124. data/lib/datadog_api_client/v1/models/synthetics_uptime.rb +161 -0
  125. data/lib/datadog_api_client/v1/models/table_widget_request.rb +16 -4
  126. data/lib/datadog_api_client/v1/models/table_widget_text_format_match.rb +144 -0
  127. data/lib/datadog_api_client/v1/models/table_widget_text_format_match_type.rb +31 -0
  128. data/lib/datadog_api_client/v1/models/table_widget_text_format_palette.rb +36 -0
  129. data/lib/datadog_api_client/v1/models/table_widget_text_format_replace.rb +63 -0
  130. data/lib/datadog_api_client/v1/models/table_widget_text_format_replace_all.rb +144 -0
  131. data/lib/datadog_api_client/v1/models/table_widget_text_format_replace_all_type.rb +26 -0
  132. data/lib/datadog_api_client/v1/models/table_widget_text_format_replace_substring.rb +165 -0
  133. data/lib/datadog_api_client/v1/models/table_widget_text_format_replace_substring_type.rb +26 -0
  134. data/lib/datadog_api_client/v1/models/table_widget_text_format_rule.rb +163 -0
  135. data/lib/datadog_api_client/v1/models/toplist_widget_stacked.rb +1 -12
  136. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +51 -1
  137. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +51 -1
  138. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +51 -1
  139. data/lib/datadog_api_client/v2/api/authn_mappings_api.rb +3 -3
  140. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +3 -69
  141. data/lib/datadog_api_client/v2/api/domain_allowlist_api.rb +153 -0
  142. data/lib/datadog_api_client/v2/api/incidents_api.rb +362 -1
  143. data/lib/datadog_api_client/v2/api/metrics_api.rb +5 -17
  144. data/lib/datadog_api_client/v2/api/microsoft_teams_integration_api.rb +434 -0
  145. data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +3 -3
  146. data/lib/datadog_api_client/v2/api/rum_metrics_api.rb +357 -0
  147. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +3 -0
  148. data/lib/datadog_api_client/v2/api/software_catalog_api.rb +19 -19
  149. data/lib/datadog_api_client/v2/api/teams_api.rb +1 -0
  150. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +79 -10
  151. data/lib/datadog_api_client/v2/models/billing_dimensions_mapping_body_item.rb +125 -0
  152. data/lib/datadog_api_client/v2/models/billing_dimensions_mapping_body_item_attributes.rb +127 -0
  153. data/lib/datadog_api_client/v2/models/billing_dimensions_mapping_body_item_attributes_endpoints_items.rb +127 -0
  154. data/lib/datadog_api_client/v2/models/billing_dimensions_mapping_body_item_attributes_endpoints_items_status.rb +27 -0
  155. data/lib/datadog_api_client/v2/models/billing_dimensions_mapping_response.rb +107 -0
  156. data/lib/datadog_api_client/v2/models/cloudflare_account_create_request_attributes.rb +1 -1
  157. data/lib/datadog_api_client/v2/models/cloudflare_account_response_attributes.rb +1 -1
  158. data/lib/datadog_api_client/v2/models/cloudflare_account_update_request_attributes.rb +1 -1
  159. data/lib/datadog_api_client/v2/models/domain_allowlist.rb +151 -0
  160. data/lib/datadog_api_client/v2/models/domain_allowlist_attributes.rb +117 -0
  161. data/lib/datadog_api_client/v2/models/domain_allowlist_request.rb +123 -0
  162. data/lib/datadog_api_client/v2/models/domain_allowlist_response.rb +105 -0
  163. data/lib/datadog_api_client/v2/models/domain_allowlist_response_data.rb +151 -0
  164. data/lib/datadog_api_client/v2/models/domain_allowlist_response_data_attributes.rb +117 -0
  165. data/lib/datadog_api_client/v2/models/domain_allowlist_type.rb +26 -0
  166. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +11 -1
  167. data/lib/datadog_api_client/v2/models/entity_attributes.rb +1 -1
  168. data/lib/datadog_api_client/v2/models/entity_data.rb +1 -1
  169. data/lib/datadog_api_client/v2/models/entity_response_included_incident.rb +1 -1
  170. data/lib/datadog_api_client/v2/models/entity_response_included_raw_schema.rb +1 -1
  171. data/lib/datadog_api_client/v2/models/entity_response_included_related_oncall_attributes.rb +1 -1
  172. data/lib/datadog_api_client/v2/models/entity_response_included_related_oncall_escalation_item.rb +1 -1
  173. data/lib/datadog_api_client/v2/models/entity_response_included_schema.rb +1 -1
  174. data/lib/datadog_api_client/v2/models/entity_v3_api_version.rb +1 -1
  175. data/lib/datadog_api_client/v2/models/entity_v3_datadog_code_location_item.rb +3 -3
  176. data/lib/datadog_api_client/v2/models/entity_v3_datadog_event_item.rb +2 -2
  177. data/lib/datadog_api_client/v2/models/entity_v3_datadog_integration_opsgenie.rb +2 -2
  178. data/lib/datadog_api_client/v2/models/entity_v3_datadog_integration_pagerduty.rb +2 -2
  179. data/lib/datadog_api_client/v2/models/entity_v3_datadog_log_item.rb +3 -3
  180. data/lib/datadog_api_client/v2/models/entity_v3_datadog_performance.rb +2 -2
  181. data/lib/datadog_api_client/v2/models/entity_v3_datadog_pipelines.rb +2 -2
  182. data/lib/datadog_api_client/v2/models/entity_v3_datastore.rb +4 -4
  183. data/lib/datadog_api_client/v2/models/entity_v3_datastore_datadog.rb +4 -4
  184. data/lib/datadog_api_client/v2/models/entity_v3_datastore_spec.rb +2 -2
  185. data/lib/datadog_api_client/v2/models/entity_v3_integrations.rb +3 -3
  186. data/lib/datadog_api_client/v2/models/entity_v3_metadata.rb +9 -9
  187. data/lib/datadog_api_client/v2/models/entity_v3_metadata_additional_owners_items.rb +2 -2
  188. data/lib/datadog_api_client/v2/models/entity_v3_metadata_contacts_items.rb +2 -2
  189. data/lib/datadog_api_client/v2/models/entity_v3_metadata_links_items.rb +2 -2
  190. data/lib/datadog_api_client/v2/models/entity_v3_metadata_owner.rb +2 -2
  191. data/lib/datadog_api_client/v2/models/entity_v3_queue.rb +5 -5
  192. data/lib/datadog_api_client/v2/models/entity_v3_queue_datadog.rb +4 -4
  193. data/lib/datadog_api_client/v2/models/entity_v3_queue_spec.rb +2 -2
  194. data/lib/datadog_api_client/v2/models/entity_v3_service.rb +5 -5
  195. data/lib/datadog_api_client/v2/models/entity_v3_service_datadog.rb +6 -6
  196. data/lib/datadog_api_client/v2/models/entity_v3_service_spec.rb +3 -3
  197. data/lib/datadog_api_client/v2/models/entity_v3_system.rb +5 -5
  198. data/lib/datadog_api_client/v2/models/entity_v3_system_datadog.rb +5 -5
  199. data/lib/datadog_api_client/v2/models/fastly_services_response.rb +1 -1
  200. data/lib/datadog_api_client/v2/models/finding_attributes.rb +14 -4
  201. data/lib/datadog_api_client/v2/models/finding_vulnerability_type.rb +29 -0
  202. data/lib/datadog_api_client/v2/models/gcp_metric_namespace_config.rb +115 -0
  203. data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +23 -1
  204. data/lib/datadog_api_client/v2/models/incident_create_attributes.rb +11 -1
  205. data/lib/datadog_api_client/v2/models/incident_integration_metadata_metadata.rb +2 -1
  206. data/lib/datadog_api_client/v2/models/incident_notification_handle.rb +1 -1
  207. data/lib/datadog_api_client/v2/models/incident_response_attributes.rb +11 -1
  208. data/lib/datadog_api_client/v2/models/incident_response_included_item.rb +1 -1
  209. data/lib/datadog_api_client/v2/models/incident_type_attributes.rb +193 -0
  210. data/lib/datadog_api_client/v2/models/incident_type_create_data.rb +144 -0
  211. data/lib/datadog_api_client/v2/models/incident_type_create_request.rb +123 -0
  212. data/lib/datadog_api_client/v2/models/incident_type_list_response.rb +125 -0
  213. data/lib/datadog_api_client/v2/models/{aws_related_account.rb → incident_type_object.rb} +8 -8
  214. data/lib/datadog_api_client/v2/models/incident_type_patch_data.rb +165 -0
  215. data/lib/datadog_api_client/v2/models/incident_type_patch_request.rb +123 -0
  216. data/lib/datadog_api_client/v2/models/incident_type_response.rb +123 -0
  217. data/lib/datadog_api_client/v2/models/{aws_related_account_type.rb → incident_type_type.rb} +3 -3
  218. data/lib/datadog_api_client/v2/models/incident_type_update_attributes.rb +175 -0
  219. data/lib/datadog_api_client/v2/models/incident_user_attributes.rb +153 -0
  220. data/lib/datadog_api_client/v2/models/incident_user_data.rb +125 -0
  221. data/lib/datadog_api_client/v2/models/include_type.rb +1 -1
  222. data/lib/datadog_api_client/v2/models/list_entity_catalog_response_links.rb +3 -3
  223. data/lib/datadog_api_client/v2/models/metric_tag_configuration_attributes.rb +1 -1
  224. data/lib/datadog_api_client/v2/models/metric_tag_configuration_create_attributes.rb +1 -1
  225. data/lib/datadog_api_client/v2/models/metric_tag_configuration_metric_type_category.rb +27 -0
  226. data/lib/datadog_api_client/v2/models/metric_tag_configuration_update_attributes.rb +1 -1
  227. data/lib/datadog_api_client/v2/models/microsoft_teams_channel_info_response_attributes.rb +165 -0
  228. data/lib/datadog_api_client/v2/models/microsoft_teams_channel_info_response_data.rb +147 -0
  229. data/lib/datadog_api_client/v2/models/microsoft_teams_channel_info_type.rb +26 -0
  230. data/lib/datadog_api_client/v2/models/microsoft_teams_create_tenant_based_handle_request.rb +123 -0
  231. data/lib/datadog_api_client/v2/models/microsoft_teams_get_channel_by_name_response.rb +105 -0
  232. data/lib/datadog_api_client/v2/models/microsoft_teams_tenant_based_handle_attributes.rb +186 -0
  233. data/lib/datadog_api_client/v2/models/microsoft_teams_tenant_based_handle_info_response_attributes.rb +249 -0
  234. data/lib/datadog_api_client/v2/models/microsoft_teams_tenant_based_handle_info_response_data.rb +147 -0
  235. data/lib/datadog_api_client/v2/models/microsoft_teams_tenant_based_handle_info_type.rb +26 -0
  236. data/lib/datadog_api_client/v2/models/microsoft_teams_tenant_based_handle_request_attributes.rb +202 -0
  237. data/lib/datadog_api_client/v2/models/microsoft_teams_tenant_based_handle_request_data.rb +144 -0
  238. data/lib/datadog_api_client/v2/models/microsoft_teams_tenant_based_handle_response.rb +123 -0
  239. data/lib/datadog_api_client/v2/models/microsoft_teams_tenant_based_handle_response_data.rb +147 -0
  240. data/lib/datadog_api_client/v2/models/microsoft_teams_tenant_based_handle_type.rb +26 -0
  241. data/lib/datadog_api_client/v2/models/microsoft_teams_tenant_based_handles_response.rb +125 -0
  242. data/lib/datadog_api_client/v2/models/microsoft_teams_update_tenant_based_handle_request.rb +123 -0
  243. data/lib/datadog_api_client/v2/models/microsoft_teams_update_tenant_based_handle_request_data.rb +144 -0
  244. data/lib/datadog_api_client/v2/models/ms_teams_integration_metadata.rb +125 -0
  245. data/lib/datadog_api_client/v2/models/ms_teams_integration_metadata_teams_item.rb +186 -0
  246. data/lib/datadog_api_client/v2/models/powerpack_template_variable.rb +35 -4
  247. data/lib/datadog_api_client/v2/models/relation_type.rb +1 -1
  248. data/lib/datadog_api_client/v2/models/relationship_item.rb +1 -1
  249. data/lib/datadog_api_client/v2/models/rum_metric_compute.rb +145 -0
  250. data/lib/datadog_api_client/v2/models/rum_metric_compute_aggregation_type.rb +27 -0
  251. data/lib/datadog_api_client/v2/models/rum_metric_create_attributes.rb +176 -0
  252. data/lib/datadog_api_client/v2/models/rum_metric_create_data.rb +165 -0
  253. data/lib/datadog_api_client/v2/models/rum_metric_create_request.rb +123 -0
  254. data/lib/datadog_api_client/v2/models/rum_metric_event_type.rb +32 -0
  255. data/lib/datadog_api_client/v2/models/rum_metric_filter.rb +123 -0
  256. data/lib/datadog_api_client/v2/models/rum_metric_group_by.rb +133 -0
  257. data/lib/datadog_api_client/v2/models/rum_metric_response.rb +105 -0
  258. data/lib/datadog_api_client/v2/models/rum_metric_response_attributes.rb +147 -0
  259. data/lib/datadog_api_client/v2/models/rum_metric_response_compute.rb +127 -0
  260. data/lib/datadog_api_client/v2/models/rum_metric_response_data.rb +125 -0
  261. data/lib/datadog_api_client/v2/models/rum_metric_response_filter.rb +105 -0
  262. data/lib/datadog_api_client/v2/models/rum_metric_response_group_by.rb +115 -0
  263. data/lib/datadog_api_client/v2/models/{aws_related_account_attributes.rb → rum_metric_response_uniqueness.rb} +11 -21
  264. data/lib/datadog_api_client/v2/models/rum_metric_type.rb +26 -0
  265. data/lib/datadog_api_client/v2/models/rum_metric_uniqueness.rb +123 -0
  266. data/lib/datadog_api_client/v2/models/rum_metric_uniqueness_when.rb +27 -0
  267. data/lib/datadog_api_client/v2/models/rum_metric_update_attributes.rb +127 -0
  268. data/lib/datadog_api_client/v2/models/rum_metric_update_compute.rb +106 -0
  269. data/lib/datadog_api_client/v2/models/rum_metric_update_data.rb +154 -0
  270. data/lib/datadog_api_client/v2/models/rum_metric_update_request.rb +123 -0
  271. data/lib/datadog_api_client/v2/models/{aws_related_accounts_response.rb → rum_metrics_response.rb} +5 -5
  272. data/lib/datadog_api_client/v2/models/security_monitoring_reference_table.rb +145 -0
  273. data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +13 -1
  274. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +13 -1
  275. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_payload.rb +13 -1
  276. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +13 -1
  277. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_test_payload.rb +13 -1
  278. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_included_keyword_configuration.rb +15 -4
  279. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_meta.rb +2 -2
  280. data/lib/datadog_api_client/v2/models/team_update_attributes.rb +1 -26
  281. data/lib/datadog_api_client/v2/models/upsert_catalog_entity_request.rb +1 -1
  282. data/lib/datadog_api_client/version.rb +1 -1
  283. metadata +145 -8
  284. data/examples/v2/cloud-cost-management/ListAWSRelatedAccounts.rb +0 -5
@@ -0,0 +1,29 @@
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 vulnerability type of the finding.
21
+ class FindingVulnerabilityType
22
+ include BaseEnumModel
23
+
24
+ MISCONFIGURATION = "misconfiguration".freeze
25
+ ATTACK_PATH = "attack_path".freeze
26
+ IDENTITY_RISK = "identity_risk".freeze
27
+ API_SECURITY = "api_security".freeze
28
+ end
29
+ end
@@ -0,0 +1,115 @@
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
+ # Configuration for a GCP metric namespace.
21
+ class GCPMetricNamespaceConfig
22
+ include BaseGenericModel
23
+
24
+ # When disabled, Datadog does not collect metrics that are related to this GCP metric namespace.
25
+ attr_accessor :disabled
26
+
27
+ # The id of the GCP metric namespace.
28
+ attr_accessor :id
29
+
30
+ attr_accessor :additional_properties
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ # @!visibility private
34
+ def self.attribute_map
35
+ {
36
+ :'disabled' => :'disabled',
37
+ :'id' => :'id'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'disabled' => :'Boolean',
46
+ :'id' => :'String'
47
+ }
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param attributes [Hash] Model attributes in the form of hash
52
+ # @!visibility private
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::GCPMetricNamespaceConfig` initialize method"
56
+ end
57
+
58
+ self.additional_properties = {}
59
+ # check to see if the attribute exists and convert string to symbol for hash key
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!self.class.attribute_map.key?(k.to_sym))
62
+ self.additional_properties[k.to_sym] = v
63
+ else
64
+ h[k.to_sym] = v
65
+ end
66
+ }
67
+
68
+ if attributes.key?(:'disabled')
69
+ self.disabled = attributes[:'disabled']
70
+ end
71
+
72
+ if attributes.key?(:'id')
73
+ self.id = attributes[:'id']
74
+ end
75
+ end
76
+
77
+ # Returns the object in the form of hash, with additionalProperties support.
78
+ # @return [Hash] Returns the object in the form of hash
79
+ # @!visibility private
80
+ def to_hash
81
+ hash = {}
82
+ self.class.attribute_map.each_pair do |attr, param|
83
+ value = self.send(attr)
84
+ if value.nil?
85
+ is_nullable = self.class.openapi_nullable.include?(attr)
86
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
87
+ end
88
+
89
+ hash[param] = _to_hash(value)
90
+ end
91
+ self.additional_properties.each_pair do |attr, value|
92
+ hash[attr] = value
93
+ end
94
+ hash
95
+ end
96
+
97
+ # Checks equality by comparing each attribute.
98
+ # @param o [Object] Object to be compared
99
+ # @!visibility private
100
+ def ==(o)
101
+ return true if self.equal?(o)
102
+ self.class == o.class &&
103
+ disabled == o.disabled &&
104
+ id == o.id
105
+ additional_properties == o.additional_properties
106
+ end
107
+
108
+ # Calculates hash code according to all attributes.
109
+ # @return [Integer] Hash code
110
+ # @!visibility private
111
+ def hash
112
+ [disabled, id].hash
113
+ end
114
+ end
115
+ end
@@ -40,9 +40,15 @@ module DatadogAPIClient::V2
40
40
  # 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.
41
41
  attr_accessor :is_cspm_enabled
42
42
 
43
+ # When enabled, Datadog scans for all resource change data in your Google Cloud environment.
44
+ attr_accessor :is_resource_change_collection_enabled
45
+
43
46
  # When enabled, Datadog will attempt to collect Security Command Center Findings. Note: This requires additional permissions on the service account.
44
47
  attr_accessor :is_security_command_center_enabled
45
48
 
49
+ # Configurations for GCP metric namespaces.
50
+ attr_accessor :metric_namespace_configs
51
+
46
52
  # When enabled, Datadog scans for all resources in your GCP environment.
47
53
  attr_accessor :resource_collection_enabled
48
54
 
@@ -58,7 +64,9 @@ module DatadogAPIClient::V2
58
64
  :'cloud_run_revision_filters' => :'cloud_run_revision_filters',
59
65
  :'host_filters' => :'host_filters',
60
66
  :'is_cspm_enabled' => :'is_cspm_enabled',
67
+ :'is_resource_change_collection_enabled' => :'is_resource_change_collection_enabled',
61
68
  :'is_security_command_center_enabled' => :'is_security_command_center_enabled',
69
+ :'metric_namespace_configs' => :'metric_namespace_configs',
62
70
  :'resource_collection_enabled' => :'resource_collection_enabled'
63
71
  }
64
72
  end
@@ -73,7 +81,9 @@ module DatadogAPIClient::V2
73
81
  :'cloud_run_revision_filters' => :'Array<String>',
74
82
  :'host_filters' => :'Array<String>',
75
83
  :'is_cspm_enabled' => :'Boolean',
84
+ :'is_resource_change_collection_enabled' => :'Boolean',
76
85
  :'is_security_command_center_enabled' => :'Boolean',
86
+ :'metric_namespace_configs' => :'Array<GCPMetricNamespaceConfig>',
77
87
  :'resource_collection_enabled' => :'Boolean'
78
88
  }
79
89
  end
@@ -126,10 +136,20 @@ module DatadogAPIClient::V2
126
136
  self.is_cspm_enabled = attributes[:'is_cspm_enabled']
127
137
  end
128
138
 
139
+ if attributes.key?(:'is_resource_change_collection_enabled')
140
+ self.is_resource_change_collection_enabled = attributes[:'is_resource_change_collection_enabled']
141
+ end
142
+
129
143
  if attributes.key?(:'is_security_command_center_enabled')
130
144
  self.is_security_command_center_enabled = attributes[:'is_security_command_center_enabled']
131
145
  end
132
146
 
147
+ if attributes.key?(:'metric_namespace_configs')
148
+ if (value = attributes[:'metric_namespace_configs']).is_a?(Array)
149
+ self.metric_namespace_configs = value
150
+ end
151
+ end
152
+
133
153
  if attributes.key?(:'resource_collection_enabled')
134
154
  self.resource_collection_enabled = attributes[:'resource_collection_enabled']
135
155
  end
@@ -167,7 +187,9 @@ module DatadogAPIClient::V2
167
187
  cloud_run_revision_filters == o.cloud_run_revision_filters &&
168
188
  host_filters == o.host_filters &&
169
189
  is_cspm_enabled == o.is_cspm_enabled &&
190
+ is_resource_change_collection_enabled == o.is_resource_change_collection_enabled &&
170
191
  is_security_command_center_enabled == o.is_security_command_center_enabled &&
192
+ metric_namespace_configs == o.metric_namespace_configs &&
171
193
  resource_collection_enabled == o.resource_collection_enabled
172
194
  additional_properties == o.additional_properties
173
195
  end
@@ -176,7 +198,7 @@ module DatadogAPIClient::V2
176
198
  # @return [Integer] Hash code
177
199
  # @!visibility private
178
200
  def hash
179
- [account_tags, automute, client_email, cloud_run_revision_filters, host_filters, is_cspm_enabled, is_security_command_center_enabled, resource_collection_enabled].hash
201
+ [account_tags, automute, client_email, cloud_run_revision_filters, host_filters, is_cspm_enabled, is_resource_change_collection_enabled, is_security_command_center_enabled, metric_namespace_configs, resource_collection_enabled].hash
180
202
  end
181
203
  end
182
204
  end
@@ -30,6 +30,9 @@ module DatadogAPIClient::V2
30
30
  # A condensed view of the user-defined fields for which to create initial selections.
31
31
  attr_accessor :fields
32
32
 
33
+ # A unique identifier that represents an incident type. The default incident type will be used if this property is not provided.
34
+ attr_accessor :incident_type_uuid
35
+
33
36
  # An array of initial timeline cells to be placed at the beginning of the incident timeline.
34
37
  attr_accessor :initial_cells
35
38
 
@@ -48,6 +51,7 @@ module DatadogAPIClient::V2
48
51
  :'customer_impact_scope' => :'customer_impact_scope',
49
52
  :'customer_impacted' => :'customer_impacted',
50
53
  :'fields' => :'fields',
54
+ :'incident_type_uuid' => :'incident_type_uuid',
51
55
  :'initial_cells' => :'initial_cells',
52
56
  :'notification_handles' => :'notification_handles',
53
57
  :'title' => :'title'
@@ -61,6 +65,7 @@ module DatadogAPIClient::V2
61
65
  :'customer_impact_scope' => :'String',
62
66
  :'customer_impacted' => :'Boolean',
63
67
  :'fields' => :'Hash<String, IncidentFieldAttributes>',
68
+ :'incident_type_uuid' => :'String',
64
69
  :'initial_cells' => :'Array<IncidentTimelineCellCreateAttributes>',
65
70
  :'notification_handles' => :'Array<IncidentNotificationHandle>',
66
71
  :'title' => :'String'
@@ -97,6 +102,10 @@ module DatadogAPIClient::V2
97
102
  self.fields = attributes[:'fields']
98
103
  end
99
104
 
105
+ if attributes.key?(:'incident_type_uuid')
106
+ self.incident_type_uuid = attributes[:'incident_type_uuid']
107
+ end
108
+
100
109
  if attributes.key?(:'initial_cells')
101
110
  if (value = attributes[:'initial_cells']).is_a?(Array)
102
111
  self.initial_cells = value
@@ -172,6 +181,7 @@ module DatadogAPIClient::V2
172
181
  customer_impact_scope == o.customer_impact_scope &&
173
182
  customer_impacted == o.customer_impacted &&
174
183
  fields == o.fields &&
184
+ incident_type_uuid == o.incident_type_uuid &&
175
185
  initial_cells == o.initial_cells &&
176
186
  notification_handles == o.notification_handles &&
177
187
  title == o.title
@@ -182,7 +192,7 @@ module DatadogAPIClient::V2
182
192
  # @return [Integer] Hash code
183
193
  # @!visibility private
184
194
  def hash
185
- [customer_impact_scope, customer_impacted, fields, initial_cells, notification_handles, title].hash
195
+ [customer_impact_scope, customer_impacted, fields, incident_type_uuid, initial_cells, notification_handles, title].hash
186
196
  end
187
197
  end
188
198
  end
@@ -27,7 +27,8 @@ module DatadogAPIClient::V2
27
27
  def openapi_one_of
28
28
  [
29
29
  :'SlackIntegrationMetadata',
30
- :'JiraIntegrationMetadata'
30
+ :'JiraIntegrationMetadata',
31
+ :'MSTeamsIntegrationMetadata'
31
32
  ]
32
33
  end
33
34
  # Builds the object
@@ -24,7 +24,7 @@ module DatadogAPIClient::V2
24
24
  # The name of the notified handle.
25
25
  attr_accessor :display_name
26
26
 
27
- # The email address used for the notification.
27
+ # The handle used for the notification. This includes an email address, Slack channel, or workflow.
28
28
  attr_accessor :handle
29
29
 
30
30
  attr_accessor :additional_properties
@@ -52,6 +52,9 @@ module DatadogAPIClient::V2
52
52
  # A condensed view of the user-defined fields attached to incidents.
53
53
  attr_accessor :fields
54
54
 
55
+ # A unique identifier that represents an incident type.
56
+ attr_accessor :incident_type_uuid
57
+
55
58
  # Timestamp when the incident was last modified.
56
59
  attr_accessor :modified
57
60
 
@@ -108,6 +111,7 @@ module DatadogAPIClient::V2
108
111
  :'customer_impacted' => :'customer_impacted',
109
112
  :'detected' => :'detected',
110
113
  :'fields' => :'fields',
114
+ :'incident_type_uuid' => :'incident_type_uuid',
111
115
  :'modified' => :'modified',
112
116
  :'non_datadog_creator' => :'non_datadog_creator',
113
117
  :'notification_handles' => :'notification_handles',
@@ -138,6 +142,7 @@ module DatadogAPIClient::V2
138
142
  :'customer_impacted' => :'Boolean',
139
143
  :'detected' => :'Time',
140
144
  :'fields' => :'Hash<String, IncidentFieldAttributes>',
145
+ :'incident_type_uuid' => :'String',
141
146
  :'modified' => :'Time',
142
147
  :'non_datadog_creator' => :'IncidentNonDatadogCreator',
143
148
  :'notification_handles' => :'Array<IncidentNotificationHandle>',
@@ -230,6 +235,10 @@ module DatadogAPIClient::V2
230
235
  self.fields = attributes[:'fields']
231
236
  end
232
237
 
238
+ if attributes.key?(:'incident_type_uuid')
239
+ self.incident_type_uuid = attributes[:'incident_type_uuid']
240
+ end
241
+
233
242
  if attributes.key?(:'modified')
234
243
  self.modified = attributes[:'modified']
235
244
  end
@@ -339,6 +348,7 @@ module DatadogAPIClient::V2
339
348
  customer_impacted == o.customer_impacted &&
340
349
  detected == o.detected &&
341
350
  fields == o.fields &&
351
+ incident_type_uuid == o.incident_type_uuid &&
342
352
  modified == o.modified &&
343
353
  non_datadog_creator == o.non_datadog_creator &&
344
354
  notification_handles == o.notification_handles &&
@@ -359,7 +369,7 @@ module DatadogAPIClient::V2
359
369
  # @return [Integer] Hash code
360
370
  # @!visibility private
361
371
  def hash
362
- [archived, case_id, created, customer_impact_duration, customer_impact_end, customer_impact_scope, customer_impact_start, customer_impacted, detected, fields, modified, non_datadog_creator, notification_handles, public_id, resolved, severity, state, time_to_detect, time_to_internal_response, time_to_repair, time_to_resolve, title, visibility].hash
372
+ [archived, case_id, created, customer_impact_duration, customer_impact_end, customer_impact_scope, customer_impact_start, customer_impacted, detected, fields, incident_type_uuid, modified, non_datadog_creator, notification_handles, public_id, resolved, severity, state, time_to_detect, time_to_internal_response, time_to_repair, time_to_resolve, title, visibility].hash
363
373
  end
364
374
  end
365
375
  end
@@ -26,7 +26,7 @@ module DatadogAPIClient::V2
26
26
  # List of class defined in oneOf (OpenAPI v3)
27
27
  def openapi_one_of
28
28
  [
29
- :'User',
29
+ :'IncidentUserData',
30
30
  :'IncidentAttachmentData'
31
31
  ]
32
32
  end
@@ -0,0 +1,193 @@
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
+ # Incident type's attributes.
21
+ class IncidentTypeAttributes
22
+ include BaseGenericModel
23
+
24
+ # Timestamp when the incident type was created.
25
+ attr_accessor :created_at
26
+
27
+ # A unique identifier that represents the user that created the incident type.
28
+ attr_accessor :created_by
29
+
30
+ # Text that describes the incident type.
31
+ attr_accessor :description
32
+
33
+ # If true, this incident type will be used as the default incident type if a type is not specified during the creation of incident resources.
34
+ attr_accessor :is_default
35
+
36
+ # A unique identifier that represents the user that last modified the incident type.
37
+ attr_accessor :last_modified_by
38
+
39
+ # Timestamp when the incident type was last modified.
40
+ attr_accessor :modified_at
41
+
42
+ # The name of the incident type.
43
+ attr_reader :name
44
+
45
+ # The string that will be prepended to the incident title across the Datadog app.
46
+ attr_accessor :prefix
47
+
48
+ attr_accessor :additional_properties
49
+
50
+ # Attribute mapping from ruby-style variable name to JSON key.
51
+ # @!visibility private
52
+ def self.attribute_map
53
+ {
54
+ :'created_at' => :'createdAt',
55
+ :'created_by' => :'createdBy',
56
+ :'description' => :'description',
57
+ :'is_default' => :'is_default',
58
+ :'last_modified_by' => :'lastModifiedBy',
59
+ :'modified_at' => :'modifiedAt',
60
+ :'name' => :'name',
61
+ :'prefix' => :'prefix'
62
+ }
63
+ end
64
+
65
+ # Attribute type mapping.
66
+ # @!visibility private
67
+ def self.openapi_types
68
+ {
69
+ :'created_at' => :'Time',
70
+ :'created_by' => :'String',
71
+ :'description' => :'String',
72
+ :'is_default' => :'Boolean',
73
+ :'last_modified_by' => :'String',
74
+ :'modified_at' => :'Time',
75
+ :'name' => :'String',
76
+ :'prefix' => :'String'
77
+ }
78
+ end
79
+
80
+ # Initializes the object
81
+ # @param attributes [Hash] Model attributes in the form of hash
82
+ # @!visibility private
83
+ def initialize(attributes = {})
84
+ if (!attributes.is_a?(Hash))
85
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::IncidentTypeAttributes` initialize method"
86
+ end
87
+
88
+ self.additional_properties = {}
89
+ # check to see if the attribute exists and convert string to symbol for hash key
90
+ attributes = attributes.each_with_object({}) { |(k, v), h|
91
+ if (!self.class.attribute_map.key?(k.to_sym))
92
+ self.additional_properties[k.to_sym] = v
93
+ else
94
+ h[k.to_sym] = v
95
+ end
96
+ }
97
+
98
+ if attributes.key?(:'created_at')
99
+ self.created_at = attributes[:'created_at']
100
+ end
101
+
102
+ if attributes.key?(:'created_by')
103
+ self.created_by = attributes[:'created_by']
104
+ end
105
+
106
+ if attributes.key?(:'description')
107
+ self.description = attributes[:'description']
108
+ end
109
+
110
+ if attributes.key?(:'is_default')
111
+ self.is_default = attributes[:'is_default']
112
+ end
113
+
114
+ if attributes.key?(:'last_modified_by')
115
+ self.last_modified_by = attributes[:'last_modified_by']
116
+ end
117
+
118
+ if attributes.key?(:'modified_at')
119
+ self.modified_at = attributes[:'modified_at']
120
+ end
121
+
122
+ if attributes.key?(:'name')
123
+ self.name = attributes[:'name']
124
+ end
125
+
126
+ if attributes.key?(:'prefix')
127
+ self.prefix = attributes[:'prefix']
128
+ end
129
+ end
130
+
131
+ # Check to see if the all the properties in the model are valid
132
+ # @return true if the model is valid
133
+ # @!visibility private
134
+ def valid?
135
+ return false if @name.nil?
136
+ true
137
+ end
138
+
139
+ # Custom attribute writer method with validation
140
+ # @param name [Object] Object to be assigned
141
+ # @!visibility private
142
+ def name=(name)
143
+ if name.nil?
144
+ fail ArgumentError, 'invalid value for "name", name cannot be nil.'
145
+ end
146
+ @name = name
147
+ end
148
+
149
+ # Returns the object in the form of hash, with additionalProperties support.
150
+ # @return [Hash] Returns the object in the form of hash
151
+ # @!visibility private
152
+ def to_hash
153
+ hash = {}
154
+ self.class.attribute_map.each_pair do |attr, param|
155
+ value = self.send(attr)
156
+ if value.nil?
157
+ is_nullable = self.class.openapi_nullable.include?(attr)
158
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
159
+ end
160
+
161
+ hash[param] = _to_hash(value)
162
+ end
163
+ self.additional_properties.each_pair do |attr, value|
164
+ hash[attr] = value
165
+ end
166
+ hash
167
+ end
168
+
169
+ # Checks equality by comparing each attribute.
170
+ # @param o [Object] Object to be compared
171
+ # @!visibility private
172
+ def ==(o)
173
+ return true if self.equal?(o)
174
+ self.class == o.class &&
175
+ created_at == o.created_at &&
176
+ created_by == o.created_by &&
177
+ description == o.description &&
178
+ is_default == o.is_default &&
179
+ last_modified_by == o.last_modified_by &&
180
+ modified_at == o.modified_at &&
181
+ name == o.name &&
182
+ prefix == o.prefix
183
+ additional_properties == o.additional_properties
184
+ end
185
+
186
+ # Calculates hash code according to all attributes.
187
+ # @return [Integer] Hash code
188
+ # @!visibility private
189
+ def hash
190
+ [created_at, created_by, description, is_default, last_modified_by, modified_at, name, prefix].hash
191
+ end
192
+ end
193
+ end
@@ -0,0 +1,144 @@
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
+ # Incident type data for a create request.
21
+ class IncidentTypeCreateData
22
+ include BaseGenericModel
23
+
24
+ # Incident type's attributes.
25
+ attr_reader :attributes
26
+
27
+ # Incident type resource type.
28
+ attr_reader :type
29
+
30
+ attr_accessor :additional_properties
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ # @!visibility private
34
+ def self.attribute_map
35
+ {
36
+ :'attributes' => :'attributes',
37
+ :'type' => :'type'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'attributes' => :'IncidentTypeAttributes',
46
+ :'type' => :'IncidentTypeType'
47
+ }
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param attributes [Hash] Model attributes in the form of hash
52
+ # @!visibility private
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::IncidentTypeCreateData` initialize method"
56
+ end
57
+
58
+ self.additional_properties = {}
59
+ # check to see if the attribute exists and convert string to symbol for hash key
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!self.class.attribute_map.key?(k.to_sym))
62
+ self.additional_properties[k.to_sym] = v
63
+ else
64
+ h[k.to_sym] = v
65
+ end
66
+ }
67
+
68
+ if attributes.key?(:'attributes')
69
+ self.attributes = attributes[:'attributes']
70
+ end
71
+
72
+ if attributes.key?(:'type')
73
+ self.type = attributes[:'type']
74
+ end
75
+ end
76
+
77
+ # Check to see if the all the properties in the model are valid
78
+ # @return true if the model is valid
79
+ # @!visibility private
80
+ def valid?
81
+ return false if @attributes.nil?
82
+ return false if @type.nil?
83
+ true
84
+ end
85
+
86
+ # Custom attribute writer method with validation
87
+ # @param attributes [Object] Object to be assigned
88
+ # @!visibility private
89
+ def attributes=(attributes)
90
+ if attributes.nil?
91
+ fail ArgumentError, 'invalid value for "attributes", attributes cannot be nil.'
92
+ end
93
+ @attributes = attributes
94
+ end
95
+
96
+ # Custom attribute writer method with validation
97
+ # @param type [Object] Object to be assigned
98
+ # @!visibility private
99
+ def type=(type)
100
+ if type.nil?
101
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
102
+ end
103
+ @type = type
104
+ end
105
+
106
+ # Returns the object in the form of hash, with additionalProperties support.
107
+ # @return [Hash] Returns the object in the form of hash
108
+ # @!visibility private
109
+ def to_hash
110
+ hash = {}
111
+ self.class.attribute_map.each_pair do |attr, param|
112
+ value = self.send(attr)
113
+ if value.nil?
114
+ is_nullable = self.class.openapi_nullable.include?(attr)
115
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
116
+ end
117
+
118
+ hash[param] = _to_hash(value)
119
+ end
120
+ self.additional_properties.each_pair do |attr, value|
121
+ hash[attr] = value
122
+ end
123
+ hash
124
+ end
125
+
126
+ # Checks equality by comparing each attribute.
127
+ # @param o [Object] Object to be compared
128
+ # @!visibility private
129
+ def ==(o)
130
+ return true if self.equal?(o)
131
+ self.class == o.class &&
132
+ attributes == o.attributes &&
133
+ type == o.type
134
+ additional_properties == o.additional_properties
135
+ end
136
+
137
+ # Calculates hash code according to all attributes.
138
+ # @return [Integer] Hash code
139
+ # @!visibility private
140
+ def hash
141
+ [attributes, type].hash
142
+ end
143
+ end
144
+ end