datadog_api_client 2.32.0 → 2.34.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 (490) 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 +23 -7
  5. data/.generator/schemas/v2/openapi.yaml +7442 -1005
  6. data/.generator/src/generator/templates/configuration.j2 +2 -2
  7. data/.github/workflows/publish.yml +22 -17
  8. data/.github/workflows/release.yml +57 -61
  9. data/.github/workflows/test.yml +1 -1
  10. data/CHANGELOG.md +36 -0
  11. data/Gemfile +2 -2
  12. data/LICENSE-3rdparty.csv +0 -1
  13. data/Rakefile +3 -0
  14. data/datadog_api_client.gemspec +0 -2
  15. data/examples/v2/cloud-cost-management/DeleteBudget.rb +5 -0
  16. data/examples/v2/cloud-cost-management/GetBudget.rb +5 -0
  17. data/examples/v2/cloud-cost-management/ListBudgets.rb +5 -0
  18. data/examples/v2/cloud-cost-management/UpsertBudget.rb +35 -0
  19. data/examples/v2/csm-threats/CreateCSMThreatsAgentPolicy.rb +21 -0
  20. data/examples/v2/csm-threats/CreateCSMThreatsAgentRule.rb +7 -4
  21. data/examples/v2/csm-threats/CreateCloudWorkloadSecurityAgentRule.rb +3 -2
  22. data/examples/v2/csm-threats/DeleteCSMThreatsAgentPolicy.rb +8 -0
  23. data/examples/v2/csm-threats/DeleteCSMThreatsAgentRule.rb +8 -2
  24. data/examples/v2/csm-threats/DeleteCloudWorkloadSecurityAgentRule.rb +1 -1
  25. data/examples/v2/csm-threats/DownloadCSMThreatsPolicy.rb +1 -1
  26. data/examples/v2/csm-threats/DownloadCloudWorkloadPolicyFile.rb +1 -1
  27. data/examples/v2/csm-threats/GetCSMThreatsAgentPolicy.rb +8 -0
  28. data/examples/v2/csm-threats/GetCSMThreatsAgentRule.rb +8 -2
  29. data/examples/v2/csm-threats/GetCloudWorkloadSecurityAgentRule.rb +1 -1
  30. data/examples/v2/csm-threats/ListCSMThreatsAgentPolicies.rb +5 -0
  31. data/examples/v2/csm-threats/ListCSMThreatsAgentRules.rb +1 -1
  32. data/examples/v2/csm-threats/ListCloudWorkloadSecurityAgentRules.rb +1 -1
  33. data/examples/v2/csm-threats/UpdateCSMThreatsAgentPolicy.rb +25 -0
  34. data/examples/v2/csm-threats/UpdateCSMThreatsAgentRule.rb +12 -4
  35. data/examples/v2/csm-threats/UpdateCloudWorkloadSecurityAgentRule.rb +3 -4
  36. data/examples/v2/dora-metrics/GetDORADeployment.rb +5 -0
  37. data/examples/v2/dora-metrics/GetDORAFailure.rb +5 -0
  38. data/examples/v2/dora-metrics/ListDORADeployments.rb +16 -0
  39. data/examples/v2/dora-metrics/ListDORAFailures.rb +16 -0
  40. data/examples/v2/monitors/CreateMonitorNotificationRule.rb +26 -0
  41. data/examples/v2/monitors/DeleteMonitorNotificationRule.rb +11 -0
  42. data/examples/v2/monitors/GetMonitorNotificationRule.rb +11 -0
  43. data/examples/v2/monitors/GetMonitorNotificationRules.rb +8 -0
  44. data/examples/v2/monitors/UpdateMonitorNotificationRule.rb +30 -0
  45. data/examples/v2/network-device-monitoring/GetInterfaces.rb +4 -1
  46. data/examples/v2/network-device-monitoring/ListDevices_2712868412.rb +5 -0
  47. data/examples/v2/observability-pipelines/CreatePipeline.rb +2 -2
  48. data/examples/v2/observability-pipelines/ListPipelines.rb +8 -0
  49. data/examples/v2/observability-pipelines/ValidatePipeline.rb +44 -0
  50. data/examples/v2/on-call/CreateOnCallEscalationPolicy.rb +68 -0
  51. data/examples/v2/on-call/CreateOnCallSchedule.rb +14 -18
  52. data/examples/v2/on-call/DeleteOnCallEscalationPolicy.rb +8 -0
  53. data/examples/v2/on-call/DeleteOnCallSchedule.rb +2 -2
  54. data/examples/v2/on-call/GetOnCallEscalationPolicy.rb +11 -0
  55. data/examples/v2/on-call/GetOnCallSchedule.rb +2 -2
  56. data/examples/v2/on-call/GetOnCallTeamRoutingRules.rb +5 -0
  57. data/examples/v2/on-call/GetScheduleOnCallUser.rb +8 -0
  58. data/examples/v2/on-call/SetOnCallTeamRoutingRules.rb +57 -0
  59. data/examples/v2/on-call/UpdateOnCallEscalationPolicy.rb +50 -0
  60. data/examples/v2/on-call/UpdateOnCallSchedule.rb +14 -19
  61. data/examples/v2/on-call-paging/AcknowledgeOnCallPage.rb +5 -0
  62. data/examples/v2/on-call-paging/CreateOnCallPage.rb +23 -0
  63. data/examples/v2/on-call-paging/EscalateOnCallPage.rb +5 -0
  64. data/examples/v2/on-call-paging/ResolveOnCallPage.rb +5 -0
  65. data/examples/v2/rum-metrics/CreateRumMetric.rb +1 -1
  66. data/examples/v2/security-monitoring/CreateCustomFramework.rb +30 -0
  67. data/examples/v2/security-monitoring/DeleteCustomFramework.rb +5 -0
  68. data/examples/v2/security-monitoring/GetCustomFramework.rb +5 -0
  69. data/examples/v2/security-monitoring/GetResourceEvaluationFilters.rb +9 -0
  70. data/examples/v2/security-monitoring/UpdateCustomFramework.rb +30 -0
  71. data/examples/v2/security-monitoring/UpdateResourceEvaluationFilters.rb +21 -0
  72. data/examples/v2/software-catalog/ListCatalogRelation.rb +5 -0
  73. data/examples/v2/software-catalog/ListCatalogRelation_1311054087.rb +8 -0
  74. data/examples/v2/workflow-automation/CreateWorkflow.rb +0 -1
  75. data/examples/v2/workflow-automation/UpdateWorkflow.rb +0 -1
  76. data/lib/datadog_api_client/configuration.rb +223 -28
  77. data/lib/datadog_api_client/inflector.rb +330 -30
  78. data/lib/datadog_api_client/v1/models/synthetics_assertion_body_hash_target.rb +2 -2
  79. data/lib/datadog_api_client/v1/models/synthetics_assertion_json_path_target_target.rb +2 -2
  80. data/lib/datadog_api_client/v1/models/synthetics_assertion_target.rb +2 -2
  81. data/lib/datadog_api_client/v1/models/synthetics_assertion_target_value.rb +63 -0
  82. data/lib/datadog_api_client/v1/models/synthetics_assertion_x_path_target_target.rb +2 -2
  83. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +257 -0
  84. data/lib/datadog_api_client/v2/api/csm_threats_api.rb +424 -52
  85. data/lib/datadog_api_client/v2/api/dora_metrics_api.rb +265 -1
  86. data/lib/datadog_api_client/v2/api/metrics_api.rb +5 -5
  87. data/lib/datadog_api_client/v2/api/monitors_api.rb +363 -0
  88. data/lib/datadog_api_client/v2/api/network_device_monitoring_api.rb +27 -3
  89. data/lib/datadog_api_client/v2/api/observability_pipelines_api.rb +146 -1
  90. data/lib/datadog_api_client/v2/api/on_call_api.rb +497 -12
  91. data/lib/datadog_api_client/v2/api/on_call_paging_api.rb +292 -0
  92. data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +5 -3
  93. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +418 -1
  94. data/lib/datadog_api_client/v2/api/software_catalog_api.rb +101 -0
  95. data/lib/datadog_api_client/v2/models/azure_storage_destination.rb +198 -0
  96. data/lib/datadog_api_client/v2/models/azure_storage_destination_type.rb +26 -0
  97. data/lib/datadog_api_client/v2/models/{schedule_create_request_data_relationships_teams_data_items.rb → budget.rb} +17 -8
  98. data/lib/datadog_api_client/v2/models/{schedule_update_request_data_relationships_teams.rb → budget_array.rb} +5 -5
  99. data/lib/datadog_api_client/v2/models/budget_attributes.rb +207 -0
  100. data/lib/datadog_api_client/v2/models/budget_entry.rb +127 -0
  101. data/lib/datadog_api_client/v2/models/budget_with_entries.rb +105 -0
  102. data/lib/datadog_api_client/v2/models/budget_with_entries_data.rb +125 -0
  103. data/lib/datadog_api_client/v2/models/{schedule_create_request_data_relationships_teams.rb → cloud_workload_security_agent_policies_list_response.rb} +5 -5
  104. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_attributes.rb +300 -0
  105. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_create_attributes.rb +167 -0
  106. data/lib/datadog_api_client/v2/models/{schedule_create_request_data_attributes_layers_items_interval.rb → cloud_workload_security_agent_policy_create_data.rb} +30 -30
  107. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_create_request.rb +123 -0
  108. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_data.rb +125 -0
  109. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_response.rb +105 -0
  110. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_type.rb +26 -0
  111. data/lib/datadog_api_client/v2/models/{schedule_update_request_data_attributes_layers_items_restrictions_items.rb → cloud_workload_security_agent_policy_update_attributes.rb} +46 -33
  112. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_update_data.rb +154 -0
  113. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_update_request.rb +123 -0
  114. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_updater_attributes.rb +123 -0
  115. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_action.rb +1 -1
  116. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_attributes.rb +31 -19
  117. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_create_attributes.rb +27 -5
  118. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_create_data.rb +2 -2
  119. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_create_request.rb +2 -2
  120. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_creator_attributes.rb +3 -3
  121. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_data.rb +4 -4
  122. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_kill.rb +1 -1
  123. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_response.rb +2 -2
  124. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_type.rb +1 -1
  125. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_update_attributes.rb +29 -7
  126. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_update_data.rb +4 -4
  127. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_update_request.rb +2 -2
  128. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_updater_attributes.rb +3 -3
  129. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rules_list_response.rb +2 -2
  130. data/lib/datadog_api_client/v2/models/{observability_pipeline_create_request.rb → create_custom_framework_request.rb} +5 -5
  131. data/lib/datadog_api_client/v2/models/create_custom_framework_response.rb +123 -0
  132. data/lib/datadog_api_client/v2/models/create_page_request.rb +105 -0
  133. data/lib/datadog_api_client/v2/models/create_page_request_data.rb +133 -0
  134. data/lib/datadog_api_client/v2/models/create_page_request_data_attributes.rb +187 -0
  135. data/lib/datadog_api_client/v2/models/create_page_request_data_attributes_target.rb +115 -0
  136. data/lib/datadog_api_client/v2/models/create_page_request_data_type.rb +26 -0
  137. data/lib/datadog_api_client/v2/models/create_page_response.rb +105 -0
  138. data/lib/datadog_api_client/v2/models/create_page_response_data.rb +133 -0
  139. data/lib/datadog_api_client/v2/models/create_page_response_data_type.rb +26 -0
  140. data/lib/datadog_api_client/v2/models/{schedule_update_request_data_attributes_layers_items_interval.rb → custom_framework_control.rb} +32 -30
  141. data/lib/datadog_api_client/v2/models/custom_framework_data.rb +144 -0
  142. data/lib/datadog_api_client/v2/models/custom_framework_data_attributes.rb +208 -0
  143. data/lib/datadog_api_client/v2/models/custom_framework_data_handle_and_version.rb +115 -0
  144. data/lib/datadog_api_client/v2/models/custom_framework_metadata.rb +125 -0
  145. data/lib/datadog_api_client/v2/models/custom_framework_requirement.rb +146 -0
  146. data/lib/datadog_api_client/v2/models/custom_framework_type.rb +26 -0
  147. data/lib/datadog_api_client/v2/models/custom_framework_without_requirements.rb +185 -0
  148. data/lib/datadog_api_client/v2/models/{schedule_data_relationships_teams.rb → data_relationships_teams.rb} +3 -3
  149. data/lib/datadog_api_client/v2/models/data_relationships_teams_data_items.rb +144 -0
  150. data/lib/datadog_api_client/v2/models/{schedule_data_relationships_teams_data_items_type.rb → data_relationships_teams_data_items_type.rb} +1 -1
  151. data/lib/datadog_api_client/v2/models/delete_custom_framework_response.rb +123 -0
  152. data/lib/datadog_api_client/v2/models/{schedule_data_relationships_teams_data_items.rb → dora_event.rb} +17 -7
  153. data/lib/datadog_api_client/v2/models/dora_fetch_response.rb +105 -0
  154. data/lib/datadog_api_client/v2/models/dora_incident_request_attributes.rb +1 -1
  155. data/lib/datadog_api_client/v2/models/dora_list_deployments_request.rb +123 -0
  156. data/lib/datadog_api_client/v2/models/dora_list_deployments_request_attributes.rb +163 -0
  157. data/lib/datadog_api_client/v2/models/dora_list_deployments_request_data.rb +133 -0
  158. data/lib/datadog_api_client/v2/models/dora_list_deployments_request_data_type.rb +26 -0
  159. data/lib/datadog_api_client/v2/models/dora_list_failures_request.rb +123 -0
  160. data/lib/datadog_api_client/v2/models/dora_list_failures_request_attributes.rb +163 -0
  161. data/lib/datadog_api_client/v2/models/dora_list_failures_request_data.rb +133 -0
  162. data/lib/datadog_api_client/v2/models/dora_list_failures_request_data_type.rb +26 -0
  163. data/lib/datadog_api_client/v2/models/{team_reference_relationships_oncall_users.rb → dora_list_response.rb} +5 -5
  164. data/lib/datadog_api_client/v2/models/entity_v3_datadog_code_location_item.rb +1 -21
  165. data/lib/datadog_api_client/v2/models/escalation_policy.rb +117 -0
  166. data/lib/datadog_api_client/v2/models/escalation_policy_create_request.rb +123 -0
  167. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data.rb +154 -0
  168. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_attributes.rb +166 -0
  169. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_attributes_steps_items.rb +145 -0
  170. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_relationships.rb +105 -0
  171. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_type.rb +26 -0
  172. data/lib/datadog_api_client/v2/models/escalation_policy_data.rb +153 -0
  173. data/lib/datadog_api_client/v2/models/escalation_policy_data_attributes.rb +143 -0
  174. data/lib/datadog_api_client/v2/models/escalation_policy_data_relationships.rb +133 -0
  175. data/lib/datadog_api_client/v2/models/escalation_policy_data_relationships_steps.rb +107 -0
  176. data/lib/datadog_api_client/v2/models/escalation_policy_data_relationships_steps_data_items.rb +144 -0
  177. data/lib/datadog_api_client/v2/models/escalation_policy_data_relationships_steps_data_items_type.rb +26 -0
  178. data/lib/datadog_api_client/v2/models/escalation_policy_data_type.rb +26 -0
  179. data/lib/datadog_api_client/v2/models/escalation_policy_included.rb +65 -0
  180. data/lib/datadog_api_client/v2/models/escalation_policy_step.rb +153 -0
  181. data/lib/datadog_api_client/v2/models/escalation_policy_step_attributes.rb +115 -0
  182. data/lib/datadog_api_client/v2/models/escalation_policy_step_attributes_assignment.rb +27 -0
  183. data/lib/datadog_api_client/v2/models/escalation_policy_step_relationships.rb +105 -0
  184. data/lib/datadog_api_client/v2/models/{schedule_update_request_data_relationships_teams_data_items.rb → escalation_policy_step_target.rb} +6 -6
  185. data/lib/datadog_api_client/v2/models/escalation_policy_step_target_type.rb +28 -0
  186. data/lib/datadog_api_client/v2/models/{schedule_create_request_data_relationships_teams_data_items_type.rb → escalation_policy_step_type.rb} +3 -3
  187. data/lib/datadog_api_client/v2/models/escalation_policy_update_request.rb +123 -0
  188. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data.rb +175 -0
  189. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_attributes.rb +166 -0
  190. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_attributes_steps_items.rb +155 -0
  191. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_relationships.rb +105 -0
  192. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_type.rb +26 -0
  193. data/lib/datadog_api_client/v2/models/escalation_policy_user.rb +143 -0
  194. data/lib/datadog_api_client/v2/models/escalation_policy_user_attributes.rb +125 -0
  195. data/lib/datadog_api_client/v2/models/{team_reference_relationships_oncall_users_data_items_type.rb → escalation_policy_user_type.rb} +1 -1
  196. data/lib/datadog_api_client/v2/models/escalation_target.rb +64 -0
  197. data/lib/datadog_api_client/v2/models/escalation_targets.rb +107 -0
  198. data/lib/datadog_api_client/v2/models/framework_handle_and_version_response_data.rb +165 -0
  199. data/lib/datadog_api_client/v2/models/full_custom_framework_data.rb +165 -0
  200. data/lib/datadog_api_client/v2/models/full_custom_framework_data_attributes.rb +198 -0
  201. data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +11 -1
  202. data/lib/datadog_api_client/v2/models/get_custom_framework_response.rb +123 -0
  203. data/lib/datadog_api_client/v2/models/get_resource_evaluation_filters_response.rb +123 -0
  204. data/lib/datadog_api_client/v2/models/get_resource_evaluation_filters_response_data.rb +125 -0
  205. data/lib/datadog_api_client/v2/models/historical_job_options.rb +2 -2
  206. data/lib/datadog_api_client/v2/models/historical_job_query.rb +1 -1
  207. data/lib/datadog_api_client/v2/models/http_integration.rb +0 -6
  208. data/lib/datadog_api_client/v2/models/http_integration_update.rb +1 -14
  209. data/lib/datadog_api_client/v2/models/incident_severity.rb +1 -0
  210. data/lib/datadog_api_client/v2/models/layer.rb +19 -1
  211. data/lib/datadog_api_client/v2/models/layer_attributes.rb +1 -1
  212. data/lib/datadog_api_client/v2/models/layer_relationships_members_data_items.rb +31 -2
  213. data/lib/datadog_api_client/v2/models/list_pipelines_response.rb +135 -0
  214. data/lib/datadog_api_client/v2/models/{schedule_update_request_data_attributes_layers_items_members_items_user.rb → list_pipelines_response_meta.rb} +11 -11
  215. data/lib/datadog_api_client/v2/models/list_relation_catalog_response.rb +139 -0
  216. data/lib/datadog_api_client/v2/models/list_relation_catalog_response_links.rb +125 -0
  217. data/lib/datadog_api_client/v2/models/metric_tag_configuration_attributes.rb +1 -16
  218. data/lib/datadog_api_client/v2/models/metric_tag_configuration_create_attributes.rb +1 -16
  219. data/lib/datadog_api_client/v2/models/metric_tag_configuration_update_attributes.rb +1 -16
  220. data/lib/datadog_api_client/v2/models/microsoft_sentinel_destination.rb +251 -0
  221. data/lib/datadog_api_client/v2/models/microsoft_sentinel_destination_type.rb +26 -0
  222. data/lib/datadog_api_client/v2/models/monitor_notification_rule_attributes.rb +147 -0
  223. data/lib/datadog_api_client/v2/models/monitor_notification_rule_create_request.rb +123 -0
  224. data/lib/datadog_api_client/v2/models/monitor_notification_rule_create_request_data.rb +133 -0
  225. data/lib/datadog_api_client/v2/models/monitor_notification_rule_data.rb +135 -0
  226. data/lib/datadog_api_client/v2/models/monitor_notification_rule_filter.rb +62 -0
  227. data/lib/datadog_api_client/v2/models/monitor_notification_rule_filter_tags.rb +108 -0
  228. data/lib/datadog_api_client/v2/models/monitor_notification_rule_list_response.rb +119 -0
  229. data/lib/datadog_api_client/v2/models/monitor_notification_rule_relationships.rb +105 -0
  230. data/lib/datadog_api_client/v2/models/monitor_notification_rule_relationships_created_by.rb +113 -0
  231. data/lib/datadog_api_client/v2/models/{team_reference_relationships_oncall_users_data_items.rb → monitor_notification_rule_relationships_created_by_data.rb} +5 -5
  232. data/lib/datadog_api_client/v2/models/monitor_notification_rule_resource_type.rb +26 -0
  233. data/lib/datadog_api_client/v2/models/monitor_notification_rule_response.rb +117 -0
  234. data/lib/datadog_api_client/v2/models/monitor_notification_rule_response_attributes.rb +184 -0
  235. data/lib/datadog_api_client/v2/models/monitor_notification_rule_response_included_item.rb +62 -0
  236. data/lib/datadog_api_client/v2/models/monitor_notification_rule_update_request.rb +123 -0
  237. data/lib/datadog_api_client/v2/models/monitor_notification_rule_update_request_data.rb +154 -0
  238. data/lib/datadog_api_client/v2/models/observability_pipeline_add_env_vars_processor.rb +211 -0
  239. data/lib/datadog_api_client/v2/models/observability_pipeline_add_env_vars_processor_type.rb +26 -0
  240. data/lib/datadog_api_client/v2/models/observability_pipeline_add_env_vars_processor_variable.rb +144 -0
  241. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_data_firehose_source.rb +166 -0
  242. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_data_firehose_source_type.rb +26 -0
  243. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_open_search_destination.rb +200 -0
  244. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_open_search_destination_auth.rb +164 -0
  245. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_open_search_destination_auth_strategy.rb +27 -0
  246. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_open_search_destination_type.rb +26 -0
  247. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_s3_destination.rb +262 -0
  248. data/lib/datadog_api_client/v2/models/{schedule_create_request_data_attributes_layers_items_restrictions_items_start_day.rb → observability_pipeline_amazon_s3_destination_storage_class.rb} +11 -9
  249. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_s3_destination_type.rb +26 -0
  250. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_s3_source.rb +188 -0
  251. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_s3_source_type.rb +26 -0
  252. data/lib/datadog_api_client/v2/models/observability_pipeline_aws_auth.rb +126 -0
  253. data/lib/datadog_api_client/v2/models/observability_pipeline_config.rb +1 -12
  254. data/lib/datadog_api_client/v2/models/observability_pipeline_config_destination_item.rb +15 -1
  255. data/lib/datadog_api_client/v2/models/observability_pipeline_config_processor_item.rb +11 -1
  256. data/lib/datadog_api_client/v2/models/observability_pipeline_config_source_item.rb +14 -1
  257. data/lib/datadog_api_client/v2/models/observability_pipeline_datadog_agent_source.rb +1 -1
  258. data/lib/datadog_api_client/v2/models/observability_pipeline_decoding.rb +29 -0
  259. data/lib/datadog_api_client/v2/models/observability_pipeline_dedupe_processor.rb +232 -0
  260. data/lib/datadog_api_client/v2/models/observability_pipeline_dedupe_processor_mode.rb +27 -0
  261. data/lib/datadog_api_client/v2/models/observability_pipeline_dedupe_processor_type.rb +26 -0
  262. data/lib/datadog_api_client/v2/models/observability_pipeline_elasticsearch_destination.rb +187 -0
  263. data/lib/datadog_api_client/v2/models/observability_pipeline_elasticsearch_destination_api_version.rb +29 -0
  264. data/lib/datadog_api_client/v2/models/observability_pipeline_elasticsearch_destination_type.rb +26 -0
  265. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_file.rb +190 -0
  266. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_file_encoding.rb +165 -0
  267. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_file_encoding_type.rb +26 -0
  268. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_file_key_items.rb +165 -0
  269. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_file_key_items_comparison.rb +26 -0
  270. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_file_schema_items.rb +144 -0
  271. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_file_schema_items_type.rb +31 -0
  272. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_geo_ip.rb +165 -0
  273. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_processor.rb +229 -0
  274. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_processor_type.rb +26 -0
  275. data/lib/datadog_api_client/v2/models/observability_pipeline_fluent_bit_source.rb +154 -0
  276. data/lib/datadog_api_client/v2/models/observability_pipeline_fluent_bit_source_type.rb +26 -0
  277. data/lib/datadog_api_client/v2/models/observability_pipeline_fluentd_source.rb +154 -0
  278. data/lib/datadog_api_client/v2/models/observability_pipeline_fluentd_source_type.rb +26 -0
  279. data/lib/datadog_api_client/v2/models/observability_pipeline_gcp_auth.rb +123 -0
  280. data/lib/datadog_api_client/v2/models/observability_pipeline_generate_metrics_processor.rb +212 -0
  281. data/lib/datadog_api_client/v2/models/observability_pipeline_generate_metrics_processor_type.rb +26 -0
  282. data/lib/datadog_api_client/v2/models/observability_pipeline_generated_metric.rb +199 -0
  283. data/lib/datadog_api_client/v2/models/observability_pipeline_generated_metric_increment_by_field.rb +144 -0
  284. data/lib/datadog_api_client/v2/models/observability_pipeline_generated_metric_increment_by_field_strategy.rb +26 -0
  285. data/lib/datadog_api_client/v2/models/observability_pipeline_generated_metric_increment_by_one.rb +123 -0
  286. data/lib/datadog_api_client/v2/models/observability_pipeline_generated_metric_increment_by_one_strategy.rb +26 -0
  287. data/lib/datadog_api_client/v2/models/observability_pipeline_generated_metric_metric_type.rb +28 -0
  288. data/lib/datadog_api_client/v2/models/observability_pipeline_google_chronicle_destination.rb +230 -0
  289. data/lib/datadog_api_client/v2/models/observability_pipeline_google_chronicle_destination_encoding.rb +27 -0
  290. data/lib/datadog_api_client/v2/models/observability_pipeline_google_chronicle_destination_type.rb +26 -0
  291. data/lib/datadog_api_client/v2/models/observability_pipeline_google_cloud_storage_destination.rb +275 -0
  292. data/lib/datadog_api_client/v2/models/{schedule_create_request_data_attributes_layers_items_restrictions_items_end_day.rb → observability_pipeline_google_cloud_storage_destination_acl.rb} +8 -9
  293. data/lib/datadog_api_client/v2/models/observability_pipeline_google_cloud_storage_destination_storage_class.rb +29 -0
  294. data/lib/datadog_api_client/v2/models/observability_pipeline_google_cloud_storage_destination_type.rb +26 -0
  295. data/lib/datadog_api_client/v2/models/observability_pipeline_google_pub_sub_source.rb +239 -0
  296. data/lib/datadog_api_client/v2/models/observability_pipeline_google_pub_sub_source_type.rb +26 -0
  297. data/lib/datadog_api_client/v2/models/observability_pipeline_http_client_source.rb +205 -0
  298. data/lib/datadog_api_client/v2/models/observability_pipeline_http_client_source_auth_strategy.rb +27 -0
  299. data/lib/datadog_api_client/v2/models/observability_pipeline_http_client_source_type.rb +26 -0
  300. data/lib/datadog_api_client/v2/models/observability_pipeline_http_server_source.rb +196 -0
  301. data/lib/datadog_api_client/v2/models/observability_pipeline_http_server_source_auth_strategy.rb +27 -0
  302. data/lib/datadog_api_client/v2/models/observability_pipeline_http_server_source_type.rb +26 -0
  303. data/lib/datadog_api_client/v2/models/observability_pipeline_kafka_source.rb +1 -1
  304. data/lib/datadog_api_client/v2/models/observability_pipeline_logstash_source.rb +154 -0
  305. data/lib/datadog_api_client/v2/models/observability_pipeline_logstash_source_type.rb +26 -0
  306. data/lib/datadog_api_client/v2/models/observability_pipeline_metadata_entry.rb +144 -0
  307. data/lib/datadog_api_client/v2/models/observability_pipeline_metric_value.rb +63 -0
  308. data/lib/datadog_api_client/v2/models/observability_pipeline_new_relic_destination.rb +188 -0
  309. data/lib/datadog_api_client/v2/models/observability_pipeline_new_relic_destination_region.rb +27 -0
  310. data/lib/datadog_api_client/v2/models/observability_pipeline_new_relic_destination_type.rb +26 -0
  311. data/lib/datadog_api_client/v2/models/observability_pipeline_ocsf_mapper_processor.rb +211 -0
  312. data/lib/datadog_api_client/v2/models/observability_pipeline_ocsf_mapper_processor_mapping.rb +144 -0
  313. data/lib/datadog_api_client/v2/models/observability_pipeline_ocsf_mapper_processor_mapping_mapping.rb +62 -0
  314. data/lib/datadog_api_client/v2/models/observability_pipeline_ocsf_mapper_processor_type.rb +26 -0
  315. data/lib/datadog_api_client/v2/models/observability_pipeline_ocsf_mapping_library.rb +36 -0
  316. data/lib/datadog_api_client/v2/models/observability_pipeline_open_search_destination.rb +177 -0
  317. data/lib/datadog_api_client/v2/models/observability_pipeline_open_search_destination_type.rb +26 -0
  318. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor.rb +221 -0
  319. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor_rule.rb +173 -0
  320. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor_rule_match_rule.rb +145 -0
  321. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor_rule_support_rule.rb +144 -0
  322. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor_type.rb +26 -0
  323. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor.rb +16 -2
  324. data/lib/datadog_api_client/v2/models/{layer_attributes_restrictions_items_start_day.rb → observability_pipeline_quota_processor_overflow_action.rb} +8 -9
  325. data/lib/datadog_api_client/v2/models/observability_pipeline_reduce_processor.rb +234 -0
  326. data/lib/datadog_api_client/v2/models/observability_pipeline_reduce_processor_merge_strategy.rb +144 -0
  327. data/lib/datadog_api_client/v2/models/observability_pipeline_reduce_processor_merge_strategy_strategy.rb +37 -0
  328. data/lib/datadog_api_client/v2/models/observability_pipeline_reduce_processor_type.rb +26 -0
  329. data/lib/datadog_api_client/v2/models/observability_pipeline_rsyslog_destination.rb +198 -0
  330. data/lib/datadog_api_client/v2/models/observability_pipeline_rsyslog_destination_type.rb +26 -0
  331. data/lib/datadog_api_client/v2/models/observability_pipeline_rsyslog_source.rb +175 -0
  332. data/lib/datadog_api_client/v2/models/observability_pipeline_rsyslog_source_type.rb +26 -0
  333. data/lib/datadog_api_client/v2/models/observability_pipeline_sample_processor.rb +219 -0
  334. data/lib/datadog_api_client/v2/models/observability_pipeline_sample_processor_type.rb +26 -0
  335. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor.rb +211 -0
  336. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action.rb +64 -0
  337. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_hash.rb +133 -0
  338. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_hash_action.rb +26 -0
  339. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_partial_redact.rb +144 -0
  340. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_partial_redact_action.rb +26 -0
  341. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_partial_redact_options.rb +144 -0
  342. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_partial_redact_options_direction.rb +27 -0
  343. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_redact.rb +144 -0
  344. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_redact_action.rb +26 -0
  345. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_redact_options.rb +123 -0
  346. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_custom_pattern.rb +144 -0
  347. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_custom_pattern_options.rb +123 -0
  348. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_custom_pattern_type.rb +26 -0
  349. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_keyword_options.rb +146 -0
  350. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_library_pattern.rb +144 -0
  351. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_library_pattern_options.rb +133 -0
  352. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_library_pattern_type.rb +26 -0
  353. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_pattern.rb +63 -0
  354. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_rule.rb +219 -0
  355. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_scope.rb +64 -0
  356. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_scope_all.rb +123 -0
  357. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_scope_all_target.rb +26 -0
  358. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_scope_exclude.rb +144 -0
  359. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_scope_exclude_target.rb +26 -0
  360. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_scope_include.rb +144 -0
  361. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_scope_include_target.rb +26 -0
  362. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_scope_options.rb +125 -0
  363. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_type.rb +26 -0
  364. data/lib/datadog_api_client/v2/models/observability_pipeline_sentinel_one_destination.rb +188 -0
  365. data/lib/datadog_api_client/v2/models/observability_pipeline_sentinel_one_destination_region.rb +29 -0
  366. data/lib/datadog_api_client/v2/models/observability_pipeline_sentinel_one_destination_type.rb +26 -0
  367. data/lib/datadog_api_client/v2/models/observability_pipeline_spec.rb +123 -0
  368. data/lib/datadog_api_client/v2/models/{observability_pipeline_create_request_data.rb → observability_pipeline_spec_data.rb} +3 -3
  369. data/lib/datadog_api_client/v2/models/observability_pipeline_splunk_hec_destination.rb +209 -0
  370. data/lib/datadog_api_client/v2/models/observability_pipeline_splunk_hec_destination_encoding.rb +27 -0
  371. data/lib/datadog_api_client/v2/models/observability_pipeline_splunk_hec_destination_type.rb +26 -0
  372. data/lib/datadog_api_client/v2/models/observability_pipeline_splunk_hec_source.rb +154 -0
  373. data/lib/datadog_api_client/v2/models/observability_pipeline_splunk_hec_source_type.rb +26 -0
  374. data/lib/datadog_api_client/v2/models/observability_pipeline_splunk_tcp_source.rb +155 -0
  375. data/lib/datadog_api_client/v2/models/observability_pipeline_splunk_tcp_source_type.rb +26 -0
  376. data/lib/datadog_api_client/v2/models/observability_pipeline_sumo_logic_destination.rb +219 -0
  377. data/lib/datadog_api_client/v2/models/observability_pipeline_sumo_logic_destination_encoding.rb +28 -0
  378. data/lib/datadog_api_client/v2/models/observability_pipeline_sumo_logic_destination_header_custom_fields_item.rb +144 -0
  379. data/lib/datadog_api_client/v2/models/observability_pipeline_sumo_logic_destination_type.rb +26 -0
  380. data/lib/datadog_api_client/v2/models/observability_pipeline_sumo_logic_source.rb +144 -0
  381. data/lib/datadog_api_client/v2/models/observability_pipeline_sumo_logic_source_type.rb +26 -0
  382. data/lib/datadog_api_client/v2/models/observability_pipeline_syslog_ng_destination.rb +198 -0
  383. data/lib/datadog_api_client/v2/models/observability_pipeline_syslog_ng_destination_type.rb +26 -0
  384. data/lib/datadog_api_client/v2/models/observability_pipeline_syslog_ng_source.rb +175 -0
  385. data/lib/datadog_api_client/v2/models/observability_pipeline_syslog_ng_source_type.rb +26 -0
  386. data/lib/datadog_api_client/v2/models/observability_pipeline_syslog_source_mode.rb +27 -0
  387. data/lib/datadog_api_client/v2/models/observability_pipeline_throttle_processor.rb +242 -0
  388. data/lib/datadog_api_client/v2/models/observability_pipeline_throttle_processor_type.rb +26 -0
  389. data/lib/datadog_api_client/v2/models/observability_pipeline_tls.rb +1 -1
  390. data/lib/datadog_api_client/v2/models/on_call_page_target_type.rb +28 -0
  391. data/lib/datadog_api_client/v2/models/page_urgency.rb +27 -0
  392. data/lib/datadog_api_client/v2/models/relation_attributes.rb +125 -0
  393. data/lib/datadog_api_client/v2/models/relation_entity.rb +125 -0
  394. data/lib/datadog_api_client/v2/models/relation_include_type.rb +27 -0
  395. data/lib/datadog_api_client/v2/models/relation_meta.rb +135 -0
  396. data/lib/datadog_api_client/v2/models/relation_relationships.rb +115 -0
  397. data/lib/datadog_api_client/v2/models/relation_response.rb +155 -0
  398. data/lib/datadog_api_client/v2/models/relation_response_meta.rb +115 -0
  399. data/lib/datadog_api_client/v2/models/relation_response_type.rb +26 -0
  400. data/lib/datadog_api_client/v2/models/relation_to_entity.rb +115 -0
  401. data/lib/datadog_api_client/v2/models/resource_filter_attributes.rb +133 -0
  402. data/lib/datadog_api_client/v2/models/resource_filter_request_type.rb +26 -0
  403. data/lib/datadog_api_client/v2/models/routing_rule.rb +153 -0
  404. data/lib/datadog_api_client/v2/models/routing_rule_action.rb +63 -0
  405. data/lib/datadog_api_client/v2/models/routing_rule_attributes.rb +137 -0
  406. data/lib/datadog_api_client/v2/models/routing_rule_relationships.rb +105 -0
  407. data/lib/datadog_api_client/v2/models/routing_rule_relationships_policy.rb +105 -0
  408. data/lib/datadog_api_client/v2/models/routing_rule_relationships_policy_data.rb +144 -0
  409. data/lib/datadog_api_client/v2/models/routing_rule_relationships_policy_data_type.rb +26 -0
  410. data/lib/datadog_api_client/v2/models/routing_rule_type.rb +26 -0
  411. data/lib/datadog_api_client/v2/models/schedule_create_request_data.rb +1 -1
  412. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes.rb +3 -15
  413. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items.rb +4 -4
  414. data/lib/datadog_api_client/v2/models/schedule_create_request_data_relationships.rb +2 -2
  415. data/lib/datadog_api_client/v2/models/schedule_data.rb +20 -2
  416. data/lib/datadog_api_client/v2/models/schedule_data_attributes.rb +2 -14
  417. data/lib/datadog_api_client/v2/models/schedule_data_relationships.rb +1 -1
  418. data/lib/datadog_api_client/v2/models/schedule_data_relationships_layers_data_items.rb +31 -2
  419. data/lib/datadog_api_client/v2/models/schedule_member.rb +19 -1
  420. data/lib/datadog_api_client/v2/models/schedule_member_relationships_user.rb +19 -1
  421. data/lib/datadog_api_client/v2/models/schedule_member_relationships_user_data.rb +31 -2
  422. 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
  423. 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
  424. data/lib/datadog_api_client/v2/models/schedule_target.rb +144 -0
  425. data/lib/datadog_api_client/v2/models/schedule_target_type.rb +26 -0
  426. data/lib/datadog_api_client/v2/models/schedule_update_request.rb +1 -1
  427. data/lib/datadog_api_client/v2/models/schedule_update_request_data.rb +2 -2
  428. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes.rb +2 -14
  429. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items.rb +72 -10
  430. data/lib/datadog_api_client/v2/models/schedule_update_request_data_relationships.rb +2 -2
  431. data/lib/datadog_api_client/v2/models/schedule_user.rb +19 -1
  432. data/lib/datadog_api_client/v2/models/schedule_user_attributes.rb +13 -3
  433. data/lib/datadog_api_client/v2/models/security_monitoring_rule_keep_alive.rb +1 -1
  434. data/lib/datadog_api_client/v2/models/security_monitoring_rule_max_signal_duration.rb +1 -1
  435. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +2 -2
  436. data/lib/datadog_api_client/v2/models/security_monitoring_standard_data_source.rb +2 -1
  437. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_query.rb +1 -1
  438. data/lib/datadog_api_client/v2/models/send_slack_message_action.rb +165 -0
  439. data/lib/datadog_api_client/v2/models/send_slack_message_action_type.rb +26 -0
  440. data/lib/datadog_api_client/v2/models/send_teams_message_action.rb +186 -0
  441. data/lib/datadog_api_client/v2/models/send_teams_message_action_type.rb +26 -0
  442. data/lib/datadog_api_client/v2/models/shift.rb +117 -0
  443. data/lib/datadog_api_client/v2/models/shift_data.rb +153 -0
  444. data/lib/datadog_api_client/v2/models/shift_data_attributes.rb +115 -0
  445. data/lib/datadog_api_client/v2/models/{schedule_update_request_data_attributes_layers_items_members_items.rb → shift_data_relationships.rb} +5 -6
  446. data/lib/datadog_api_client/v2/models/shift_data_relationships_user.rb +123 -0
  447. data/lib/datadog_api_client/v2/models/shift_data_relationships_user_data.rb +144 -0
  448. data/lib/datadog_api_client/v2/models/shift_data_relationships_user_data_type.rb +26 -0
  449. data/lib/datadog_api_client/v2/models/shift_data_type.rb +26 -0
  450. data/lib/datadog_api_client/v2/models/shift_included.rb +62 -0
  451. data/lib/datadog_api_client/v2/models/tag_filter.rb +115 -0
  452. data/lib/datadog_api_client/v2/models/team_reference.rb +20 -12
  453. data/lib/datadog_api_client/v2/models/team_routing_rules.rb +117 -0
  454. data/lib/datadog_api_client/v2/models/team_routing_rules_data.rb +143 -0
  455. data/lib/datadog_api_client/v2/models/team_routing_rules_data_relationships.rb +105 -0
  456. data/lib/datadog_api_client/v2/models/team_routing_rules_data_relationships_rules.rb +107 -0
  457. data/lib/datadog_api_client/v2/models/team_routing_rules_data_relationships_rules_data_items.rb +144 -0
  458. data/lib/datadog_api_client/v2/models/team_routing_rules_data_relationships_rules_data_items_type.rb +26 -0
  459. data/lib/datadog_api_client/v2/models/team_routing_rules_data_type.rb +26 -0
  460. data/lib/datadog_api_client/v2/models/team_routing_rules_included.rb +62 -0
  461. data/lib/datadog_api_client/v2/models/team_routing_rules_request.rb +105 -0
  462. data/lib/datadog_api_client/v2/models/team_routing_rules_request_data.rb +143 -0
  463. data/lib/datadog_api_client/v2/models/team_routing_rules_request_data_attributes.rb +107 -0
  464. data/lib/datadog_api_client/v2/models/team_routing_rules_request_data_type.rb +26 -0
  465. data/lib/datadog_api_client/v2/models/{schedule_create_request_data_attributes_layers_items_restrictions_items.rb → team_routing_rules_request_rule.rb} +44 -33
  466. data/lib/datadog_api_client/v2/models/team_target.rb +144 -0
  467. data/lib/datadog_api_client/v2/models/{schedule_update_request_data_relationships_teams_data_items_type.rb → team_target_type.rb} +2 -2
  468. data/lib/datadog_api_client/v2/models/{layer_attributes_restrictions_items.rb → time_restriction.rb} +9 -10
  469. data/lib/datadog_api_client/v2/models/time_restrictions.rb +146 -0
  470. data/lib/datadog_api_client/v2/models/update_custom_framework_request.rb +123 -0
  471. data/lib/datadog_api_client/v2/models/update_custom_framework_response.rb +123 -0
  472. data/lib/datadog_api_client/v2/models/update_resource_evaluation_filters_request.rb +123 -0
  473. data/lib/datadog_api_client/v2/models/update_resource_evaluation_filters_request_data.rb +154 -0
  474. data/lib/datadog_api_client/v2/models/update_resource_evaluation_filters_response.rb +123 -0
  475. data/lib/datadog_api_client/v2/models/update_resource_evaluation_filters_response_data.rb +154 -0
  476. data/lib/datadog_api_client/v2/models/urgency.rb +28 -0
  477. data/lib/datadog_api_client/v2/models/user_attributes_status.rb +28 -0
  478. data/lib/datadog_api_client/v2/models/user_target.rb +144 -0
  479. data/lib/datadog_api_client/v2/models/user_target_type.rb +26 -0
  480. data/lib/datadog_api_client/v2/models/validation_error.rb +144 -0
  481. data/lib/datadog_api_client/v2/models/validation_error_meta.rb +143 -0
  482. data/lib/datadog_api_client/v2/models/validation_response.rb +107 -0
  483. data/lib/datadog_api_client/v2/models/{layer_attributes_restrictions_items_end_day.rb → weekday.rb} +2 -2
  484. data/lib/datadog_api_client/version.rb +1 -1
  485. metadata +373 -58
  486. data/.github/workflows/prepare_release.yml +0 -112
  487. data/RELEASING.md +0 -43
  488. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_restrictions_items_end_day.rb +0 -32
  489. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_restrictions_items_start_day.rb +0 -32
  490. data/lib/datadog_api_client/v2/models/team_reference_relationships.rb +0 -105
