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,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 mapping data for each billing dimension.
21
+ class BillingDimensionsMappingBodyItem
22
+ include BaseGenericModel
23
+
24
+ # Mapping of billing dimensions to endpoint keys.
25
+ attr_accessor :attributes
26
+
27
+ # ID of the billing dimension.
28
+ attr_accessor :id
29
+
30
+ # Type of active billing dimensions data.
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' => :'BillingDimensionsMappingBodyItemAttributes',
50
+ :'id' => :'String',
51
+ :'type' => :'ActiveBillingDimensionsType'
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::BillingDimensionsMappingBodyItem` 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,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
+ # Mapping of billing dimensions to endpoint keys.
21
+ class BillingDimensionsMappingBodyItemAttributes
22
+ include BaseGenericModel
23
+
24
+ # List of supported endpoints with their keys mapped to the billing_dimension.
25
+ attr_accessor :endpoints
26
+
27
+ # Label used for the billing dimension in the Plan & Usage charts.
28
+ attr_accessor :in_app_label
29
+
30
+ # Month in ISO-8601 format, UTC, and precise to the second: `[YYYY-MM-DDThh:mm:ss]`.
31
+ attr_accessor :timestamp
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
+ :'endpoints' => :'endpoints',
40
+ :'in_app_label' => :'in_app_label',
41
+ :'timestamp' => :'timestamp'
42
+ }
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ # @!visibility private
47
+ def self.openapi_types
48
+ {
49
+ :'endpoints' => :'Array<BillingDimensionsMappingBodyItemAttributesEndpointsItems>',
50
+ :'in_app_label' => :'String',
51
+ :'timestamp' => :'Time'
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::BillingDimensionsMappingBodyItemAttributes` 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?(:'endpoints')
74
+ if (value = attributes[:'endpoints']).is_a?(Array)
75
+ self.endpoints = value
76
+ end
77
+ end
78
+
79
+ if attributes.key?(:'in_app_label')
80
+ self.in_app_label = attributes[:'in_app_label']
81
+ end
82
+
83
+ if attributes.key?(:'timestamp')
84
+ self.timestamp = attributes[:'timestamp']
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
+ endpoints == o.endpoints &&
115
+ in_app_label == o.in_app_label &&
116
+ timestamp == o.timestamp
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
+ [endpoints, in_app_label, timestamp].hash
125
+ end
126
+ end
127
+ end
@@ -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
+ # An endpoint's keys mapped to the billing_dimension.
21
+ class BillingDimensionsMappingBodyItemAttributesEndpointsItems
22
+ include BaseGenericModel
23
+
24
+ # The URL for the endpoint.
25
+ attr_accessor :id
26
+
27
+ # The billing dimension.
28
+ attr_accessor :keys
29
+
30
+ # Denotes whether mapping keys were available for this endpoint.
31
+ attr_accessor :status
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
+ :'id' => :'id',
40
+ :'keys' => :'keys',
41
+ :'status' => :'status'
42
+ }
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ # @!visibility private
47
+ def self.openapi_types
48
+ {
49
+ :'id' => :'String',
50
+ :'keys' => :'Array<String>',
51
+ :'status' => :'BillingDimensionsMappingBodyItemAttributesEndpointsItemsStatus'
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::BillingDimensionsMappingBodyItemAttributesEndpointsItems` 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?(:'id')
74
+ self.id = attributes[:'id']
75
+ end
76
+
77
+ if attributes.key?(:'keys')
78
+ if (value = attributes[:'keys']).is_a?(Array)
79
+ self.keys = value
80
+ end
81
+ end
82
+
83
+ if attributes.key?(:'status')
84
+ self.status = attributes[:'status']
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
+ id == o.id &&
115
+ keys == o.keys &&
116
+ status == o.status
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
+ [id, keys, status].hash
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,27 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Denotes whether mapping keys were available for this endpoint.
21
+ class BillingDimensionsMappingBodyItemAttributesEndpointsItemsStatus
22
+ include BaseEnumModel
23
+
24
+ OK = "OK".freeze
25
+ NOT_FOUND = "NOT_FOUND".freeze
26
+ end
27
+ end
@@ -0,0 +1,107 @@
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
+ # Billing dimensions mapping response.
21
+ class BillingDimensionsMappingResponse
22
+ include BaseGenericModel
23
+
24
+ # Billing dimensions mapping data.
25
+ attr_accessor :data
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
+ :'data' => :'data'
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ # @!visibility private
39
+ def self.openapi_types
40
+ {
41
+ :'data' => :'Array<BillingDimensionsMappingBodyItem>'
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::BillingDimensionsMappingResponse` 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?(:'data')
64
+ if (value = attributes[:'data']).is_a?(Array)
65
+ self.data = value
66
+ end
67
+ end
68
+ end
69
+
70
+ # Returns the object in the form of hash, with additionalProperties support.
71
+ # @return [Hash] Returns the object in the form of hash
72
+ # @!visibility private
73
+ def to_hash
74
+ hash = {}
75
+ self.class.attribute_map.each_pair do |attr, param|
76
+ value = self.send(attr)
77
+ if value.nil?
78
+ is_nullable = self.class.openapi_nullable.include?(attr)
79
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
80
+ end
81
+
82
+ hash[param] = _to_hash(value)
83
+ end
84
+ self.additional_properties.each_pair do |attr, value|
85
+ hash[attr] = value
86
+ end
87
+ hash
88
+ end
89
+
90
+ # Checks equality by comparing each attribute.
91
+ # @param o [Object] Object to be compared
92
+ # @!visibility private
93
+ def ==(o)
94
+ return true if self.equal?(o)
95
+ self.class == o.class &&
96
+ data == o.data
97
+ additional_properties == o.additional_properties
98
+ end
99
+
100
+ # Calculates hash code according to all attributes.
101
+ # @return [Integer] Hash code
102
+ # @!visibility private
103
+ def hash
104
+ [data].hash
105
+ end
106
+ end
107
+ end
@@ -30,7 +30,7 @@ module DatadogAPIClient::V2
30
30
  # The name of the Cloudflare account.
31
31
  attr_reader :name
32
32
 
33
- # An allowlist of resources to restrict pulling metrics for.
33
+ # An allowlist of resources to restrict pulling metrics for including `'web', 'dns', 'lb' (load balancer), 'worker'`.
34
34
  attr_accessor :resources
35
35
 
36
36
  # An allowlist of zones to restrict pulling metrics for.
@@ -27,7 +27,7 @@ module DatadogAPIClient::V2
27
27
  # The name of the Cloudflare account.
28
28
  attr_reader :name
29
29
 
30
- # An allowlist of resources to restrict pulling metrics for.
30
+ # An allowlist of resources, such as `web`, `dns`, `lb` (load balancer), `worker`, that restricts pulling metrics from those resources.
31
31
  attr_accessor :resources
32
32
 
33
33
  # An allowlist of zones to restrict pulling metrics for.
@@ -30,7 +30,7 @@ module DatadogAPIClient::V2
30
30
  # The name of the Cloudflare account.
31
31
  attr_accessor :name
32
32
 
33
- # An allowlist of resources to restrict pulling metrics for.
33
+ # An allowlist of resources to restrict pulling metrics for including `'web', 'dns', 'lb' (load balancer), 'worker'`.
34
34
  attr_accessor :resources
35
35
 
36
36
  # An allowlist of zones to restrict pulling metrics for.
@@ -0,0 +1,151 @@
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 email domain allowlist for an org.
21
+ class DomainAllowlist
22
+ include BaseGenericModel
23
+
24
+ # The details of the email domain allowlist.
25
+ attr_accessor :attributes
26
+
27
+ # The unique identifier of the org.
28
+ attr_accessor :id
29
+
30
+ # Email domain allowlist allowlist type.
31
+ attr_reader :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' => :'DomainAllowlistAttributes',
50
+ :'id' => :'String',
51
+ :'type' => :'DomainAllowlistType'
52
+ }
53
+ end
54
+
55
+ # List of attributes with nullable: true
56
+ # @!visibility private
57
+ def self.openapi_nullable
58
+ Set.new([
59
+ :'id',
60
+ ])
61
+ end
62
+
63
+ # Initializes the object
64
+ # @param attributes [Hash] Model attributes in the form of hash
65
+ # @!visibility private
66
+ def initialize(attributes = {})
67
+ if (!attributes.is_a?(Hash))
68
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::DomainAllowlist` initialize method"
69
+ end
70
+
71
+ self.additional_properties = {}
72
+ # check to see if the attribute exists and convert string to symbol for hash key
73
+ attributes = attributes.each_with_object({}) { |(k, v), h|
74
+ if (!self.class.attribute_map.key?(k.to_sym))
75
+ self.additional_properties[k.to_sym] = v
76
+ else
77
+ h[k.to_sym] = v
78
+ end
79
+ }
80
+
81
+ if attributes.key?(:'attributes')
82
+ self.attributes = attributes[:'attributes']
83
+ end
84
+
85
+ if attributes.key?(:'id')
86
+ self.id = attributes[:'id']
87
+ end
88
+
89
+ if attributes.key?(:'type')
90
+ self.type = attributes[:'type']
91
+ end
92
+ end
93
+
94
+ # Check to see if the all the properties in the model are valid
95
+ # @return true if the model is valid
96
+ # @!visibility private
97
+ def valid?
98
+ return false if @type.nil?
99
+ true
100
+ end
101
+
102
+ # Custom attribute writer method with validation
103
+ # @param type [Object] Object to be assigned
104
+ # @!visibility private
105
+ def type=(type)
106
+ if type.nil?
107
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
108
+ end
109
+ @type = type
110
+ end
111
+
112
+ # Returns the object in the form of hash, with additionalProperties support.
113
+ # @return [Hash] Returns the object in the form of hash
114
+ # @!visibility private
115
+ def to_hash
116
+ hash = {}
117
+ self.class.attribute_map.each_pair do |attr, param|
118
+ value = self.send(attr)
119
+ if value.nil?
120
+ is_nullable = self.class.openapi_nullable.include?(attr)
121
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
122
+ end
123
+
124
+ hash[param] = _to_hash(value)
125
+ end
126
+ self.additional_properties.each_pair do |attr, value|
127
+ hash[attr] = value
128
+ end
129
+ hash
130
+ end
131
+
132
+ # Checks equality by comparing each attribute.
133
+ # @param o [Object] Object to be compared
134
+ # @!visibility private
135
+ def ==(o)
136
+ return true if self.equal?(o)
137
+ self.class == o.class &&
138
+ attributes == o.attributes &&
139
+ id == o.id &&
140
+ type == o.type
141
+ additional_properties == o.additional_properties
142
+ end
143
+
144
+ # Calculates hash code according to all attributes.
145
+ # @return [Integer] Hash code
146
+ # @!visibility private
147
+ def hash
148
+ [attributes, id, type].hash
149
+ end
150
+ end
151
+ end