datadog_api_client 2.33.0 → 2.35.0

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 (304) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/conftest.py +2 -1
  4. data/.generator/schemas/v1/openapi.yaml +77 -6
  5. data/.generator/schemas/v2/openapi.yaml +3218 -855
  6. data/.generator/src/generator/formatter.py +2 -2
  7. data/.generator/src/generator/openapi.py +1 -1
  8. data/.generator/src/generator/templates/configuration.j2 +2 -2
  9. data/.github/workflows/publish.yml +16 -8
  10. data/.github/workflows/release.yml +57 -61
  11. data/CHANGELOG.md +35 -0
  12. data/Gemfile +3 -1
  13. data/examples/v1/monitors/CreateMonitor_1539578087.rb +1 -0
  14. data/examples/v1/monitors/CreateMonitor_440013737.rb +1 -0
  15. data/examples/v1/synthetics/CreateSyntheticsAPITest_1279271422.rb +142 -0
  16. data/examples/v2/csm-threats/CreateCSMThreatsAgentPolicy.rb +21 -0
  17. data/examples/v2/csm-threats/CreateCSMThreatsAgentRule.rb +7 -4
  18. data/examples/v2/csm-threats/CreateCSMThreatsAgentRule_1295653933.rb +32 -0
  19. data/examples/v2/csm-threats/CreateCloudWorkloadSecurityAgentRule.rb +3 -2
  20. data/examples/v2/csm-threats/DeleteCSMThreatsAgentPolicy.rb +8 -0
  21. data/examples/v2/csm-threats/DeleteCSMThreatsAgentRule.rb +8 -2
  22. data/examples/v2/csm-threats/DeleteCloudWorkloadSecurityAgentRule.rb +1 -1
  23. data/examples/v2/csm-threats/DownloadCSMThreatsPolicy.rb +1 -1
  24. data/examples/v2/csm-threats/DownloadCloudWorkloadPolicyFile.rb +1 -1
  25. data/examples/v2/csm-threats/GetCSMThreatsAgentPolicy.rb +8 -0
  26. data/examples/v2/csm-threats/GetCSMThreatsAgentRule.rb +8 -2
  27. data/examples/v2/csm-threats/GetCloudWorkloadSecurityAgentRule.rb +1 -1
  28. data/examples/v2/csm-threats/ListCSMThreatsAgentPolicies.rb +5 -0
  29. data/examples/v2/csm-threats/ListCSMThreatsAgentRules.rb +1 -1
  30. data/examples/v2/csm-threats/ListCloudWorkloadSecurityAgentRules.rb +1 -1
  31. data/examples/v2/csm-threats/UpdateCSMThreatsAgentPolicy.rb +25 -0
  32. data/examples/v2/csm-threats/UpdateCSMThreatsAgentRule.rb +12 -4
  33. data/examples/v2/csm-threats/UpdateCloudWorkloadSecurityAgentRule.rb +3 -4
  34. data/examples/v2/dora-metrics/CreateDORADeployment.rb +0 -3
  35. data/examples/v2/dora-metrics/CreateDORAFailure.rb +30 -0
  36. data/examples/v2/dora-metrics/CreateDORAIncident.rb +11 -9
  37. data/examples/v2/dora-metrics/CreateDORAIncident_1768887482.rb +25 -0
  38. data/examples/v2/dora-metrics/GetDORADeployment.rb +5 -0
  39. data/examples/v2/dora-metrics/GetDORAFailure.rb +5 -0
  40. data/examples/v2/dora-metrics/ListDORADeployments.rb +16 -0
  41. data/examples/v2/dora-metrics/ListDORAFailures.rb +16 -0
  42. data/examples/v2/network-device-monitoring/ListDevices_2712868412.rb +5 -0
  43. data/examples/v2/on-call/CreateOnCallEscalationPolicy.rb +19 -17
  44. data/examples/v2/on-call/CreateOnCallSchedule.rb +11 -15
  45. data/examples/v2/on-call/DeleteOnCallEscalationPolicy.rb +2 -2
  46. data/examples/v2/on-call/DeleteOnCallSchedule.rb +2 -2
  47. data/examples/v2/on-call/GetOnCallEscalationPolicy.rb +6 -3
  48. data/examples/v2/on-call/GetOnCallSchedule.rb +2 -2
  49. data/examples/v2/on-call/GetOnCallTeamRoutingRules.rb +5 -0
  50. data/examples/v2/on-call/GetScheduleOnCallUser.rb +8 -0
  51. data/examples/v2/on-call/GetTeamOnCallUsers.rb +11 -0
  52. data/examples/v2/on-call/SetOnCallTeamRoutingRules.rb +57 -0
  53. data/examples/v2/on-call/UpdateOnCallEscalationPolicy.rb +8 -9
  54. data/examples/v2/on-call/UpdateOnCallSchedule.rb +11 -16
  55. data/examples/v2/on-call-paging/AcknowledgeOnCallPage.rb +5 -0
  56. data/examples/v2/on-call-paging/CreateOnCallPage.rb +23 -0
  57. data/examples/v2/on-call-paging/EscalateOnCallPage.rb +5 -0
  58. data/examples/v2/on-call-paging/ResolveOnCallPage.rb +5 -0
  59. data/examples/v2/rum-metrics/CreateRumMetric.rb +1 -1
  60. data/examples/v2/security-monitoring/GetResourceEvaluationFilters.rb +9 -0
  61. data/examples/v2/security-monitoring/ListFindings_2932019633.rb +11 -0
  62. data/examples/v2/security-monitoring/UpdateResourceEvaluationFilters.rb +21 -0
  63. data/examples/v2/software-catalog/DeleteCatalogKind.rb +5 -0
  64. data/examples/v2/software-catalog/ListCatalogKind.rb +5 -0
  65. data/examples/v2/software-catalog/ListCatalogKind_3806205775.rb +5 -0
  66. data/examples/v2/software-catalog/ListCatalogRelation.rb +5 -0
  67. data/examples/v2/software-catalog/ListCatalogRelation_1311054087.rb +8 -0
  68. data/examples/v2/software-catalog/UpsertCatalogKind.rb +9 -0
  69. data/examples/v2/workflow-automation/CreateWorkflow.rb +0 -1
  70. data/examples/v2/workflow-automation/UpdateWorkflow.rb +0 -1
  71. data/lib/datadog_api_client/configuration.rb +203 -17
  72. data/lib/datadog_api_client/inflector.rb +138 -49
  73. data/lib/datadog_api_client/v1/api/snapshots_api.rb +2 -1
  74. data/lib/datadog_api_client/v1/models/monitor.rb +17 -1
  75. data/lib/datadog_api_client/{v2/models/escalation_policy_create_request_data_attributes_steps_items_assignment.rb → v1/models/monitor_draft_status.rb} +11 -6
  76. data/lib/datadog_api_client/v1/models/monitor_options.rb +1 -1
  77. data/lib/datadog_api_client/v1/models/monitor_update_request.rb +17 -1
  78. data/lib/datadog_api_client/v1/models/synthetics_api_test_step_subtype.rb +6 -0
  79. data/lib/datadog_api_client/v1/models/synthetics_assertion_body_hash_target.rb +2 -2
  80. data/lib/datadog_api_client/v1/models/synthetics_assertion_json_path_target_target.rb +2 -2
  81. data/lib/datadog_api_client/v1/models/synthetics_assertion_target.rb +2 -2
  82. data/lib/datadog_api_client/v1/models/synthetics_assertion_target_value.rb +63 -0
  83. data/lib/datadog_api_client/v1/models/synthetics_assertion_x_path_target_target.rb +2 -2
  84. data/lib/datadog_api_client/v1/models/synthetics_test_request.rb +32 -2
  85. data/lib/datadog_api_client/v2/api/csm_threats_api.rb +424 -52
  86. data/lib/datadog_api_client/v2/api/dora_metrics_api.rb +344 -16
  87. data/lib/datadog_api_client/v2/api/metrics_api.rb +5 -5
  88. data/lib/datadog_api_client/v2/api/network_device_monitoring_api.rb +25 -3
  89. data/lib/datadog_api_client/v2/api/on_call_api.rb +301 -24
  90. data/lib/datadog_api_client/v2/api/on_call_paging_api.rb +292 -0
  91. data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +5 -3
  92. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +146 -0
  93. data/lib/datadog_api_client/v2/api/software_catalog_api.rb +322 -0
  94. data/lib/datadog_api_client/v2/models/action_query_spec_inputs.rb +1 -1
  95. data/lib/datadog_api_client/v2/models/{schedule_update_request_data_relationships_teams.rb → cloud_workload_security_agent_policies_list_response.rb} +5 -5
  96. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_attributes.rb +300 -0
  97. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_create_attributes.rb +167 -0
  98. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_create_data.rb +144 -0
  99. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_create_request.rb +123 -0
  100. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_data.rb +125 -0
  101. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_response.rb +105 -0
  102. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_type.rb +26 -0
  103. data/lib/datadog_api_client/v2/models/{schedule_create_request_data_attributes_layers_items_restrictions_items.rb → cloud_workload_security_agent_policy_update_attributes.rb} +46 -33
  104. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_update_data.rb +154 -0
  105. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_update_request.rb +123 -0
  106. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_updater_attributes.rb +123 -0
  107. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_action.rb +24 -4
  108. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_action_metadata.rb +125 -0
  109. data/lib/datadog_api_client/v2/models/{schedule_update_request_data_attributes_layers_items_restrictions_items.rb → cloud_workload_security_agent_rule_action_set.rb} +62 -33
  110. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_attributes.rb +67 -19
  111. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_create_attributes.rb +83 -5
  112. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_create_data.rb +2 -2
  113. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_create_request.rb +2 -2
  114. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_creator_attributes.rb +3 -3
  115. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_data.rb +4 -4
  116. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_kill.rb +1 -1
  117. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_response.rb +2 -2
  118. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_type.rb +1 -1
  119. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_update_attributes.rb +85 -7
  120. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_update_data.rb +4 -4
  121. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_update_request.rb +2 -2
  122. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_updater_attributes.rb +3 -3
  123. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rules_list_response.rb +2 -2
  124. data/lib/datadog_api_client/v2/models/create_page_request.rb +105 -0
  125. data/lib/datadog_api_client/v2/models/create_page_request_data.rb +133 -0
  126. data/lib/datadog_api_client/v2/models/create_page_request_data_attributes.rb +187 -0
  127. data/lib/datadog_api_client/v2/models/create_page_request_data_attributes_target.rb +115 -0
  128. data/lib/datadog_api_client/v2/models/{schedule_create_request_data_relationships_teams_data_items_type.rb → create_page_request_data_type.rb} +3 -3
  129. data/lib/datadog_api_client/v2/models/create_page_response.rb +105 -0
  130. data/lib/datadog_api_client/v2/models/create_page_response_data.rb +133 -0
  131. data/lib/datadog_api_client/v2/models/create_page_response_data_type.rb +26 -0
  132. data/lib/datadog_api_client/v2/models/custom_framework_without_requirements.rb +2 -24
  133. data/lib/datadog_api_client/v2/models/{schedule_data_relationships_teams.rb → data_relationships_teams.rb} +3 -3
  134. data/lib/datadog_api_client/v2/models/{schedule_data_relationships_teams_data_items.rb → data_relationships_teams_data_items.rb} +3 -3
  135. data/lib/datadog_api_client/v2/models/{schedule_data_relationships_teams_data_items_type.rb → data_relationships_teams_data_items_type.rb} +1 -1
  136. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +21 -1
  137. data/lib/datadog_api_client/v2/models/{escalation_policy_update_request_data_attributes_steps_items_targets_items.rb → dora_event.rb} +17 -7
  138. data/lib/datadog_api_client/v2/models/{dora_incident_request.rb → dora_failure_request.rb} +4 -4
  139. data/lib/datadog_api_client/v2/models/{dora_incident_request_attributes.rb → dora_failure_request_attributes.rb} +31 -11
  140. data/lib/datadog_api_client/v2/models/{dora_incident_request_data.rb → dora_failure_request_data.rb} +4 -4
  141. data/lib/datadog_api_client/v2/models/{dora_incident_response.rb → dora_failure_response.rb} +5 -5
  142. data/lib/datadog_api_client/v2/models/{dora_incident_response_data.rb → dora_failure_response_data.rb} +6 -6
  143. data/lib/datadog_api_client/v2/models/{dora_incident_type.rb → dora_failure_type.rb} +3 -3
  144. data/lib/datadog_api_client/v2/models/dora_fetch_response.rb +105 -0
  145. data/lib/datadog_api_client/v2/models/dora_list_deployments_request.rb +123 -0
  146. data/lib/datadog_api_client/v2/models/dora_list_deployments_request_attributes.rb +163 -0
  147. data/lib/datadog_api_client/v2/models/dora_list_deployments_request_data.rb +133 -0
  148. data/lib/datadog_api_client/v2/models/dora_list_deployments_request_data_type.rb +26 -0
  149. data/lib/datadog_api_client/v2/models/dora_list_failures_request.rb +123 -0
  150. data/lib/datadog_api_client/v2/models/dora_list_failures_request_attributes.rb +163 -0
  151. data/lib/datadog_api_client/v2/models/dora_list_failures_request_data.rb +133 -0
  152. data/lib/datadog_api_client/v2/models/dora_list_failures_request_data_type.rb +26 -0
  153. data/lib/datadog_api_client/v2/models/{schedule_create_request_data_relationships_teams.rb → dora_list_response.rb} +5 -5
  154. data/lib/datadog_api_client/v2/models/entity_v3_datadog_code_location_item.rb +1 -21
  155. data/lib/datadog_api_client/v2/models/escalation.rb +143 -0
  156. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_attributes.rb +1 -11
  157. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_attributes_steps_items.rb +2 -2
  158. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_relationships.rb +2 -2
  159. data/lib/datadog_api_client/v2/models/escalation_policy_data.rb +1 -1
  160. data/lib/datadog_api_client/v2/models/escalation_policy_data_attributes.rb +2 -12
  161. data/lib/datadog_api_client/v2/models/escalation_policy_data_relationships.rb +2 -2
  162. data/lib/datadog_api_client/v2/models/escalation_policy_included.rb +2 -3
  163. data/lib/datadog_api_client/v2/models/escalation_policy_step_relationships.rb +2 -2
  164. data/lib/datadog_api_client/v2/models/{escalation_policy_create_request_data_attributes_steps_items_targets_items.rb → escalation_policy_step_target.rb} +3 -3
  165. data/lib/datadog_api_client/v2/models/{escalation_policy_update_request_data_attributes_steps_items_targets_items_type.rb → escalation_policy_step_target_type.rb} +1 -1
  166. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_attributes.rb +1 -11
  167. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_attributes_steps_items.rb +2 -2
  168. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_relationships.rb +2 -2
  169. data/lib/datadog_api_client/v2/models/escalation_policy_user.rb +143 -0
  170. data/lib/datadog_api_client/v2/models/escalation_policy_user_attributes.rb +125 -0
  171. data/lib/datadog_api_client/v2/models/{team_reference_relationships_oncall_users_data_items_type.rb → escalation_policy_user_type.rb} +1 -1
  172. data/lib/datadog_api_client/v2/models/escalation_relationships.rb +105 -0
  173. data/lib/datadog_api_client/v2/models/{team_reference_relationships_oncall_users.rb → escalation_relationships_responders.rb} +5 -5
  174. data/lib/datadog_api_client/v2/models/{schedule_create_request_data_relationships_teams_data_items.rb → escalation_relationships_responders_data_items.rb} +6 -7
  175. data/lib/datadog_api_client/v2/models/{escalation_policy_create_request_data_relationships_teams_data_items_type.rb → escalation_relationships_responders_data_items_type.rb} +3 -3
  176. data/lib/datadog_api_client/v2/models/escalation_targets.rb +107 -0
  177. data/lib/datadog_api_client/v2/models/escalation_type.rb +26 -0
  178. data/lib/datadog_api_client/v2/models/finding_attributes.rb +31 -1
  179. data/lib/datadog_api_client/v2/models/full_custom_framework_data_attributes.rb +2 -34
  180. data/lib/datadog_api_client/v2/models/get_resource_evaluation_filters_response.rb +123 -0
  181. data/lib/datadog_api_client/v2/models/get_resource_evaluation_filters_response_data.rb +125 -0
  182. data/lib/datadog_api_client/v2/models/historical_job_options.rb +2 -2
  183. data/lib/datadog_api_client/v2/models/historical_job_query.rb +1 -1
  184. data/lib/datadog_api_client/v2/models/http_integration.rb +0 -6
  185. data/lib/datadog_api_client/v2/models/http_integration_update.rb +1 -14
  186. data/lib/datadog_api_client/v2/models/incident_severity.rb +1 -0
  187. data/lib/datadog_api_client/v2/models/kind_attributes.rb +143 -0
  188. data/lib/datadog_api_client/v2/models/kind_data.rb +153 -0
  189. data/lib/datadog_api_client/v2/models/kind_metadata.rb +115 -0
  190. data/lib/datadog_api_client/v2/models/kind_obj.rb +143 -0
  191. data/lib/datadog_api_client/v2/models/{schedule_update_request_data_attributes_layers_items_members_items_user.rb → kind_response_meta.rb} +11 -11
  192. data/lib/datadog_api_client/v2/models/layer_attributes.rb +1 -1
  193. data/lib/datadog_api_client/v2/models/{escalation_policy_data_relationships_teams.rb → list_kind_catalog_response.rb} +17 -7
  194. data/lib/datadog_api_client/v2/models/list_relation_catalog_response.rb +139 -0
  195. data/lib/datadog_api_client/v2/models/list_relation_catalog_response_links.rb +125 -0
  196. data/lib/datadog_api_client/v2/models/metric_tag_configuration_attributes.rb +1 -16
  197. data/lib/datadog_api_client/v2/models/metric_tag_configuration_create_attributes.rb +1 -16
  198. data/lib/datadog_api_client/v2/models/metric_tag_configuration_update_attributes.rb +1 -16
  199. data/lib/datadog_api_client/v2/models/observability_pipeline_google_cloud_storage_destination.rb +2 -13
  200. data/lib/datadog_api_client/v2/models/observability_pipeline_metadata_entry.rb +1 -1
  201. data/lib/datadog_api_client/v2/models/on_call_page_target_type.rb +28 -0
  202. data/lib/datadog_api_client/v2/models/{schedule_update_request_data_relationships_teams_data_items_type.rb → page_urgency.rb} +4 -3
  203. data/lib/datadog_api_client/v2/models/relation_attributes.rb +125 -0
  204. data/lib/datadog_api_client/v2/models/relation_entity.rb +125 -0
  205. data/lib/datadog_api_client/v2/models/relation_include_type.rb +27 -0
  206. data/lib/datadog_api_client/v2/models/relation_meta.rb +135 -0
  207. data/lib/datadog_api_client/v2/models/{escalation_policy_update_request_data_relationships_teams.rb → relation_relationships.rb} +21 -13
  208. data/lib/datadog_api_client/v2/models/relation_response.rb +155 -0
  209. data/lib/datadog_api_client/v2/models/relation_response_meta.rb +115 -0
  210. data/lib/datadog_api_client/v2/models/relation_response_type.rb +26 -0
  211. data/lib/datadog_api_client/v2/models/relation_to_entity.rb +115 -0
  212. data/lib/datadog_api_client/v2/models/resource_filter_attributes.rb +133 -0
  213. data/lib/datadog_api_client/v2/models/{escalation_policy_data_relationships_teams_data_items_type.rb → resource_filter_request_type.rb} +3 -3
  214. data/lib/datadog_api_client/v2/models/routing_rule.rb +153 -0
  215. data/lib/datadog_api_client/v2/models/routing_rule_action.rb +63 -0
  216. data/lib/datadog_api_client/v2/models/routing_rule_attributes.rb +137 -0
  217. data/lib/datadog_api_client/v2/models/routing_rule_relationships.rb +105 -0
  218. data/lib/datadog_api_client/v2/models/routing_rule_relationships_policy.rb +105 -0
  219. data/lib/datadog_api_client/v2/models/{team_reference_relationships_oncall_users_data_items.rb → routing_rule_relationships_policy_data.rb} +6 -6
  220. data/lib/datadog_api_client/v2/models/routing_rule_relationships_policy_data_type.rb +26 -0
  221. data/lib/datadog_api_client/v2/models/routing_rule_type.rb +26 -0
  222. data/lib/datadog_api_client/v2/models/schedule_create_request_data.rb +1 -1
  223. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes.rb +3 -15
  224. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items.rb +4 -4
  225. data/lib/datadog_api_client/v2/models/schedule_create_request_data_relationships.rb +2 -2
  226. data/lib/datadog_api_client/v2/models/schedule_data.rb +1 -1
  227. data/lib/datadog_api_client/v2/models/schedule_data_attributes.rb +2 -14
  228. data/lib/datadog_api_client/v2/models/schedule_data_relationships.rb +1 -1
  229. data/lib/datadog_api_client/v2/models/{schedule_create_request_data_attributes_layers_items_members_items.rb → schedule_request_data_attributes_layers_items_members_items.rb} +3 -3
  230. data/lib/datadog_api_client/v2/models/{schedule_create_request_data_attributes_layers_items_members_items_user.rb → schedule_request_data_attributes_layers_items_members_items_user.rb} +2 -2
  231. data/lib/datadog_api_client/v2/models/schedule_update_request.rb +1 -1
  232. data/lib/datadog_api_client/v2/models/schedule_update_request_data.rb +2 -2
  233. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes.rb +2 -14
  234. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items.rb +4 -4
  235. data/lib/datadog_api_client/v2/models/schedule_update_request_data_relationships.rb +2 -2
  236. data/lib/datadog_api_client/v2/models/schedule_user_attributes.rb +13 -3
  237. data/lib/datadog_api_client/v2/models/security_monitoring_rule_keep_alive.rb +1 -1
  238. data/lib/datadog_api_client/v2/models/security_monitoring_rule_max_signal_duration.rb +1 -1
  239. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +2 -2
  240. data/lib/datadog_api_client/v2/models/security_monitoring_standard_data_source.rb +2 -1
  241. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_query.rb +1 -1
  242. data/lib/datadog_api_client/v2/models/send_slack_message_action.rb +165 -0
  243. data/lib/datadog_api_client/v2/models/send_slack_message_action_type.rb +26 -0
  244. data/lib/datadog_api_client/v2/models/send_teams_message_action.rb +186 -0
  245. data/lib/datadog_api_client/v2/models/{escalation_policy_update_request_data_relationships_teams_data_items_type.rb → send_teams_message_action_type.rb} +3 -3
  246. data/lib/datadog_api_client/v2/models/{escalation_policy_create_request_data_relationships_teams.rb → shift.rb} +19 -9
  247. data/lib/datadog_api_client/v2/models/shift_data.rb +153 -0
  248. data/lib/datadog_api_client/v2/models/shift_data_attributes.rb +115 -0
  249. data/lib/datadog_api_client/v2/models/{schedule_update_request_data_attributes_layers_items_members_items.rb → shift_data_relationships.rb} +5 -6
  250. data/lib/datadog_api_client/v2/models/shift_data_relationships_user.rb +123 -0
  251. data/lib/datadog_api_client/v2/models/{schedule_update_request_data_relationships_teams_data_items.rb → shift_data_relationships_user_data.rb} +6 -6
  252. data/lib/datadog_api_client/v2/models/shift_data_relationships_user_data_type.rb +26 -0
  253. data/lib/datadog_api_client/v2/models/shift_data_type.rb +26 -0
  254. data/lib/datadog_api_client/v2/models/shift_included.rb +62 -0
  255. data/lib/datadog_api_client/v2/models/team_on_call_responders.rb +117 -0
  256. data/lib/datadog_api_client/v2/models/{escalation_policy_update_request_data_relationships_teams_data_items.rb → team_on_call_responders_data.rb} +18 -19
  257. data/lib/datadog_api_client/v2/models/team_on_call_responders_data_relationships.rb +115 -0
  258. data/lib/datadog_api_client/v2/models/team_on_call_responders_data_relationships_escalations.rb +107 -0
  259. data/lib/datadog_api_client/v2/models/team_on_call_responders_data_relationships_escalations_data_items.rb +144 -0
  260. data/lib/datadog_api_client/v2/models/team_on_call_responders_data_relationships_escalations_data_items_type.rb +26 -0
  261. data/lib/datadog_api_client/v2/models/team_on_call_responders_data_relationships_responders.rb +107 -0
  262. data/lib/datadog_api_client/v2/models/{escalation_policy_data_relationships_teams_data_items.rb → team_on_call_responders_data_relationships_responders_data_items.rb} +6 -6
  263. data/lib/datadog_api_client/v2/models/team_on_call_responders_data_relationships_responders_data_items_type.rb +26 -0
  264. data/lib/datadog_api_client/v2/models/team_on_call_responders_data_type.rb +26 -0
  265. data/lib/datadog_api_client/v2/models/team_on_call_responders_included.rb +63 -0
  266. data/lib/datadog_api_client/v2/models/team_reference.rb +1 -11
  267. data/lib/datadog_api_client/v2/models/team_routing_rules.rb +117 -0
  268. data/lib/datadog_api_client/v2/models/team_routing_rules_data.rb +143 -0
  269. data/lib/datadog_api_client/v2/models/team_routing_rules_data_relationships.rb +105 -0
  270. data/lib/datadog_api_client/v2/models/team_routing_rules_data_relationships_rules.rb +107 -0
  271. data/lib/datadog_api_client/v2/models/team_routing_rules_data_relationships_rules_data_items.rb +144 -0
  272. data/lib/datadog_api_client/v2/models/team_routing_rules_data_relationships_rules_data_items_type.rb +26 -0
  273. data/lib/datadog_api_client/v2/models/team_routing_rules_data_type.rb +26 -0
  274. data/lib/datadog_api_client/v2/models/team_routing_rules_included.rb +62 -0
  275. data/lib/datadog_api_client/v2/models/team_routing_rules_request.rb +105 -0
  276. data/lib/datadog_api_client/v2/models/team_routing_rules_request_data.rb +143 -0
  277. data/lib/datadog_api_client/v2/models/team_routing_rules_request_data_attributes.rb +107 -0
  278. data/lib/datadog_api_client/v2/models/team_routing_rules_request_data_type.rb +26 -0
  279. data/lib/datadog_api_client/v2/models/team_routing_rules_request_rule.rb +147 -0
  280. data/lib/datadog_api_client/v2/models/{layer_attributes_restrictions_items.rb → time_restriction.rb} +9 -10
  281. data/lib/datadog_api_client/v2/models/{schedule_create_request_data_attributes_layers_items_interval.rb → time_restrictions.rb} +32 -30
  282. data/lib/datadog_api_client/v2/models/update_resource_evaluation_filters_request.rb +123 -0
  283. data/lib/datadog_api_client/v2/models/update_resource_evaluation_filters_request_data.rb +154 -0
  284. data/lib/datadog_api_client/v2/models/update_resource_evaluation_filters_response.rb +123 -0
  285. data/lib/datadog_api_client/v2/models/{escalation_policy_create_request_data_relationships_teams_data_items.rb → update_resource_evaluation_filters_response_data.rb} +24 -14
  286. data/lib/datadog_api_client/v2/models/upsert_catalog_kind_request.rb +63 -0
  287. data/lib/datadog_api_client/v2/models/upsert_catalog_kind_response.rb +117 -0
  288. data/lib/datadog_api_client/v2/models/urgency.rb +28 -0
  289. data/lib/datadog_api_client/v2/models/user_attributes_status.rb +28 -0
  290. data/lib/datadog_api_client/v2/models/{layer_attributes_restrictions_items_end_day.rb → weekday.rb} +2 -2
  291. data/lib/datadog_api_client/version.rb +1 -1
  292. data/repository.datadog.yaml +8 -0
  293. metadata +171 -57
  294. data/.github/workflows/prepare_release.yml +0 -112
  295. data/RELEASING.md +0 -43
  296. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_attributes_steps_items_targets_items_type.rb +0 -28
  297. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_attributes_steps_items_assignment.rb +0 -27
  298. data/lib/datadog_api_client/v2/models/layer_attributes_restrictions_items_start_day.rb +0 -32
  299. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_restrictions_items_end_day.rb +0 -32
  300. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_restrictions_items_start_day.rb +0 -32
  301. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_interval.rb +0 -144
  302. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_restrictions_items_end_day.rb +0 -32
  303. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_restrictions_items_start_day.rb +0 -32
  304. data/lib/datadog_api_client/v2/models/team_reference_relationships.rb +0 -105