@@ -0,0 +1,153 @@
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
+ # Represents a routing rule, including its attributes, relationships, and unique identifier.
21
+ class RoutingRule
22
+ include BaseGenericModel
23
+
24
+ # Defines the configurable attributes of a routing rule, such as actions, query, time restriction, and urgency.
25
+ attr_accessor :attributes
26
+
27
+ # Specifies the unique identifier of this routing rule.
28
+ attr_accessor :id
29
+
30
+ # Specifies relationships for a routing rule, linking to associated policy resources.
31
+ attr_accessor :relationships
32
+
33
+ # Team routing rules resource type.
34
+ attr_reader :type
35
+
36
+ attr_accessor :additional_properties
37
+
38
+ # Attribute mapping from ruby-style variable name to JSON key.
39
+ # @!visibility private
40
+ def self.attribute_map
41
+ {
42
+ :'attributes' => :'attributes',
43
+ :'id' => :'id',
44
+ :'relationships' => :'relationships',
45
+ :'type' => :'type'
46
+ }
47
+ end
48
+
49
+ # Attribute type mapping.
50
+ # @!visibility private
51
+ def self.openapi_types
52
+ {
53
+ :'attributes' => :'RoutingRuleAttributes',
54
+ :'id' => :'String',
55
+ :'relationships' => :'RoutingRuleRelationships',
56
+ :'type' => :'RoutingRuleType'
57
+ }
58
+ end
59
+
60
+ # Initializes the object
61
+ # @param attributes [Hash] Model attributes in the form of hash
62
+ # @!visibility private
63
+ def initialize(attributes = {})
64
+ if (!attributes.is_a?(Hash))
65
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RoutingRule` initialize method"
66
+ end
67
+
68
+ self.additional_properties = {}
69
+ # check to see if the attribute exists and convert string to symbol for hash key
70
+ attributes = attributes.each_with_object({}) { |(k, v), h|
71
+ if (!self.class.attribute_map.key?(k.to_sym))
72
+ self.additional_properties[k.to_sym] = v
73
+ else
74
+ h[k.to_sym] = v
75
+ end
76
+ }
77
+
78
+ if attributes.key?(:'attributes')
79
+ self.attributes = attributes[:'attributes']
80
+ end
81
+
82
+ if attributes.key?(:'id')
83
+ self.id = attributes[:'id']
84
+ end
85
+
86
+ if attributes.key?(:'relationships')
87
+ self.relationships = attributes[:'relationships']
88
+ end
89
+
90
+ if attributes.key?(:'type')
91
+ self.type = attributes[:'type']
92
+ end
93
+ end
94
+
95
+ # Check to see if the all the properties in the model are valid
96
+ # @return true if the model is valid
97
+ # @!visibility private
98
+ def valid?
99
+ return false if @type.nil?
100
+ true
101
+ end
102
+
103
+ # Custom attribute writer method with validation
104
+ # @param type [Object] Object to be assigned
105
+ # @!visibility private
106
+ def type=(type)
107
+ if type.nil?
108
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
109
+ end
110
+ @type = type
111
+ end
112
+
113
+ # Returns the object in the form of hash, with additionalProperties support.
114
+ # @return [Hash] Returns the object in the form of hash
115
+ # @!visibility private
116
+ def to_hash
117
+ hash = {}
118
+ self.class.attribute_map.each_pair do |attr, param|
119
+ value = self.send(attr)
120
+ if value.nil?
121
+ is_nullable = self.class.openapi_nullable.include?(attr)
122
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
123
+ end
124
+
125
+ hash[param] = _to_hash(value)
126
+ end
127
+ self.additional_properties.each_pair do |attr, value|
128
+ hash[attr] = value
129
+ end
130
+ hash
131
+ end
132
+
133
+ # Checks equality by comparing each attribute.
134
+ # @param o [Object] Object to be compared
135
+ # @!visibility private
136
+ def ==(o)
137
+ return true if self.equal?(o)
138
+ self.class == o.class &&
139
+ attributes == o.attributes &&
140
+ id == o.id &&
141
+ relationships == o.relationships &&
142
+ type == o.type &&
143
+ additional_properties == o.additional_properties
144
+ end
145
+
146
+ # Calculates hash code according to all attributes.
147
+ # @return [Integer] Hash code
148
+ # @!visibility private
149
+ def hash
150
+ [attributes, id, relationships, type, additional_properties].hash
151
+ end
152
+ end
153
+ end
@@ -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
+ # Defines an action that is executed when a routing rule matches certain criteria.
21
+ module RoutingRuleAction
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
+ :'SendSlackMessageAction',
30
+ :'SendTeamsMessageAction'
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,137 @@
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
+ # Defines the configurable attributes of a routing rule, such as actions, query, time restriction, and urgency.
21
+ class RoutingRuleAttributes
22
+ include BaseGenericModel
23
+
24
+ # Specifies the list of actions to perform when the routing rule matches.
25
+ attr_accessor :actions
26
+
27
+ # Defines the query or condition that triggers this routing rule.
28
+ attr_accessor :query
29
+
30
+ # Holds time zone information and a list of time restrictions for a routing rule.
31
+ attr_accessor :time_restriction
32
+
33
+ # Specifies the level of urgency for a routing rule (low, high, or dynamic).
34
+ attr_accessor :urgency
35
+
36
+ attr_accessor :additional_properties
37
+
38
+ # Attribute mapping from ruby-style variable name to JSON key.
39
+ # @!visibility private
40
+ def self.attribute_map
41
+ {
42
+ :'actions' => :'actions',
43
+ :'query' => :'query',
44
+ :'time_restriction' => :'time_restriction',
45
+ :'urgency' => :'urgency'
46
+ }
47
+ end
48
+
49
+ # Attribute type mapping.
50
+ # @!visibility private
51
+ def self.openapi_types
52
+ {
53
+ :'actions' => :'Array<RoutingRuleAction>',
54
+ :'query' => :'String',
55
+ :'time_restriction' => :'TimeRestrictions',
56
+ :'urgency' => :'Urgency'
57
+ }
58
+ end
59
+
60
+ # Initializes the object
61
+ # @param attributes [Hash] Model attributes in the form of hash
62
+ # @!visibility private
63
+ def initialize(attributes = {})
64
+ if (!attributes.is_a?(Hash))
65
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RoutingRuleAttributes` initialize method"
66
+ end
67
+
68
+ self.additional_properties = {}
69
+ # check to see if the attribute exists and convert string to symbol for hash key
70
+ attributes = attributes.each_with_object({}) { |(k, v), h|
71
+ if (!self.class.attribute_map.key?(k.to_sym))
72
+ self.additional_properties[k.to_sym] = v
73
+ else
74
+ h[k.to_sym] = v
75
+ end
76
+ }
77
+
78
+ if attributes.key?(:'actions')
79
+ if (value = attributes[:'actions']).is_a?(Array)
80
+ self.actions = value
81
+ end
82
+ end
83
+
84
+ if attributes.key?(:'query')
85
+ self.query = attributes[:'query']
86
+ end
87
+
88
+ if attributes.key?(:'time_restriction')
89
+ self.time_restriction = attributes[:'time_restriction']
90
+ end
91
+
92
+ if attributes.key?(:'urgency')
93
+ self.urgency = attributes[:'urgency']
94
+ end
95
+ end
96
+
97
+ # Returns the object in the form of hash, with additionalProperties support.
98
+ # @return [Hash] Returns the object in the form of hash
99
+ # @!visibility private
100
+ def to_hash
101
+ hash = {}
102
+ self.class.attribute_map.each_pair do |attr, param|
103
+ value = self.send(attr)
104
+ if value.nil?
105
+ is_nullable = self.class.openapi_nullable.include?(attr)
106
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
107
+ end
108
+
109
+ hash[param] = _to_hash(value)
110
+ end
111
+ self.additional_properties.each_pair do |attr, value|
112
+ hash[attr] = value
113
+ end
114
+ hash
115
+ end
116
+
117
+ # Checks equality by comparing each attribute.
118
+ # @param o [Object] Object to be compared
119
+ # @!visibility private
120
+ def ==(o)
121
+ return true if self.equal?(o)
122
+ self.class == o.class &&
123
+ actions == o.actions &&
124
+ query == o.query &&
125
+ time_restriction == o.time_restriction &&
126
+ urgency == o.urgency &&
127
+ additional_properties == o.additional_properties
128
+ end
129
+
130
+ # Calculates hash code according to all attributes.
131
+ # @return [Integer] Hash code
132
+ # @!visibility private
133
+ def hash
134
+ [actions, query, time_restriction, urgency, additional_properties].hash
135
+ end
136
+ end
137
+ end
@@ -0,0 +1,105 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Specifies relationships for a routing rule, linking to associated policy resources.
21
+ class RoutingRuleRelationships
22
+ include BaseGenericModel
23
+
24
+ # Defines the relationship that links a routing rule to a policy.
25
+ attr_accessor :policy
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
+ :'policy' => :'policy'
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ # @!visibility private
39
+ def self.openapi_types
40
+ {
41
+ :'policy' => :'RoutingRuleRelationshipsPolicy'
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::RoutingRuleRelationships` 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?(:'policy')
64
+ self.policy = attributes[:'policy']
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
+ policy == o.policy &&
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
+ [policy, additional_properties].hash
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,105 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Defines the relationship that links a routing rule to a policy.
21
+ class RoutingRuleRelationshipsPolicy
22
+ include BaseGenericModel
23
+
24
+ # Represents the policy data reference, containing the policy's ID 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' => :'RoutingRuleRelationshipsPolicyData'
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::RoutingRuleRelationshipsPolicy` 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,144 @@
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
+ # Represents the policy data reference, containing the policy's ID and resource type.
21
+ class RoutingRuleRelationshipsPolicyData
22
+ include BaseGenericModel
23
+
24
+ # Specifies the unique identifier of the policy.
25
+ attr_reader :id
26
+
27
+ # Indicates that the resource is of type 'policies'.
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
+ :'id' => :'id',
37
+ :'type' => :'type'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'id' => :'String',
46
+ :'type' => :'RoutingRuleRelationshipsPolicyDataType'
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::RoutingRuleRelationshipsPolicyData` 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?(:'id')
69
+ self.id = attributes[:'id']
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 @id.nil?
82
+ return false if @type.nil?
83
+ true
84
+ end
85
+
86
+ # Custom attribute writer method with validation
87
+ # @param id [Object] Object to be assigned
88
+ # @!visibility private
89
+ def id=(id)
90
+ if id.nil?
91
+ fail ArgumentError, 'invalid value for "id", id cannot be nil.'
92
+ end
93
+ @id = id
94
+ end
95
+
96
+ # Custom attribute writer method with validation
97
+ # @param type [Object] Object to be assigned
98
+ # @!visibility private
99
+ def type=(type)
100
+ if type.nil?
101
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
102
+ end
103
+ @type = type
104
+ end
105
+
106
+ # Returns the object in the form of hash, with additionalProperties support.
107
+ # @return [Hash] Returns the object in the form of hash
108
+ # @!visibility private
109
+ def to_hash
110
+ hash = {}
111
+ self.class.attribute_map.each_pair do |attr, param|
112
+ value = self.send(attr)
113
+ if value.nil?
114
+ is_nullable = self.class.openapi_nullable.include?(attr)
115
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
116
+ end
117
+
118
+ hash[param] = _to_hash(value)
119
+ end
120
+ self.additional_properties.each_pair do |attr, value|
121
+ hash[attr] = value
122
+ end
123
+ hash
124
+ end
125
+
126
+ # Checks equality by comparing each attribute.
127
+ # @param o [Object] Object to be compared
128
+ # @!visibility private
129
+ def ==(o)
130
+ return true if self.equal?(o)
131
+ self.class == o.class &&
132
+ id == o.id &&
133
+ type == o.type &&
134
+ additional_properties == o.additional_properties
135
+ end
136
+
137
+ # Calculates hash code according to all attributes.
138
+ # @return [Integer] Hash code
139
+ # @!visibility private
140
+ def hash
141
+ [id, type, additional_properties].hash
142
+ end
143
+ end
144
+ end