datadog_api_client 2.45.0 → 2.47.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 (342) hide show
  1. checksums.yaml +4 -4
  2. data/.generator/schemas/v1/openapi.yaml +186 -7
  3. data/.generator/schemas/v2/openapi.yaml +5147 -312
  4. data/.pre-commit-config.yaml +4 -0
  5. data/CHANGELOG.md +46 -0
  6. data/examples/v1/dashboards/CreateDashboard_3685886950.rb +36 -0
  7. data/examples/v1/dashboards/CreateDashboard_865807520.rb +36 -0
  8. data/examples/v1/dashboards/CreateDashboard_9836563.rb +118 -0
  9. data/examples/v1/monitors/CreateMonitor_3541766733.rb +32 -0
  10. data/examples/v2/apm/GetServiceList.rb +5 -0
  11. data/examples/v2/aws-integration/CreateAWSAccount.rb +11 -0
  12. data/examples/v2/aws-integration/CreateAWSAccount_1716720881.rb +11 -0
  13. data/examples/v2/aws-integration/UpdateAWSAccount.rb +11 -0
  14. data/examples/v2/csm-threats/CreateCSMThreatsAgentRule_1295653933.rb +3 -1
  15. data/examples/v2/csm-threats/CreateCSMThreatsAgentRule_1363354233.rb +1 -1
  16. data/examples/v2/deployment-gates/CreateDeploymentGate.rb +20 -0
  17. data/examples/v2/deployment-gates/CreateDeploymentRule.rb +25 -0
  18. data/examples/v2/deployment-gates/DeleteDeploymentGate.rb +11 -0
  19. data/examples/v2/deployment-gates/DeleteDeploymentRule.rb +14 -0
  20. data/examples/v2/deployment-gates/GetDeploymentGate.rb +11 -0
  21. data/examples/v2/deployment-gates/GetDeploymentGateRules.rb +11 -0
  22. data/examples/v2/deployment-gates/GetDeploymentRule.rb +14 -0
  23. data/examples/v2/deployment-gates/UpdateDeploymentGate.rb +21 -0
  24. data/examples/v2/deployment-gates/UpdateDeploymentRule.rb +27 -0
  25. data/examples/v2/events/CreateEvent.rb +1 -0
  26. data/examples/v2/fleet-automation/GetFleetAgentInfo.rb +8 -0
  27. data/examples/v2/fleet-automation/ListFleetAgents.rb +8 -0
  28. data/examples/v2/logs-restriction-queries/AddRoleToRestrictionQuery.rb +21 -0
  29. data/examples/v2/logs-restriction-queries/CreateRestrictionQuery.rb +17 -0
  30. data/examples/v2/logs-restriction-queries/DeleteRestrictionQuery.rb +11 -0
  31. data/examples/v2/logs-restriction-queries/GetRestrictionQuery.rb +11 -0
  32. data/examples/v2/logs-restriction-queries/GetRoleRestrictionQuery.rb +11 -0
  33. data/examples/v2/logs-restriction-queries/ListRestrictionQueries.rb +8 -0
  34. data/examples/v2/logs-restriction-queries/ListRestrictionQueryRoles.rb +11 -0
  35. data/examples/v2/logs-restriction-queries/ListUserRestrictionQueries.rb +11 -0
  36. data/examples/v2/logs-restriction-queries/RemoveRoleFromRestrictionQuery.rb +21 -0
  37. data/examples/v2/logs-restriction-queries/ReplaceRestrictionQuery.rb +20 -0
  38. data/examples/v2/logs-restriction-queries/UpdateRestrictionQuery.rb +20 -0
  39. data/examples/v2/monitors/CreateMonitorNotificationRule_1379932371.rb +21 -0
  40. data/examples/v2/monitors/UpdateMonitorNotificationRule_1446058210.rb +24 -0
  41. data/examples/v2/observability-pipelines/CreatePipeline.rb +12 -4
  42. data/examples/v2/observability-pipelines/UpdatePipeline.rb +12 -4
  43. data/examples/v2/observability-pipelines/ValidatePipeline.rb +12 -4
  44. data/examples/v2/on-call/CreateOnCallEscalationPolicy.rb +9 -0
  45. data/examples/v2/on-call/CreateUserNotificationChannel.rb +23 -0
  46. data/examples/v2/on-call/DeleteUserNotificationChannel.rb +11 -0
  47. data/examples/v2/on-call/GetScheduleOnCallUser.rb +1 -1
  48. data/examples/v2/on-call/GetUserNotificationChannel.rb +11 -0
  49. data/examples/v2/on-call/ListUserNotificationChannels.rb +8 -0
  50. data/examples/v2/reference-tables/CreateReferenceTable.rb +23 -14
  51. data/examples/v2/reference-tables/DeleteRows.rb +14 -0
  52. data/examples/v2/reference-tables/UpsertRows.rb +19 -0
  53. data/examples/v2/security-monitoring/AttachCase.rb +26 -0
  54. data/examples/v2/security-monitoring/AttachCase_897782765.rb +22 -0
  55. data/examples/v2/security-monitoring/AttachJiraIssue.rb +34 -0
  56. data/examples/v2/security-monitoring/AttachJiraIssue_3042842144.rb +30 -0
  57. data/examples/v2/security-monitoring/CreateCases.rb +56 -0
  58. data/examples/v2/security-monitoring/CreateCases_2385516013.rb +33 -0
  59. data/examples/v2/security-monitoring/CreateCases_2798851680.rb +37 -0
  60. data/examples/v2/security-monitoring/CreateJiraIssues.rb +41 -0
  61. data/examples/v2/security-monitoring/DetachCase.rb +21 -0
  62. data/examples/v2/security-monitoring/GetSecretsRules.rb +1 -1
  63. data/examples/v2/security-monitoring/GetSuppressionVersionHistory.rb +8 -0
  64. data/examples/v2/security-monitoring/ValidateSecurityMonitoringRule_2609327779.rb +54 -0
  65. data/examples/v2/teams/AddTeamHierarchyLink.rb +31 -0
  66. data/examples/v2/{team-connections → teams}/CreateTeamConnections.rb +1 -1
  67. data/examples/v2/{team-connections → teams}/DeleteTeamConnections.rb +1 -1
  68. data/examples/v2/teams/GetTeamHierarchyLink.rb +8 -0
  69. data/examples/v2/teams/GetTeamSync.rb +8 -0
  70. data/examples/v2/{team-connections → teams}/ListTeamConnections.rb +1 -1
  71. data/examples/v2/{team-connections → teams}/ListTeamConnections_1473516764.rb +1 -1
  72. data/examples/v2/{team-connections → teams}/ListTeamConnections_2418873869.rb +1 -1
  73. data/examples/v2/teams/ListTeamHierarchyLinks.rb +15 -0
  74. data/examples/v2/teams/ListTeamHierarchyLinks_3360757486.rb +5 -0
  75. data/examples/v2/teams/RemoveTeamHierarchyLink.rb +8 -0
  76. data/lib/datadog_api_client/configuration.rb +29 -6
  77. data/lib/datadog_api_client/inflector.rb +180 -5
  78. data/lib/datadog_api_client/v1/api/monitors_api.rb +2 -0
  79. data/lib/datadog_api_client/v1/models/formula_and_function_metric_query_definition.rb +13 -3
  80. data/lib/datadog_api_client/v1/models/formula_and_function_metric_semantic_mode.rb +27 -0
  81. data/lib/datadog_api_client/v1/models/geomap_widget_definition.rb +4 -5
  82. data/lib/datadog_api_client/v1/models/geomap_widget_definition_view.rb +1 -1
  83. data/lib/datadog_api_client/v1/models/geomap_widget_request.rb +37 -3
  84. data/lib/datadog_api_client/v1/models/geomap_widget_request_style.rb +105 -0
  85. data/lib/datadog_api_client/v1/models/monitor.rb +13 -1
  86. data/lib/datadog_api_client/v1/models/monitor_asset.rb +186 -0
  87. data/lib/datadog_api_client/v1/models/monitor_asset_category.rb +26 -0
  88. data/lib/datadog_api_client/v1/models/monitor_asset_resource_type.rb +26 -0
  89. data/lib/datadog_api_client/v1/models/monitor_search_response.rb +1 -1
  90. data/lib/datadog_api_client/v1/models/monitor_update_request.rb +14 -1
  91. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +51 -1
  92. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +51 -1
  93. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +51 -1
  94. data/lib/datadog_api_client/v2/api/apm_api.rb +83 -0
  95. data/lib/datadog_api_client/v2/api/deployment_gates_api.rb +703 -0
  96. data/lib/datadog_api_client/v2/api/fleet_automation_api.rb +166 -1
  97. data/lib/datadog_api_client/v2/api/incidents_api.rb +0 -18
  98. data/lib/datadog_api_client/v2/api/logs_restriction_queries_api.rb +842 -0
  99. data/lib/datadog_api_client/v2/api/on_call_api.rb +279 -2
  100. data/lib/datadog_api_client/v2/api/reference_tables_api.rb +144 -0
  101. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +448 -10
  102. data/lib/datadog_api_client/v2/api/teams_api.rb +634 -1
  103. data/lib/datadog_api_client/v2/models/attach_case_request.rb +105 -0
  104. data/lib/datadog_api_client/v2/models/attach_case_request_data.rb +154 -0
  105. data/lib/datadog_api_client/v2/models/attach_case_request_data_relationships.rb +123 -0
  106. data/lib/datadog_api_client/v2/models/attach_jira_issue_request.rb +105 -0
  107. data/lib/datadog_api_client/v2/models/attach_jira_issue_request_data.rb +143 -0
  108. data/lib/datadog_api_client/v2/models/attach_jira_issue_request_data_attributes.rb +123 -0
  109. data/lib/datadog_api_client/v2/models/attach_jira_issue_request_data_relationships.rb +144 -0
  110. data/lib/datadog_api_client/v2/models/aws_account_create_request_attributes.rb +11 -1
  111. data/lib/datadog_api_client/v2/models/aws_account_response_attributes.rb +11 -1
  112. data/lib/datadog_api_client/v2/models/aws_account_update_request_attributes.rb +11 -1
  113. data/lib/datadog_api_client/v2/models/awsccm_config.rb +107 -0
  114. data/lib/datadog_api_client/v2/models/batch_delete_rows_request_array.rb +129 -0
  115. data/lib/datadog_api_client/v2/models/batch_delete_rows_request_data.rb +144 -0
  116. data/lib/datadog_api_client/v2/models/batch_upsert_rows_request_array.rb +129 -0
  117. data/lib/datadog_api_client/v2/models/batch_upsert_rows_request_data.rb +154 -0
  118. data/lib/datadog_api_client/v2/models/batch_upsert_rows_request_data_attributes.rb +123 -0
  119. data/lib/datadog_api_client/v2/models/case_data_type.rb +26 -0
  120. data/lib/datadog_api_client/v2/models/case_insights_items.rb +125 -0
  121. data/lib/datadog_api_client/v2/models/case_management_project.rb +123 -0
  122. data/lib/datadog_api_client/v2/models/case_management_project_data.rb +144 -0
  123. data/lib/datadog_api_client/v2/models/case_management_project_data_type.rb +26 -0
  124. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_attributes.rb +11 -1
  125. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_version.rb +2 -2
  126. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_action.rb +2 -2
  127. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_action_hash.rb +105 -0
  128. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_action_set.rb +1 -1
  129. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_action_set_value.rb +64 -0
  130. data/lib/datadog_api_client/v2/models/configured_schedule.rb +186 -0
  131. data/lib/datadog_api_client/v2/models/configured_schedule_target.rb +144 -0
  132. data/lib/datadog_api_client/v2/models/configured_schedule_target_attributes.rb +123 -0
  133. data/lib/datadog_api_client/v2/models/configured_schedule_target_relationships.rb +123 -0
  134. data/lib/datadog_api_client/v2/models/configured_schedule_target_relationships_schedule.rb +123 -0
  135. data/lib/datadog_api_client/v2/models/configured_schedule_target_type.rb +26 -0
  136. data/lib/datadog_api_client/v2/models/create_case_request_array.rb +125 -0
  137. data/lib/datadog_api_client/v2/models/create_case_request_data.rb +143 -0
  138. data/lib/datadog_api_client/v2/models/create_case_request_data_attributes.rb +135 -0
  139. data/lib/datadog_api_client/v2/models/create_case_request_data_relationships.rb +144 -0
  140. data/lib/datadog_api_client/v2/models/create_deployment_gate_params.rb +123 -0
  141. data/lib/datadog_api_client/v2/models/create_deployment_gate_params_data.rb +144 -0
  142. data/lib/datadog_api_client/v2/models/create_deployment_gate_params_data_attributes.rb +164 -0
  143. data/lib/datadog_api_client/v2/models/create_deployment_rule_params.rb +105 -0
  144. data/lib/datadog_api_client/v2/models/create_deployment_rule_params_data.rb +144 -0
  145. data/lib/datadog_api_client/v2/models/create_deployment_rule_params_data_attributes.rb +175 -0
  146. data/lib/datadog_api_client/v2/models/create_email_notification_channel_config.rb +167 -0
  147. data/lib/datadog_api_client/v2/models/create_jira_issue_request_array.rb +125 -0
  148. data/lib/datadog_api_client/v2/models/create_jira_issue_request_data.rb +143 -0
  149. data/lib/datadog_api_client/v2/models/create_jira_issue_request_data_attributes.rb +145 -0
  150. data/lib/datadog_api_client/v2/models/create_jira_issue_request_data_relationships.rb +144 -0
  151. data/lib/datadog_api_client/v2/models/create_notification_channel_attributes.rb +105 -0
  152. data/lib/datadog_api_client/v2/models/create_notification_channel_config.rb +63 -0
  153. data/lib/datadog_api_client/v2/models/create_notification_channel_data.rb +133 -0
  154. data/lib/datadog_api_client/v2/models/create_phone_notification_channel_config.rb +144 -0
  155. data/lib/datadog_api_client/v2/models/create_user_notification_channel_request.rb +123 -0
  156. data/lib/datadog_api_client/v2/models/data_export_config.rb +145 -0
  157. data/lib/datadog_api_client/v2/models/deployment_gate_data_type.rb +26 -0
  158. data/lib/datadog_api_client/v2/models/deployment_gate_response.rb +105 -0
  159. data/lib/datadog_api_client/v2/models/deployment_gate_response_data.rb +165 -0
  160. data/lib/datadog_api_client/v2/models/deployment_gate_response_data_attributes.rb +248 -0
  161. data/lib/datadog_api_client/v2/models/deployment_gate_response_data_attributes_created_by.rb +143 -0
  162. data/lib/datadog_api_client/v2/models/deployment_gate_response_data_attributes_updated_by.rb +143 -0
  163. data/lib/datadog_api_client/v2/models/deployment_gate_rules_response.rb +105 -0
  164. data/lib/datadog_api_client/v2/models/deployment_rule_data_type.rb +26 -0
  165. data/lib/datadog_api_client/v2/models/{table_result_v2_data_attributes_file_metadata_local_file.rb → deployment_rule_options_faulty_deployment_detection.rb} +21 -19
  166. data/lib/datadog_api_client/v2/models/deployment_rule_options_monitor.rb +108 -0
  167. data/lib/datadog_api_client/v2/models/deployment_rule_response.rb +105 -0
  168. data/lib/datadog_api_client/v2/models/deployment_rule_response_data.rb +165 -0
  169. data/lib/datadog_api_client/v2/models/deployment_rule_response_data_attributes.rb +269 -0
  170. data/lib/datadog_api_client/v2/models/deployment_rule_response_data_attributes_created_by.rb +143 -0
  171. data/lib/datadog_api_client/v2/models/deployment_rule_response_data_attributes_type.rb +27 -0
  172. data/lib/datadog_api_client/v2/models/deployment_rule_response_data_attributes_updated_by.rb +143 -0
  173. data/lib/datadog_api_client/v2/models/deployment_rules_options.rb +63 -0
  174. data/lib/datadog_api_client/v2/models/detach_case_request.rb +105 -0
  175. data/lib/datadog_api_client/v2/models/detach_case_request_data.rb +133 -0
  176. data/lib/datadog_api_client/v2/models/detach_case_request_data_relationships.rb +123 -0
  177. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_attributes.rb +28 -1
  178. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_attributes_steps_items.rb +16 -1
  179. data/lib/datadog_api_client/v2/models/escalation_policy_data_attributes.rb +20 -1
  180. data/lib/datadog_api_client/v2/models/escalation_policy_included.rb +3 -2
  181. data/lib/datadog_api_client/v2/models/escalation_policy_step_target.rb +12 -2
  182. data/lib/datadog_api_client/v2/models/escalation_policy_step_target_config.rb +105 -0
  183. data/lib/datadog_api_client/v2/models/escalation_policy_step_target_config_schedule.rb +105 -0
  184. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_attributes.rb +28 -1
  185. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_attributes_steps_items.rb +16 -1
  186. data/lib/datadog_api_client/v2/models/escalation_target.rb +3 -2
  187. data/lib/datadog_api_client/v2/models/event_payload.rb +26 -1
  188. data/lib/datadog_api_client/v2/models/finding_case_response.rb +105 -0
  189. data/lib/datadog_api_client/v2/models/finding_case_response_array.rb +125 -0
  190. data/lib/datadog_api_client/v2/models/finding_case_response_data.rb +153 -0
  191. data/lib/datadog_api_client/v2/models/finding_case_response_data_attributes.rb +277 -0
  192. data/lib/datadog_api_client/v2/models/finding_case_response_data_relationships.rb +125 -0
  193. data/lib/datadog_api_client/v2/models/finding_data.rb +144 -0
  194. data/lib/datadog_api_client/v2/models/finding_data_type.rb +26 -0
  195. data/lib/datadog_api_client/v2/models/finding_jira_issue.rb +125 -0
  196. data/lib/datadog_api_client/v2/models/finding_jira_issue_result.rb +135 -0
  197. data/lib/datadog_api_client/v2/models/findings.rb +107 -0
  198. data/lib/datadog_api_client/v2/models/fleet_agent_attributes.rb +327 -0
  199. data/lib/datadog_api_client/v2/models/fleet_agent_attributes_tags_items.rb +115 -0
  200. data/lib/datadog_api_client/v2/models/fleet_agent_info.rb +165 -0
  201. data/lib/datadog_api_client/v2/models/fleet_agent_info_attributes.rb +137 -0
  202. data/lib/datadog_api_client/v2/models/fleet_agent_info_details.rb +403 -0
  203. data/lib/datadog_api_client/v2/models/fleet_agent_info_resource_type.rb +26 -0
  204. data/lib/datadog_api_client/v2/models/fleet_agent_info_response.rb +123 -0
  205. data/lib/datadog_api_client/v2/models/fleet_agents_response.rb +133 -0
  206. data/lib/datadog_api_client/v2/models/fleet_agents_response_data.rb +165 -0
  207. data/lib/datadog_api_client/v2/models/fleet_agents_response_data_attributes.rb +107 -0
  208. data/lib/datadog_api_client/v2/models/fleet_agents_response_meta.rb +105 -0
  209. data/lib/datadog_api_client/v2/models/fleet_configuration_file.rb +125 -0
  210. data/lib/datadog_api_client/v2/models/fleet_configuration_layer.rb +155 -0
  211. data/lib/datadog_api_client/v2/models/fleet_detected_integration.rb +115 -0
  212. data/lib/datadog_api_client/v2/models/fleet_integration_details.rb +197 -0
  213. data/lib/datadog_api_client/v2/models/fleet_integrations_by_status.rb +165 -0
  214. data/lib/datadog_api_client/v2/models/get_suppression_version_history_data.rb +125 -0
  215. data/lib/datadog_api_client/v2/models/get_suppression_version_history_data_type.rb +26 -0
  216. data/lib/datadog_api_client/v2/models/get_suppression_version_history_response.rb +105 -0
  217. data/lib/datadog_api_client/v2/models/httpcd_gates_bad_request_response.rb +107 -0
  218. data/lib/datadog_api_client/v2/models/httpcd_gates_not_found_response.rb +107 -0
  219. data/lib/datadog_api_client/v2/models/httpcd_rules_not_found_response.rb +107 -0
  220. data/lib/datadog_api_client/v2/models/jira_issues_data_type.rb +26 -0
  221. data/lib/datadog_api_client/v2/models/layer_attributes.rb +13 -3
  222. data/lib/datadog_api_client/v2/models/library.rb +13 -1
  223. data/lib/datadog_api_client/v2/models/list_deployment_rule_response_data.rb +165 -0
  224. data/lib/datadog_api_client/v2/models/list_deployment_rules_data_type.rb +26 -0
  225. data/lib/datadog_api_client/v2/models/list_deployment_rules_response_data_attributes.rb +107 -0
  226. data/lib/datadog_api_client/v2/models/list_notification_channels_response.rb +107 -0
  227. data/lib/datadog_api_client/v2/models/logs_restriction_queries_type.rb +26 -0
  228. data/lib/datadog_api_client/v2/models/monitor_notification_rule_attributes.rb +2 -2
  229. data/lib/datadog_api_client/v2/models/monitor_notification_rule_condition.rb +1 -1
  230. data/lib/datadog_api_client/v2/models/monitor_notification_rule_conditional_recipients.rb +2 -2
  231. data/lib/datadog_api_client/v2/models/monitor_notification_rule_filter.rb +2 -1
  232. data/lib/datadog_api_client/v2/models/monitor_notification_rule_filter_scope.rb +106 -0
  233. data/lib/datadog_api_client/v2/models/monitor_notification_rule_filter_tags.rb +2 -2
  234. data/lib/datadog_api_client/v2/models/monitor_notification_rule_response_attributes.rb +2 -2
  235. data/lib/datadog_api_client/v2/models/notification_channel.rb +105 -0
  236. data/lib/datadog_api_client/v2/models/notification_channel_attributes.rb +115 -0
  237. data/lib/datadog_api_client/v2/models/notification_channel_config.rb +64 -0
  238. data/lib/datadog_api_client/v2/models/notification_channel_data.rb +143 -0
  239. data/lib/datadog_api_client/v2/models/notification_channel_email_config.rb +167 -0
  240. data/lib/datadog_api_client/v2/models/notification_channel_email_config_type.rb +26 -0
  241. data/lib/datadog_api_client/v2/models/notification_channel_email_format_type.rb +27 -0
  242. data/lib/datadog_api_client/v2/models/notification_channel_phone_config.rb +225 -0
  243. data/lib/datadog_api_client/v2/models/notification_channel_phone_config_type.rb +26 -0
  244. data/lib/datadog_api_client/v2/models/notification_channel_push_config.rb +165 -0
  245. data/lib/datadog_api_client/v2/models/notification_channel_push_config_type.rb +26 -0
  246. data/lib/datadog_api_client/v2/models/notification_channel_type.rb +26 -0
  247. data/lib/datadog_api_client/v2/models/observability_pipeline_add_env_vars_processor.rb +22 -24
  248. data/lib/datadog_api_client/v2/models/observability_pipeline_add_fields_processor.rb +22 -24
  249. data/lib/datadog_api_client/v2/models/observability_pipeline_config.rb +2 -2
  250. data/lib/datadog_api_client/v2/models/observability_pipeline_config_processor_group.rb +211 -0
  251. data/lib/datadog_api_client/v2/models/observability_pipeline_custom_processor.rb +22 -24
  252. data/lib/datadog_api_client/v2/models/observability_pipeline_custom_processor_remap.rb +1 -12
  253. data/lib/datadog_api_client/v2/models/observability_pipeline_datadog_tags_processor.rb +22 -24
  254. data/lib/datadog_api_client/v2/models/observability_pipeline_dedupe_processor.rb +22 -24
  255. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_processor.rb +22 -24
  256. data/lib/datadog_api_client/v2/models/observability_pipeline_filter_processor.rb +22 -24
  257. data/lib/datadog_api_client/v2/models/observability_pipeline_generate_metrics_processor.rb +24 -48
  258. data/lib/datadog_api_client/v2/models/observability_pipeline_google_chronicle_destination.rb +1 -12
  259. data/lib/datadog_api_client/v2/models/observability_pipeline_google_cloud_storage_destination.rb +2 -24
  260. data/lib/datadog_api_client/v2/models/observability_pipeline_google_pub_sub_source.rb +1 -12
  261. data/lib/datadog_api_client/v2/models/observability_pipeline_ocsf_mapper_processor.rb +22 -24
  262. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor.rb +22 -24
  263. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_json_processor.rb +22 -24
  264. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor.rb +18 -31
  265. data/lib/datadog_api_client/v2/models/observability_pipeline_reduce_processor.rb +22 -24
  266. data/lib/datadog_api_client/v2/models/observability_pipeline_remove_fields_processor.rb +22 -24
  267. data/lib/datadog_api_client/v2/models/observability_pipeline_rename_fields_processor.rb +22 -24
  268. data/lib/datadog_api_client/v2/models/observability_pipeline_sample_processor.rb +22 -24
  269. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor.rb +22 -24
  270. data/lib/datadog_api_client/v2/models/observability_pipeline_throttle_processor.rb +22 -24
  271. data/lib/datadog_api_client/v2/models/relationship_to_user_team_permission.rb +8 -0
  272. data/lib/datadog_api_client/v2/models/restriction_query_attributes.rb +165 -0
  273. data/lib/datadog_api_client/v2/models/restriction_query_create_attributes.rb +123 -0
  274. data/lib/datadog_api_client/v2/models/restriction_query_create_data.rb +115 -0
  275. data/lib/datadog_api_client/v2/models/restriction_query_create_payload.rb +105 -0
  276. data/lib/datadog_api_client/v2/models/restriction_query_list_response.rb +107 -0
  277. data/lib/datadog_api_client/v2/models/restriction_query_response_included_item.rb +62 -0
  278. data/lib/datadog_api_client/v2/models/restriction_query_role.rb +165 -0
  279. data/lib/datadog_api_client/v2/models/restriction_query_role_attribute.rb +105 -0
  280. data/lib/datadog_api_client/v2/models/restriction_query_roles_response.rb +107 -0
  281. data/lib/datadog_api_client/v2/models/restriction_query_update_attributes.rb +123 -0
  282. data/lib/datadog_api_client/v2/models/restriction_query_update_data.rb +115 -0
  283. data/lib/datadog_api_client/v2/models/restriction_query_update_payload.rb +105 -0
  284. data/lib/datadog_api_client/v2/models/restriction_query_with_relationships.rb +135 -0
  285. data/lib/datadog_api_client/v2/models/restriction_query_with_relationships_response.rb +117 -0
  286. data/lib/datadog_api_client/v2/models/restriction_query_without_relationships.rb +125 -0
  287. data/lib/datadog_api_client/v2/models/restriction_query_without_relationships_response.rb +105 -0
  288. data/lib/datadog_api_client/v2/models/rule_versions.rb +1 -1
  289. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items.rb +13 -3
  290. data/lib/datadog_api_client/v2/models/schedule_target.rb +1 -1
  291. data/lib/datadog_api_client/v2/models/schedule_target_position.rb +28 -0
  292. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items.rb +13 -3
  293. data/lib/datadog_api_client/v2/models/security_monitoring_rule_new_value_options.rb +11 -1
  294. data/lib/datadog_api_client/v2/models/service_list.rb +105 -0
  295. data/lib/datadog_api_client/v2/models/service_list_data.rb +143 -0
  296. data/lib/datadog_api_client/v2/models/service_list_data_attributes.rb +119 -0
  297. data/lib/datadog_api_client/v2/models/service_list_data_attributes_metadata_items.rb +115 -0
  298. data/lib/datadog_api_client/v2/models/service_list_data_type.rb +26 -0
  299. data/lib/datadog_api_client/v2/models/suppression_version_history.rb +133 -0
  300. data/lib/datadog_api_client/v2/models/suppression_versions.rb +117 -0
  301. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes.rb +8 -0
  302. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata.rb +101 -36
  303. data/lib/datadog_api_client/v2/models/team_attributes.rb +13 -1
  304. data/lib/datadog_api_client/v2/models/team_hierarchy_link.rb +175 -0
  305. data/lib/datadog_api_client/v2/models/team_hierarchy_link_attributes.rb +144 -0
  306. data/lib/datadog_api_client/v2/models/team_hierarchy_link_create.rb +144 -0
  307. data/lib/datadog_api_client/v2/models/team_hierarchy_link_create_relationships.rb +144 -0
  308. data/lib/datadog_api_client/v2/models/team_hierarchy_link_create_request.rb +123 -0
  309. data/lib/datadog_api_client/v2/models/team_hierarchy_link_create_team.rb +144 -0
  310. data/lib/datadog_api_client/v2/models/team_hierarchy_link_create_team_relationship.rb +123 -0
  311. data/lib/datadog_api_client/v2/models/team_hierarchy_link_relationships.rb +144 -0
  312. data/lib/datadog_api_client/v2/models/team_hierarchy_link_response.rb +127 -0
  313. data/lib/datadog_api_client/v2/models/team_hierarchy_link_team.rb +154 -0
  314. data/lib/datadog_api_client/v2/models/team_hierarchy_link_team_attributes.rb +223 -0
  315. data/lib/datadog_api_client/v2/models/team_hierarchy_link_team_relationship.rb +123 -0
  316. data/lib/datadog_api_client/v2/models/team_hierarchy_link_type.rb +26 -0
  317. data/lib/datadog_api_client/v2/models/team_hierarchy_links_response.rb +139 -0
  318. data/lib/datadog_api_client/v2/models/team_sync_attributes.rb +22 -2
  319. data/lib/datadog_api_client/v2/models/team_sync_attributes_frequency.rb +28 -0
  320. data/lib/datadog_api_client/v2/models/team_sync_attributes_type.rb +2 -1
  321. data/lib/datadog_api_client/v2/models/team_sync_data.rb +12 -2
  322. data/lib/datadog_api_client/v2/models/team_sync_request.rb +1 -1
  323. data/lib/datadog_api_client/v2/models/team_sync_response.rb +107 -0
  324. data/lib/datadog_api_client/v2/models/teams_hierarchy_links_response_links.rb +156 -0
  325. data/lib/datadog_api_client/v2/models/teams_hierarchy_links_response_meta.rb +105 -0
  326. data/lib/datadog_api_client/v2/models/teams_hierarchy_links_response_meta_page.rb +184 -0
  327. data/lib/datadog_api_client/v2/models/threat_hunting_job_response_attributes.rb +13 -3
  328. data/lib/datadog_api_client/v2/models/update_deployment_gate_params.rb +123 -0
  329. data/lib/datadog_api_client/v2/models/update_deployment_gate_params_data.rb +165 -0
  330. data/lib/datadog_api_client/v2/models/update_deployment_gate_params_data_attributes.rb +123 -0
  331. data/lib/datadog_api_client/v2/models/update_deployment_rule_params.rb +123 -0
  332. data/lib/datadog_api_client/v2/models/update_deployment_rule_params_data.rb +144 -0
  333. data/lib/datadog_api_client/v2/models/update_deployment_rule_params_data_attributes.rb +165 -0
  334. data/lib/datadog_api_client/v2/models/{rule_version_update.rb → version_history_update.rb} +3 -3
  335. data/lib/datadog_api_client/v2/models/{rule_version_update_type.rb → version_history_update_type.rb} +1 -1
  336. data/lib/datadog_api_client/v2/models/vulnerability_attributes.rb +11 -1
  337. data/lib/datadog_api_client/v2/models/vulnerability_ecosystem.rb +6 -1
  338. data/lib/datadog_api_client/v2/models/vulnerability_tool.rb +1 -0
  339. data/lib/datadog_api_client/version.rb +1 -1
  340. metadata +238 -11
  341. data/lib/datadog_api_client/v2/api/team_connections_api.rb +0 -272
  342. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_cloud_storage.rb +0 -138