@@ -17,11 +17,11 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # Request object that includes the Agent rule to create.
20
+ # Request object that includes the Agent rule to create
21
21
  class CloudWorkloadSecurityAgentRuleCreateRequest
22
22
  include BaseGenericModel
23
23
 
24
- # Object for a single Agent rule.
24
+ # Object for a single Agent rule
25
25
  attr_reader :data
26
26
 
27
27
  attr_accessor :additional_properties
@@ -17,14 +17,14 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # The attributes of the user who created the Agent rule.
20
+ # The attributes of the user who created the Agent rule
21
21
  class CloudWorkloadSecurityAgentRuleCreatorAttributes
22
22
  include BaseGenericModel
23
23
 
24
- # The handle of the user.
24
+ # The handle of the user
25
25
  attr_accessor :handle
26
26
 
27
- # The name of the user.
27
+ # The name of the user
28
28
  attr_accessor :name
29
29
 
30
30
  attr_accessor :additional_properties
@@ -17,17 +17,17 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # Object for a single Agent rule.
20
+ # Object for a single Agent rule
21
21
  class CloudWorkloadSecurityAgentRuleData
22
22
  include BaseGenericModel
23
23
 
24
- # A Cloud Workload Security Agent rule returned by the API.
24
+ # A Cloud Workload Security Agent rule returned by the API
25
25
  attr_accessor :attributes
