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,147 @@
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
+ # Attributes of the monitor notification rule.
21
+ class MonitorNotificationRuleAttributes
22
+ include BaseGenericModel
23
+
24
+ # Filter used to associate the notification rule with monitors.
25
+ attr_accessor :filter
26
+
27
+ # The name of the monitor notification rule.
28
+ attr_reader :name
29
+
30
+ # A list of recipients to notify. Uses the same format as the monitor `message` field. Must not start with an '@'.
31
+ attr_reader :recipients
32
+
33
+ # Attribute mapping from ruby-style variable name to JSON key.
34
+ # @!visibility private
35
+ def self.attribute_map
36
+ {
37
+ :'filter' => :'filter',
38
+ :'name' => :'name',
39
+ :'recipients' => :'recipients'
40
+ }
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ # @!visibility private
45
+ def self.openapi_types
46
+ {
47
+ :'filter' => :'MonitorNotificationRuleFilter',
48
+ :'name' => :'String',
49
+ :'recipients' => :'Array<String>'
50
+ }
51
+ end
52
+
53
+ # Initializes the object
54
+ # @param attributes [Hash] Model attributes in the form of hash
55
+ # @!visibility private
56
+ def initialize(attributes = {})
57
+ if (!attributes.is_a?(Hash))
58
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::MonitorNotificationRuleAttributes` initialize method"
59
+ end
60
+
61
+ # check to see if the attribute exists and convert string to symbol for hash key
62
+ attributes = attributes.each_with_object({}) { |(k, v), h|
63
+ if (!self.class.attribute_map.key?(k.to_sym))
64
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::MonitorNotificationRuleAttributes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
65
+ end
66
+ h[k.to_sym] = v
67
+ }
68
+
69
+ if attributes.key?(:'filter')
70
+ self.filter = attributes[:'filter']
71
+ end
72
+
73
+ if attributes.key?(:'name')
74
+ self.name = attributes[:'name']
75
+ end
76
+
77
+ if attributes.key?(:'recipients')
78
+ if (value = attributes[:'recipients']).is_a?(Array)
79
+ self.recipients = value
80
+ end
81
+ end
82
+ end
83
+
84
+ # Check to see if the all the properties in the model are valid
85
+ # @return true if the model is valid
86
+ # @!visibility private
87
+ def valid?
88
+ return false if @name.nil?
89
+ return false if @name.to_s.length > 1000
90
+ return false if @name.to_s.length < 1
91
+ return false if @recipients.nil?
92
+ return false if @recipients.length > 20
93
+ return false if @recipients.length < 1
94
+ true
95
+ end
96
+
97
+ # Custom attribute writer method with validation
98
+ # @param name [Object] Object to be assigned
99
+ # @!visibility private
100
+ def name=(name)
101
+ if name.nil?
102
+ fail ArgumentError, 'invalid value for "name", name cannot be nil.'
103
+ end
104
+ if name.to_s.length > 1000
105
+ fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 1000.'
106
+ end
107
+ if name.to_s.length < 1
108
+ fail ArgumentError, 'invalid value for "name", the character length must be great than or equal to 1.'
109
+ end
110
+ @name = name
111
+ end
112
+
113
+ # Custom attribute writer method with validation
114
+ # @param recipients [Object] Object to be assigned
115
+ # @!visibility private
116
+ def recipients=(recipients)
117
+ if recipients.nil?
118
+ fail ArgumentError, 'invalid value for "recipients", recipients cannot be nil.'
119
+ end
120
+ if recipients.length > 20
121
+ fail ArgumentError, 'invalid value for "recipients", number of items must be less than or equal to 20.'
122
+ end
123
+ if recipients.length < 1
124
+ fail ArgumentError, 'invalid value for "recipients", number of items must be greater than or equal to 1.'
125
+ end
126
+ @recipients = recipients
127
+ end
128
+
129
+ # Checks equality by comparing each attribute.
130
+ # @param o [Object] Object to be compared
131
+ # @!visibility private
132
+ def ==(o)
133
+ return true if self.equal?(o)
134
+ self.class == o.class &&
135
+ filter == o.filter &&
136
+ name == o.name &&
137
+ recipients == o.recipients
138
+ end
139
+
140
+ # Calculates hash code according to all attributes.
141
+ # @return [Integer] Hash code
142
+ # @!visibility private
143
+ def hash
144
+ [filter, name, recipients].hash
145
+ end
146
+ end
147
+ end
@@ -0,0 +1,123 @@
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
+ # Request for creating a monitor notification rule.
21
+ class MonitorNotificationRuleCreateRequest
22
+ include BaseGenericModel
23
+
24
+ # Object to create a monitor notification rule.
25
+ attr_reader :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' => :'MonitorNotificationRuleCreateRequestData'
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::MonitorNotificationRuleCreateRequest` 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
+ # Check to see if the all the properties in the model are valid
69
+ # @return true if the model is valid
70
+ # @!visibility private
71
+ def valid?
72
+ return false if @data.nil?
73
+ true
74
+ end
75
+
76
+ # Custom attribute writer method with validation
77
+ # @param data [Object] Object to be assigned
78
+ # @!visibility private
79
+ def data=(data)
80
+ if data.nil?
81
+ fail ArgumentError, 'invalid value for "data", data cannot be nil.'
82
+ end
83
+ @data = data
84
+ end
85
+
86
+ # Returns the object in the form of hash, with additionalProperties support.
87
+ # @return [Hash] Returns the object in the form of hash
88
+ # @!visibility private
89
+ def to_hash
90
+ hash = {}
91
+ self.class.attribute_map.each_pair do |attr, param|
92
+ value = self.send(attr)
93
+ if value.nil?
94
+ is_nullable = self.class.openapi_nullable.include?(attr)
95
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
96
+ end
97
+
98
+ hash[param] = _to_hash(value)
99
+ end
100
+ self.additional_properties.each_pair do |attr, value|
101
+ hash[attr] = value
102
+ end
103
+ hash
104
+ end
105
+
106
+ # Checks equality by comparing each attribute.
107
+ # @param o [Object] Object to be compared
108
+ # @!visibility private
109
+ def ==(o)
110
+ return true if self.equal?(o)
111
+ self.class == o.class &&
112
+ data == o.data &&
113
+ additional_properties == o.additional_properties
114
+ end
115
+
116
+ # Calculates hash code according to all attributes.
117
+ # @return [Integer] Hash code
118
+ # @!visibility private
119
+ def hash
120
+ [data, additional_properties].hash
121
+ end
122
+ end
123
+ 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
+ # Object to create a monitor notification rule.
21
+ class MonitorNotificationRuleCreateRequestData
22
+ include BaseGenericModel
23
+
24
+ # Attributes of the monitor notification rule.
25
+ attr_reader :attributes
26
+
27
+ # Monitor notification rule resource type.
28
+ attr_accessor :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' => :'MonitorNotificationRuleAttributes',
46
+ :'type' => :'MonitorNotificationRuleResourceType'
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::MonitorNotificationRuleCreateRequestData` 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 @attributes.nil?
82
+ true
83
+ end
84
+
85
+ # Custom attribute writer method with validation
86
+ # @param attributes [Object] Object to be assigned
87
+ # @!visibility private
88
+ def attributes=(attributes)
89
+ if attributes.nil?
90
+ fail ArgumentError, 'invalid value for "attributes", attributes cannot be nil.'
91
+ end
92
+ @attributes = attributes
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
@@ -0,0 +1,135 @@
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
+ # Monitor notification rule data.
21
+ class MonitorNotificationRuleData
22
+ include BaseGenericModel
23
+
24
+ # Attributes of the monitor notification rule.
25
+ attr_accessor :attributes
26
+
27
+ # The ID of the monitor notification rule.
28
+ attr_accessor :id
29
+
30
+ # All relationships associated with monitor notification rule.
31
+ attr_accessor :relationships
32
+
33
+ # Monitor notification rule resource type.
34
+ attr_accessor :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' => :'MonitorNotificationRuleResponseAttributes',
54
+ :'id' => :'String',
55
+ :'relationships' => :'MonitorNotificationRuleRelationships',
56
+ :'type' => :'MonitorNotificationRuleResourceType'
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::MonitorNotificationRuleData` 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
+ # 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
+ id == o.id &&
123
+ relationships == o.relationships &&
124
+ type == o.type &&
125
+ additional_properties == o.additional_properties
126
+ end
127
+
128
+ # Calculates hash code according to all attributes.
129
+ # @return [Integer] Hash code
130
+ # @!visibility private
131
+ def hash
132
+ [attributes, id, relationships, type, additional_properties].hash
133
+ end
134
+ end
135
+ end
@@ -0,0 +1,62 @@
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
+ # Filter used to associate the notification rule with monitors.
21
+ module MonitorNotificationRuleFilter
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
+ :'MonitorNotificationRuleFilterTags'
30
+ ]
31
+ end
32
+ # Builds the object
33
+ # @param data [Mixed] Data to be matched against the list of oneOf items
34
+ # @return [Object] Returns the model or the data itself
35
+ def build(data)
36
+ # Go through the list of oneOf items and attempt to identify the appropriate one.
37
+ # Note:
38
+ # - We do not attempt to check whether exactly one item matches.
39
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
40
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
41
+ # - TODO: scalar values are de facto behaving as if they were nullable.
42
+ # - TODO: logging when debugging is set.
43
+ openapi_one_of.each do |klass|
44
+ begin
45
+ next if klass == :AnyType # "nullable: true"
46
+ typed_data = find_and_cast_into_type(klass, data)
47
+ next if typed_data.respond_to?(:_unparsed) && typed_data._unparsed
48
+ return typed_data if typed_data
49
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
50
+ end
51
+ end
52
+
53
+ if openapi_one_of.include?(:AnyType)
54
+ data
55
+ else
56
+ self._unparsed = true
57
+ DatadogAPIClient::UnparsedObject.new(data)
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,108 @@
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
+ # Filter monitors by tags. Monitors must match all tags.
21
+ class MonitorNotificationRuleFilterTags
22
+ include BaseGenericModel
23
+
24
+ # A list of monitor tags.
25
+ attr_reader :tags
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ # @!visibility private
29
+ def self.attribute_map
30
+ {
31
+ :'tags' => :'tags'
32
+ }
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ # @!visibility private
37
+ def self.openapi_types
38
+ {
39
+ :'tags' => :'Array<String>'
40
+ }
41
+ end
42
+
43
+ # Initializes the object
44
+ # @param attributes [Hash] Model attributes in the form of hash
45
+ # @!visibility private
46
+ def initialize(attributes = {})
47
+ if (!attributes.is_a?(Hash))
48
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::MonitorNotificationRuleFilterTags` initialize method"
49
+ end
50
+
51
+ # check to see if the attribute exists and convert string to symbol for hash key
52
+ attributes = attributes.each_with_object({}) { |(k, v), h|
53
+ if (!self.class.attribute_map.key?(k.to_sym))
54
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::MonitorNotificationRuleFilterTags`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
55
+ end
56
+ h[k.to_sym] = v
57
+ }
58
+
59
+ if attributes.key?(:'tags')
60
+ if (value = attributes[:'tags']).is_a?(Array)
61
+ self.tags = value
62
+ end
63
+ end
64
+ end
65
+
66
+ # Check to see if the all the properties in the model are valid
67
+ # @return true if the model is valid
68
+ # @!visibility private
69
+ def valid?
70
+ return false if @tags.nil?
71
+ return false if @tags.length > 20
72
+ return false if @tags.length < 1
73
+ true
74
+ end
75
+
76
+ # Custom attribute writer method with validation
77
+ # @param tags [Object] Object to be assigned
78
+ # @!visibility private
79
+ def tags=(tags)
80
+ if tags.nil?
81
+ fail ArgumentError, 'invalid value for "tags", tags cannot be nil.'
82
+ end
83
+ if tags.length > 20
84
+ fail ArgumentError, 'invalid value for "tags", number of items must be less than or equal to 20.'
85
+ end
86
+ if tags.length < 1
87
+ fail ArgumentError, 'invalid value for "tags", number of items must be greater than or equal to 1.'
88
+ end
89
+ @tags = tags
90
+ end
91
+
92
+ # Checks equality by comparing each attribute.
93
+ # @param o [Object] Object to be compared
94
+ # @!visibility private
95
+ def ==(o)
96
+ return true if self.equal?(o)
97
+ self.class == o.class &&
98
+ tags == o.tags
99
+ end
100
+
101
+ # Calculates hash code according to all attributes.
102
+ # @return [Integer] Hash code
103
+ # @!visibility private
104
+ def hash
105
+ [tags].hash
106
+ end
107
+ end
108
+ end