datadog_api_client 2.16.0 → 2.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/schemas/v1/openapi.yaml +799 -16
  4. data/.generator/schemas/v2/openapi.yaml +2732 -409
  5. data/.generator/src/generator/cli.py +5 -0
  6. data/.generator/src/generator/formatter.py +4 -0
  7. data/.generator/src/generator/openapi.py +2 -0
  8. data/.generator/src/generator/templates/api_client.j2 +3 -0
  9. data/.generator/src/generator/templates/datadog_api_client.j2 +19 -0
  10. data/.generator/src/generator/templates/inflector.j2 +1 -1
  11. data/.generator/src/generator/templates/model_base.j2 +4 -0
  12. data/.pre-commit-config.yaml +1 -1
  13. data/CHANGELOG.md +54 -0
  14. data/Gemfile +1 -0
  15. data/LICENSE-3rdparty.csv +1 -0
  16. data/datadog_api_client.gemspec +2 -0
  17. data/examples/v1/aws-integration/CreateAWSAccount.rb +2 -2
  18. data/examples/v1/aws-integration/CreateAWSEventBridgeSource.rb +12 -0
  19. data/examples/v1/aws-integration/CreateAWSTagFilter.rb +1 -1
  20. data/examples/v1/aws-integration/CreateNewAWSExternalID.rb +1 -1
  21. data/examples/v1/aws-integration/DeleteAWSAccount.rb +1 -1
  22. data/examples/v1/aws-integration/DeleteAWSEventBridgeSource.rb +11 -0
  23. data/examples/v1/aws-integration/ListAWSEventBridgeSources.rb +5 -0
  24. data/examples/v1/aws-integration/UpdateAWSAccount.rb +6 -6
  25. data/examples/v1/azure-integration/CreateAzureIntegration.rb +2 -0
  26. data/examples/v1/azure-integration/DeleteAzureIntegration.rb +2 -0
  27. data/examples/v1/azure-integration/UpdateAzureHostFilters.rb +2 -0
  28. data/examples/v1/azure-integration/UpdateAzureIntegration.rb +2 -0
  29. data/examples/v1/dashboards/CreateDashboard_1213075383.rb +7 -0
  30. data/examples/v1/dashboards/CreateDashboard_1284514532.rb +3 -0
  31. data/examples/v1/monitors/CreateMonitor_1539578087.rb +0 -1
  32. data/examples/v1/synthetics/PatchTest.rb +22 -0
  33. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent.rb +3 -0
  34. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +3 -0
  35. data/examples/v2/confluent-cloud/DeleteConfluentAccount.rb +4 -1
  36. data/examples/v2/confluent-cloud/DeleteConfluentResource.rb +5 -0
  37. data/examples/v2/container-images/ListContainerImages.rb +0 -3
  38. data/examples/v2/container-images/ListContainerImages_3088586393.rb +0 -3
  39. data/examples/v2/container-images/ListContainerImages_3974828736.rb +0 -3
  40. data/examples/v2/containers/ListContainers.rb +5 -0
  41. data/examples/v2/containers/ListContainers_2175733917.rb +8 -0
  42. data/examples/v2/containers/ListContainers_931009654.rb +8 -0
  43. data/examples/v2/dora-metrics/CreateDORADeployment.rb +23 -0
  44. data/examples/v2/dora-metrics/CreateDORAIncident.rb +25 -0
  45. data/examples/v2/downtimes/ListMonitorDowntimes.rb +1 -1
  46. data/examples/v2/events/ListEvents.rb +0 -3
  47. data/examples/v2/events/ListEvents_1527584014.rb +0 -3
  48. data/examples/v2/events/ListEvents_2663715109.rb +0 -3
  49. data/examples/v2/events/SearchEvents.rb +0 -3
  50. data/examples/v2/events/SearchEvents_3856995058.rb +0 -3
  51. data/examples/v2/key-management/CreateCurrentUserApplicationKey.rb +2 -7
  52. data/examples/v2/key-management/DeleteApplicationKey.rb +4 -1
  53. data/examples/v2/key-management/DeleteCurrentUserApplicationKey.rb +4 -1
  54. data/examples/v2/okta-integration/CreateOktaAccount.rb +19 -0
  55. data/examples/v2/okta-integration/DeleteOktaAccount.rb +5 -0
  56. data/examples/v2/okta-integration/GetOktaAccount.rb +8 -0
  57. data/examples/v2/okta-integration/ListOktaAccounts.rb +5 -0
  58. data/examples/v2/okta-integration/UpdateOktaAccount.rb +20 -0
  59. data/examples/v2/powerpack/CreatePowerpack.rb +1 -0
  60. data/examples/v2/powerpack/UpdatePowerpack.rb +1 -0
  61. data/examples/v2/security-monitoring/MuteFindings.rb +29 -0
  62. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions.rb +1 -1
  63. data/examples/v2/service-scorecards/CreateScorecardOutcomesBatch.rb +27 -0
  64. data/examples/v2/service-scorecards/CreateScorecardRule.rb +19 -0
  65. data/examples/v2/service-scorecards/DeleteScorecardRule.rb +11 -0
  66. data/examples/v2/service-scorecards/ListScorecardOutcomes.rb +8 -0
  67. data/examples/v2/service-scorecards/ListScorecardOutcomes_2663454275.rb +13 -0
  68. data/examples/v2/service-scorecards/ListScorecardRules.rb +8 -0
  69. data/examples/v2/service-scorecards/ListScorecardRules_4057666343.rb +13 -0
  70. data/examples/v2/synthetics/SetOnDemandConcurrencyCap.rb +3 -1
  71. data/examples/v2/teams/ListTeams_3429963470.rb +12 -0
  72. data/examples/v2/usage-metering/GetActiveBillingDimensions.rb +8 -0
  73. data/examples/v2/usage-metering/GetMonthlyCostAttribution.rb +8 -0
  74. data/examples/v2/usage-metering/GetProjectedCost.rb +8 -0
  75. data/examples/v2/usage-metering/GetUsageApplicationSecurityMonitoring.rb +4 -1
  76. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations.rb +4 -1
  77. data/examples/v2/usage-metering/GetUsageObservabilityPipelines.rb +4 -1
  78. data/examples/v2/users/GetUser.rb +5 -2
  79. data/lib/datadog_api_client/api_client.rb +3 -0
  80. data/lib/datadog_api_client/configuration.rb +11 -4
  81. data/lib/datadog_api_client/inflector.rb +137 -9
  82. data/lib/datadog_api_client/v1/api/aws_integration_api.rb +194 -0
  83. data/lib/datadog_api_client/v1/api/hosts_api.rb +1 -1
  84. data/lib/datadog_api_client/v1/api/monitors_api.rb +5 -1
  85. data/lib/datadog_api_client/v1/api/synthetics_api.rb +73 -1
  86. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +3 -3
  87. data/lib/datadog_api_client/v1/model_base.rb +4 -0
  88. data/lib/datadog_api_client/v1/models/aws_account.rb +2 -1
  89. data/lib/datadog_api_client/v1/models/aws_event_bridge_account_configuration.rb +105 -0
  90. data/lib/datadog_api_client/v1/models/aws_event_bridge_create_request.rb +112 -0
  91. data/lib/datadog_api_client/v1/models/aws_event_bridge_create_response.rb +110 -0
  92. data/lib/datadog_api_client/v1/models/aws_event_bridge_create_status.rb +26 -0
  93. data/lib/datadog_api_client/v1/models/aws_event_bridge_delete_request.rb +100 -0
  94. data/lib/datadog_api_client/v1/models/aws_event_bridge_delete_response.rb +80 -0
  95. data/lib/datadog_api_client/v1/models/aws_event_bridge_delete_status.rb +26 -0
  96. data/lib/datadog_api_client/v1/models/aws_event_bridge_list_response.rb +92 -0
  97. data/lib/datadog_api_client/v1/models/aws_event_bridge_source.rb +90 -0
  98. data/lib/datadog_api_client/v1/models/azure_account.rb +24 -2
  99. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +21 -0
  100. data/lib/datadog_api_client/v1/models/monitor_options.rb +1 -1
  101. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +42 -0
  102. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +421 -1
  103. data/lib/datadog_api_client/v1/models/synthetics_patch_test_body.rb +82 -0
  104. data/lib/datadog_api_client/v1/models/synthetics_patch_test_operation.rb +100 -0
  105. data/lib/datadog_api_client/v1/models/synthetics_patch_test_operation_name.rb +31 -0
  106. data/lib/datadog_api_client/v1/models/toplist_widget_definition.rb +11 -1
  107. data/lib/datadog_api_client/v1/models/toplist_widget_display.rb +63 -0
  108. data/lib/datadog_api_client/v1/models/toplist_widget_flat.rb +98 -0
  109. data/lib/datadog_api_client/v1/models/toplist_widget_flat_type.rb +26 -0
  110. data/lib/datadog_api_client/v1/models/toplist_widget_legend.rb +28 -0
  111. data/lib/datadog_api_client/v1/models/toplist_widget_scaling.rb +27 -0
  112. data/lib/datadog_api_client/v1/models/toplist_widget_stacked.rb +119 -0
  113. data/lib/datadog_api_client/v1/models/toplist_widget_stacked_type.rb +26 -0
  114. data/lib/datadog_api_client/v1/models/toplist_widget_style.rb +90 -0
  115. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +11 -1
  116. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +31 -1
  117. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +31 -1
  118. data/lib/datadog_api_client/v1/models/widget_live_span.rb +2 -0
  119. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +6 -0
  120. data/lib/datadog_api_client/v2/api/container_images_api.rb +0 -6
  121. data/lib/datadog_api_client/v2/api/containers_api.rb +123 -0
  122. data/lib/datadog_api_client/v2/api/dora_metrics_api.rb +181 -0
  123. data/lib/datadog_api_client/v2/api/events_api.rb +0 -12
  124. data/lib/datadog_api_client/v2/api/key_management_api.rb +8 -0
  125. data/lib/datadog_api_client/v2/api/metrics_api.rb +6 -3
  126. data/lib/datadog_api_client/v2/api/okta_integration_api.rb +355 -0
  127. data/lib/datadog_api_client/v2/api/roles_api.rb +2 -0
  128. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +66 -72
  129. data/lib/datadog_api_client/v2/api/service_scorecards_api.rb +457 -0
  130. data/lib/datadog_api_client/v2/api/teams_api.rb +2 -0
  131. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +241 -0
  132. data/lib/datadog_api_client/v2/model_base.rb +4 -0
  133. data/lib/datadog_api_client/v2/models/active_billing_dimensions_attributes.rb +92 -0
  134. data/lib/datadog_api_client/v2/models/active_billing_dimensions_body.rb +100 -0
  135. data/lib/datadog_api_client/v2/models/active_billing_dimensions_response.rb +80 -0
  136. data/lib/datadog_api_client/v2/models/active_billing_dimensions_type.rb +26 -0
  137. data/lib/datadog_api_client/v2/models/api_keys_response.rb +14 -4
  138. data/lib/datadog_api_client/v2/models/api_keys_response_meta.rb +90 -0
  139. data/lib/datadog_api_client/v2/models/api_keys_response_meta_page.rb +80 -0
  140. data/lib/datadog_api_client/v2/models/application_key_response_meta.rb +90 -0
  141. data/lib/datadog_api_client/v2/models/application_key_response_meta_page.rb +80 -0
  142. data/lib/datadog_api_client/v2/models/bulk_mute_findings_request.rb +98 -0
  143. data/lib/datadog_api_client/v2/models/{mute_finding_request_attributes.rb → bulk_mute_findings_request_attributes.rb} +5 -5
  144. data/lib/datadog_api_client/v2/models/bulk_mute_findings_request_data.rb +161 -0
  145. data/lib/datadog_api_client/v2/models/bulk_mute_findings_request_meta.rb +82 -0
  146. data/lib/datadog_api_client/v2/models/bulk_mute_findings_request_meta_findings.rb +80 -0
  147. data/lib/datadog_api_client/v2/models/{mute_finding_request_properties.rb → bulk_mute_findings_request_properties.rb} +6 -6
  148. data/lib/datadog_api_client/v2/models/bulk_mute_findings_response.rb +98 -0
  149. data/lib/datadog_api_client/v2/models/bulk_mute_findings_response_data.rb +90 -0
  150. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_attributes.rb +13 -1
  151. data/lib/datadog_api_client/v2/models/{mute_finding_response_data.rb → container.rb} +9 -9
  152. data/lib/datadog_api_client/v2/models/container_attributes.rb +183 -0
  153. data/lib/datadog_api_client/v2/models/container_group.rb +110 -0
  154. data/lib/datadog_api_client/v2/models/container_group_attributes.rb +90 -0
  155. data/lib/datadog_api_client/v2/models/container_group_relationships.rb +80 -0
  156. data/lib/datadog_api_client/v2/models/container_group_relationships_link.rb +92 -0
  157. data/lib/datadog_api_client/v2/models/container_group_relationships_links.rb +80 -0
  158. data/lib/datadog_api_client/v2/models/container_group_type.rb +26 -0
  159. data/lib/datadog_api_client/v2/models/container_item.rb +63 -0
  160. data/lib/datadog_api_client/v2/models/container_meta.rb +80 -0
  161. data/lib/datadog_api_client/v2/models/container_meta_page.rb +160 -0
  162. data/lib/datadog_api_client/v2/models/container_meta_page_type.rb +26 -0
  163. data/lib/datadog_api_client/v2/models/container_type.rb +26 -0
  164. data/lib/datadog_api_client/v2/models/containers_response.rb +102 -0
  165. data/lib/datadog_api_client/v2/models/containers_response_links.rb +130 -0
  166. data/lib/datadog_api_client/v2/models/cost_attribution_aggregates_body.rb +100 -0
  167. data/lib/datadog_api_client/v2/models/cost_attribution_type.rb +26 -0
  168. data/lib/datadog_api_client/v2/models/create_rule_request.rb +80 -0
  169. data/lib/datadog_api_client/v2/models/create_rule_request_data.rb +90 -0
  170. data/lib/datadog_api_client/v2/models/create_rule_response.rb +80 -0
  171. data/lib/datadog_api_client/v2/models/create_rule_response_data.rb +110 -0
  172. data/lib/datadog_api_client/v2/models/dora_deployment_request.rb +98 -0
  173. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +170 -0
  174. data/lib/datadog_api_client/v2/models/dora_deployment_request_data.rb +98 -0
  175. data/lib/datadog_api_client/v2/models/dora_deployment_response.rb +98 -0
  176. data/lib/datadog_api_client/v2/models/dora_deployment_response_data.rb +108 -0
  177. data/lib/datadog_api_client/v2/models/dora_deployment_type.rb +26 -0
  178. data/lib/datadog_api_client/v2/models/dora_git_info.rb +125 -0
  179. data/lib/datadog_api_client/v2/models/{mute_finding_response.rb → dora_incident_request.rb} +6 -6
  180. data/lib/datadog_api_client/v2/models/dora_incident_request_attributes.rb +179 -0
  181. data/lib/datadog_api_client/v2/models/dora_incident_request_data.rb +98 -0
  182. data/lib/datadog_api_client/v2/models/dora_incident_response.rb +98 -0
  183. data/lib/datadog_api_client/v2/models/dora_incident_response_data.rb +108 -0
  184. data/lib/datadog_api_client/v2/models/dora_incident_type.rb +26 -0
  185. data/lib/datadog_api_client/v2/models/full_api_key_attributes.rb +24 -4
  186. data/lib/datadog_api_client/v2/models/incident_attachment_link_attributes.rb +14 -4
  187. data/lib/datadog_api_client/v2/models/incident_create_relationships.rb +9 -19
  188. data/lib/datadog_api_client/v2/models/incident_impacts_type.rb +26 -0
  189. data/lib/datadog_api_client/v2/models/incident_integration_metadata_attributes.rb +21 -1
  190. data/lib/datadog_api_client/v2/models/incident_integration_metadata_response_data.rb +11 -1
  191. data/lib/datadog_api_client/v2/models/incident_integration_relationships.rb +90 -0
  192. data/lib/datadog_api_client/v2/models/incident_non_datadog_creator.rb +90 -0
  193. data/lib/datadog_api_client/v2/models/incident_responders_type.rb +26 -0
  194. data/lib/datadog_api_client/v2/models/incident_response_attributes.rb +69 -4
  195. data/lib/datadog_api_client/v2/models/incident_response_relationships.rb +42 -4
  196. data/lib/datadog_api_client/v2/models/incident_severity.rb +31 -0
  197. data/lib/datadog_api_client/v2/models/incident_todo_attributes.rb +24 -4
  198. data/lib/datadog_api_client/v2/models/incident_todo_relationships.rb +90 -0
  199. data/lib/datadog_api_client/v2/models/incident_todo_response_data.rb +11 -1
  200. data/lib/datadog_api_client/v2/models/incident_update_relationships.rb +8 -0
  201. data/lib/datadog_api_client/v2/models/incident_user_defined_field_type.rb +26 -0
  202. data/lib/datadog_api_client/v2/models/list_application_keys_response.rb +14 -4
  203. data/lib/datadog_api_client/v2/models/list_rules_response.rb +92 -0
  204. data/lib/datadog_api_client/v2/models/list_rules_response_data_item.rb +110 -0
  205. data/lib/datadog_api_client/v2/models/list_rules_response_links.rb +80 -0
  206. data/lib/datadog_api_client/v2/models/metric_bulk_tag_config_create_attributes.rb +13 -1
  207. data/lib/datadog_api_client/v2/models/metric_bulk_tag_config_status_attributes.rb +12 -1
  208. data/lib/datadog_api_client/v2/models/metric_tag_configuration_attributes.rb +13 -1
  209. data/lib/datadog_api_client/v2/models/metric_tag_configuration_create_attributes.rb +13 -1
  210. data/lib/datadog_api_client/v2/models/metric_tag_configuration_update_attributes.rb +13 -1
  211. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_attributes.rb +151 -0
  212. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_body.rb +100 -0
  213. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_meta.rb +92 -0
  214. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_pagination.rb +88 -0
  215. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_response.rb +92 -0
  216. data/lib/datadog_api_client/v2/models/okta_account.rb +129 -0
  217. data/lib/datadog_api_client/v2/models/okta_account_attributes.rb +170 -0
  218. data/lib/datadog_api_client/v2/models/{mute_finding_request.rb → okta_account_request.rb} +6 -6
  219. data/lib/datadog_api_client/v2/models/okta_account_response.rb +80 -0
  220. data/lib/datadog_api_client/v2/models/{mute_finding_request_data.rb → okta_account_response_data.rb} +9 -9
  221. data/lib/datadog_api_client/v2/models/okta_account_type.rb +26 -0
  222. data/lib/datadog_api_client/v2/models/okta_account_update_request.rb +98 -0
  223. data/lib/datadog_api_client/v2/models/okta_account_update_request_attributes.rb +149 -0
  224. data/lib/datadog_api_client/v2/models/okta_account_update_request_data.rb +90 -0
  225. data/lib/datadog_api_client/v2/models/okta_accounts_response.rb +82 -0
  226. data/lib/datadog_api_client/v2/models/outcome_type.rb +26 -0
  227. data/lib/datadog_api_client/v2/models/outcomes_batch_attributes.rb +82 -0
  228. data/lib/datadog_api_client/v2/models/outcomes_batch_request.rb +80 -0
  229. data/lib/datadog_api_client/v2/models/outcomes_batch_request_data.rb +90 -0
  230. data/lib/datadog_api_client/v2/models/outcomes_batch_request_item.rb +150 -0
  231. data/lib/datadog_api_client/v2/models/outcomes_batch_response.rb +121 -0
  232. data/lib/datadog_api_client/v2/models/outcomes_batch_response_attributes.rb +120 -0
  233. data/lib/datadog_api_client/v2/models/outcomes_batch_response_meta.rb +90 -0
  234. data/lib/datadog_api_client/v2/models/outcomes_batch_type.rb +26 -0
  235. data/lib/datadog_api_client/v2/models/outcomes_response.rb +104 -0
  236. data/lib/datadog_api_client/v2/models/outcomes_response_data_item.rb +110 -0
  237. data/lib/datadog_api_client/v2/models/outcomes_response_included_item.rb +100 -0
  238. data/lib/datadog_api_client/v2/models/outcomes_response_included_rule_attributes.rb +90 -0
  239. data/lib/datadog_api_client/v2/models/outcomes_response_links.rb +80 -0
  240. data/lib/datadog_api_client/v2/models/partial_api_key_attributes.rb +24 -4
  241. data/lib/datadog_api_client/v2/models/powerpack_group_widget.rb +14 -4
  242. data/lib/datadog_api_client/v2/models/powerpack_relationships.rb +2 -2
  243. data/lib/datadog_api_client/v2/models/powerpacks_response_meta_pagination.rb +8 -0
  244. data/lib/datadog_api_client/v2/models/projected_cost.rb +100 -0
  245. data/lib/datadog_api_client/v2/models/projected_cost_attributes.rb +132 -0
  246. data/lib/datadog_api_client/v2/models/projected_cost_response.rb +82 -0
  247. data/lib/datadog_api_client/v2/models/projected_cost_type.rb +26 -0
  248. data/lib/datadog_api_client/v2/models/relationship_to_incident_impact_data.rb +119 -0
  249. data/lib/datadog_api_client/v2/models/relationship_to_incident_impacts.rb +100 -0
  250. data/lib/datadog_api_client/v2/models/relationship_to_incident_responder_data.rb +119 -0
  251. data/lib/datadog_api_client/v2/models/relationship_to_incident_responders.rb +100 -0
  252. data/lib/datadog_api_client/v2/models/relationship_to_incident_user_defined_field_data.rb +119 -0
  253. data/lib/datadog_api_client/v2/models/relationship_to_incident_user_defined_fields.rb +100 -0
  254. data/lib/datadog_api_client/v2/models/relationship_to_outcome.rb +80 -0
  255. data/lib/datadog_api_client/v2/models/relationship_to_outcome_data.rb +90 -0
  256. data/lib/datadog_api_client/v2/models/relationship_to_rule.rb +80 -0
  257. data/lib/datadog_api_client/v2/models/relationship_to_rule_data.rb +80 -0
  258. data/lib/datadog_api_client/v2/models/relationship_to_rule_data_object.rb +90 -0
  259. data/lib/datadog_api_client/v2/models/rule_attributes.rb +160 -0
  260. data/lib/datadog_api_client/v2/models/rule_outcome_relationships.rb +80 -0
  261. data/lib/datadog_api_client/v2/models/rule_type.rb +26 -0
  262. data/lib/datadog_api_client/v2/models/scorecard_type.rb +26 -0
  263. data/lib/datadog_api_client/v2/models/security_monitoring_rule_type_create.rb +1 -0
  264. data/lib/datadog_api_client/v2/models/security_monitoring_signal_attributes.rb +7 -7
  265. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_query.rb +11 -1
  266. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_standard_pattern_attributes.rb +13 -1
  267. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2.rb +8 -8
  268. data/lib/datadog_api_client/v2/models/sort_direction.rb +27 -0
  269. data/lib/datadog_api_client/v2/models/state.rb +28 -0
  270. data/lib/datadog_api_client/v2/models/teams_field.rb +40 -0
  271. data/lib/datadog_api_client/v2/models/user_team_permission_attributes.rb +1 -1
  272. data/lib/datadog_api_client/v2/models/widget_live_span.rb +40 -0
  273. data/lib/datadog_api_client/version.rb +1 -1
  274. data/lib/datadog_api_client.rb +16 -1
  275. metadata +186 -25
  276. data/examples/v2/confluent-cloud/DeleteConfluentAccount_2919241291.rb +0 -8
  277. data/examples/v2/downtimes/ListMonitorDowntimes_128979780.rb +0 -5
  278. data/examples/v2/key-management/CreateCurrentUserApplicationKey_1999509896.rb +0 -14
  279. data/examples/v2/key-management/DeleteApplicationKey_771691550.rb +0 -8
  280. data/examples/v2/key-management/DeleteCurrentUserApplicationKey_1266687064.rb +0 -8
  281. data/examples/v2/key-management/GetCurrentUserApplicationKey_1060640890.rb +0 -8
  282. data/examples/v2/key-management/ListApplicationKeys_2237010090.rb +0 -5
  283. data/examples/v2/key-management/ListCurrentUserApplicationKeys_1503860964.rb +0 -5
  284. data/examples/v2/security-monitoring/UpdateFinding.rb +0 -23
  285. data/examples/v2/synthetics/GetOnDemandConcurrencyCap_2633566918.rb +0 -5
  286. data/examples/v2/synthetics/SetOnDemandConcurrencyCap_2850884405.rb +0 -9
  287. data/examples/v2/usage-metering/GetUsageApplicationSecurityMonitoring_3959166796.rb +0 -8
  288. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations_1436752065.rb +0 -8
  289. data/examples/v2/usage-metering/GetUsageObservabilityPipelines_970725512.rb +0 -8
  290. data/examples/v2/users/GetUser_3047557953.rb +0 -8
  291. data/lib/datadog_api_client/v2/models/mute_finding_response_attributes.rb +0 -191
  292. data/lib/datadog_api_client/v2/models/mute_finding_response_properties.rb +0 -114