26
26
 
27
- # The ID of the Agent rule.
27
+ # The ID of the Agent rule
28
28
  attr_accessor :id
29
29
 
30
- # The type of the resource. The value should always be `agent_rule`.
30
+ # The type of the resource, must always be `agent_rule`
31
31
  attr_accessor :type
32
32
 
33
33
  attr_accessor :additional_properties
@@ -21,7 +21,7 @@ module DatadogAPIClient::V2
21
21
  class CloudWorkloadSecurityAgentRuleKill
22
22
  include BaseGenericModel
23
23
 
24
- # Supported signals for the kill system call.
24
+ # Supported signals for the kill system call
25
25
  attr_accessor :signal
26
26
 
27
27
  attr_accessor :additional_properties
@@ -17,11 +17,11 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # Response object that includes an Agent rule.
20
+ # Response object that includes an Agent rule
21
21
  class CloudWorkloadSecurityAgentRuleResponse
22
22
  include BaseGenericModel
23
23
 
24
- # Object for a single Agent rule.
24
+ # Object for a single Agent rule
25
25
  attr_accessor :data
26
26
 
27
27
  attr_accessor :additional_properties
@@ -17,7 +17,7 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # The type of the resource. The value should always be `agent_rule`.
20
+ # The type of the resource, must always be `agent_rule`
21
21
  class CloudWorkloadSecurityAgentRuleType
