datadog_api_client 2.31.0 → 2.32.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 (213) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/schemas/v1/openapi.yaml +80 -4
  4. data/.generator/schemas/v2/openapi.yaml +2417 -93
  5. data/.generator/src/generator/cli.py +1 -1
  6. data/.generator/src/generator/formatter.py +3 -0
  7. data/.generator/src/generator/templates/api.j2 +1 -1
  8. data/.generator/src/generator/templates/inflector.j2 +1 -1
  9. data/CHANGELOG.md +35 -0
  10. data/examples/v1/slack-integration/CreateSlackIntegrationChannel.rb +1 -0
  11. data/examples/v1/slack-integration/UpdateSlackIntegrationChannel.rb +1 -0
  12. data/examples/v2/action-connection/CreateActionConnection.rb +1 -1
  13. data/examples/v2/action-connection/DeleteActionConnection.rb +4 -1
  14. data/examples/v2/apm-retention-filters/CreateApmRetentionFilter_3853850379.rb +21 -0
  15. data/examples/v2/apm-retention-filters/UpdateApmRetentionFilter_3916044058.rb +25 -0
  16. data/examples/v2/cloud-network-monitoring/GetAggregatedConnections.rb +8 -0
  17. data/examples/v2/cloud-network-monitoring/GetAggregatedConnections_3059356111.rb +8 -0
  18. data/examples/v2/observability-pipelines/CreatePipeline.rb +44 -0
  19. data/examples/v2/observability-pipelines/DeletePipeline.rb +11 -0
  20. data/examples/v2/observability-pipelines/GetPipeline.rb +11 -0
  21. data/examples/v2/observability-pipelines/UpdatePipeline.rb +48 -0
  22. data/examples/v2/on-call/CreateOnCallSchedule.rb +61 -0
  23. data/examples/v2/on-call/DeleteOnCallSchedule.rb +8 -0
  24. data/examples/v2/on-call/GetOnCallSchedule.rb +8 -0
  25. data/examples/v2/on-call/UpdateOnCallSchedule.rb +68 -0
  26. data/examples/v2/rum-retention-filters/CreateRetentionFilter.rb +0 -3
  27. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_1965169892.rb +6 -0
  28. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions.rb +1 -1
  29. data/examples/v2/software-catalog/UpsertCatalogEntity.rb +1 -0
  30. data/lib/datadog_api_client/configuration.rb +5 -0
  31. data/lib/datadog_api_client/inflector.rb +122 -3
  32. data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -1
  33. data/lib/datadog_api_client/v1/models/formula_and_function_slo_query_type.rb +1 -0
  34. data/lib/datadog_api_client/v1/models/slack_integration_channel_display.rb +11 -1
  35. data/lib/datadog_api_client/v1/models/synthetics_step_type.rb +1 -0
  36. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +41 -1
  37. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +41 -1
  38. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +41 -1
  39. data/lib/datadog_api_client/v2/api/cloud_network_monitoring_api.rb +108 -0
  40. data/lib/datadog_api_client/v2/api/downtimes_api.rb +2 -0
  41. data/lib/datadog_api_client/v2/api/observability_pipelines_api.rb +319 -0
  42. data/lib/datadog_api_client/v2/api/on_call_api.rb +301 -0
  43. data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +7 -3
  44. data/lib/datadog_api_client/v2/api/rum_retention_filters_api.rb +13 -13
  45. data/lib/datadog_api_client/v2/models/api_trigger.rb +1 -1
  46. data/lib/datadog_api_client/v2/models/api_trigger_wrapper.rb +1 -1
  47. data/lib/datadog_api_client/v2/models/app_trigger_wrapper.rb +1 -1
  48. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_tags_category.rb +1 -1
  49. data/lib/datadog_api_client/v2/models/case_trigger.rb +1 -1
  50. data/lib/datadog_api_client/v2/models/case_trigger_wrapper.rb +1 -1
  51. data/lib/datadog_api_client/v2/models/change_event_trigger_wrapper.rb +1 -1
  52. data/lib/datadog_api_client/v2/models/dashboard_trigger_wrapper.rb +1 -1
  53. data/lib/datadog_api_client/v2/models/database_monitoring_trigger_wrapper.rb +135 -0
  54. data/lib/datadog_api_client/v2/models/entity_response_included_incident.rb +1 -1
  55. data/lib/datadog_api_client/v2/models/{rum_retention_filter_source.rb → entity_response_included_incident_type.rb} +3 -6
  56. data/lib/datadog_api_client/v2/models/entity_response_included_oncall.rb +1 -1
  57. data/lib/datadog_api_client/v2/models/{service_definition_v2_dot2_type.rb → entity_response_included_oncall_type.rb} +3 -9
  58. data/lib/datadog_api_client/v2/models/entity_response_included_raw_schema.rb +1 -1
  59. data/lib/datadog_api_client/v2/models/entity_response_included_raw_schema_type.rb +26 -0
  60. data/lib/datadog_api_client/v2/models/entity_response_included_related_entity.rb +1 -1
  61. data/lib/datadog_api_client/v2/models/entity_response_included_related_entity_type.rb +26 -0
  62. data/lib/datadog_api_client/v2/models/entity_response_included_schema.rb +1 -1
  63. data/lib/datadog_api_client/v2/models/entity_response_included_schema_type.rb +26 -0
  64. data/lib/datadog_api_client/v2/models/entity_v3_datastore_spec.rb +13 -1
  65. data/lib/datadog_api_client/v2/models/entity_v3_queue_spec.rb +13 -1
  66. data/lib/datadog_api_client/v2/models/entity_v3_service_spec.rb +13 -1
  67. data/lib/datadog_api_client/v2/models/github_webhook_trigger.rb +1 -1
  68. data/lib/datadog_api_client/v2/models/github_webhook_trigger_wrapper.rb +1 -1
  69. data/lib/datadog_api_client/v2/models/historical_job_query.rb +11 -1
  70. data/lib/datadog_api_client/v2/models/incident_trigger.rb +1 -1
  71. data/lib/datadog_api_client/v2/models/incident_trigger_wrapper.rb +1 -1
  72. data/lib/datadog_api_client/v2/models/interface_attributes.rb +13 -1
  73. data/lib/datadog_api_client/v2/models/layer.rb +135 -0
  74. data/lib/datadog_api_client/v2/models/layer_attributes.rb +157 -0
  75. data/lib/datadog_api_client/v2/models/layer_attributes_interval.rb +144 -0
  76. data/lib/datadog_api_client/v2/models/layer_attributes_restrictions_items.rb +136 -0
  77. data/lib/datadog_api_client/v2/models/layer_attributes_restrictions_items_end_day.rb +32 -0
  78. data/lib/datadog_api_client/v2/models/layer_attributes_restrictions_items_start_day.rb +32 -0
  79. data/lib/datadog_api_client/v2/models/layer_relationships.rb +105 -0
  80. data/lib/datadog_api_client/v2/models/layer_relationships_members.rb +107 -0
  81. data/lib/datadog_api_client/v2/models/layer_relationships_members_data_items.rb +116 -0
  82. data/lib/datadog_api_client/v2/models/layer_relationships_members_data_items_type.rb +26 -0
  83. data/lib/datadog_api_client/v2/models/layer_type.rb +26 -0
  84. data/lib/datadog_api_client/v2/models/logs_aggregate_request.rb +1 -1
  85. data/lib/datadog_api_client/v2/models/logs_list_request.rb +1 -1
  86. data/lib/datadog_api_client/v2/models/logs_query_options.rb +4 -1
  87. data/lib/datadog_api_client/v2/models/monitor_trigger.rb +1 -1
  88. data/lib/datadog_api_client/v2/models/monitor_trigger_wrapper.rb +1 -1
  89. data/lib/datadog_api_client/v2/models/notebook_trigger_wrapper.rb +135 -0
  90. data/lib/datadog_api_client/v2/models/observability_pipeline.rb +123 -0
  91. data/lib/datadog_api_client/v2/models/observability_pipeline_add_fields_processor.rb +211 -0
  92. data/lib/datadog_api_client/v2/models/observability_pipeline_add_fields_processor_type.rb +26 -0
  93. data/lib/datadog_api_client/v2/models/observability_pipeline_config.rb +171 -0
  94. data/lib/datadog_api_client/v2/models/observability_pipeline_config_destination_item.rb +62 -0
  95. data/lib/datadog_api_client/v2/models/observability_pipeline_config_processor_item.rb +67 -0
  96. data/lib/datadog_api_client/v2/models/observability_pipeline_config_source_item.rb +63 -0
  97. data/lib/datadog_api_client/v2/models/observability_pipeline_create_request.rb +123 -0
  98. data/lib/datadog_api_client/v2/models/observability_pipeline_create_request_data.rb +144 -0
  99. data/lib/datadog_api_client/v2/models/observability_pipeline_data.rb +165 -0
  100. data/lib/datadog_api_client/v2/models/observability_pipeline_data_attributes.rb +144 -0
  101. data/lib/datadog_api_client/v2/models/observability_pipeline_datadog_agent_source.rb +154 -0
  102. data/lib/datadog_api_client/v2/models/observability_pipeline_datadog_agent_source_type.rb +26 -0
  103. data/lib/datadog_api_client/v2/models/observability_pipeline_datadog_logs_destination.rb +167 -0
  104. data/lib/datadog_api_client/v2/models/observability_pipeline_datadog_logs_destination_type.rb +26 -0
  105. data/lib/datadog_api_client/v2/models/observability_pipeline_field_value.rb +144 -0
  106. data/lib/datadog_api_client/v2/models/observability_pipeline_filter_processor.rb +188 -0
  107. data/lib/datadog_api_client/v2/models/observability_pipeline_filter_processor_type.rb +26 -0
  108. data/lib/datadog_api_client/v2/models/observability_pipeline_kafka_source.rb +220 -0
  109. data/lib/datadog_api_client/v2/models/observability_pipeline_kafka_source_librdkafka_option.rb +144 -0
  110. data/lib/datadog_api_client/v2/models/observability_pipeline_kafka_source_sasl.rb +105 -0
  111. data/lib/datadog_api_client/v2/models/observability_pipeline_kafka_source_type.rb +26 -0
  112. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_json_processor.rb +209 -0
  113. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_json_processor_type.rb +26 -0
  114. data/lib/datadog_api_client/v2/models/observability_pipeline_pipeline_kafka_source_sasl_mechanism.rb +28 -0
  115. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor.rb +285 -0
  116. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor_limit.rb +144 -0
  117. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor_limit_enforce_type.rb +27 -0
  118. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor_override.rb +146 -0
  119. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor_type.rb +26 -0
  120. data/lib/datadog_api_client/v2/models/observability_pipeline_remove_fields_processor.rb +211 -0
  121. data/lib/datadog_api_client/v2/models/observability_pipeline_remove_fields_processor_type.rb +26 -0
  122. data/lib/datadog_api_client/v2/models/observability_pipeline_rename_fields_processor.rb +211 -0
  123. data/lib/datadog_api_client/v2/models/observability_pipeline_rename_fields_processor_field.rb +165 -0
  124. data/lib/datadog_api_client/v2/models/observability_pipeline_rename_fields_processor_type.rb +26 -0
  125. data/lib/datadog_api_client/v2/models/observability_pipeline_tls.rb +143 -0
  126. data/lib/datadog_api_client/v2/models/retention_filter_all_attributes.rb +16 -5
  127. data/lib/datadog_api_client/v2/models/retention_filter_attributes.rb +16 -5
  128. data/lib/datadog_api_client/v2/models/retention_filter_create_attributes.rb +16 -5
  129. data/lib/datadog_api_client/v2/models/retention_filter_update_attributes.rb +16 -5
  130. data/lib/datadog_api_client/v2/models/rum_retention_filter_create_data.rb +1 -11
  131. data/lib/datadog_api_client/v2/models/rum_retention_filter_data.rb +1 -11
  132. data/lib/datadog_api_client/v2/models/rum_retention_filter_update_data.rb +1 -11
  133. data/lib/datadog_api_client/v2/models/rum_retention_filters_order_request.rb +1 -1
  134. data/lib/datadog_api_client/v2/models/rum_retention_filters_response.rb +1 -1
  135. data/lib/datadog_api_client/v2/models/schedule.rb +117 -0
  136. data/lib/datadog_api_client/v2/models/schedule_create_request.rb +123 -0
  137. data/lib/datadog_api_client/v2/models/schedule_create_request_data.rb +154 -0
  138. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes.rb +179 -0
  139. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items.rb +231 -0
  140. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_interval.rb +144 -0
  141. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_members_items.rb +105 -0
  142. data/lib/datadog_api_client/v2/models/{rum_retention_filter_meta.rb → schedule_create_request_data_attributes_layers_items_members_items_user.rb} +11 -11
  143. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_restrictions_items.rb +136 -0
  144. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_restrictions_items_end_day.rb +32 -0
  145. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_restrictions_items_start_day.rb +32 -0
  146. data/lib/datadog_api_client/v2/models/schedule_create_request_data_relationships.rb +105 -0
  147. data/lib/datadog_api_client/v2/models/schedule_create_request_data_relationships_teams.rb +107 -0
  148. data/lib/datadog_api_client/v2/models/schedule_create_request_data_relationships_teams_data_items.rb +116 -0
  149. data/lib/datadog_api_client/v2/models/schedule_create_request_data_relationships_teams_data_items_type.rb +26 -0
  150. data/lib/datadog_api_client/v2/models/schedule_create_request_data_type.rb +26 -0
  151. data/lib/datadog_api_client/v2/models/schedule_data.rb +135 -0
  152. data/lib/datadog_api_client/v2/models/schedule_data_attributes.rb +127 -0
  153. data/lib/datadog_api_client/v2/models/schedule_data_included_item.rb +65 -0
  154. data/lib/datadog_api_client/v2/models/schedule_data_relationships.rb +115 -0
  155. data/lib/datadog_api_client/v2/models/schedule_data_relationships_layers.rb +107 -0
  156. data/lib/datadog_api_client/v2/models/schedule_data_relationships_layers_data_items.rb +115 -0
  157. data/lib/datadog_api_client/v2/models/schedule_data_relationships_layers_data_items_type.rb +26 -0
  158. data/lib/datadog_api_client/v2/models/schedule_data_relationships_teams.rb +107 -0
  159. data/lib/datadog_api_client/v2/models/schedule_data_relationships_teams_data_items.rb +115 -0
  160. data/lib/datadog_api_client/v2/models/schedule_data_relationships_teams_data_items_type.rb +26 -0
  161. data/lib/datadog_api_client/v2/models/schedule_data_type.rb +26 -0
  162. data/lib/datadog_api_client/v2/models/schedule_member.rb +125 -0
  163. data/lib/datadog_api_client/v2/models/schedule_member_relationships.rb +105 -0
  164. data/lib/datadog_api_client/v2/models/schedule_member_relationships_user.rb +105 -0
  165. data/lib/datadog_api_client/v2/models/schedule_member_relationships_user_data.rb +115 -0
  166. data/lib/datadog_api_client/v2/models/schedule_member_relationships_user_data_type.rb +26 -0
  167. data/lib/datadog_api_client/v2/models/schedule_member_type.rb +26 -0
  168. data/lib/datadog_api_client/v2/models/schedule_trigger.rb +1 -1
  169. data/lib/datadog_api_client/v2/models/schedule_trigger_wrapper.rb +1 -1
  170. data/lib/datadog_api_client/v2/models/schedule_update_request.rb +123 -0
  171. data/lib/datadog_api_client/v2/models/schedule_update_request_data.rb +175 -0
  172. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes.rb +179 -0
  173. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items.rb +180 -0
  174. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_interval.rb +144 -0
  175. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_members_items.rb +106 -0
  176. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_members_items_user.rb +105 -0
  177. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_restrictions_items.rb +136 -0
  178. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_restrictions_items_end_day.rb +32 -0
  179. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_restrictions_items_start_day.rb +32 -0
  180. data/lib/datadog_api_client/v2/models/schedule_update_request_data_relationships.rb +105 -0
  181. data/lib/datadog_api_client/v2/models/schedule_update_request_data_relationships_teams.rb +107 -0
  182. data/lib/datadog_api_client/v2/models/schedule_update_request_data_relationships_teams_data_items.rb +115 -0
  183. data/lib/datadog_api_client/v2/models/schedule_update_request_data_relationships_teams_data_items_type.rb +26 -0
  184. data/lib/datadog_api_client/v2/models/schedule_update_request_data_type.rb +26 -0
  185. data/lib/datadog_api_client/v2/models/schedule_user.rb +125 -0
  186. data/lib/datadog_api_client/v2/models/schedule_user_attributes.rb +115 -0
  187. data/lib/datadog_api_client/v2/models/schedule_user_type.rb +26 -0
  188. data/lib/datadog_api_client/v2/models/security_monitoring_rule_case_action_options.rb +13 -3
  189. data/lib/datadog_api_client/v2/models/security_monitoring_rule_case_action_type.rb +1 -0
  190. data/lib/datadog_api_client/v2/models/security_monitoring_standard_data_source.rb +31 -0
  191. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_query.rb +11 -1
  192. data/lib/datadog_api_client/v2/models/security_trigger.rb +1 -1
  193. data/lib/datadog_api_client/v2/models/security_trigger_wrapper.rb +1 -1
  194. data/lib/datadog_api_client/v2/models/self_service_trigger_wrapper.rb +135 -0
  195. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2.rb +1 -1
  196. data/lib/datadog_api_client/v2/models/single_aggregated_connection_response_array.rb +107 -0
  197. data/lib/datadog_api_client/v2/models/single_aggregated_connection_response_data.rb +125 -0
  198. data/lib/datadog_api_client/v2/models/single_aggregated_connection_response_data_attributes.rb +215 -0
  199. data/lib/datadog_api_client/v2/models/single_aggregated_connection_response_data_type.rb +26 -0
  200. data/lib/datadog_api_client/v2/models/slack_trigger_wrapper.rb +1 -1
  201. data/lib/datadog_api_client/v2/models/software_catalog_trigger_wrapper.rb +135 -0
  202. data/lib/datadog_api_client/v2/models/team_reference.rb +135 -0
  203. data/lib/datadog_api_client/v2/models/team_reference_attributes.rb +135 -0
  204. data/lib/datadog_api_client/v2/models/team_reference_relationships.rb +105 -0
  205. data/lib/datadog_api_client/v2/models/team_reference_relationships_oncall_users.rb +107 -0
  206. data/lib/datadog_api_client/v2/models/team_reference_relationships_oncall_users_data_items.rb +115 -0
  207. data/lib/datadog_api_client/v2/models/team_reference_relationships_oncall_users_data_items_type.rb +26 -0
  208. data/lib/datadog_api_client/v2/models/team_reference_type.rb +26 -0
  209. data/lib/datadog_api_client/v2/models/trigger.rb +4 -0
  210. data/lib/datadog_api_client/v2/models/workflow_trigger_wrapper.rb +1 -1
  211. data/lib/datadog_api_client/version.rb +1 -1
  212. metadata +136 -6
  213. data/examples/v2/action-connection/DeleteActionConnection_2142905164.rb +0 -8
