datadog_api_client 2.26.1 → 2.28.1

Sign up to get free protection for your applications and to get access to all the features.
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,127 @@
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 compute rule to compute the rum-based metric.
21
+ class RumMetricResponseCompute
22
+ include BaseGenericModel
23
+
24
+ # The type of aggregation to use.
25
+ attr_accessor :aggregation_type
26
+
27
+ # Toggle to include or exclude percentile aggregations for distribution metrics.
28
+ # Only present when `aggregation_type` is `distribution`.
29
+ attr_accessor :include_percentiles
30
+
31
+ # The path to the value the rum-based metric will aggregate on.
32
+ # Only present when `aggregation_type` is `distribution`.
33
+ attr_accessor :path
34
+
35
+ attr_accessor :additional_properties
36
+
37
+ # Attribute mapping from ruby-style variable name to JSON key.
38
+ # @!visibility private
39
+ def self.attribute_map
40
+ {
41
+ :'aggregation_type' => :'aggregation_type',
42
+ :'include_percentiles' => :'include_percentiles',
43
+ :'path' => :'path'
44
+ }
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ # @!visibility private
49
+ def self.openapi_types
50
+ {
51
+ :'aggregation_type' => :'RumMetricComputeAggregationType',
52
+ :'include_percentiles' => :'Boolean',
53
+ :'path' => :'String'
54
+ }
55
+ end
56
+
57
+ # Initializes the object
58
+ # @param attributes [Hash] Model attributes in the form of hash
59
+ # @!visibility private
60
+ def initialize(attributes = {})
61
+ if (!attributes.is_a?(Hash))
62
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RumMetricResponseCompute` initialize method"
63
+ end
64
+
65
+ self.additional_properties = {}
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
+ self.additional_properties[k.to_sym] = v
70
+ else
71
+ h[k.to_sym] = v
72
+ end
73
+ }
74
+
75
+ if attributes.key?(:'aggregation_type')
76
+ self.aggregation_type = attributes[:'aggregation_type']
77
+ end
78
+
79
+ if attributes.key?(:'include_percentiles')
80
+ self.include_percentiles = attributes[:'include_percentiles']
81
+ end
82
+
83
+ if attributes.key?(:'path')
84
+ self.path = attributes[:'path']
85
+ end
86
+ end
87
+
88
+ # Returns the object in the form of hash, with additionalProperties support.
89
+ # @return [Hash] Returns the object in the form of hash
90
+ # @!visibility private
91
+ def to_hash
92
+ hash = {}
93
+ self.class.attribute_map.each_pair do |attr, param|
94
+ value = self.send(attr)
95
+ if value.nil?
96
+ is_nullable = self.class.openapi_nullable.include?(attr)
97
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
98
+ end
99
+
100
+ hash[param] = _to_hash(value)
101
+ end
102
+ self.additional_properties.each_pair do |attr, value|
103
+ hash[attr] = value
104
+ end
105
+ hash
106
+ end
107
+
108
+ # Checks equality by comparing each attribute.
109
+ # @param o [Object] Object to be compared
110
+ # @!visibility private
111
+ def ==(o)
112
+ return true if self.equal?(o)
113
+ self.class == o.class &&
114
+ aggregation_type == o.aggregation_type &&
115
+ include_percentiles == o.include_percentiles &&
116
+ path == o.path
117
+ additional_properties == o.additional_properties
118
+ end
119
+
120
+ # Calculates hash code according to all attributes.
121
+ # @return [Integer] Hash code
122
+ # @!visibility private
123
+ def hash
124
+ [aggregation_type, include_percentiles, path].hash
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,125 @@
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 rum-based metric properties.
21
+ class RumMetricResponseData
22
+ include BaseGenericModel
23
+
24
+ # The object describing a Datadog rum-based metric.
25
+ attr_accessor :attributes
26
+
27
+ # The name of the rum-based metric.
28
+ attr_accessor :id
29
+
30
+ # The type of the resource. The value should always be rum_metrics.
31
+ attr_accessor :type
32
+
33
+ attr_accessor :additional_properties
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ # @!visibility private
37
+ def self.attribute_map
38
+ {
39
+ :'attributes' => :'attributes',
40
+ :'id' => :'id',
41
+ :'type' => :'type'
42
+ }
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ # @!visibility private
47
+ def self.openapi_types
48
+ {
49
+ :'attributes' => :'RumMetricResponseAttributes',
50
+ :'id' => :'String',
51
+ :'type' => :'RumMetricType'
52
+ }
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param attributes [Hash] Model attributes in the form of hash
57
+ # @!visibility private
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RumMetricResponseData` initialize method"
61
+ end
62
+
63
+ self.additional_properties = {}
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!self.class.attribute_map.key?(k.to_sym))
67
+ self.additional_properties[k.to_sym] = v
68
+ else
69
+ h[k.to_sym] = v
70
+ end
71
+ }
72
+
73
+ if attributes.key?(:'attributes')
74
+ self.attributes = attributes[:'attributes']
75
+ end
76
+
77
+ if attributes.key?(:'id')
78
+ self.id = attributes[:'id']
79
+ end
80
+
81
+ if attributes.key?(:'type')
82
+ self.type = attributes[:'type']
83
+ end
84
+ end
85
+
86
+ # Returns the object in the form of hash, with additionalProperties support.
87
+ # @return [Hash] Returns the object in the form of hash
88
+ # @!visibility private
89
+ def to_hash
90
+ hash = {}
91
+ self.class.attribute_map.each_pair do |attr, param|
92
+ value = self.send(attr)
93
+ if value.nil?
94
+ is_nullable = self.class.openapi_nullable.include?(attr)
95
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
96
+ end
97
+
98
+ hash[param] = _to_hash(value)
99
+ end
100
+ self.additional_properties.each_pair do |attr, value|
101
+ hash[attr] = value
102
+ end
103
+ hash
104
+ end
105
+
106
+ # Checks equality by comparing each attribute.
107
+ # @param o [Object] Object to be compared
108
+ # @!visibility private
109
+ def ==(o)
110
+ return true if self.equal?(o)
111
+ self.class == o.class &&
112
+ attributes == o.attributes &&
113
+ id == o.id &&
114
+ type == o.type
115
+ additional_properties == o.additional_properties
116
+ end
117
+
118
+ # Calculates hash code according to all attributes.
119
+ # @return [Integer] Hash code
120
+ # @!visibility private
121
+ def hash
122
+ [attributes, id, type].hash
123
+ end
124
+ end
125
+ end
@@ -0,0 +1,105 @@
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 rum-based metric filter. RUM events matching this filter will be aggregated in this metric.
21
+ class RumMetricResponseFilter
22
+ include BaseGenericModel
23
+
24
+ # The search query - following the RUM search syntax.
25
+ attr_accessor :query
26
+
27
+ attr_accessor :additional_properties
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ # @!visibility private
31
+ def self.attribute_map
32
+ {
33
+ :'query' => :'query'
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ # @!visibility private
39
+ def self.openapi_types
40
+ {
41
+ :'query' => :'String'
42
+ }
43
+ end
44
+
45
+ # Initializes the object
46
+ # @param attributes [Hash] Model attributes in the form of hash
47
+ # @!visibility private
48
+ def initialize(attributes = {})
49
+ if (!attributes.is_a?(Hash))
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RumMetricResponseFilter` initialize method"
51
+ end
52
+
53
+ self.additional_properties = {}
54
+ # check to see if the attribute exists and convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}) { |(k, v), h|
56
+ if (!self.class.attribute_map.key?(k.to_sym))
57
+ self.additional_properties[k.to_sym] = v
58
+ else
59
+ h[k.to_sym] = v
60
+ end
61
+ }
62
+
63
+ if attributes.key?(:'query')
64
+ self.query = attributes[:'query']
65
+ end
66
+ end
67
+
68
+ # Returns the object in the form of hash, with additionalProperties support.
69
+ # @return [Hash] Returns the object in the form of hash
70
+ # @!visibility private
71
+ def to_hash
72
+ hash = {}
73
+ self.class.attribute_map.each_pair do |attr, param|
74
+ value = self.send(attr)
75
+ if value.nil?
76
+ is_nullable = self.class.openapi_nullable.include?(attr)
77
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
78
+ end
79
+
80
+ hash[param] = _to_hash(value)
81
+ end
82
+ self.additional_properties.each_pair do |attr, value|
83
+ hash[attr] = value
84
+ end
85
+ hash
86
+ end
87
+
88
+ # Checks equality by comparing each attribute.
89
+ # @param o [Object] Object to be compared
90
+ # @!visibility private
91
+ def ==(o)
92
+ return true if self.equal?(o)
93
+ self.class == o.class &&
94
+ query == o.query
95
+ additional_properties == o.additional_properties
96
+ end
97
+
98
+ # Calculates hash code according to all attributes.
99
+ # @return [Integer] Hash code
100
+ # @!visibility private
101
+ def hash
102
+ [query].hash
103
+ end
104
+ end
105
+ 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
+ # A group by rule.
21
+ class RumMetricResponseGroupBy
22
+ include BaseGenericModel
23
+
24
+ # The path to the value the rum-based metric will be aggregated over.
25
+ attr_accessor :path
26
+
27
+ # Eventual name of the tag that gets created. By default, `path` is used as the tag name.
28
+ attr_accessor :tag_name
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
+ :'path' => :'path',
37
+ :'tag_name' => :'tag_name'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'path' => :'String',
46
+ :'tag_name' => :'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::RumMetricResponseGroupBy` 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?(:'path')
69
+ self.path = attributes[:'path']
70
+ end
71
+
72
+ if attributes.key?(:'tag_name')
73
+ self.tag_name = attributes[:'tag_name']
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
+ path == o.path &&
104
+ tag_name == o.tag_name
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
+ [path, tag_name].hash
113
+ end
114
+ end
115
+ end
@@ -17,15 +17,12 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # Attributes for an AWS related account.
21
- class AWSRelatedAccountAttributes
20
+ # The rule to count updatable events. Is only set if `event_type` is `session` or `view`.
21
+ class RumMetricResponseUniqueness
22
22
  include BaseGenericModel
23
23
 
24
- # Whether or not the AWS account has a Datadog integration.
25
- attr_accessor :has_datadog_integration
26
-
27
- # The name of the AWS account.
28
- attr_accessor :name
24
+ # When to count updatable events. `match` when the event is first seen, or `end` when the event is complete.
25
+ attr_accessor :_when
29
26
 
30
27
  attr_accessor :additional_properties
31
28
 
@@ -33,8 +30,7 @@ module DatadogAPIClient::V2
33
30
  # @!visibility private
34
31
  def self.attribute_map
35
32
  {
36
- :'has_datadog_integration' => :'has_datadog_integration',
37
- :'name' => :'name'
33
+ :'_when' => :'when'
38
34
  }
39
35
  end
40
36
 
@@ -42,8 +38,7 @@ module DatadogAPIClient::V2
42
38
  # @!visibility private
43
39
  def self.openapi_types
44
40
  {
45
- :'has_datadog_integration' => :'Boolean',
46
- :'name' => :'String'
41
+ :'_when' => :'RumMetricUniquenessWhen'
47
42
  }
48
43
  end
49
44
 
@@ -52,7 +47,7 @@ module DatadogAPIClient::V2
52
47
  # @!visibility private
53
48
  def initialize(attributes = {})
54
49
  if (!attributes.is_a?(Hash))
55
- fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::AWSRelatedAccountAttributes` initialize method"
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RumMetricResponseUniqueness` initialize method"
56
51
  end
57
52
 
58
53
  self.additional_properties = {}
@@ -65,12 +60,8 @@ module DatadogAPIClient::V2
65
60
  end
66
61
  }