22
22
  include BaseEnumModel
23
23
 
@@ -17,28 +17,52 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # Update an existing Cloud Workload Security Agent rule.
20
+ # Update an existing Cloud Workload Security Agent rule
21
21
  class CloudWorkloadSecurityAgentRuleUpdateAttributes
22
22
  include BaseGenericModel
23
23
 
24
- # The description of the Agent rule.
24
+ # The array of actions the rule can perform if triggered
25
+ attr_accessor :actions
26
+
27
+ # The blocking policies that the rule belongs to
28
+ attr_accessor :blocking
29
+
30
+ # The description of the Agent rule
25
31
  attr_accessor :description
26
32
 
27
- # Whether the Agent rule is enabled.
33
+ # The disabled policies that the rule belongs to
34
+ attr_accessor :disabled
35
+
36
+ # Whether the Agent rule is enabled
28
37
  attr_accessor :enabled
29
38
 
30
- # The SECL expression of the Agent rule.
39
+ # The SECL expression of the Agent rule
31
40
  attr_accessor :expression
32
41
 
42
+ # The monitoring policies that the rule belongs to
43
+ attr_accessor :monitoring
44
+
45
+ # The ID of the policy where the Agent rule is saved
46
+ attr_accessor :policy_id
47
+
48
+ # The list of product tags associated with the rule
49
+ attr_accessor :product_tags
50
+
33
51
  attr_accessor :additional_properties
