datadog_api_client 2.31.1 → 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 (206) 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 +2404 -55
  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 +27 -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/security-monitoring/CreateSecurityMonitoringRule_1965169892.rb +6 -0
  27. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions.rb +1 -1
  28. data/examples/v2/software-catalog/UpsertCatalogEntity.rb +1 -0
  29. data/lib/datadog_api_client/configuration.rb +5 -0
  30. data/lib/datadog_api_client/inflector.rb +122 -1
  31. data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -1
  32. data/lib/datadog_api_client/v1/models/formula_and_function_slo_query_type.rb +1 -0
  33. data/lib/datadog_api_client/v1/models/slack_integration_channel_display.rb +11 -1
  34. data/lib/datadog_api_client/v1/models/synthetics_step_type.rb +1 -0
  35. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +41 -1
  36. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +41 -1
  37. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +41 -1
  38. data/lib/datadog_api_client/v2/api/cloud_network_monitoring_api.rb +108 -0
  39. data/lib/datadog_api_client/v2/api/downtimes_api.rb +2 -0
  40. data/lib/datadog_api_client/v2/api/observability_pipelines_api.rb +319 -0
  41. data/lib/datadog_api_client/v2/api/on_call_api.rb +301 -0
  42. data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +7 -3
  43. data/lib/datadog_api_client/v2/models/api_trigger.rb +1 -1
  44. data/lib/datadog_api_client/v2/models/api_trigger_wrapper.rb +1 -1
  45. data/lib/datadog_api_client/v2/models/app_trigger_wrapper.rb +1 -1
  46. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_tags_category.rb +1 -1
  47. data/lib/datadog_api_client/v2/models/case_trigger.rb +1 -1
  48. data/lib/datadog_api_client/v2/models/case_trigger_wrapper.rb +1 -1
  49. data/lib/datadog_api_client/v2/models/change_event_trigger_wrapper.rb +1 -1
  50. data/lib/datadog_api_client/v2/models/dashboard_trigger_wrapper.rb +1 -1
  51. data/lib/datadog_api_client/v2/models/database_monitoring_trigger_wrapper.rb +135 -0
  52. data/lib/datadog_api_client/v2/models/entity_response_included_incident.rb +1 -1
  53. data/lib/datadog_api_client/v2/models/{service_definition_v2_dot2_type.rb → entity_response_included_incident_type.rb} +3 -9
  54. data/lib/datadog_api_client/v2/models/entity_response_included_oncall.rb +1 -1
  55. data/lib/datadog_api_client/v2/models/entity_response_included_oncall_type.rb +26 -0
  56. data/lib/datadog_api_client/v2/models/entity_response_included_raw_schema.rb +1 -1
  57. data/lib/datadog_api_client/v2/models/entity_response_included_raw_schema_type.rb +26 -0
  58. data/lib/datadog_api_client/v2/models/entity_response_included_related_entity.rb +1 -1
  59. data/lib/datadog_api_client/v2/models/entity_response_included_related_entity_type.rb +26 -0
  60. data/lib/datadog_api_client/v2/models/entity_response_included_schema.rb +1 -1
  61. data/lib/datadog_api_client/v2/models/entity_response_included_schema_type.rb +26 -0
  62. data/lib/datadog_api_client/v2/models/entity_v3_datastore_spec.rb +13 -1
  63. data/lib/datadog_api_client/v2/models/entity_v3_queue_spec.rb +13 -1
  64. data/lib/datadog_api_client/v2/models/entity_v3_service_spec.rb +13 -1
  65. data/lib/datadog_api_client/v2/models/github_webhook_trigger.rb +1 -1
  66. data/lib/datadog_api_client/v2/models/github_webhook_trigger_wrapper.rb +1 -1
  67. data/lib/datadog_api_client/v2/models/historical_job_query.rb +11 -1
  68. data/lib/datadog_api_client/v2/models/incident_trigger.rb +1 -1
  69. data/lib/datadog_api_client/v2/models/incident_trigger_wrapper.rb +1 -1
  70. data/lib/datadog_api_client/v2/models/interface_attributes.rb +13 -1
  71. data/lib/datadog_api_client/v2/models/layer.rb +135 -0
  72. data/lib/datadog_api_client/v2/models/layer_attributes.rb +157 -0
  73. data/lib/datadog_api_client/v2/models/layer_attributes_interval.rb +144 -0
  74. data/lib/datadog_api_client/v2/models/layer_attributes_restrictions_items.rb +136 -0
  75. data/lib/datadog_api_client/v2/models/layer_attributes_restrictions_items_end_day.rb +32 -0
  76. data/lib/datadog_api_client/v2/models/layer_attributes_restrictions_items_start_day.rb +32 -0
  77. data/lib/datadog_api_client/v2/models/layer_relationships.rb +105 -0
  78. data/lib/datadog_api_client/v2/models/layer_relationships_members.rb +107 -0
  79. data/lib/datadog_api_client/v2/models/layer_relationships_members_data_items.rb +116 -0
  80. data/lib/datadog_api_client/v2/models/layer_relationships_members_data_items_type.rb +26 -0
  81. data/lib/datadog_api_client/v2/models/layer_type.rb +26 -0
  82. data/lib/datadog_api_client/v2/models/logs_aggregate_request.rb +1 -1
  83. data/lib/datadog_api_client/v2/models/logs_list_request.rb +1 -1
  84. data/lib/datadog_api_client/v2/models/logs_query_options.rb +4 -1
  85. data/lib/datadog_api_client/v2/models/monitor_trigger.rb +1 -1
  86. data/lib/datadog_api_client/v2/models/monitor_trigger_wrapper.rb +1 -1
  87. data/lib/datadog_api_client/v2/models/notebook_trigger_wrapper.rb +135 -0
  88. data/lib/datadog_api_client/v2/models/observability_pipeline.rb +123 -0
  89. data/lib/datadog_api_client/v2/models/observability_pipeline_add_fields_processor.rb +211 -0
  90. data/lib/datadog_api_client/v2/models/observability_pipeline_add_fields_processor_type.rb +26 -0
  91. data/lib/datadog_api_client/v2/models/observability_pipeline_config.rb +171 -0
  92. data/lib/datadog_api_client/v2/models/observability_pipeline_config_destination_item.rb +62 -0
  93. data/lib/datadog_api_client/v2/models/observability_pipeline_config_processor_item.rb +67 -0
  94. data/lib/datadog_api_client/v2/models/observability_pipeline_config_source_item.rb +63 -0
  95. data/lib/datadog_api_client/v2/models/observability_pipeline_create_request.rb +123 -0
  96. data/lib/datadog_api_client/v2/models/observability_pipeline_create_request_data.rb +144 -0
  97. data/lib/datadog_api_client/v2/models/observability_pipeline_data.rb +165 -0
  98. data/lib/datadog_api_client/v2/models/observability_pipeline_data_attributes.rb +144 -0
  99. data/lib/datadog_api_client/v2/models/observability_pipeline_datadog_agent_source.rb +154 -0
  100. data/lib/datadog_api_client/v2/models/observability_pipeline_datadog_agent_source_type.rb +26 -0
  101. data/lib/datadog_api_client/v2/models/observability_pipeline_datadog_logs_destination.rb +167 -0
  102. data/lib/datadog_api_client/v2/models/observability_pipeline_datadog_logs_destination_type.rb +26 -0
  103. data/lib/datadog_api_client/v2/models/observability_pipeline_field_value.rb +144 -0
  104. data/lib/datadog_api_client/v2/models/observability_pipeline_filter_processor.rb +188 -0
  105. data/lib/datadog_api_client/v2/models/observability_pipeline_filter_processor_type.rb +26 -0
  106. data/lib/datadog_api_client/v2/models/observability_pipeline_kafka_source.rb +220 -0
  107. data/lib/datadog_api_client/v2/models/observability_pipeline_kafka_source_librdkafka_option.rb +144 -0
  108. data/lib/datadog_api_client/v2/models/observability_pipeline_kafka_source_sasl.rb +105 -0
  109. data/lib/datadog_api_client/v2/models/observability_pipeline_kafka_source_type.rb +26 -0
  110. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_json_processor.rb +209 -0
  111. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_json_processor_type.rb +26 -0
  112. data/lib/datadog_api_client/v2/models/observability_pipeline_pipeline_kafka_source_sasl_mechanism.rb +28 -0
  113. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor.rb +285 -0
  114. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor_limit.rb +144 -0
  115. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor_limit_enforce_type.rb +27 -0
  116. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor_override.rb +146 -0
  117. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor_type.rb +26 -0
  118. data/lib/datadog_api_client/v2/models/observability_pipeline_remove_fields_processor.rb +211 -0
  119. data/lib/datadog_api_client/v2/models/observability_pipeline_remove_fields_processor_type.rb +26 -0
  120. data/lib/datadog_api_client/v2/models/observability_pipeline_rename_fields_processor.rb +211 -0
  121. data/lib/datadog_api_client/v2/models/observability_pipeline_rename_fields_processor_field.rb +165 -0
  122. data/lib/datadog_api_client/v2/models/observability_pipeline_rename_fields_processor_type.rb +26 -0
  123. data/lib/datadog_api_client/v2/models/observability_pipeline_tls.rb +143 -0
  124. data/lib/datadog_api_client/v2/models/retention_filter_all_attributes.rb +16 -5
  125. data/lib/datadog_api_client/v2/models/retention_filter_attributes.rb +16 -5
  126. data/lib/datadog_api_client/v2/models/retention_filter_create_attributes.rb +16 -5
  127. data/lib/datadog_api_client/v2/models/retention_filter_update_attributes.rb +16 -5
  128. data/lib/datadog_api_client/v2/models/schedule.rb +117 -0
  129. data/lib/datadog_api_client/v2/models/schedule_create_request.rb +123 -0
  130. data/lib/datadog_api_client/v2/models/schedule_create_request_data.rb +154 -0
  131. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes.rb +179 -0
  132. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items.rb +231 -0
  133. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_interval.rb +144 -0
  134. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_members_items.rb +105 -0
  135. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_members_items_user.rb +105 -0
  136. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_restrictions_items.rb +136 -0
  137. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_restrictions_items_end_day.rb +32 -0
  138. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_restrictions_items_start_day.rb +32 -0
  139. data/lib/datadog_api_client/v2/models/schedule_create_request_data_relationships.rb +105 -0
  140. data/lib/datadog_api_client/v2/models/schedule_create_request_data_relationships_teams.rb +107 -0
  141. data/lib/datadog_api_client/v2/models/schedule_create_request_data_relationships_teams_data_items.rb +116 -0
  142. data/lib/datadog_api_client/v2/models/schedule_create_request_data_relationships_teams_data_items_type.rb +26 -0
  143. data/lib/datadog_api_client/v2/models/schedule_create_request_data_type.rb +26 -0
  144. data/lib/datadog_api_client/v2/models/schedule_data.rb +135 -0
  145. data/lib/datadog_api_client/v2/models/schedule_data_attributes.rb +127 -0
  146. data/lib/datadog_api_client/v2/models/schedule_data_included_item.rb +65 -0
  147. data/lib/datadog_api_client/v2/models/schedule_data_relationships.rb +115 -0
  148. data/lib/datadog_api_client/v2/models/schedule_data_relationships_layers.rb +107 -0
  149. data/lib/datadog_api_client/v2/models/schedule_data_relationships_layers_data_items.rb +115 -0
  150. data/lib/datadog_api_client/v2/models/schedule_data_relationships_layers_data_items_type.rb +26 -0
  151. data/lib/datadog_api_client/v2/models/schedule_data_relationships_teams.rb +107 -0
  152. data/lib/datadog_api_client/v2/models/schedule_data_relationships_teams_data_items.rb +115 -0
  153. data/lib/datadog_api_client/v2/models/schedule_data_relationships_teams_data_items_type.rb +26 -0
  154. data/lib/datadog_api_client/v2/models/schedule_data_type.rb +26 -0
  155. data/lib/datadog_api_client/v2/models/schedule_member.rb +125 -0
  156. data/lib/datadog_api_client/v2/models/schedule_member_relationships.rb +105 -0
  157. data/lib/datadog_api_client/v2/models/schedule_member_relationships_user.rb +105 -0
  158. data/lib/datadog_api_client/v2/models/schedule_member_relationships_user_data.rb +115 -0
  159. data/lib/datadog_api_client/v2/models/schedule_member_relationships_user_data_type.rb +26 -0
  160. data/lib/datadog_api_client/v2/models/schedule_member_type.rb +26 -0
  161. data/lib/datadog_api_client/v2/models/schedule_trigger.rb +1 -1
  162. data/lib/datadog_api_client/v2/models/schedule_trigger_wrapper.rb +1 -1
  163. data/lib/datadog_api_client/v2/models/schedule_update_request.rb +123 -0
  164. data/lib/datadog_api_client/v2/models/schedule_update_request_data.rb +175 -0
  165. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes.rb +179 -0
  166. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items.rb +180 -0
  167. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_interval.rb +144 -0
  168. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_members_items.rb +106 -0
  169. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_members_items_user.rb +105 -0
  170. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_restrictions_items.rb +136 -0
  171. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_restrictions_items_end_day.rb +32 -0
  172. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_restrictions_items_start_day.rb +32 -0
  173. data/lib/datadog_api_client/v2/models/schedule_update_request_data_relationships.rb +105 -0
  174. data/lib/datadog_api_client/v2/models/schedule_update_request_data_relationships_teams.rb +107 -0
  175. data/lib/datadog_api_client/v2/models/schedule_update_request_data_relationships_teams_data_items.rb +115 -0
  176. data/lib/datadog_api_client/v2/models/schedule_update_request_data_relationships_teams_data_items_type.rb +26 -0
  177. data/lib/datadog_api_client/v2/models/schedule_update_request_data_type.rb +26 -0
  178. data/lib/datadog_api_client/v2/models/schedule_user.rb +125 -0
  179. data/lib/datadog_api_client/v2/models/schedule_user_attributes.rb +115 -0
  180. data/lib/datadog_api_client/v2/models/schedule_user_type.rb +26 -0
  181. data/lib/datadog_api_client/v2/models/security_monitoring_rule_case_action_options.rb +13 -3
  182. data/lib/datadog_api_client/v2/models/security_monitoring_rule_case_action_type.rb +1 -0
  183. data/lib/datadog_api_client/v2/models/security_monitoring_standard_data_source.rb +31 -0
  184. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_query.rb +11 -1
  185. data/lib/datadog_api_client/v2/models/security_trigger.rb +1 -1
  186. data/lib/datadog_api_client/v2/models/security_trigger_wrapper.rb +1 -1
  187. data/lib/datadog_api_client/v2/models/self_service_trigger_wrapper.rb +135 -0
  188. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2.rb +1 -1
  189. data/lib/datadog_api_client/v2/models/single_aggregated_connection_response_array.rb +107 -0
  190. data/lib/datadog_api_client/v2/models/single_aggregated_connection_response_data.rb +125 -0
  191. data/lib/datadog_api_client/v2/models/single_aggregated_connection_response_data_attributes.rb +215 -0
  192. data/lib/datadog_api_client/v2/models/single_aggregated_connection_response_data_type.rb +26 -0
  193. data/lib/datadog_api_client/v2/models/slack_trigger_wrapper.rb +1 -1
  194. data/lib/datadog_api_client/v2/models/software_catalog_trigger_wrapper.rb +135 -0
  195. data/lib/datadog_api_client/v2/models/team_reference.rb +135 -0
  196. data/lib/datadog_api_client/v2/models/team_reference_attributes.rb +135 -0
  197. data/lib/datadog_api_client/v2/models/team_reference_relationships.rb +105 -0
  198. data/lib/datadog_api_client/v2/models/team_reference_relationships_oncall_users.rb +107 -0
  199. data/lib/datadog_api_client/v2/models/team_reference_relationships_oncall_users_data_items.rb +115 -0
  200. data/lib/datadog_api_client/v2/models/team_reference_relationships_oncall_users_data_items_type.rb +26 -0
  201. data/lib/datadog_api_client/v2/models/team_reference_type.rb +26 -0
  202. data/lib/datadog_api_client/v2/models/trigger.rb +4 -0
  203. data/lib/datadog_api_client/v2/models/workflow_trigger_wrapper.rb +1 -1
  204. data/lib/datadog_api_client/version.rb +1 -1
  205. metadata +136 -4
  206. data/examples/v2/action-connection/DeleteActionConnection_2142905164.rb +0 -8