@@ -21,7 +21,7 @@ module DatadogAPIClient::V2
21
21
  class MonitorNotificationRuleCondition
22
22
  include BaseGenericModel
23
23
 
24
- # A list of recipients to notify. Uses the same format as the monitor `message` field. Must not start with an '@'.
24
+ # A list of recipients to notify. Uses the same format as the monitor `message` field. Must not start with an '@'. Cannot be used with `conditional_recipients`.
25
25
  attr_reader :recipients
26
26
 
27
27
  # The scope to which the monitor applied.
@@ -17,14 +17,14 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # Use conditional recipients to define different recipients for different situations.
20
+ # Use conditional recipients to define different recipients for different situations. Cannot be used with `recipients`.
21
21
  class MonitorNotificationRuleConditionalRecipients
22
22
  include BaseGenericModel
23
23
 
24
24
  # Conditions of the notification rule.
25
25
  attr_reader :conditions
26
26
 
27
- # A list of recipients to notify. Uses the same format as the monitor `message` field. Must not start with an '@'.
27
+ # A list of recipients to notify. Uses the same format as the monitor `message` field. Must not start with an '@'. Cannot be used with `conditional_recipients`.
28
28
  attr_reader :fallback_recipients
29
29
 
30
30
  attr_accessor :additional_properties