67
62
 
68
- if attributes.key?(:'has_datadog_integration')
69
- self.has_datadog_integration = attributes[:'has_datadog_integration']
70
- end
71
-
72
- if attributes.key?(:'name')
73
- self.name = attributes[:'name']
63
+ if attributes.key?(:'_when')
64
+ self._when = attributes[:'_when']
74
65
  end
75
66
  end
76
67
 
@@ -100,8 +91,7 @@ module DatadogAPIClient::V2
100
91
  def ==(o)
101
92
  return true if self.equal?(o)
102
93
  self.class == o.class &&
103
- has_datadog_integration == o.has_datadog_integration &&
104
- name == o.name
94
+ _when == o._when
105
95
  additional_properties == o.additional_properties
106
96
  end
107
97
 
@@ -109,7 +99,7 @@ module DatadogAPIClient::V2
109
99
  # @return [Integer] Hash code
110
100
  # @!visibility private
111
101
  def hash
112
- [has_datadog_integration, name].hash
102
+ [_when].hash
113
103
  end
114
104
  end
115
105
  end
@@ -0,0 +1,26 @@
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 type of the resource. The value should always be rum_metrics.
21
+ class RumMetricType
22
+ include BaseEnumModel
23
+
24
+ RUM_METRICS = "rum_metrics".freeze
25
+ end
26
+ end
@@ -0,0 +1,123 @@
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 rule to count updatable events. Is only set if `event_type` is `sessions` or `views`.
21
+ class RumMetricUniqueness
22
+ include BaseGenericModel
23
+
24
+ # When to count updatable events. `match` when the event is first seen, or `end` when the event is complete.
25
+ attr_reader :_when
26
+
27
+ attr_accessor :additional_properties
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ # @!visibility private
31
+ def self.attribute_map
32
+ {
33
+ :'_when' => :'when'
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ # @!visibility private
39
+ def self.openapi_types
40
+ {
41
+ :'_when' => :'RumMetricUniquenessWhen'
42
+ }
43
+ end
44
+
45
+ # Initializes the object
46
+ # @param attributes [Hash] Model attributes in the form of hash
47
+ # @!visibility private
48
+ def initialize(attributes = {})
49
+ if (!attributes.is_a?(Hash))
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RumMetricUniqueness` initialize method"
51
+ end
52
+
53
+ self.additional_properties = {}
54
+ # check to see if the attribute exists and convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}) { |(k, v), h|
56
+ if (!self.class.attribute_map.key?(k.to_sym))
57
+ self.additional_properties[k.to_sym] = v
58
+ else
59
+ h[k.to_sym] = v
60
+ end
61
+ }
62
+
63
+ if attributes.key?(:'_when')
64
+ self._when = attributes[:'_when']
65
+ end
66
+ end
67
+
68
+ # Check to see if the all the properties in the model are valid
69
+ # @return true if the model is valid
70
+ # @!visibility private
71
+ def valid?
72
+ return false if @_when.nil?
73
+ true
74
+ end
75
+
76
+ # Custom attribute writer method with validation
77
+ # @param _when [Object] Object to be assigned
78
+ # @!visibility private
79
+ def _when=(_when)
80
+ if _when.nil?
81
+ fail ArgumentError, 'invalid value for "_when", _when cannot be nil.'
82
+ end
83
+ @_when = _when
84
+ end
85
+
86
+ # Returns the object in the form of hash, with additionalProperties support.
87
+ # @return [Hash] Returns the object in the form of hash
88
+ # @!visibility private
89
+ def to_hash
90
+ hash = {}
91
+ self.class.attribute_map.each_pair do |attr, param|
92
+ value = self.send(attr)
93
+ if value.nil?
94
+ is_nullable = self.class.openapi_nullable.include?(attr)
95
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
96
+ end
97
+
98
+ hash[param] = _to_hash(value)
99
+ end
100
+ self.additional_properties.each_pair do |attr, value|
101
+ hash[attr] = value
102
+ end
103
+ hash
104
+ end
105
+
106
+ # Checks equality by comparing each attribute.
107
+ # @param o [Object] Object to be compared
108
+ # @!visibility private
109
+ def ==(o)
110
+ return true if self.equal?(o)
111
+ self.class == o.class &&
112
+ _when == o._when
113
+ additional_properties == o.additional_properties
114
+ end
115
+
116
+ # Calculates hash code according to all attributes.
117
+ # @return [Integer] Hash code
118
+ # @!visibility private
119
+ def hash
120
+ [_when].hash
121
+ end
122
+ end
123
+ end