@@ -0,0 +1,123 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # A top-level wrapper for a schedule update request, referring to the `data` object with the new details.
21
+ class ScheduleUpdateRequest
22
+ include BaseGenericModel
23
+
24
+ # Contains all data needed to update an existing schedule, including its attributes (such as name, layers, or tags) and any relationships to teams.
25
+ attr_reader :data
26
+
27
+ attr_accessor :additional_properties
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ # @!visibility private
31
+ def self.attribute_map
32
+ {
33
+ :'data' => :'data'
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ # @!visibility private
39
+ def self.openapi_types
40
+ {
41
+ :'data' => :'ScheduleUpdateRequestData'
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::ScheduleUpdateRequest` initialize method"
51
+ end
52
+
53
+ self.additional_properties = {}
54
+ # check to see if the attribute exists and convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}) { |(k, v), h|
56
+ if (!self.class.attribute_map.key?(k.to_sym))
57
+ self.additional_properties[k.to_sym] = v
58
+ else
59
+ h[k.to_sym] = v
60
+ end
61
+ }
62
+
63
+ if attributes.key?(:'data')
64
+ self.data = attributes[:'data']
65
+ end
66
+ end
67
+
68
+ # Check to see if the all the properties in the model are valid
69
+ # @return true if the model is valid
70
+ # @!visibility private
71
+ def valid?
72
+ return false if @data.nil?
73
+ true
74
+ end
75
+
76
+ # Custom attribute writer method with validation
77
+ # @param data [Object] Object to be assigned
78
+ # @!visibility private
79
+ def data=(data)
80
+ if data.nil?
81
+ fail ArgumentError, 'invalid value for "data", data cannot be nil.'
82
+ end
83
+ @data = data
84
+ end
85
+
86
+ # Returns the object in the form of hash, with additionalProperties support.
87
+ # @return [Hash] Returns the object in the form of hash
88
+ # @!visibility private
89
+ def to_hash
90
+ hash = {}
91
+ self.class.attribute_map.each_pair do |attr, param|
92
+ value = self.send(attr)
93
+ if value.nil?
94
+ is_nullable = self.class.openapi_nullable.include?(attr)
95
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
96
+ end
97
+
98
+ hash[param] = _to_hash(value)
99
+ end
100
+ self.additional_properties.each_pair do |attr, value|
101
+ hash[attr] = value
102
+ end
103
+ hash
104
+ end
105
+
106
+ # Checks equality by comparing each attribute.
107
+ # @param o [Object] Object to be compared
108
+ # @!visibility private
109
+ def ==(o)
110
+ return true if self.equal?(o)
111
+ self.class == o.class &&
112
+ data == o.data &&
113
+ additional_properties == o.additional_properties
114
+ end
115
+
116
+ # Calculates hash code according to all attributes.
117
+ # @return [Integer] Hash code
118
+ # @!visibility private
119
+ def hash
120
+ [data, additional_properties].hash
121
+ end
122
+ end
123
+ end
@@ -0,0 +1,175 @@
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
+ # Contains all data needed to update an existing schedule, including its attributes (such as name, layers, or tags) and any relationships to teams.
21
+ class ScheduleUpdateRequestData
22
+ include BaseGenericModel
23
+
24
+ # Defines the updatable attributes for a schedule, such as name, time zone, tags, and layers.
25
+ attr_reader :attributes
26
+
27
+ # The ID of the schedule to be updated.
28
+ attr_reader :id
29
+
30
+ # Houses relationships for the schedule update, typically referencing teams.
31
+ attr_accessor :relationships
32
+
33
+ # Schedules resource type.
34
+ attr_reader :type
35
+
36
+ attr_accessor :additional_properties
37
+
38
+ # Attribute mapping from ruby-style variable name to JSON key.
39
+ # @!visibility private
40
+ def self.attribute_map
41
+ {
42
+ :'attributes' => :'attributes',
43
+ :'id' => :'id',
44
+ :'relationships' => :'relationships',
45
+ :'type' => :'type'
46
+ }
47
+ end
48
+
49
+ # Attribute type mapping.
50
+ # @!visibility private
51
+ def self.openapi_types
52
+ {
53
+ :'attributes' => :'ScheduleUpdateRequestDataAttributes',
54
+ :'id' => :'String',
55
+ :'relationships' => :'ScheduleUpdateRequestDataRelationships',
56
+ :'type' => :'ScheduleUpdateRequestDataType'
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::ScheduleUpdateRequestData` 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 @attributes.nil?
100
+ return false if @id.nil?
101
+ return false if @type.nil?
102
+ true
103
+ end
104
+
105
+ # Custom attribute writer method with validation
106
+ # @param attributes [Object] Object to be assigned
107
+ # @!visibility private
108
+ def attributes=(attributes)
109
+ if attributes.nil?
110
+ fail ArgumentError, 'invalid value for "attributes", attributes cannot be nil.'
111
+ end
112
+ @attributes = attributes
113
+ end
114
+
115
+ # Custom attribute writer method with validation
116
+ # @param id [Object] Object to be assigned
117
+ # @!visibility private
118
+ def id=(id)
119
+ if id.nil?
120
+ fail ArgumentError, 'invalid value for "id", id cannot be nil.'
121
+ end
122
+ @id = id
123
+ end
124
+
125
+ # Custom attribute writer method with validation
126
+ # @param type [Object] Object to be assigned
127
+ # @!visibility private
128
+ def type=(type)
129
+ if type.nil?
130
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
131
+ end
132
+ @type = type
133
+ end
134
+
135
+ # Returns the object in the form of hash, with additionalProperties support.
136
+ # @return [Hash] Returns the object in the form of hash
137
+ # @!visibility private
138
+ def to_hash
139
+ hash = {}
140
+ self.class.attribute_map.each_pair do |attr, param|
141
+ value = self.send(attr)
142
+ if value.nil?
143
+ is_nullable = self.class.openapi_nullable.include?(attr)
144
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
145
+ end
146
+
147
+ hash[param] = _to_hash(value)
148
+ end
149
+ self.additional_properties.each_pair do |attr, value|
150
+ hash[attr] = value
151
+ end
152
+ hash
153
+ end
154
+
155
+ # Checks equality by comparing each attribute.
156
+ # @param o [Object] Object to be compared
157
+ # @!visibility private
158
+ def ==(o)
159
+ return true if self.equal?(o)
160
+ self.class == o.class &&
161
+ attributes == o.attributes &&
162
+ id == o.id &&
163
+ relationships == o.relationships &&
164
+ type == o.type &&
165
+ additional_properties == o.additional_properties
166
+ end
167
+
168
+ # Calculates hash code according to all attributes.
169
+ # @return [Integer] Hash code
170
+ # @!visibility private
171
+ def hash
172
+ [attributes, id, relationships, type, additional_properties].hash
173
+ end
174
+ end
175
+ end
@@ -0,0 +1,179 @@
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 updatable attributes for a schedule, such as name, time zone, tags, and layers.
21
+ class ScheduleUpdateRequestDataAttributes
22
+ include BaseGenericModel
23
+
24
+ # The updated list of layers (rotations) for this schedule.
25
+ attr_reader :layers
26
+
27
+ # A short name for the schedule.
28
+ attr_reader :name
29
+
30
+ # A list of tags that you can associate with this schedule.
31
+ attr_accessor :tags
32
+
33
+ # The time zone used when interpreting rotation times.
34
+ attr_reader :time_zone
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
+ :'layers' => :'layers',
43
+ :'name' => :'name',
44
+ :'tags' => :'tags',
45
+ :'time_zone' => :'time_zone'
46
+ }
47
+ end
48
+
49
+ # Attribute type mapping.
50
+ # @!visibility private
51
+ def self.openapi_types
52
+ {
53
+ :'layers' => :'Array<ScheduleUpdateRequestDataAttributesLayersItems>',
54
+ :'name' => :'String',
55
+ :'tags' => :'Array<String>',
56
+ :'time_zone' => :'String'
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::ScheduleUpdateRequestDataAttributes` 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?(:'layers')
79
+ if (value = attributes[:'layers']).is_a?(Array)
80
+ self.layers = value
81
+ end
82
+ end
83
+
84
+ if attributes.key?(:'name')
85
+ self.name = attributes[:'name']
86
+ end
87
+
88
+ if attributes.key?(:'tags')
89
+ if (value = attributes[:'tags']).is_a?(Array)
90
+ self.tags = value
91
+ end
92
+ end
93
+
94
+ if attributes.key?(:'time_zone')
95
+ self.time_zone = attributes[:'time_zone']
96
+ end
97
+ end
98
+
99
+ # Check to see if the all the properties in the model are valid
100
+ # @return true if the model is valid
101
+ # @!visibility private
102
+ def valid?
103
+ return false if @layers.nil?
104
+ return false if @name.nil?
105
+ return false if @time_zone.nil?
106
+ true
107
+ end
108
+
109
+ # Custom attribute writer method with validation
110
+ # @param layers [Object] Object to be assigned
111
+ # @!visibility private
112
+ def layers=(layers)
113
+ if layers.nil?
114
+ fail ArgumentError, 'invalid value for "layers", layers cannot be nil.'
115
+ end
116
+ @layers = layers
117
+ end
118
+
119
+ # Custom attribute writer method with validation
120
+ # @param name [Object] Object to be assigned
121
+ # @!visibility private
122
+ def name=(name)
123
+ if name.nil?
124
+ fail ArgumentError, 'invalid value for "name", name cannot be nil.'
125
+ end
126
+ @name = name
127
+ end
128
+
129
+ # Custom attribute writer method with validation
130
+ # @param time_zone [Object] Object to be assigned
131
+ # @!visibility private
132
+ def time_zone=(time_zone)
133
+ if time_zone.nil?
134
+ fail ArgumentError, 'invalid value for "time_zone", time_zone cannot be nil.'
135
+ end
136
+ @time_zone = time_zone
137
+ end
138
+
139
+ # Returns the object in the form of hash, with additionalProperties support.
140
+ # @return [Hash] Returns the object in the form of hash
141
+ # @!visibility private
142
+ def to_hash
143
+ hash = {}
144
+ self.class.attribute_map.each_pair do |attr, param|
145
+ value = self.send(attr)
146
+ if value.nil?
147
+ is_nullable = self.class.openapi_nullable.include?(attr)
148
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
149
+ end
150
+
151
+ hash[param] = _to_hash(value)
152
+ end
153
+ self.additional_properties.each_pair do |attr, value|
154
+ hash[attr] = value
155
+ end
156
+ hash
157
+ end
158
+
159
+ # Checks equality by comparing each attribute.
160
+ # @param o [Object] Object to be compared
161
+ # @!visibility private
162
+ def ==(o)
163
+ return true if self.equal?(o)
164
+ self.class == o.class &&
165
+ layers == o.layers &&
166
+ name == o.name &&
167
+ tags == o.tags &&
168
+ time_zone == o.time_zone &&
169
+ additional_properties == o.additional_properties
170
+ end
171
+
172
+ # Calculates hash code according to all attributes.
173
+ # @return [Integer] Hash code
174
+ # @!visibility private
175
+ def hash
176
+ [layers, name, tags, time_zone, additional_properties].hash
177
+ end
178
+ end
179
+ end
@@ -0,0 +1,180 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Represents a layer within a schedule update, including rotation details, members,
21
+ # and optional restrictions.
22
+ class ScheduleUpdateRequestDataAttributesLayersItems
23
+ include BaseGenericModel
24
+
25
+ # When this updated layer takes effect (ISO 8601 format).
26
+ attr_accessor :effective_date
27
+
28
+ # When this updated layer should stop being active (ISO 8601 format).
29
+ attr_accessor :end_date
30
+
31
+ # A unique identifier for the layer being updated.
32
+ attr_accessor :id
33
+
34
+ # Specifies how the rotation repeats: number of days, plus optional seconds, up to the given maximums.
35
+ attr_accessor :interval
36
+
37
+ # The members assigned to this layer.
38
+ attr_accessor :members
39
+
40
+ # The name for this layer (for example, “Secondary Coverage”).
41
+ attr_accessor :name
42
+
43
+ # Any time restrictions that define when this layer is active.
44
+ attr_accessor :restrictions
45
+
46
+ # The date/time at which the rotation begins (ISO 8601 format).
47
+ attr_accessor :rotation_start
48
+
49
+ attr_accessor :additional_properties
50
+
51
+ # Attribute mapping from ruby-style variable name to JSON key.
52
+ # @!visibility private
53
+ def self.attribute_map
54
+ {
55
+ :'effective_date' => :'effective_date',
56
+ :'end_date' => :'end_date',
57
+ :'id' => :'id',
58
+ :'interval' => :'interval',
59
+ :'members' => :'members',
60
+ :'name' => :'name',
61
+ :'restrictions' => :'restrictions',
62
+ :'rotation_start' => :'rotation_start'
63
+ }
64
+ end
65
+
66
+ # Attribute type mapping.
67
+ # @!visibility private
68
+ def self.openapi_types
69
+ {
70
+ :'effective_date' => :'Time',
71
+ :'end_date' => :'Time',
72
+ :'id' => :'String',
73
+ :'interval' => :'ScheduleUpdateRequestDataAttributesLayersItemsInterval',
74
+ :'members' => :'Array<ScheduleUpdateRequestDataAttributesLayersItemsMembersItems>',
75
+ :'name' => :'String',
76
+ :'restrictions' => :'Array<ScheduleUpdateRequestDataAttributesLayersItemsRestrictionsItems>',
77
+ :'rotation_start' => :'Time'
78
+ }
79
+ end
80
+
81
+ # Initializes the object
82
+ # @param attributes [Hash] Model attributes in the form of hash
83
+ # @!visibility private
84
+ def initialize(attributes = {})
85
+ if (!attributes.is_a?(Hash))
86
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ScheduleUpdateRequestDataAttributesLayersItems` initialize method"
87
+ end
88
+
89
+ self.additional_properties = {}
90
+ # check to see if the attribute exists and convert string to symbol for hash key
91
+ attributes = attributes.each_with_object({}) { |(k, v), h|
92
+ if (!self.class.attribute_map.key?(k.to_sym))
93
+ self.additional_properties[k.to_sym] = v
94
+ else
95
+ h[k.to_sym] = v
96
+ end
97
+ }
98
+
99
+ if attributes.key?(:'effective_date')
100
+ self.effective_date = attributes[:'effective_date']
101
+ end
102
+
103
+ if attributes.key?(:'end_date')
104
+ self.end_date = attributes[:'end_date']
105
+ end
106
+
107
+ if attributes.key?(:'id')
108
+ self.id = attributes[:'id']
109
+ end
110
+
111
+ if attributes.key?(:'interval')
112
+ self.interval = attributes[:'interval']
113
+ end
114
+
115
+ if attributes.key?(:'members')
116
+ if (value = attributes[:'members']).is_a?(Array)
117
+ self.members = value
118
+ end
119
+ end
120
+
121
+ if attributes.key?(:'name')
122
+ self.name = attributes[:'name']
123
+ end
124
+
125
+ if attributes.key?(:'restrictions')
126
+ if (value = attributes[:'restrictions']).is_a?(Array)
127
+ self.restrictions = value
128
+ end
129
+ end
130
+
131
+ if attributes.key?(:'rotation_start')
132
+ self.rotation_start = attributes[:'rotation_start']
133
+ end
134
+ end
135
+
136
+ # Returns the object in the form of hash, with additionalProperties support.
137
+ # @return [Hash] Returns the object in the form of hash
138
+ # @!visibility private
139
+ def to_hash
140
+ hash = {}
141
+ self.class.attribute_map.each_pair do |attr, param|
142
+ value = self.send(attr)
143
+ if value.nil?
144
+ is_nullable = self.class.openapi_nullable.include?(attr)
145
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
146
+ end
147
+
148
+ hash[param] = _to_hash(value)
149
+ end
150
+ self.additional_properties.each_pair do |attr, value|
151
+ hash[attr] = value
152
+ end
153
+ hash
154
+ end
155
+
156
+ # Checks equality by comparing each attribute.
157
+ # @param o [Object] Object to be compared
158
+ # @!visibility private
159
+ def ==(o)
160
+ return true if self.equal?(o)
161
+ self.class == o.class &&
162
+ effective_date == o.effective_date &&
163
+ end_date == o.end_date &&
164
+ id == o.id &&
165
+ interval == o.interval &&
166
+ members == o.members &&
167
+ name == o.name &&
168
+ restrictions == o.restrictions &&
169
+ rotation_start == o.rotation_start &&
170
+ additional_properties == o.additional_properties
171
+ end
172
+
173
+ # Calculates hash code according to all attributes.
174
+ # @return [Integer] Hash code
175
+ # @!visibility private
176
+ def hash
177
+ [effective_date, end_date, id, interval, members, name, restrictions, rotation_start, additional_properties].hash
178
+ end
179
+ end
180
+ end