datadog_api_client 2.33.0 → 2.35.0

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