datadog_api_client 2.29.1 → 2.30.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (325) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/schemas/v1/openapi.yaml +591 -464
  4. data/.generator/schemas/v2/openapi.yaml +4175 -744
  5. data/.github/CODEOWNERS +5 -5
  6. data/.github/workflows/docs.yml +2 -2
  7. data/.github/workflows/prepare_release.yml +1 -1
  8. data/.github/workflows/test.yml +4 -1
  9. data/CHANGELOG.md +42 -0
  10. data/Gemfile +1 -1
  11. data/LICENSE-3rdparty.csv +1 -1
  12. data/RELEASING.md +1 -1
  13. data/examples/v1/azure-integration/UpdateAzureHostFilters.rb +9 -6
  14. data/examples/v1/azure-integration/UpdateAzureIntegration.rb +0 -6
  15. data/examples/v1/logs-pipelines/CreateLogsPipeline.rb +1 -0
  16. data/examples/v1/logs-pipelines/UpdateLogsPipeline.rb +1 -0
  17. data/examples/v1/monitors/CreateMonitor_1303514967.rb +32 -0
  18. data/examples/v1/monitors/ListMonitors.rb +1 -1
  19. data/examples/v1/monitors/{ListMonitors_3448441939.rb → ListMonitors_2154432960.rb} +1 -1
  20. data/examples/v1/monitors/{ListMonitors_2966492814.rb → ListMonitors_463213563.rb} +1 -1
  21. data/examples/v2/action-connection/CreateActionConnection.rb +22 -0
  22. data/examples/v2/action-connection/DeleteActionConnection.rb +5 -0
  23. data/examples/v2/action-connection/DeleteActionConnection_2142905164.rb +8 -0
  24. data/examples/v2/action-connection/GetActionConnection.rb +5 -0
  25. data/examples/v2/action-connection/UpdateActionConnection.rb +22 -0
  26. data/examples/v2/agentless-scanning/ListAwsScanOptions.rb +5 -0
  27. data/examples/v2/{apps → app-builder}/CreateApp.rb +4 -4
  28. data/examples/v2/{apps → app-builder}/DeleteApp.rb +1 -1
  29. data/examples/v2/{apps → app-builder}/DeleteApps.rb +2 -2
  30. data/examples/v2/{apps → app-builder}/GetApp.rb +1 -1
  31. data/examples/v2/{apps → app-builder}/ListApps.rb +1 -1
  32. data/examples/v2/app-builder/PublishApp.rb +11 -0
  33. data/examples/v2/app-builder/UnpublishApp.rb +11 -0
  34. data/examples/v2/{apps → app-builder}/UpdateApp.rb +2 -2
  35. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_819339921.rb +29 -0
  36. data/examples/v2/csm-coverage-analysis/GetCSMCloudAccountsCoverageAnalysis.rb +5 -0
  37. data/examples/v2/csm-coverage-analysis/GetCSMHostsAndContainersCoverageAnalysis.rb +5 -0
  38. data/examples/v2/csm-coverage-analysis/GetCSMServerlessCoverageAnalysis.rb +5 -0
  39. data/examples/v2/data-deletion/CreateDataDeletionRequest.rb +1 -0
  40. data/examples/v2/events/CreateEvent.rb +1 -1
  41. data/examples/v2/logs/ListLogs.rb +12 -6
  42. data/examples/v2/logs/ListLogsGet.rb +1 -1
  43. data/examples/v2/logs/ListLogsGet_175182691.rb +5 -0
  44. data/examples/v2/logs/ListLogs_3400928236.rb +23 -0
  45. data/examples/v2/logs/ListLogs_534975433.rb +29 -0
  46. data/examples/v2/microsoft-teams-integration/CreateWorkflowsWebhookHandle.rb +15 -0
  47. data/examples/v2/microsoft-teams-integration/CreateWorkflowsWebhookHandle_1716851881.rb +15 -0
  48. data/examples/v2/microsoft-teams-integration/DeleteWorkflowsWebhookHandle.rb +5 -0
  49. data/examples/v2/microsoft-teams-integration/DeleteWorkflowsWebhookHandle_107549514.rb +8 -0
  50. data/examples/v2/microsoft-teams-integration/GetWorkflowsWebhookHandle.rb +5 -0
  51. data/examples/v2/microsoft-teams-integration/GetWorkflowsWebhookHandle_3421443805.rb +8 -0
  52. data/examples/v2/microsoft-teams-integration/ListWorkflowsWebhookHandles.rb +5 -0
  53. data/examples/v2/microsoft-teams-integration/ListWorkflowsWebhookHandles_620762083.rb +5 -0
  54. data/examples/v2/microsoft-teams-integration/UpdateWorkflowsWebhookHandle.rb +15 -0
  55. data/examples/v2/microsoft-teams-integration/UpdateWorkflowsWebhookHandle_163189594.rb +18 -0
  56. data/examples/v2/security-monitoring/CreateSecurityMonitoringSuppression.rb +1 -0
  57. data/examples/v2/security-monitoring/CreateSecurityMonitoringSuppression_3192265332.rb +1 -0
  58. data/examples/v2/security-monitoring/CreateSignalNotificationRule.rb +30 -0
  59. data/examples/v2/security-monitoring/CreateVulnerabilityNotificationRule.rb +30 -0
  60. data/examples/v2/security-monitoring/DeleteSignalNotificationRule.rb +8 -0
  61. data/examples/v2/security-monitoring/DeleteVulnerabilityNotificationRule.rb +8 -0
  62. data/examples/v2/security-monitoring/GetSBOM.rb +5 -0
  63. data/examples/v2/security-monitoring/GetSignalNotificationRule.rb +8 -0
  64. data/examples/v2/security-monitoring/GetSignalNotificationRules.rb +5 -0
  65. data/examples/v2/security-monitoring/GetVulnerabilityNotificationRule.rb +8 -0
  66. data/examples/v2/security-monitoring/GetVulnerabilityNotificationRules.rb +5 -0
  67. data/examples/v2/security-monitoring/ListVulnerabilities.rb +10 -0
  68. data/examples/v2/security-monitoring/ListVulnerableAssets.rb +10 -0
  69. data/examples/v2/security-monitoring/PatchSignalNotificationRule.rb +35 -0
  70. data/examples/v2/security-monitoring/PatchVulnerabilityNotificationRule.rb +35 -0
  71. data/examples/v2/security-monitoring/RunHistoricalJob.rb +2 -2
  72. data/examples/v2/usage-metering/GetActiveBillingDimensions.rb +0 -3
  73. data/examples/v2/usage-metering/GetBillingDimensionMapping.rb +0 -3
  74. data/examples/v2/usage-metering/GetMonthlyCostAttribution.rb +0 -3
  75. data/lib/datadog_api_client/configuration.rb +2 -5
  76. data/lib/datadog_api_client/inflector.rb +145 -44
  77. data/lib/datadog_api_client/v1/api/monitors_api.rb +28 -4
  78. data/lib/datadog_api_client/v1/models/azure_account.rb +42 -13
  79. data/lib/datadog_api_client/v1/models/dashboard.rb +0 -2
  80. data/lib/datadog_api_client/v1/models/logs_pipeline.rb +23 -1
  81. data/lib/datadog_api_client/v1/models/monitor_formula_and_function_cost_aggregator.rb +34 -0
  82. data/lib/datadog_api_client/v1/models/monitor_formula_and_function_cost_data_source.rb +28 -0
  83. data/lib/datadog_api_client/v1/models/{azure_account_metrics_config.rb → monitor_formula_and_function_cost_query_definition.rb} +81 -16
  84. data/lib/datadog_api_client/v1/models/monitor_formula_and_function_query_definition.rb +2 -1
  85. data/lib/datadog_api_client/v1/models/monitor_type.rb +1 -0
  86. data/lib/datadog_api_client/v1/models/monitor_update_request.rb +1 -1
  87. data/lib/datadog_api_client/v1/models/resource_provider_config.rb +115 -0
  88. data/lib/datadog_api_client/v1/models/synthetics_step.rb +11 -1
  89. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +184 -4
  90. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +183 -3
  91. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +183 -3
  92. data/lib/datadog_api_client/v2/api/action_connection_api.rb +295 -0
  93. data/lib/datadog_api_client/v2/api/agentless_scanning_api.rb +86 -0
  94. data/lib/datadog_api_client/v2/api/{apps_api.rb → app_builder_api.rb} +184 -38
  95. data/lib/datadog_api_client/v2/api/csm_coverage_analysis_api.rb +212 -0
  96. data/lib/datadog_api_client/v2/api/logs_api.rb +8 -8
  97. data/lib/datadog_api_client/v2/api/metrics_api.rb +1 -1
  98. data/lib/datadog_api_client/v2/api/microsoft_teams_integration_api.rb +331 -0
  99. data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +13 -3
  100. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +1123 -1
  101. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +1 -19
  102. data/lib/datadog_api_client/v2/models/action_connection_attributes.rb +144 -0
  103. data/lib/datadog_api_client/v2/models/{app_builder_error_errors_items.rb → action_connection_attributes_update.rb} +18 -18
  104. data/lib/datadog_api_client/v2/models/action_connection_data.rb +154 -0
  105. data/lib/datadog_api_client/v2/models/{delete_app_response_data_type.rb → action_connection_data_type.rb} +3 -3
  106. data/lib/datadog_api_client/v2/models/action_connection_data_update.rb +144 -0
  107. data/lib/datadog_api_client/v2/models/action_connection_integration.rb +63 -0
  108. data/lib/datadog_api_client/v2/models/action_connection_integration_update.rb +63 -0
  109. data/lib/datadog_api_client/v2/models/advisory.rb +154 -0
  110. data/lib/datadog_api_client/v2/models/app_builder_event.rb +1 -1
  111. data/lib/datadog_api_client/v2/models/{get_app_response_data_type.rb → app_definition_type.rb} +2 -2
  112. data/lib/datadog_api_client/v2/models/{deployment_included_type.rb → app_deployment_type.rb} +2 -2
  113. data/lib/datadog_api_client/v2/models/app_meta.rb +15 -25
  114. data/lib/datadog_api_client/v2/models/{get_app_response_relationship.rb → app_relationship.rb} +5 -5
  115. data/lib/datadog_api_client/v2/models/asset.rb +165 -0
  116. data/lib/datadog_api_client/v2/models/asset_attributes.rb +218 -0
  117. data/lib/datadog_api_client/v2/models/{script_data_type.rb → asset_entity_type.rb} +3 -3
  118. data/lib/datadog_api_client/v2/models/asset_operating_system.rb +133 -0
  119. data/lib/datadog_api_client/v2/models/asset_risks.rb +163 -0
  120. data/lib/datadog_api_client/v2/models/asset_type.rb +30 -0
  121. data/lib/datadog_api_client/v2/models/{disable_app_response_data_attributes.rb → asset_version.rb} +21 -11
  122. data/lib/datadog_api_client/v2/models/aws_assume_role.rb +191 -0
  123. data/lib/datadog_api_client/v2/models/{input_schema_data_type.rb → aws_assume_role_type.rb} +3 -3
  124. data/lib/datadog_api_client/v2/models/aws_assume_role_update.rb +166 -0
  125. data/lib/datadog_api_client/v2/models/aws_credentials.rb +62 -0
  126. data/lib/datadog_api_client/v2/models/aws_credentials_update.rb +62 -0
  127. data/lib/datadog_api_client/v2/models/aws_integration.rb +144 -0
  128. data/lib/datadog_api_client/v2/models/{deploy_app_response_data_type.rb → aws_integration_type.rb} +3 -3
  129. data/lib/datadog_api_client/v2/models/aws_integration_update.rb +133 -0
  130. data/lib/datadog_api_client/v2/models/aws_scan_options_attributes.rb +135 -0
  131. data/lib/datadog_api_client/v2/models/{input_schema_data.rb → aws_scan_options_data.rb} +8 -8
  132. data/lib/datadog_api_client/v2/models/aws_scan_options_response.rb +107 -0
  133. data/lib/datadog_api_client/v2/models/{delete_apps_request_data_items_type.rb → aws_scan_options_type.rb} +3 -3
  134. data/lib/datadog_api_client/v2/models/change_event_custom_attributes.rb +1 -1
  135. data/lib/datadog_api_client/v2/models/change_event_custom_attributes_changed_resource.rb +1 -1
  136. data/lib/datadog_api_client/v2/models/change_event_custom_attributes_changed_resource_type.rb +1 -0
  137. data/lib/datadog_api_client/v2/models/ci_app_create_pipeline_event_request_attributes.rb +11 -1
  138. data/lib/datadog_api_client/v2/models/{deployment_included_meta.rb → code_location.rb} +41 -33
  139. data/lib/datadog_api_client/v2/models/component.rb +6 -6
  140. data/lib/datadog_api_client/v2/models/component_grid.rb +6 -6
  141. data/lib/datadog_api_client/v2/models/component_grid_properties.rb +4 -4
  142. data/lib/datadog_api_client/v2/models/component_grid_properties_is_visible.rb +1 -1
  143. data/lib/datadog_api_client/v2/models/component_grid_type.rb +1 -1
  144. data/lib/datadog_api_client/v2/models/component_properties.rb +3 -3
  145. data/lib/datadog_api_client/v2/models/component_properties_is_visible.rb +1 -1
  146. data/lib/datadog_api_client/v2/models/component_type.rb +1 -1
  147. data/lib/datadog_api_client/v2/models/create_action_connection_request.rb +123 -0
  148. data/lib/datadog_api_client/v2/models/{script.rb → create_action_connection_response.rb} +5 -5
  149. data/lib/datadog_api_client/v2/models/create_app_request.rb +2 -2
  150. data/lib/datadog_api_client/v2/models/create_app_request_data.rb +4 -4
  151. data/lib/datadog_api_client/v2/models/create_app_request_data_attributes.rb +19 -41
  152. data/lib/datadog_api_client/v2/models/create_app_response.rb +2 -2
  153. data/lib/datadog_api_client/v2/models/create_app_response_data.rb +5 -5
  154. data/lib/datadog_api_client/v2/models/create_data_deletion_request_body_data.rb +24 -3
  155. data/lib/datadog_api_client/v2/models/{disable_app_response_data_type.rb → create_data_deletion_request_body_data_type.rb} +3 -3
  156. data/lib/datadog_api_client/v2/models/create_notification_rule_parameters.rb +105 -0
  157. data/lib/datadog_api_client/v2/models/create_notification_rule_parameters_data.rb +144 -0
  158. data/lib/datadog_api_client/v2/models/create_notification_rule_parameters_data_attributes.rb +195 -0
  159. data/lib/datadog_api_client/v2/models/csm_cloud_accounts_coverage_analysis_attributes.rb +145 -0
  160. data/lib/datadog_api_client/v2/models/{disable_app_response_data.rb → csm_cloud_accounts_coverage_analysis_data.rb} +9 -19
  161. data/lib/datadog_api_client/v2/models/csm_cloud_accounts_coverage_analysis_response.rb +105 -0
  162. data/lib/datadog_api_client/v2/models/csm_coverage_analysis.rb +135 -0
  163. data/lib/datadog_api_client/v2/models/csm_hosts_and_containers_coverage_analysis_attributes.rb +145 -0
  164. data/lib/datadog_api_client/v2/models/csm_hosts_and_containers_coverage_analysis_data.rb +125 -0
  165. data/lib/datadog_api_client/v2/models/csm_hosts_and_containers_coverage_analysis_response.rb +105 -0
  166. data/lib/datadog_api_client/v2/models/csm_serverless_coverage_analysis_attributes.rb +125 -0
  167. data/lib/datadog_api_client/v2/models/csm_serverless_coverage_analysis_data.rb +125 -0
  168. data/lib/datadog_api_client/v2/models/csm_serverless_coverage_analysis_response.rb +105 -0
  169. data/lib/datadog_api_client/v2/models/custom_connection.rb +5 -5
  170. data/lib/datadog_api_client/v2/models/custom_connection_attributes.rb +3 -3
  171. data/lib/datadog_api_client/v2/models/custom_connection_attributes_on_prem_runner.rb +3 -3
  172. data/lib/datadog_api_client/v2/models/custom_connection_type.rb +1 -1
  173. data/lib/datadog_api_client/v2/models/cvss.rb +165 -0
  174. data/lib/datadog_api_client/v2/models/delete_app_response.rb +1 -1
  175. data/lib/datadog_api_client/v2/models/delete_app_response_data.rb +4 -4
  176. data/lib/datadog_api_client/v2/models/delete_apps_request.rb +2 -2
  177. data/lib/datadog_api_client/v2/models/delete_apps_request_data_items.rb +5 -5
  178. data/lib/datadog_api_client/v2/models/delete_apps_response.rb +2 -2
  179. data/lib/datadog_api_client/v2/models/delete_apps_response_data_items.rb +5 -5
  180. data/lib/datadog_api_client/v2/models/dependency_location.rb +207 -0
  181. data/lib/datadog_api_client/v2/models/{deploy_app_response_data.rb → deployment.rb} +11 -11
  182. data/lib/datadog_api_client/v2/models/{deploy_app_response_data_attributes.rb → deployment_attributes.rb} +5 -5
  183. data/lib/datadog_api_client/v2/models/{deployment_relationship_meta.rb → deployment_metadata.rb} +9 -9
  184. data/lib/datadog_api_client/v2/models/deployment_relationship.rb +4 -4
  185. data/lib/datadog_api_client/v2/models/deployment_relationship_data.rb +5 -5
  186. data/lib/datadog_api_client/v2/models/entity_v3.rb +2 -1
  187. data/lib/datadog_api_client/v2/models/entity_v3_api.rb +180 -0
  188. data/lib/datadog_api_client/v2/models/entity_v3_api_datadog.rb +126 -0
  189. data/lib/datadog_api_client/v2/models/entity_v3_api_kind.rb +26 -0
  190. data/lib/datadog_api_client/v2/models/entity_v3_api_spec.rb +151 -0
  191. data/lib/datadog_api_client/v2/models/entity_v3_api_spec_interface_definition.rb +80 -0
  192. data/lib/datadog_api_client/v2/models/{entity_v3_metadata_owner.rb → entity_v3_api_spec_interface_file_ref.rb} +12 -12
  193. data/lib/datadog_api_client/v2/models/entity_v3_metadata.rb +1 -1
  194. data/lib/datadog_api_client/v2/models/epss.rb +144 -0
  195. data/lib/datadog_api_client/v2/models/{input_schema.rb → get_action_connection_response.rb} +5 -5
  196. data/lib/datadog_api_client/v2/models/get_app_response.rb +7 -7
  197. data/lib/datadog_api_client/v2/models/get_app_response_data.rb +6 -6
  198. data/lib/datadog_api_client/v2/models/get_app_response_data_attributes.rb +20 -42
  199. data/lib/datadog_api_client/v2/models/get_sbom_response.rb +123 -0
  200. data/lib/datadog_api_client/v2/models/historical_job_options.rb +168 -0
  201. data/lib/datadog_api_client/v2/models/historical_job_query.rb +171 -0
  202. data/lib/datadog_api_client/v2/models/{app_builder_error.rb → http_body.rb} +21 -13
  203. data/lib/datadog_api_client/v2/models/http_credentials.rb +62 -0
  204. data/lib/datadog_api_client/v2/models/http_credentials_update.rb +62 -0
  205. data/lib/datadog_api_client/v2/models/http_header.rb +150 -0
  206. data/lib/datadog_api_client/v2/models/http_header_update.rb +149 -0
  207. data/lib/datadog_api_client/v2/models/http_integration.rb +171 -0
  208. data/lib/datadog_api_client/v2/models/http_integration_type.rb +26 -0
  209. data/lib/datadog_api_client/v2/models/http_integration_update.rb +156 -0
  210. data/lib/datadog_api_client/v2/models/http_token.rb +171 -0
  211. data/lib/datadog_api_client/v2/models/http_token_auth.rb +169 -0
  212. data/lib/datadog_api_client/v2/models/http_token_auth_type.rb +26 -0
  213. data/lib/datadog_api_client/v2/models/http_token_auth_update.rb +169 -0
  214. data/lib/datadog_api_client/v2/models/http_token_update.rb +181 -0
  215. data/lib/datadog_api_client/v2/models/job_definition.rb +6 -18
  216. data/lib/datadog_api_client/v2/models/jsonapi_error_item.rb +21 -1
  217. data/lib/datadog_api_client/v2/models/{app_builder_error_errors_items_source.rb → jsonapi_error_item_source.rb} +16 -6
  218. data/lib/datadog_api_client/v2/models/library.rb +133 -0
  219. data/lib/datadog_api_client/v2/models/links.rb +185 -0
  220. data/lib/datadog_api_client/v2/models/list_apps_response.rb +5 -5
  221. data/lib/datadog_api_client/v2/models/list_apps_response_data_items.rb +8 -8
  222. data/lib/datadog_api_client/v2/models/list_apps_response_data_items_attributes.rb +6 -6
  223. data/lib/datadog_api_client/v2/models/list_apps_response_data_items_relationships.rb +2 -2
  224. data/lib/datadog_api_client/v2/models/list_apps_response_meta.rb +2 -2
  225. data/lib/datadog_api_client/v2/models/list_apps_response_meta_page.rb +3 -3
  226. data/lib/datadog_api_client/v2/models/list_vulnerabilities_response.rb +145 -0
  227. data/lib/datadog_api_client/v2/models/list_vulnerable_assets_response.rb +145 -0
  228. data/lib/datadog_api_client/v2/models/logs_archive_destination_s3.rb +11 -1
  229. data/lib/datadog_api_client/v2/models/logs_archive_encryption_s3.rb +133 -0
  230. data/lib/datadog_api_client/v2/models/logs_archive_encryption_s3_type.rb +28 -0
  231. data/lib/datadog_api_client/v2/models/metadata.rb +165 -0
  232. data/lib/datadog_api_client/v2/models/microsoft_teams_create_workflows_webhook_handle_request.rb +123 -0
  233. data/lib/datadog_api_client/v2/models/microsoft_teams_update_workflows_webhook_handle_request.rb +123 -0
  234. data/lib/datadog_api_client/v2/models/microsoft_teams_update_workflows_webhook_handle_request_data.rb +144 -0
  235. data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_handle_attributes.rb +144 -0
  236. data/lib/datadog_api_client/v2/models/{input_schema_data_attributes_parameters_items_data_attributes.rb → microsoft_teams_workflows_webhook_handle_request_attributes.rb} +46 -51
  237. data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_handle_request_data.rb +144 -0
  238. data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_handle_response.rb +123 -0
  239. data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_handle_response_data.rb +147 -0
  240. data/lib/datadog_api_client/v2/models/{create_app_response_data_type.rb → microsoft_teams_workflows_webhook_handle_type.rb} +3 -3
  241. data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_handles_response.rb +125 -0
  242. data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_response_attributes.rb +123 -0
  243. data/lib/datadog_api_client/v2/models/notification_rule.rb +168 -0
  244. data/lib/datadog_api_client/v2/models/notification_rule_attributes.rb +311 -0
  245. data/lib/datadog_api_client/v2/models/{input_schema_data_attributes_parameters_items.rb → notification_rule_response.rb} +9 -5
  246. data/lib/datadog_api_client/v2/models/{create_app_request_data_type.rb → notification_rules_type.rb} +3 -3
  247. data/lib/datadog_api_client/v2/models/patch_notification_rule_parameters.rb +105 -0
  248. data/lib/datadog_api_client/v2/models/patch_notification_rule_parameters_data.rb +165 -0
  249. data/lib/datadog_api_client/v2/models/patch_notification_rule_parameters_data_attributes.rb +165 -0
  250. data/lib/datadog_api_client/v2/models/{disable_app_response.rb → publish_app_response.rb} +5 -5
  251. data/lib/datadog_api_client/v2/models/query.rb +7 -7
  252. data/lib/datadog_api_client/v2/models/query_type.rb +1 -1
  253. data/lib/datadog_api_client/v2/models/remediation.rb +278 -0
  254. data/lib/datadog_api_client/v2/models/rule_severity.rb +31 -0
  255. data/lib/datadog_api_client/v2/models/rule_types_items.rb +42 -0
  256. data/lib/datadog_api_client/v2/models/{deployment_included_attributes.rb → rule_user.rb} +21 -11
  257. data/lib/datadog_api_client/v2/models/{script_data.rb → sbom.rb} +8 -8
  258. data/lib/datadog_api_client/v2/models/sbom_attributes.rb +230 -0
  259. data/lib/datadog_api_client/v2/models/sbom_component.rb +185 -0
  260. data/lib/datadog_api_client/v2/models/sbom_component_type.rb +37 -0
  261. data/lib/datadog_api_client/v2/models/sbom_metadata.rb +105 -0
  262. data/lib/datadog_api_client/v2/models/{script_data_attributes.rb → sbom_metadata_component.rb} +6 -16
  263. data/lib/datadog_api_client/v2/models/sbom_type.rb +26 -0
  264. data/lib/datadog_api_client/v2/models/security_monitoring_reference_table.rb +2 -2
  265. data/lib/datadog_api_client/v2/models/security_monitoring_rule_case_create.rb +2 -2
  266. data/lib/datadog_api_client/v2/models/security_monitoring_rule_evaluation_window.rb +1 -1
  267. data/lib/datadog_api_client/v2/models/security_monitoring_rule_impossible_travel_options.rb +1 -1
  268. data/lib/datadog_api_client/v2/models/security_monitoring_rule_keep_alive.rb +1 -1
  269. data/lib/datadog_api_client/v2/models/security_monitoring_rule_new_value_options.rb +1 -1
  270. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +6 -6
  271. data/lib/datadog_api_client/v2/models/security_monitoring_rule_third_party_options.rb +1 -1
  272. data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +1 -1
  273. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_create_payload.rb +1 -1
  274. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_payload.rb +1 -1
  275. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_response.rb +1 -1
  276. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +1 -1
  277. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_payload.rb +1 -1
  278. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +1 -1
  279. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_test_payload.rb +1 -1
  280. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_attributes.rb +11 -1
  281. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_attributes.rb +11 -1
  282. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_attributes.rb +12 -1
  283. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case_create.rb +1 -1
  284. data/lib/datadog_api_client/v2/models/selectors.rb +160 -0
  285. data/lib/datadog_api_client/v2/models/spec_version.rb +31 -0
  286. data/lib/datadog_api_client/v2/models/token_type.rb +26 -0
  287. data/lib/datadog_api_client/v2/models/trigger_source.rb +28 -0
  288. data/lib/datadog_api_client/v2/models/unpublish_app_response.rb +105 -0
  289. data/lib/datadog_api_client/v2/models/update_action_connection_request.rb +123 -0
  290. data/lib/datadog_api_client/v2/models/{deploy_app_response.rb → update_action_connection_response.rb} +5 -5
  291. data/lib/datadog_api_client/v2/models/update_app_request.rb +2 -2
  292. data/lib/datadog_api_client/v2/models/update_app_request_data.rb +6 -6
  293. data/lib/datadog_api_client/v2/models/update_app_request_data_attributes.rb +19 -41
  294. data/lib/datadog_api_client/v2/models/update_app_response.rb +7 -7
  295. data/lib/datadog_api_client/v2/models/update_app_response_data.rb +6 -6
  296. data/lib/datadog_api_client/v2/models/update_app_response_data_attributes.rb +20 -42
  297. data/lib/datadog_api_client/v2/models/url_param.rb +150 -0
  298. data/lib/datadog_api_client/v2/models/url_param_update.rb +149 -0
  299. data/lib/datadog_api_client/v2/models/vulnerabilities_type.rb +26 -0
  300. data/lib/datadog_api_client/v2/models/vulnerability.rb +186 -0
  301. data/lib/datadog_api_client/v2/models/vulnerability_attributes.rb +462 -0
  302. data/lib/datadog_api_client/v2/models/{deployment_meta.rb → vulnerability_cvss.rb} +43 -34
  303. data/lib/datadog_api_client/v2/models/vulnerability_dependency_locations.rb +143 -0
  304. data/lib/datadog_api_client/v2/models/vulnerability_ecosystem.rb +36 -0
  305. data/lib/datadog_api_client/v2/models/vulnerability_relationships.rb +123 -0
  306. data/lib/datadog_api_client/v2/models/vulnerability_relationships_affects.rb +123 -0
  307. data/lib/datadog_api_client/v2/models/{deployment_included.rb → vulnerability_relationships_affects_data.rb} +38 -29
  308. data/lib/datadog_api_client/v2/models/vulnerability_risks.rb +198 -0
  309. data/lib/datadog_api_client/v2/models/vulnerability_severity.rb +31 -0
  310. data/lib/datadog_api_client/v2/models/vulnerability_status.rb +30 -0
  311. data/lib/datadog_api_client/v2/models/vulnerability_tool.rb +28 -0
  312. data/lib/datadog_api_client/v2/models/vulnerability_type.rb +67 -0
  313. data/lib/datadog_api_client/version.rb +1 -1
  314. metadata +194 -56
  315. data/examples/v2/app-deployment/DeployApp.rb +0 -11
  316. data/examples/v2/app-deployment/DisableApp.rb +0 -11
  317. data/lib/datadog_api_client/v2/api/app_deployment_api.rb +0 -168
  318. data/lib/datadog_api_client/v2/models/delete_apps_response_data_items_type.rb +0 -26
  319. data/lib/datadog_api_client/v2/models/deployment_relationship_data_type.rb +0 -26
  320. data/lib/datadog_api_client/v2/models/input_schema_data_attributes.rb +0 -107
  321. data/lib/datadog_api_client/v2/models/input_schema_data_attributes_parameters_items_data.rb +0 -105
  322. data/lib/datadog_api_client/v2/models/list_apps_response_data_items_type.rb +0 -26
  323. data/lib/datadog_api_client/v2/models/update_app_request_data_type.rb +0 -26
  324. data/lib/datadog_api_client/v2/models/update_app_response_data_type.rb +0 -26
  325. data/lib/datadog_api_client/v2/models/update_app_response_relationship.rb +0 -117