@@ -26,7 +26,8 @@ module DatadogAPIClient::V2
26
26
  # List of class defined in oneOf (OpenAPI v3)
27
27
  def openapi_one_of
28
28
  [
29
- :'MonitorNotificationRuleFilterTags'
29
+ :'MonitorNotificationRuleFilterTags',
30
+ :'MonitorNotificationRuleFilterScope'
30
31
  ]
31
32
  end
32
33
  # Builds the object
@@ -0,0 +1,106 @@
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 monitor notifications. A monitor notification must match the scope.
21
+ class MonitorNotificationRuleFilterScope
22
+ include BaseGenericModel
23
+
24
+ # A scope composed of one or several key:value pairs, which can be used to filter monitor notifications on monitor and group tags.
25
+ attr_reader :scope
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ # @!visibility private
29
+ def self.attribute_map
30
+ {
31
+ :'scope' => :'scope'
32
+ }
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ # @!visibility private
37
+ def self.openapi_types
38
+ {
39
+ :'scope' => :'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::MonitorNotificationRuleFilterScope` 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::MonitorNotificationRuleFilterScope`. 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?(:'scope')
60
+ self.scope = attributes[:'scope']
61
+ end
62
+ end
63
+
64
+ # Check to see if the all the properties in the model are valid
65
+ # @return true if the model is valid
66
+ # @!visibility private
67
+ def valid?
68
+ return false if @scope.nil?
69
+ return false if @scope.to_s.length > 3000
70
+ return false if @scope.to_s.length < 1
71
+ true
72
+ end
73
+
74
+ # Custom attribute writer method with validation
75
+ # @param scope [Object] Object to be assigned
76
+ # @!visibility private
77
+ def scope=(scope)
78
+ if scope.nil?
79
+ fail ArgumentError, 'invalid value for "scope", scope cannot be nil.'
80
+ end
81
+ if scope.to_s.length > 3000
82
+ fail ArgumentError, 'invalid value for "scope", the character length must be smaller than or equal to 3000.'
83
+ end
84
+ if scope.to_s.length < 1
85
+ fail ArgumentError, 'invalid value for "scope", the character length must be great than or equal to 1.'
86
+ end
87
+ @scope = scope
88
+ end
89
+
90
+ # Checks equality by comparing each attribute.
91
+ # @param o [Object] Object to be compared
92
+ # @!visibility private
93
+ def ==(o)
94
+ return true if self.equal?(o)
95
+ self.class == o.class &&
96
+ scope == o.scope
97
+ end
98
+
99
+ # Calculates hash code according to all attributes.
100
+ # @return [Integer] Hash code
101
+ # @!visibility private
102
+ def hash
103
+ [scope].hash
104
+ end
105
+ end
106
+ end
@@ -17,11 +17,11 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # Filter monitors by tags. Monitors must match all tags.
20
+ # Filter monitor notifications by tags. A monitor notification must match all tags.
21
21
  class MonitorNotificationRuleFilterTags
22
22
  include BaseGenericModel
23
23
 
24
- # A list of monitor tags.
24
+ # A list of tags (key:value pairs), which can be used to filter monitor notifications on monitor and group tags.
25
25
  attr_reader :tags
26
26
 
27
27
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -21,7 +21,7 @@ module DatadogAPIClient::V2
21
21
  class MonitorNotificationRuleResponseAttributes
22
22
  include BaseGenericModel
23
23
 
24
- # Use conditional recipients to define different recipients for different situations.
24
+ # Use conditional recipients to define different recipients for different situations. Cannot be used with `recipients`.
25
25
  attr_accessor :conditional_recipients
26
26
 
27
27
  # Creation time of the monitor notification rule.
@@ -36,7 +36,7 @@ module DatadogAPIClient::V2
36
36
  # The name of the monitor notification rule.
37
37
  attr_reader :name
38
38
 
39
- # A list of recipients to notify. Uses the same format as the monitor `message` field. Must not start with an '@'.
39
+ # A list of recipients to notify. Uses the same format as the monitor `message` field. Must not start with an '@'. Cannot be used with `conditional_recipients`.
40
40
  attr_reader :recipients
41
41
 
42
42
  attr_accessor :additional_properties
@@ -0,0 +1,105 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # A top-level wrapper for a user notification channel
21
+ class NotificationChannel
22
+ include BaseGenericModel
23
+
24
+ # Data for an on-call notification channel
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' => :'NotificationChannelData'
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::NotificationChannel` 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,115 @@
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 for an on-call notification channel.
21
+ class NotificationChannelAttributes
22
+ include BaseGenericModel
23
+
24
+ # Whether the notification channel is currently active.
25
+ attr_accessor :active
26
+
27
+ # Defines the configuration for an On-Call notification channel
28
+ attr_accessor :config
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
+ :'active' => :'active',
37
+ :'config' => :'config'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'active' => :'Boolean',
46
+ :'config' => :'NotificationChannelConfig'
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::NotificationChannelAttributes` 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?(:'active')
69
+ self.active = attributes[:'active']
70
+ end
71
+
72
+ if attributes.key?(:'config')
73
+ self.config = attributes[:'config']
74
+ end
75
+ end
76
+
77
+ # Returns the object in the form of hash, with additionalProperties support.
78
+ # @return [Hash] Returns the object in the form of hash
79
+ # @!visibility private
80
+ def to_hash
81
+ hash = {}
82
+ self.class.attribute_map.each_pair do |attr, param|
83
+ value = self.send(attr)
84
+ if value.nil?
85
+ is_nullable = self.class.openapi_nullable.include?(attr)
86
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
87
+ end
88
+
89
+ hash[param] = _to_hash(value)
90
+ end
91
+ self.additional_properties.each_pair do |attr, value|
92
+ hash[attr] = value
93
+ end
94
+ hash
95
+ end
96
+
97
+ # Checks equality by comparing each attribute.
98
+ # @param o [Object] Object to be compared
99
+ # @!visibility private
100
+ def ==(o)
101
+ return true if self.equal?(o)
102
+ self.class == o.class &&
103
+ active == o.active &&
104
+ config == o.config &&
105
+ additional_properties == o.additional_properties
106
+ end
107
+
108
+ # Calculates hash code according to all attributes.
109
+ # @return [Integer] Hash code
110
+ # @!visibility private
111
+ def hash
112
+ [active, config, additional_properties].hash
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,64 @@
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 configuration for an On-Call notification channel
21
+ module NotificationChannelConfig
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
+ :'NotificationChannelPhoneConfig',
30
+ :'NotificationChannelEmailConfig',
31
+ :'NotificationChannelPushConfig'
32
+ ]
33
+ end
34
+ # Builds the object
35
+ # @param data [Mixed] Data to be matched against the list of oneOf items
36
+ # @return [Object] Returns the model or the data itself
37
+ def build(data)
38
+ # Go through the list of oneOf items and attempt to identify the appropriate one.
39
+ # Note:
40
+ # - We do not attempt to check whether exactly one item matches.
41
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
42
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
43
+ # - TODO: scalar values are de facto behaving as if they were nullable.
44
+ # - TODO: logging when debugging is set.
45
+ openapi_one_of.each do |klass|
46
+ begin
47
+ next if klass == :AnyType # "nullable: true"
48
+ typed_data = find_and_cast_into_type(klass, data)
49
+ next if typed_data.respond_to?(:_unparsed) && typed_data._unparsed
50
+ return typed_data if typed_data
51
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
52
+ end
53
+ end
54
+
55
+ if openapi_one_of.include?(:AnyType)
56
+ data
57
+ else
58
+ self._unparsed = true
59
+ DatadogAPIClient::UnparsedObject.new(data)
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,143 @@
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
+ # Data for an on-call notification channel
21
+ class NotificationChannelData
22
+ include BaseGenericModel
23
+
24
+ # Attributes for an on-call notification channel.
25
+ attr_accessor :attributes
26
+
27
+ # Unique identifier for the channel
28
+ attr_accessor :id
29
+
30
+ # Indicates that the resource is of type 'notification_channels'.
31
+ attr_reader :type
32
+
33
+ attr_accessor :additional_properties
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ # @!visibility private
37
+ def self.attribute_map
38
+ {
39
+ :'attributes' => :'attributes',
40
+ :'id' => :'id',
41
+ :'type' => :'type'
42
+ }
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ # @!visibility private
47
+ def self.openapi_types
48
+ {
49
+ :'attributes' => :'NotificationChannelAttributes',
50
+ :'id' => :'String',
51
+ :'type' => :'NotificationChannelType'
52
+ }
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param attributes [Hash] Model attributes in the form of hash
57
+ # @!visibility private
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::NotificationChannelData` initialize method"
61
+ end
62
+
63
+ self.additional_properties = {}
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!self.class.attribute_map.key?(k.to_sym))
67
+ self.additional_properties[k.to_sym] = v
68
+ else
69
+ h[k.to_sym] = v
70
+ end
71
+ }
72
+
73
+ if attributes.key?(:'attributes')
74
+ self.attributes = attributes[:'attributes']
75
+ end
76
+
77
+ if attributes.key?(:'id')
78
+ self.id = attributes[:'id']
79
+ end
80
+
81
+ if attributes.key?(:'type')
82
+ self.type = attributes[:'type']
83
+ end
84
+ end
85
+
86
+ # Check to see if the all the properties in the model are valid
87
+ # @return true if the model is valid
88
+ # @!visibility private
89
+ def valid?
90
+ return false if @type.nil?
91
+ true
92
+ end
93
+
94
+ # Custom attribute writer method with validation
95
+ # @param type [Object] Object to be assigned
96
+ # @!visibility private
97
+ def type=(type)
98
+ if type.nil?
99
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
100
+ end
101
+ @type = type
102
+ end
103
+
104
+ # Returns the object in the form of hash, with additionalProperties support.
105
+ # @return [Hash] Returns the object in the form of hash
106
+ # @!visibility private
107
+ def to_hash
108
+ hash = {}
109
+ self.class.attribute_map.each_pair do |attr, param|
110
+ value = self.send(attr)
111
+ if value.nil?
112
+ is_nullable = self.class.openapi_nullable.include?(attr)
113
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
114
+ end
115
+
116
+ hash[param] = _to_hash(value)
117
+ end
118
+ self.additional_properties.each_pair do |attr, value|
119
+ hash[attr] = value
120
+ end
121
+ hash
122
+ end
123
+
124
+ # Checks equality by comparing each attribute.
125
+ # @param o [Object] Object to be compared
126
+ # @!visibility private
127
+ def ==(o)
128
+ return true if self.equal?(o)
129
+ self.class == o.class &&
130
+ attributes == o.attributes &&
131
+ id == o.id &&
132
+ type == o.type &&
133
+ additional_properties == o.additional_properties
134
+ end
135
+
136
+ # Calculates hash code according to all attributes.
137
+ # @return [Integer] Hash code
138
+ # @!visibility private
139
+ def hash
140
+ [attributes, id, type, additional_properties].hash
141
+ end
142
+ end
143
+ end