@@ -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
+ # Cost Attribution by Tag for a given organization.
21
+ class MonthlyCostAttributionAttributes
22
+ include BaseGenericModel
23
+
24
+ # Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]`.
25
+ attr_accessor :month
26
+
27
+ # The name of the organization.
28
+ attr_accessor :org_name
29
+
30
+ # The organization public ID.
31
+ attr_accessor :public_id
32
+
33
+ # The source of the cost attribution tag configuration and the selected tags in the format `<source_org_name>:::<selected tag 1>///<selected tag 2>///<selected tag 3>`.
34
+ attr_accessor :tag_config_source
35
+
36
+ # Tag keys and values.
37
+ # A `null` value here means that the requested tag breakdown cannot be applied because it does not match the [tags
38
+ # configured for usage attribution](https://docs.datadoghq.com/account_management/billing/usage_attribution/#getting-started).
39
+ # In this scenario the API returns the total cost, not broken down by tags.
40
+ attr_accessor :tags
41
+
42
+ # Shows the most recent hour in the current months for all organizations for which all costs were calculated.
43
+ attr_accessor :updated_at
44
+
45
+ # Fields in Cost Attribution by tag(s). Example: `infra_host_on_demand_cost`, `infra_host_committed_cost`, `infra_host_total_cost`, `infra_host_percentage_in_org`, `infra_host_percentage_in_account`.
46
+ attr_accessor :values
47
+
48
+ # Attribute mapping from ruby-style variable name to JSON key.
49
+ # @!visibility private
50
+ def self.attribute_map
51
+ {
52
+ :'month' => :'month',
53
+ :'org_name' => :'org_name',
54
+ :'public_id' => :'public_id',
55
+ :'tag_config_source' => :'tag_config_source',
56
+ :'tags' => :'tags',
57
+ :'updated_at' => :'updated_at',
58
+ :'values' => :'values'
59
+ }
60
+ end
61
+
62
+ # Attribute type mapping.
63
+ # @!visibility private
64
+ def self.openapi_types
65
+ {
66
+ :'month' => :'Time',
67
+ :'org_name' => :'String',
68
+ :'public_id' => :'String',
69
+ :'tag_config_source' => :'String',
70
+ :'tags' => :'Hash<String, Array<String>>',
71
+ :'updated_at' => :'String',
72
+ :'values' => :'Object'
73
+ }
74
+ end
75
+
76
+ # List of attributes with nullable: true
77
+ # @!visibility private
78
+ def self.openapi_nullable
79
+ Set.new([
80
+ :'tags',
81
+ ])
82
+ end
83
+
84
+ # Initializes the object
85
+ # @param attributes [Hash] Model attributes in the form of hash
86
+ # @!visibility private
87
+ def initialize(attributes = {})
88
+ if (!attributes.is_a?(Hash))
89
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::MonthlyCostAttributionAttributes` initialize method"
90
+ end
91
+
92
+ # check to see if the attribute exists and convert string to symbol for hash key
93
+ attributes = attributes.each_with_object({}) { |(k, v), h|
94
+ if (!self.class.attribute_map.key?(k.to_sym))
95
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::MonthlyCostAttributionAttributes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
96
+ end
97
+ h[k.to_sym] = v
98
+ }
99
+
100
+ if attributes.key?(:'month')
101
+ self.month = attributes[:'month']
102
+ end
103
+
104
+ if attributes.key?(:'org_name')
105
+ self.org_name = attributes[:'org_name']
106
+ end
107
+
108
+ if attributes.key?(:'public_id')
109
+ self.public_id = attributes[:'public_id']
110
+ end
111
+
112
+ if attributes.key?(:'tag_config_source')
113
+ self.tag_config_source = attributes[:'tag_config_source']
114
+ end
115
+
116
+ if attributes.key?(:'tags')
117
+ self.tags = attributes[:'tags']
118
+ end
119
+
120
+ if attributes.key?(:'updated_at')
121
+ self.updated_at = attributes[:'updated_at']
122
+ end
123
+
124
+ if attributes.key?(:'values')
125
+ self.values = attributes[:'values']
126
+ end
127
+ end
128
+
129
+ # Checks equality by comparing each attribute.
130
+ # @param o [Object] Object to be compared
131
+ # @!visibility private
132
+ def ==(o)
133
+ return true if self.equal?(o)
134
+ self.class == o.class &&
135
+ month == o.month &&
136
+ org_name == o.org_name &&
137
+ public_id == o.public_id &&
138
+ tag_config_source == o.tag_config_source &&
139
+ tags == o.tags &&
140
+ updated_at == o.updated_at &&
141
+ values == o.values
142
+ end
143
+
144
+ # Calculates hash code according to all attributes.
145
+ # @return [Integer] Hash code
146
+ # @!visibility private
147
+ def hash
148
+ [month, org_name, public_id, tag_config_source, tags, updated_at, values].hash
149
+ end
150
+ end
151
+ end
@@ -0,0 +1,100 @@
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
+ # Cost data.
21
+ class MonthlyCostAttributionBody
22
+ include BaseGenericModel
23
+
24
+ # Cost Attribution by Tag for a given organization.
25
+ attr_accessor :attributes
26
+
27
+ # Unique ID of the response.
28
+ attr_accessor :id
29
+
30
+ # Type of cost attribution data.
31
+ attr_accessor :type
32
+
33
+ # Attribute mapping from ruby-style variable name to JSON key.
34
+ # @!visibility private
35
+ def self.attribute_map
36
+ {
37
+ :'attributes' => :'attributes',
38
+ :'id' => :'id',
39
+ :'type' => :'type'
40
+ }
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ # @!visibility private
45
+ def self.openapi_types
46
+ {
47
+ :'attributes' => :'MonthlyCostAttributionAttributes',
48
+ :'id' => :'String',
49
+ :'type' => :'CostAttributionType'
50
+ }
51
+ end
52
+
53
+ # Initializes the object
54
+ # @param attributes [Hash] Model attributes in the form of hash
55
+ # @!visibility private
56
+ def initialize(attributes = {})
57
+ if (!attributes.is_a?(Hash))
58
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::MonthlyCostAttributionBody` initialize method"
59
+ end
60
+
61
+ # check to see if the attribute exists and convert string to symbol for hash key
62
+ attributes = attributes.each_with_object({}) { |(k, v), h|
63
+ if (!self.class.attribute_map.key?(k.to_sym))
64
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::MonthlyCostAttributionBody`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
65
+ end
66
+ h[k.to_sym] = v
67
+ }
68
+
69
+ if attributes.key?(:'attributes')
70
+ self.attributes = attributes[:'attributes']
71
+ end
72
+
73
+ if attributes.key?(:'id')
74
+ self.id = attributes[:'id']
75
+ end
76
+
77
+ if attributes.key?(:'type')
78
+ self.type = attributes[:'type']
79
+ end
80
+ end
81
+
82
+ # Checks equality by comparing each attribute.
83
+ # @param o [Object] Object to be compared
84
+ # @!visibility private
85
+ def ==(o)
86
+ return true if self.equal?(o)
87
+ self.class == o.class &&
88
+ attributes == o.attributes &&
89
+ id == o.id &&
90
+ type == o.type
91
+ end
92
+
93
+ # Calculates hash code according to all attributes.
94
+ # @return [Integer] Hash code
95
+ # @!visibility private
96
+ def hash
97
+ [attributes, id, type].hash
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,92 @@
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 object containing document metadata.
21
+ class MonthlyCostAttributionMeta
22
+ include BaseGenericModel
23
+
24
+ # An array of available aggregates.
25
+ attr_accessor :aggregates
26
+
27
+ # The metadata for the current pagination.
28
+ attr_accessor :pagination
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ # @!visibility private
32
+ def self.attribute_map
33
+ {
34
+ :'aggregates' => :'aggregates',
35
+ :'pagination' => :'pagination'
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ # @!visibility private
41
+ def self.openapi_types
42
+ {
43
+ :'aggregates' => :'Array<CostAttributionAggregatesBody>',
44
+ :'pagination' => :'MonthlyCostAttributionPagination'
45
+ }
46
+ end
47
+
48
+ # Initializes the object
49
+ # @param attributes [Hash] Model attributes in the form of hash
50
+ # @!visibility private
51
+ def initialize(attributes = {})
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::MonthlyCostAttributionMeta` initialize method"
54
+ end
55
+
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::MonthlyCostAttributionMeta`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
63
+
64
+ if attributes.key?(:'aggregates')
65
+ if (value = attributes[:'aggregates']).is_a?(Array)
66
+ self.aggregates = value
67
+ end
68
+ end
69
+
70
+ if attributes.key?(:'pagination')
71
+ self.pagination = attributes[:'pagination']
72
+ end
73
+ end
74
+
75
+ # Checks equality by comparing each attribute.
76
+ # @param o [Object] Object to be compared
77
+ # @!visibility private
78
+ def ==(o)
79
+ return true if self.equal?(o)
80
+ self.class == o.class &&
81
+ aggregates == o.aggregates &&
82
+ pagination == o.pagination
83
+ end
84
+
85
+ # Calculates hash code according to all attributes.
86
+ # @return [Integer] Hash code
87
+ # @!visibility private
88
+ def hash
89
+ [aggregates, pagination].hash
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,88 @@
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 metadata for the current pagination.
21
+ class MonthlyCostAttributionPagination
22
+ include BaseGenericModel
23
+
24
+ # The cursor to use to get the next results, if any. To make the next request, use the same parameters with the addition of the `next_record_id`.
25
+ attr_accessor :next_record_id
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ # @!visibility private
29
+ def self.attribute_map
30
+ {
31
+ :'next_record_id' => :'next_record_id'
32
+ }
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ # @!visibility private
37
+ def self.openapi_types
38
+ {
39
+ :'next_record_id' => :'String'
40
+ }
41
+ end
42
+
43
+ # List of attributes with nullable: true
44
+ # @!visibility private
45
+ def self.openapi_nullable
46
+ Set.new([
47
+ :'next_record_id',
48
+ ])
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param attributes [Hash] Model attributes in the form of hash
53
+ # @!visibility private
54
+ def initialize(attributes = {})
55
+ if (!attributes.is_a?(Hash))
56
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::MonthlyCostAttributionPagination` initialize method"
57
+ end
58
+
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
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::MonthlyCostAttributionPagination`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
63
+ end
64
+ h[k.to_sym] = v
65
+ }
66
+
67
+ if attributes.key?(:'next_record_id')
68
+ self.next_record_id = attributes[:'next_record_id']
69
+ end
70
+ end
71
+
72
+ # Checks equality by comparing each attribute.
73
+ # @param o [Object] Object to be compared
74
+ # @!visibility private
75
+ def ==(o)
76
+ return true if self.equal?(o)
77
+ self.class == o.class &&
78
+ next_record_id == o.next_record_id
79
+ end
80
+
81
+ # Calculates hash code according to all attributes.
82
+ # @return [Integer] Hash code
83
+ # @!visibility private
84
+ def hash
85
+ [next_record_id].hash
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,92 @@
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
+ # Response containing the monthly cost attribution by tag(s).
21
+ class MonthlyCostAttributionResponse
22
+ include BaseGenericModel
23
+
24
+ # Response containing cost attribution.
25
+ attr_accessor :data
26
+
27
+ # The object containing document metadata.
28
+ attr_accessor :meta
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ # @!visibility private
32
+ def self.attribute_map
33
+ {
34
+ :'data' => :'data',
35
+ :'meta' => :'meta'
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ # @!visibility private
41
+ def self.openapi_types
42
+ {
43
+ :'data' => :'Array<MonthlyCostAttributionBody>',
44
+ :'meta' => :'MonthlyCostAttributionMeta'
45
+ }
46
+ end
47
+
48
+ # Initializes the object
49
+ # @param attributes [Hash] Model attributes in the form of hash
50
+ # @!visibility private
51
+ def initialize(attributes = {})
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::MonthlyCostAttributionResponse` initialize method"
54
+ end
55
+
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::MonthlyCostAttributionResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
63
+
64
+ if attributes.key?(:'data')
65
+ if (value = attributes[:'data']).is_a?(Array)
66
+ self.data = value
67
+ end
68
+ end
69
+
70
+ if attributes.key?(:'meta')
71
+ self.meta = attributes[:'meta']
72
+ end
73
+ end
74
+
75
+ # Checks equality by comparing each attribute.
76
+ # @param o [Object] Object to be compared
77
+ # @!visibility private
78
+ def ==(o)
79
+ return true if self.equal?(o)
80
+ self.class == o.class &&
81
+ data == o.data &&
82
+ meta == o.meta
83
+ end
84
+
85
+ # Calculates hash code according to all attributes.
86
+ # @return [Integer] Hash code
87
+ # @!visibility private
88
+ def hash
89
+ [data, meta].hash
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,129 @@
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
+ # Schema for an Okta account.
21
+ class OktaAccount
22
+ include BaseGenericModel
23
+
24
+ # Attributes object for an Okta account.
25
+ attr_reader :attributes
26
+
27
+ # The ID of the Okta account, a UUID hash of the account name.
28
+ attr_accessor :id
29
+
30
+ # Account type for an Okta account.
31
+ attr_reader :type
32
+
33
+ # Attribute mapping from ruby-style variable name to JSON key.
34
+ # @!visibility private
35
+ def self.attribute_map
36
+ {
37
+ :'attributes' => :'attributes',
38
+ :'id' => :'id',
39
+ :'type' => :'type'
40
+ }
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ # @!visibility private
45
+ def self.openapi_types
46
+ {
47
+ :'attributes' => :'OktaAccountAttributes',
48
+ :'id' => :'String',
49
+ :'type' => :'OktaAccountType'
50
+ }
51
+ end
52
+
53
+ # Initializes the object
54
+ # @param attributes [Hash] Model attributes in the form of hash
55
+ # @!visibility private
56
+ def initialize(attributes = {})
57
+ if (!attributes.is_a?(Hash))
58
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::OktaAccount` initialize method"
59
+ end
60
+
61
+ # check to see if the attribute exists and convert string to symbol for hash key
62
+ attributes = attributes.each_with_object({}) { |(k, v), h|
63
+ if (!self.class.attribute_map.key?(k.to_sym))
64
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::OktaAccount`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
65
+ end
66
+ h[k.to_sym] = v
67
+ }
68
+
69
+ if attributes.key?(:'attributes')
70
+ self.attributes = attributes[:'attributes']
71
+ end
72
+
73
+ if attributes.key?(:'id')
74
+ self.id = attributes[:'id']
75
+ end
76
+
77
+ if attributes.key?(:'type')
78
+ self.type = attributes[:'type']
79
+ end
80
+ end
81
+
82
+ # Check to see if the all the properties in the model are valid
83
+ # @return true if the model is valid
84
+ # @!visibility private
85
+ def valid?
86
+ return false if @attributes.nil?
87
+ return false if @type.nil?
88
+ true
89
+ end
90
+
91
+ # Custom attribute writer method with validation
92
+ # @param attributes [Object] Object to be assigned
93
+ # @!visibility private
94
+ def attributes=(attributes)
95
+ if attributes.nil?
96
+ fail ArgumentError, 'invalid value for "attributes", attributes cannot be nil.'
97
+ end
98
+ @attributes = attributes
99
+ end
100
+
101
+ # Custom attribute writer method with validation
102
+ # @param type [Object] Object to be assigned
103
+ # @!visibility private
104
+ def type=(type)
105
+ if type.nil?
106
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
107
+ end
108
+ @type = type
109
+ end
110
+
111
+ # Checks equality by comparing each attribute.
112
+ # @param o [Object] Object to be compared
113
+ # @!visibility private
114
+ def ==(o)
115
+ return true if self.equal?(o)
116
+ self.class == o.class &&
117
+ attributes == o.attributes &&
118
+ id == o.id &&
119
+ type == o.type
120
+ end
121
+
122
+ # Calculates hash code according to all attributes.
123
+ # @return [Integer] Hash code
124
+ # @!visibility private
125
+ def hash
126
+ [attributes, id, type].hash
127
+ end
128
+ end
129
+ end