34
52
 
35
53
  # Attribute mapping from ruby-style variable name to JSON key.
36
54
  # @!visibility private
37
55
  def self.attribute_map
38
56
  {
57
+ :'actions' => :'actions',
58
+ :'blocking' => :'blocking',
39
59
  :'description' => :'description',
60
+ :'disabled' => :'disabled',
40
61
  :'enabled' => :'enabled',
41
- :'expression' => :'expression'
62
+ :'expression' => :'expression',
63
+ :'monitoring' => :'monitoring',
64
+ :'policy_id' => :'policy_id',
65
+ :'product_tags' => :'product_tags'
42
66
  }
43
67
  end
44
68
 
@@ -46,12 +70,26 @@ module DatadogAPIClient::V2
46
70
  # @!visibility private
47
71
  def self.openapi_types
48
72
  {
73
+ :'actions' => :'Array<CloudWorkloadSecurityAgentRuleAction>',
74
+ :'blocking' => :'Array<String>',
49
75
  :'description' => :'String',
76
+ :'disabled' => :'Array<String>',
50
77
  :'enabled' => :'Boolean',
51
- :'expression' => :'String'
78
+ :'expression' => :'String',
79
+ :'monitoring' => :'Array<String>',
80
+ :'policy_id' => :'String',
81
+ :'product_tags' => :'Array<String>'
52
82
  }