@@ -0,0 +1,63 @@
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 definition of `ActionConnectionIntegrationUpdate` object.
21
+ module ActionConnectionIntegrationUpdate
22
+ class << self
23
+ include BaseOneOfModel
24
+ include BaseOneOfModelNoDiscriminator
25
+
26
+ # List of class defined in oneOf (OpenAPI v3)
27
+ def openapi_one_of
28
+ [
29
+ :'AWSIntegrationUpdate',
30
+ :'HTTPIntegrationUpdate'
31
+ ]
32
+ end
33
+ # Builds the object
34
+ # @param data [Mixed] Data to be matched against the list of oneOf items
35
+ # @return [Object] Returns the model or the data itself
36
+ def build(data)
37
+ # Go through the list of oneOf items and attempt to identify the appropriate one.
38
+ # Note:
39
+ # - We do not attempt to check whether exactly one item matches.
40
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
41
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
42
+ # - TODO: scalar values are de facto behaving as if they were nullable.
43
+ # - TODO: logging when debugging is set.
44
+ openapi_one_of.each do |klass|
45
+ begin
46
+ next if klass == :AnyType # "nullable: true"
47
+ typed_data = find_and_cast_into_type(klass, data)
48
+ next if typed_data.respond_to?(:_unparsed) && typed_data._unparsed
49
+ return typed_data if typed_data
50
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
51
+ end
52
+ end
53
+
54
+ if openapi_one_of.include?(:AnyType)
55
+ data
56
+ else
57
+ self._unparsed = true
58
+ DatadogAPIClient::UnparsedObject.new(data)
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,154 @@
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
+ # Advisory.
21
+ class Advisory
22
+ include BaseGenericModel
23
+
24
+ # Advisory base severity.
25
+ attr_reader :base_severity
26
+
27
+ # Advisory id.
28
+ attr_reader :id
29
+
30
+ # Advisory Datadog severity.
31
+ attr_accessor :severity
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
+ :'base_severity' => :'base_severity',
40
+ :'id' => :'id',
41
+ :'severity' => :'severity'
42
+ }
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ # @!visibility private
47
+ def self.openapi_types
48
+ {
49
+ :'base_severity' => :'String',
50
+ :'id' => :'String',
51
+ :'severity' => :'String'
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::Advisory` 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?(:'base_severity')
74
+ self.base_severity = attributes[:'base_severity']
75
+ end
76
+
77
+ if attributes.key?(:'id')
78
+ self.id = attributes[:'id']
79
+ end
80
+
81
+ if attributes.key?(:'severity')
82
+ self.severity = attributes[:'severity']
83
+ end
84
+ end
85
+
86
+ # Check to see if the all the properties in the model are valid
87
+ # @return true if the model is valid
88
+ # @!visibility private
89
+ def valid?
90
+ return false if @base_severity.nil?
91
+ return false if @id.nil?
92
+ true
93
+ end
94
+
95
+ # Custom attribute writer method with validation
96
+ # @param base_severity [Object] Object to be assigned
97
+ # @!visibility private
98
+ def base_severity=(base_severity)
99
+ if base_severity.nil?
100
+ fail ArgumentError, 'invalid value for "base_severity", base_severity cannot be nil.'
101
+ end
102
+ @base_severity = base_severity
103
+ end
104
+
105
+ # Custom attribute writer method with validation
106
+ # @param id [Object] Object to be assigned
107
+ # @!visibility private
108
+ def id=(id)
109
+ if id.nil?
110
+ fail ArgumentError, 'invalid value for "id", id cannot be nil.'
111
+ end
112
+ @id = id
113
+ end
114
+
115
+ # Returns the object in the form of hash, with additionalProperties support.
116
+ # @return [Hash] Returns the object in the form of hash
117
+ # @!visibility private
118
+ def to_hash
119
+ hash = {}
120
+ self.class.attribute_map.each_pair do |attr, param|
121
+ value = self.send(attr)
122
+ if value.nil?
123
+ is_nullable = self.class.openapi_nullable.include?(attr)
124
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
125
+ end
126
+
127
+ hash[param] = _to_hash(value)
128
+ end
129
+ self.additional_properties.each_pair do |attr, value|
130
+ hash[attr] = value
131
+ end
132
+ hash
133
+ end
134
+
135
+ # Checks equality by comparing each attribute.
136
+ # @param o [Object] Object to be compared
137
+ # @!visibility private
138
+ def ==(o)
139
+ return true if self.equal?(o)
140
+ self.class == o.class &&
141
+ base_severity == o.base_severity &&
142
+ id == o.id &&
143
+ severity == o.severity &&
144
+ additional_properties == o.additional_properties
145
+ end
146
+
147
+ # Calculates hash code according to all attributes.
148
+ # @return [Integer] Hash code
149
+ # @!visibility private
150
+ def hash
151
+ [base_severity, id, severity, additional_properties].hash
152
+ end
153
+ end
154
+ end
@@ -17,7 +17,7 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # The definition of `AppBuilderEvent` object.
20
+ # An event on a UI component that triggers a response or action in an app.
21
21
  class AppBuilderEvent
22
22
  include BaseGenericModel
23
23
 
@@ -17,8 +17,8 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # The definition of `GetAppResponseDataType` object.
21
- class GetAppResponseDataType
20
+ # The app definition type.
21
+ class AppDefinitionType
22
22
  include BaseEnumModel
23
23
 
24
24
  APPDEFINITIONS = "appDefinitions".freeze
@@ -17,8 +17,8 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # The definition of `DeploymentIncludedType` object.
21
- class DeploymentIncludedType
20
+ # The deployment type.
21
+ class AppDeploymentType
22
22
  include BaseEnumModel
23
23
 
24
24
  DEPLOYMENT = "deployment".freeze
@@ -17,38 +17,35 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # The definition of `AppMeta` object.
20
+ # Metadata of an app.
21
21
  class AppMeta
22
22
  include BaseGenericModel
23
23
 
24
- # The `AppMeta` `created_at`.
24
+ # Timestamp of when the app was created.
25
25
  attr_accessor :created_at
26
26
 
27
- # The `AppMeta` `deleted_at`.
27
+ # Timestamp of when the app was deleted.
28
28
  attr_accessor :deleted_at
29
29
 
30
- # The `AppMeta` `org_id`.
30
+ # The Datadog organization ID that owns the app.
31
31
  attr_accessor :org_id
32
32
 
33
- # The `AppMeta` `run_as_user`.
34
- attr_accessor :run_as_user
35
-
36
- # The `AppMeta` `updated_at`.
33
+ # Timestamp of when the app was last updated.
37
34
  attr_accessor :updated_at
38
35
 
39
- # The `AppMeta` `updated_since_deployment`.
36
+ # Whether the app was updated since it was last published. Published apps are pinned to a specific version and do not automatically update when the app is updated.
40
37
  attr_accessor :updated_since_deployment
41
38
 
42
- # The `AppMeta` `user_id`.
39
+ # The ID of the user who created the app.
43
40
  attr_accessor :user_id
44
41
 
45
- # The `AppMeta` `user_name`.
42
+ # The name (or email address) of the user who created the app.
46
43
  attr_accessor :user_name
47
44
 
48
- # The `AppMeta` `user_uuid`.
45
+ # The UUID of the user who created the app.
49
46
  attr_accessor :user_uuid
50
47
 
51
- # The `AppMeta` `version`.
48
+ # The version number of the app. This starts at 1 and increments with each update.
52
49
  attr_accessor :version
53
50
 
54
51
  attr_accessor :additional_properties
@@ -60,7 +57,6 @@ module DatadogAPIClient::V2
60
57
  :'created_at' => :'created_at',
61
58
  :'deleted_at' => :'deleted_at',
62
59
  :'org_id' => :'org_id',
63
- :'run_as_user' => :'run_as_user',
64
60
  :'updated_at' => :'updated_at',
65
61
  :'updated_since_deployment' => :'updated_since_deployment',
66
62
  :'user_id' => :'user_id',
@@ -74,15 +70,14 @@ module DatadogAPIClient::V2
74
70
  # @!visibility private
75
71
  def self.openapi_types
76
72
  {
77
- :'created_at' => :'String',
78
- :'deleted_at' => :'String',
73
+ :'created_at' => :'Time',
74
+ :'deleted_at' => :'Time',
79
75
  :'org_id' => :'Integer',
80
- :'run_as_user' => :'String',
81
- :'updated_at' => :'String',
76
+ :'updated_at' => :'Time',
82
77
  :'updated_since_deployment' => :'Boolean',
83
78
  :'user_id' => :'Integer',
84
79
  :'user_name' => :'String',
85
- :'user_uuid' => :'String',
80
+ :'user_uuid' => :'UUID',
86
81
  :'version' => :'Integer'
87
82
  }
88
83
  end
@@ -117,10 +112,6 @@ module DatadogAPIClient::V2
117
112
  self.org_id = attributes[:'org_id']
118
113
  end
119
114
 
120
- if attributes.key?(:'run_as_user')
121
- self.run_as_user = attributes[:'run_as_user']
122
- end
123
-
124
115
  if attributes.key?(:'updated_at')
125
116
  self.updated_at = attributes[:'updated_at']
126
117
  end
@@ -175,7 +166,6 @@ module DatadogAPIClient::V2
175
166
  created_at == o.created_at &&
176
167
  deleted_at == o.deleted_at &&
177
168
  org_id == o.org_id &&
178
- run_as_user == o.run_as_user &&
179
169
  updated_at == o.updated_at &&
180
170
  updated_since_deployment == o.updated_since_deployment &&
181
171
  user_id == o.user_id &&
@@ -189,7 +179,7 @@ module DatadogAPIClient::V2
189
179
  # @return [Integer] Hash code
190
180
  # @!visibility private
191
181
  def hash
192
- [created_at, deleted_at, org_id, run_as_user, updated_at, updated_since_deployment, user_id, user_name, user_uuid, version, additional_properties].hash
182
+ [created_at, deleted_at, org_id, updated_at, updated_since_deployment, user_id, user_name, user_uuid, version, additional_properties].hash
193
183
  end
194
184
  end
195
185
  end
@@ -17,14 +17,14 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # The definition of `GetAppResponseRelationship` object.
21
- class GetAppResponseRelationship
20
+ # The app's publication relationship and custom connections.
21
+ class AppRelationship
22
22
  include BaseGenericModel
23
23
 
24
- # The `relationship` `connections`.
24
+ # Array of custom connections used by the app.
25
25
  attr_accessor :connections
26
26
 
27
- # The definition of `DeploymentRelationship` object.
27
+ # Information pointing to the app's publication status.
28
28
  attr_accessor :deployment
29
29
 
30
30
  attr_accessor :additional_properties
@@ -52,7 +52,7 @@ module DatadogAPIClient::V2
52
52
  # @!visibility private
53
53
  def initialize(attributes = {})
54
54
  if (!attributes.is_a?(Hash))
55
- fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::GetAppResponseRelationship` initialize method"
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::AppRelationship` initialize method"
56
56
  end
57
57
 
58
58
  self.additional_properties = {}
@@ -0,0 +1,165 @@
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 single vulnerable asset
21
+ class Asset
22
+ include BaseGenericModel
23
+
24
+ # The JSON:API attributes of the asset.
25
+ attr_reader :attributes
26
+
27
+ # The unique ID for this asset.
28
+ attr_reader :id
29
+
30
+ # The JSON:API 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' => :'AssetAttributes',
50
+ :'id' => :'String',
51
+ :'type' => :'AssetEntityType'
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::Asset` 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
+ # Check to see if the all the properties in the model are valid
87
+ # @return true if the model is valid
88
+ # @!visibility private
89
+ def valid?
90
+ return false if @attributes.nil?
91
+ return false if @id.nil?
92
+ return false if @type.nil?
93
+ true
94
+ end
95
+
96
+ # Custom attribute writer method with validation
97
+ # @param attributes [Object] Object to be assigned
98
+ # @!visibility private
99
+ def attributes=(attributes)
100
+ if attributes.nil?
101
+ fail ArgumentError, 'invalid value for "attributes", attributes cannot be nil.'
102
+ end
103
+ @attributes = attributes
104
+ end
105
+
106
+ # Custom attribute writer method with validation
107
+ # @param id [Object] Object to be assigned
108
+ # @!visibility private
109
+ def id=(id)
110
+ if id.nil?
111
+ fail ArgumentError, 'invalid value for "id", id cannot be nil.'
112
+ end
113
+ @id = id
114
+ end
115
+
116
+ # Custom attribute writer method with validation
117
+ # @param type [Object] Object to be assigned
118
+ # @!visibility private
119
+ def type=(type)
120
+ if type.nil?
121
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
122
+ end
123
+ @type = type
124
+ end
125
+
126
+ # Returns the object in the form of hash, with additionalProperties support.
127
+ # @return [Hash] Returns the object in the form of hash
128
+ # @!visibility private
129
+ def to_hash
130
+ hash = {}
131
+ self.class.attribute_map.each_pair do |attr, param|
132
+ value = self.send(attr)
133
+ if value.nil?
134
+ is_nullable = self.class.openapi_nullable.include?(attr)
135
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
136
+ end
137
+
138
+ hash[param] = _to_hash(value)
139
+ end
140
+ self.additional_properties.each_pair do |attr, value|
141
+ hash[attr] = value
142
+ end
143
+ hash
144
+ end
145
+
146
+ # Checks equality by comparing each attribute.
147
+ # @param o [Object] Object to be compared
148
+ # @!visibility private
149
+ def ==(o)
150
+ return true if self.equal?(o)
151
+ self.class == o.class &&
152
+ attributes == o.attributes &&
153
+ id == o.id &&
154
+ type == o.type &&
155
+ additional_properties == o.additional_properties
156
+ end
157
+
158
+ # Calculates hash code according to all attributes.
159
+ # @return [Integer] Hash code
160
+ # @!visibility private
161
+ def hash
162
+ [attributes, id, type, additional_properties].hash
163
+ end
164
+ end
165
+ end