@@ -0,0 +1,231 @@
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
+ # Describes a schedule layer, including rotation intervals, members, restrictions, and timeline settings.
21
+ class ScheduleCreateRequestDataAttributesLayersItems
22
+ include BaseGenericModel
23
+
24
+ # The date/time when this layer becomes active (in ISO 8601).
25
+ attr_reader :effective_date
26
+
27
+ # The date/time after which this layer no longer applies (in ISO 8601).
28
+ attr_accessor :end_date
29
+
30
+ # Defines how frequently the rotation repeats, using days and/or seconds (up to certain limits).
31
+ attr_reader :interval
32
+
33
+ # A list of members who participate in this layer's rotation.
34
+ attr_reader :members
35
+
36
+ # The name of this layer.
37
+ attr_reader :name
38
+
39
+ # Zero or more time-based restrictions (for example, only weekdays, during business hours).
40
+ attr_accessor :restrictions
41
+
42
+ # The date/time when the rotation for this layer starts (in ISO 8601).
43
+ attr_reader :rotation_start
44
+
45
+ attr_accessor :additional_properties
46
+
47
+ # Attribute mapping from ruby-style variable name to JSON key.
48
+ # @!visibility private
49
+ def self.attribute_map
50
+ {
51
+ :'effective_date' => :'effective_date',
52
+ :'end_date' => :'end_date',
53
+ :'interval' => :'interval',
54
+ :'members' => :'members',
55
+ :'name' => :'name',
56
+ :'restrictions' => :'restrictions',
57
+ :'rotation_start' => :'rotation_start'
58
+ }
59
+ end
60
+
61
+ # Attribute type mapping.
62
+ # @!visibility private
63
+ def self.openapi_types
64
+ {
65
+ :'effective_date' => :'Time',
66
+ :'end_date' => :'Time',
67
+ :'interval' => :'ScheduleCreateRequestDataAttributesLayersItemsInterval',
68
+ :'members' => :'Array<ScheduleCreateRequestDataAttributesLayersItemsMembersItems>',
69
+ :'name' => :'String',
70
+ :'restrictions' => :'Array<ScheduleCreateRequestDataAttributesLayersItemsRestrictionsItems>',
71
+ :'rotation_start' => :'Time'
72
+ }
73
+ end
74
+
75
+ # Initializes the object
76
+ # @param attributes [Hash] Model attributes in the form of hash
77
+ # @!visibility private
78
+ def initialize(attributes = {})
79
+ if (!attributes.is_a?(Hash))
80
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ScheduleCreateRequestDataAttributesLayersItems` initialize method"
81
+ end
82
+
83
+ self.additional_properties = {}
84
+ # check to see if the attribute exists and convert string to symbol for hash key
85
+ attributes = attributes.each_with_object({}) { |(k, v), h|
86
+ if (!self.class.attribute_map.key?(k.to_sym))
87
+ self.additional_properties[k.to_sym] = v
88
+ else
89
+ h[k.to_sym] = v
90
+ end
91
+ }
92
+
93
+ if attributes.key?(:'effective_date')
94
+ self.effective_date = attributes[:'effective_date']
95
+ end
96
+
97
+ if attributes.key?(:'end_date')
98
+ self.end_date = attributes[:'end_date']
99
+ end
100
+
101
+ if attributes.key?(:'interval')
102
+ self.interval = attributes[:'interval']
103
+ end
104
+
105
+ if attributes.key?(:'members')
106
+ if (value = attributes[:'members']).is_a?(Array)
107
+ self.members = value
108
+ end
109
+ end
110
+
111
+ if attributes.key?(:'name')
112
+ self.name = attributes[:'name']
113
+ end
114
+
115
+ if attributes.key?(:'restrictions')
116
+ if (value = attributes[:'restrictions']).is_a?(Array)
117
+ self.restrictions = value
118
+ end
119
+ end
120
+
121
+ if attributes.key?(:'rotation_start')
122
+ self.rotation_start = attributes[:'rotation_start']
123
+ end
124
+ end
125
+
126
+ # Check to see if the all the properties in the model are valid
127
+ # @return true if the model is valid
128
+ # @!visibility private
129
+ def valid?
130
+ return false if @effective_date.nil?
131
+ return false if @interval.nil?
132
+ return false if @members.nil?
133
+ return false if @name.nil?
134
+ return false if @rotation_start.nil?
135
+ true
136
+ end
137
+
138
+ # Custom attribute writer method with validation
139
+ # @param effective_date [Object] Object to be assigned
140
+ # @!visibility private
141
+ def effective_date=(effective_date)
142
+ if effective_date.nil?
143
+ fail ArgumentError, 'invalid value for "effective_date", effective_date cannot be nil.'
144
+ end
145
+ @effective_date = effective_date
146
+ end
147
+
148
+ # Custom attribute writer method with validation
149
+ # @param interval [Object] Object to be assigned
150
+ # @!visibility private
151
+ def interval=(interval)
152
+ if interval.nil?
153
+ fail ArgumentError, 'invalid value for "interval", interval cannot be nil.'
154
+ end
155
+ @interval = interval
156
+ end
157
+
158
+ # Custom attribute writer method with validation
159
+ # @param members [Object] Object to be assigned
160
+ # @!visibility private
161
+ def members=(members)
162
+ if members.nil?
163
+ fail ArgumentError, 'invalid value for "members", members cannot be nil.'
164
+ end
165
+ @members = members
166
+ end
167
+
168
+ # Custom attribute writer method with validation
169
+ # @param name [Object] Object to be assigned
170
+ # @!visibility private
171
+ def name=(name)
172
+ if name.nil?
173
+ fail ArgumentError, 'invalid value for "name", name cannot be nil.'
174
+ end
175
+ @name = name
176
+ end
177
+
178
+ # Custom attribute writer method with validation
179
+ # @param rotation_start [Object] Object to be assigned
180
+ # @!visibility private
181
+ def rotation_start=(rotation_start)
182
+ if rotation_start.nil?
183
+ fail ArgumentError, 'invalid value for "rotation_start", rotation_start cannot be nil.'
184
+ end
185
+ @rotation_start = rotation_start
186
+ end
187
+
188
+ # Returns the object in the form of hash, with additionalProperties support.
189
+ # @return [Hash] Returns the object in the form of hash
190
+ # @!visibility private
191
+ def to_hash
192
+ hash = {}
193
+ self.class.attribute_map.each_pair do |attr, param|
194
+ value = self.send(attr)
195
+ if value.nil?
196
+ is_nullable = self.class.openapi_nullable.include?(attr)
197
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
198
+ end
199
+
200
+ hash[param] = _to_hash(value)
201
+ end
202
+ self.additional_properties.each_pair do |attr, value|
203
+ hash[attr] = value
204
+ end
205
+ hash
206
+ end
207
+
208
+ # Checks equality by comparing each attribute.
209
+ # @param o [Object] Object to be compared
210
+ # @!visibility private
211
+ def ==(o)
212
+ return true if self.equal?(o)
213
+ self.class == o.class &&
214
+ effective_date == o.effective_date &&
215
+ end_date == o.end_date &&
216
+ interval == o.interval &&
217
+ members == o.members &&
218
+ name == o.name &&
219
+ restrictions == o.restrictions &&
220
+ rotation_start == o.rotation_start &&
221
+ additional_properties == o.additional_properties
222
+ end
223
+
224
+ # Calculates hash code according to all attributes.
225
+ # @return [Integer] Hash code
226
+ # @!visibility private
227
+ def hash
228
+ [effective_date, end_date, interval, members, name, restrictions, rotation_start, additional_properties].hash
229
+ end
230
+ end
231
+ end
@@ -0,0 +1,144 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Defines how frequently the rotation repeats, using days and/or seconds (up to certain limits).
21
+ class ScheduleCreateRequestDataAttributesLayersItemsInterval
22
+ include BaseGenericModel
23
+
24
+ # The number of full days in each rotation period.
25
+ attr_reader :days
26
+
27
+ # Extra seconds that may be added to extend the rotation beyond whole days.
28
+ attr_reader :seconds
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
+ :'days' => :'days',
37
+ :'seconds' => :'seconds'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'days' => :'Integer',
46
+ :'seconds' => :'Integer'
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::ScheduleCreateRequestDataAttributesLayersItemsInterval` 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?(:'days')
69
+ self.days = attributes[:'days']
70
+ end
71
+
72
+ if attributes.key?(:'seconds')
73
+ self.seconds = attributes[:'seconds']
74
+ end
75
+ end
76
+
77
+ # Check to see if the all the properties in the model are valid
78
+ # @return true if the model is valid
79
+ # @!visibility private
80
+ def valid?
81
+ return false if !@days.nil? && @days > 400
82
+ return false if !@seconds.nil? && @seconds > 2592000
83
+ true
84
+ end
85
+
86
+ # Custom attribute writer method with validation
87
+ # @param days [Object] Object to be assigned
88
+ # @!visibility private
89
+ def days=(days)
90
+ if !days.nil? && days > 400
91
+ fail ArgumentError, 'invalid value for "days", must be smaller than or equal to 400.'
92
+ end
93
+ @days = days
94
+ end
95
+
96
+ # Custom attribute writer method with validation
97
+ # @param seconds [Object] Object to be assigned
98
+ # @!visibility private
99
+ def seconds=(seconds)
100
+ if !seconds.nil? && seconds > 2592000
101
+ fail ArgumentError, 'invalid value for "seconds", must be smaller than or equal to 2592000.'
102
+ end
103
+ @seconds = seconds
104
+ end
105
+
106
+ # Returns the object in the form of hash, with additionalProperties support.
107
+ # @return [Hash] Returns the object in the form of hash
108
+ # @!visibility private
109
+ def to_hash
110
+ hash = {}
111
+ self.class.attribute_map.each_pair do |attr, param|
112
+ value = self.send(attr)
113
+ if value.nil?
114
+ is_nullable = self.class.openapi_nullable.include?(attr)
115
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
116
+ end
117
+
118
+ hash[param] = _to_hash(value)
119
+ end
120
+ self.additional_properties.each_pair do |attr, value|
121
+ hash[attr] = value
122
+ end
123
+ hash
124
+ end
125
+
126
+ # Checks equality by comparing each attribute.
127
+ # @param o [Object] Object to be compared
128
+ # @!visibility private
129
+ def ==(o)
130
+ return true if self.equal?(o)
131
+ self.class == o.class &&
132
+ days == o.days &&
133
+ seconds == o.seconds &&
134
+ additional_properties == o.additional_properties
135
+ end
136
+
137
+ # Calculates hash code according to all attributes.
138
+ # @return [Integer] Hash code
139
+ # @!visibility private
140
+ def hash
141
+ [days, seconds, additional_properties].hash
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,105 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Defines a single member within a schedule layer, including the reference to the underlying user.
21
+ class ScheduleCreateRequestDataAttributesLayersItemsMembersItems
22
+ include BaseGenericModel
23
+
24
+ # Identifies the user participating in this layer as a single object with an `id`.
25
+ attr_accessor :user
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
+ :'user' => :'user'
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ # @!visibility private
39
+ def self.openapi_types
40
+ {
41
+ :'user' => :'ScheduleCreateRequestDataAttributesLayersItemsMembersItemsUser'
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::ScheduleCreateRequestDataAttributesLayersItemsMembersItems` 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?(:'user')
64
+ self.user = attributes[:'user']
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
+ user == o.user &&
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
+ [user, additional_properties].hash
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,105 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Identifies the user participating in this layer as a single object with an `id`.
21
+ class ScheduleCreateRequestDataAttributesLayersItemsMembersItemsUser
22
+ include BaseGenericModel
23
+
24
+ # The user's ID.
25
+ attr_accessor :id
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
+ :'id' => :'id'
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ # @!visibility private
39
+ def self.openapi_types
40
+ {
41
+ :'id' => :'String'
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::ScheduleCreateRequestDataAttributesLayersItemsMembersItemsUser` 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?(:'id')
64
+ self.id = attributes[:'id']
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
+ id == o.id &&
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
+ [id, additional_properties].hash
103
+ end
104
+ end
105
+ end