53
83
  end
54
84
 
85
+ # List of attributes with nullable: true
86
+ # @!visibility private
87
+ def self.openapi_nullable
88
+ Set.new([
89
+ :'actions',
90
+ ])
91
+ end
92
+
55
93
  # Initializes the object
56
94
  # @param attributes [Hash] Model attributes in the form of hash
57
95
  # @!visibility private
@@ -70,10 +108,28 @@ module DatadogAPIClient::V2
70
108
  end
71
109
  }
72
110
 
111
+ if attributes.key?(:'actions')
112
+ if (value = attributes[:'actions']).is_a?(Array)
113
+ self.actions = value
114
+ end
115
+ end
116
+
117
+ if attributes.key?(:'blocking')
118
+ if (value = attributes[:'blocking']).is_a?(Array)
119
+ self.blocking = value
120
+ end
121
+ end
122
+
73
123
  if attributes.key?(:'description')
74
124
  self.description = attributes[:'description']
75
125
  end
76
126
 
127
+ if attributes.key?(:'disabled')
128
+ if (value = attributes[:'disabled']).is_a?(Array)
129
+ self.disabled = value
130
+ end
131
+ end
132
+
77
133
  if attributes.key?(:'enabled')
78
134
  self.enabled = attributes[:'enabled']
79
135
  end
@@ -81,6 +137,22 @@ module DatadogAPIClient::V2
81
137
  if attributes.key?(:'expression')
82
138
  self.expression = attributes[:'expression']
83
139
  end
140
+
141
+ if attributes.key?(:'monitoring')
142
+ if (value = attributes[:'monitoring']).is_a?(Array)
143
+ self.monitoring = value
144
+ end
145
+ end
146
+
147
+ if attributes.key?(:'policy_id')
148
+ self.policy_id = attributes[:'policy_id']
149
+ end
150
+
151
+ if attributes.key?(:'product_tags')
152
+ if (value = attributes[:'product_tags']).is_a?(Array)
153
+ self.product_tags = value
154
+ end
155
+ end
84
156
  end
85
157
 
86
158
  # Returns the object in the form of hash, with additionalProperties support.
@@ -109,9 +181,15 @@ module DatadogAPIClient::V2
109
181
  def ==(o)
110
182
  return true if self.equal?(o)
111
183
  self.class == o.class &&
184
+ actions == o.actions &&
185
+ blocking == o.blocking &&
112
186
  description == o.description &&
187
+ disabled == o.disabled &&
113
188
  enabled == o.enabled &&
114
189
  expression == o.expression &&
190
+ monitoring == o.monitoring &&
191
+ policy_id == o.policy_id &&
192
+ product_tags == o.product_tags &&
115
193
  additional_properties == o.additional_properties
116
194
  end
117
195
 
@@ -119,7 +197,7 @@ module DatadogAPIClient::V2
119
197
  # @return [Integer] Hash code
120
198
  # @!visibility private
121
199
  def hash
122
- [description, enabled, expression, additional_properties].hash
200
+ [actions, blocking, description, disabled, enabled, expression, monitoring, policy_id, product_tags, additional_properties].hash
123
201
  end
124
202
  end
125
203
  end
@@ -17,17 +17,17 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # Object for a single Agent rule.
20
+ # Object for a single Agent rule
21
21
  class CloudWorkloadSecurityAgentRuleUpdateData
22
22
  include BaseGenericModel
23
23
 
24
- # Update an existing Cloud Workload Security Agent rule.
24
+ # Update an existing Cloud Workload Security Agent rule
25
25
  attr_reader :attributes
26
26
 
27
- # The ID of the agent rule.
27
+ # The ID of the Agent rule
28
28
  attr_accessor :id
29
29
 
30
- # The type of the resource. The value should always be `agent_rule`.
30
+ # The type of the resource, must always be `agent_rule`
31
31
  attr_reader :type
32
32
 
33
33
  attr_accessor :additional_properties
@@ -17,11 +17,11 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # Request object that includes the Agent rule with the attributes to update.
20
+ # Request object that includes the Agent rule with the attributes to update
21
21
  class CloudWorkloadSecurityAgentRuleUpdateRequest
22
22
  include BaseGenericModel
23
23
 
24
- # Object for a single Agent rule.
24
+ # Object for a single Agent rule
25
25
  attr_reader :data
26
26
 
27
27
  attr_accessor :additional_properties
@@ -17,14 +17,14 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # The attributes of the user who last updated the Agent rule.
20
+ # The attributes of the user who last updated the Agent rule
21
21
  class CloudWorkloadSecurityAgentRuleUpdaterAttributes
22
22
  include BaseGenericModel
23
23
 
24
- # The handle of the user.
24
+ # The handle of the user
25
25
  attr_accessor :handle
26
26
 
27
- # The name of the user.
27
+ # The name of the user
28
28
  attr_accessor :name
29
29
 
30
30
  attr_accessor :additional_properties
@@ -17,11 +17,11 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # Response object that includes a list of Agent rule.
20
+ # Response object that includes a list of Agent rule
21
21
  class CloudWorkloadSecurityAgentRulesListResponse
22
22
  include BaseGenericModel
23
23
 
24
- # A list of Agent rules objects.
24
+ # A list of Agent rules objects
25
25
  attr_accessor :data
26
26
 
27
27
  attr_accessor :additional_properties
@@ -0,0 +1,105 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Full request to trigger an On-Call Page.
21
+ class CreatePageRequest
22
+ include BaseGenericModel
23
+
24
+ # The main request body, including attributes and resource type.
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' => :'CreatePageRequestData'
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::CreatePageRequest` 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
+ self.data = attributes[:'data']
65
+ end
66
+ end
67
+
68
+ # Returns the object in the form of hash, with additionalProperties support.
69
+ # @return [Hash] Returns the object in the form of hash
70
+ # @!visibility private
71
+ def to_hash
72
+ hash = {}
73
+ self.class.attribute_map.each_pair do |attr, param|
74
+ value = self.send(attr)
75
+ if value.nil?
76
+ is_nullable = self.class.openapi_nullable.include?(attr)
77
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
78
+ end
79
+
80
+ hash[param] = _to_hash(value)
81
+ end
82
+ self.additional_properties.each_pair do |attr, value|
83
+ hash[attr] = value
84
+ end
85
+ hash
86
+ end
87
+
88
+ # Checks equality by comparing each attribute.
89
+ # @param o [Object] Object to be compared
90
+ # @!visibility private
91
+ def ==(o)
92
+ return true if self.equal?(o)
93
+ self.class == o.class &&
94
+ data == o.data &&
95
+ additional_properties == o.additional_properties
96
+ end
97
+
98
+ # Calculates hash code according to all attributes.
99
+ # @return [Integer] Hash code
100
+ # @!visibility private
101
+ def hash
102
+ [data, additional_properties].hash
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,133 @@
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 main request body, including attributes and resource type.
21
+ class CreatePageRequestData
22
+ include BaseGenericModel
23
+
24
+ # Details about the On-Call Page you want to create.
25
+ attr_accessor :attributes
26
+
27
+ # The type of resource used when creating an On-Call Page.
28
+ attr_reader :type
29
+
30
+ attr_accessor :additional_properties
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ # @!visibility private
34
+ def self.attribute_map
35
+ {
36
+ :'attributes' => :'attributes',
37
+ :'type' => :'type'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'attributes' => :'CreatePageRequestDataAttributes',
46
+ :'type' => :'CreatePageRequestDataType'
47
+ }
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param attributes [Hash] Model attributes in the form of hash
52
+ # @!visibility private
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::CreatePageRequestData` initialize method"
56
+ end
57
+
58
+ self.additional_properties = {}
59
+ # check to see if the attribute exists and convert string to symbol for hash key
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!self.class.attribute_map.key?(k.to_sym))
62
+ self.additional_properties[k.to_sym] = v
63
+ else
64
+ h[k.to_sym] = v
65
+ end
66
+ }
67
+
68
+ if attributes.key?(:'attributes')
69
+ self.attributes = attributes[:'attributes']
70
+ end
71
+
72
+ if attributes.key?(:'type')
73
+ self.type = attributes[:'type']
74
+ end
75
+ end
76
+
77
+ # Check to see if the all the properties in the model are valid
78
+ # @return true if the model is valid
79
+ # @!visibility private
80
+ def valid?
81
+ return false if @type.nil?
82
+ true
83
+ end
84
+
85
+ # Custom attribute writer method with validation
86
+ # @param type [Object] Object to be assigned
87
+ # @!visibility private
88
+ def type=(type)
89
+ if type.nil?
90
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
91
+ end
92
+ @type = type
93
+ end
94
+
95
+ # Returns the object in the form of hash, with additionalProperties support.
96
+ # @return [Hash] Returns the object in the form of hash
97
+ # @!visibility private
98
+ def to_hash
99
+ hash = {}
100
+ self.class.attribute_map.each_pair do |attr, param|
101
+ value = self.send(attr)
102
+ if value.nil?
103
+ is_nullable = self.class.openapi_nullable.include?(attr)
104
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
105
+ end
106
+
107
+ hash[param] = _to_hash(value)
108
+ end
109
+ self.additional_properties.each_pair do |attr, value|
110
+ hash[attr] = value
111
+ end
112
+ hash
113
+ end
114
+
115
+ # Checks equality by comparing each attribute.
116
+ # @param o [Object] Object to be compared
117
+ # @!visibility private
118
+ def ==(o)
119
+ return true if self.equal?(o)
120
+ self.class == o.class &&
121
+ attributes == o.attributes &&
122
+ type == o.type &&
123
+ additional_properties == o.additional_properties
124
+ end
125
+
126
+ # Calculates hash code according to all attributes.
127
+ # @return [Integer] Hash code
128
+ # @!visibility private
129
+ def hash
130
+ [attributes, type, additional_properties].hash
131
+ end
132
+ end
133
+ end