datadog_api_client 2.15.0 → 2.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +6 -6
  3. data/.generator/schemas/v1/openapi.yaml +643 -123
  4. data/.generator/schemas/v2/openapi.yaml +1815 -195
  5. data/.generator/src/generator/templates/api_client.j2 +19 -1
  6. data/.generator/src/generator/templates/model_base.j2 +1 -0
  7. data/CHANGELOG.md +30 -0
  8. data/examples/v1/dashboards/CreateDashboard_1754992756.rb +44 -0
  9. data/examples/v1/dashboards/CreateDashboard_2278756614.rb +91 -0
  10. data/examples/v1/monitors/CreateMonitor_1539578087.rb +36 -0
  11. data/examples/v1/synthetics/CreateSyntheticsBrowserTest.rb +1 -1
  12. data/examples/v1/synthetics/CreateSyntheticsBrowserTest_2932742688.rb +1 -1
  13. data/examples/v1/synthetics/CreateSyntheticsBrowserTest_397420811.rb +1 -1
  14. data/examples/v1/usage-metering/GetUsageCIApp.rb +4 -1
  15. data/examples/v1/usage-metering/GetUsageCWS.rb +4 -1
  16. data/examples/v1/usage-metering/GetUsageCloudSecurityPostureManagement.rb +1 -1
  17. data/examples/v2/apm-retention-filters/CreateApmRetentionFilter.rb +20 -0
  18. data/examples/v2/apm-retention-filters/DeleteApmRetentionFilter.rb +8 -0
  19. data/examples/v2/apm-retention-filters/GetApmRetentionFilter.rb +8 -0
  20. data/examples/v2/apm-retention-filters/ListApmRetentionFilters.rb +5 -0
  21. data/examples/v2/apm-retention-filters/ReorderApmRetentionFilters.rb +18 -0
  22. data/examples/v2/apm-retention-filters/UpdateApmRetentionFilter.rb +24 -0
  23. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent.rb +0 -3
  24. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +0 -8
  25. data/examples/v2/container-images/ListContainerImages.rb +8 -0
  26. data/examples/v2/container-images/ListContainerImages_3088586393.rb +11 -0
  27. data/examples/v2/container-images/ListContainerImages_3974828736.rb +11 -0
  28. data/examples/v2/gcp-integration/CreateGCPSTSAccount_109518525.rb +19 -0
  29. data/examples/v2/powerpack/CreatePowerpack.rb +47 -0
  30. data/examples/v2/powerpack/DeletePowerpack.rb +8 -0
  31. data/examples/v2/powerpack/GetPowerpack.rb +8 -0
  32. data/examples/v2/powerpack/ListPowerpacks.rb +8 -0
  33. data/examples/v2/powerpack/ListPowerpacks_1173755071.rb +8 -0
  34. data/examples/v2/powerpack/UpdatePowerpack.rb +50 -0
  35. data/examples/v2/rum/CreateRUMApplication.rb +1 -1
  36. data/examples/v2/service-accounts/CreateServiceAccountApplicationKey.rb +5 -7
  37. data/examples/v2/service-accounts/DeleteServiceAccountApplicationKey.rb +7 -1
  38. data/examples/v2/service-accounts/GetServiceAccountApplicationKey.rb +7 -1
  39. data/examples/v2/service-accounts/ListServiceAccountApplicationKeys.rb +4 -1
  40. data/examples/v2/service-accounts/UpdateServiceAccountApplicationKey.rb +11 -9
  41. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions.rb +23 -12
  42. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions_2621709423.rb +53 -0
  43. data/lib/datadog_api_client/api_client.rb +19 -1
  44. data/lib/datadog_api_client/configuration.rb +1 -1
  45. data/lib/datadog_api_client/inflector.rb +80 -0
  46. data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -20
  47. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +6 -6
  48. data/lib/datadog_api_client/v1/api/webhooks_integration_api.rb +1 -1
  49. data/lib/datadog_api_client/v1/model_base.rb +1 -0
  50. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +6 -4
  51. data/lib/datadog_api_client/v1/models/ip_prefixes_global.rb +94 -0
  52. data/lib/datadog_api_client/v1/models/ip_ranges.rb +11 -1
  53. data/lib/datadog_api_client/v1/models/monitor_options_custom_schedule.rb +82 -0
  54. data/lib/datadog_api_client/v1/models/monitor_options_custom_schedule_recurrence.rb +100 -0
  55. data/lib/datadog_api_client/v1/models/monitor_options_scheduling_options.rb +11 -1
  56. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +4 -0
  57. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +45 -5
  58. data/lib/datadog_api_client/v1/models/powerpack_template_variable_contents.rb +131 -0
  59. data/lib/datadog_api_client/v1/models/powerpack_template_variables.rb +94 -0
  60. data/lib/datadog_api_client/v1/models/powerpack_widget_definition.rb +169 -0
  61. data/lib/datadog_api_client/v1/models/powerpack_widget_definition_type.rb +26 -0
  62. data/lib/datadog_api_client/v1/models/split_config.rb +181 -0
  63. data/lib/datadog_api_client/v1/models/split_config_sort_compute.rb +119 -0
  64. data/lib/datadog_api_client/v1/models/split_dimension.rb +98 -0
  65. data/lib/datadog_api_client/v1/models/split_graph_source_widget_definition.rb +70 -0
  66. data/lib/datadog_api_client/v1/models/split_graph_viz_size.rb +29 -0
  67. data/lib/datadog_api_client/v1/models/split_graph_widget_definition.rb +191 -0
  68. data/lib/datadog_api_client/v1/models/split_graph_widget_definition_type.rb +26 -0
  69. data/lib/datadog_api_client/v1/models/split_sort.rb +108 -0
  70. data/lib/datadog_api_client/v1/models/split_vector_entry_item.rb +125 -0
  71. data/lib/datadog_api_client/v1/models/usage_attribution_values.rb +4 -4
  72. data/lib/datadog_api_client/v1/models/usage_cloud_security_posture_management_hour.rb +8 -8
  73. data/lib/datadog_api_client/v1/models/usage_cloud_security_posture_management_response.rb +2 -2
  74. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +148 -8
  75. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +148 -8
  76. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +148 -8
  77. data/lib/datadog_api_client/v1/models/widget_definition.rb +8 -6
  78. data/lib/datadog_api_client/v2/api/apm_retention_filters_api.rb +423 -0
  79. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +4 -10
  80. data/lib/datadog_api_client/v2/api/ci_visibility_tests_api.rb +3 -3
  81. data/lib/datadog_api_client/v2/api/container_images_api.rb +129 -0
  82. data/lib/datadog_api_client/v2/api/incidents_api.rb +1 -1
  83. data/lib/datadog_api_client/v2/api/powerpack_api.rb +383 -0
  84. data/lib/datadog_api_client/v2/api/service_definition_api.rb +2 -2
  85. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +1 -1
  86. data/lib/datadog_api_client/v2/model_base.rb +1 -0
  87. data/lib/datadog_api_client/v2/models/apm_retention_filter_type.rb +26 -0
  88. data/lib/datadog_api_client/v2/models/container_image.rb +100 -0
  89. data/lib/datadog_api_client/v2/models/container_image_attributes.rb +261 -0
  90. data/lib/datadog_api_client/v2/models/container_image_flavor.rb +120 -0
  91. data/lib/datadog_api_client/v2/models/container_image_group.rb +110 -0
  92. data/lib/datadog_api_client/v2/models/container_image_group_attributes.rb +100 -0
  93. data/lib/datadog_api_client/v2/models/container_image_group_images_relationships_link.rb +92 -0
  94. data/lib/datadog_api_client/v2/models/container_image_group_relationships.rb +80 -0
  95. data/lib/datadog_api_client/v2/models/container_image_group_relationships_links.rb +80 -0
  96. data/lib/datadog_api_client/v2/models/container_image_group_type.rb +26 -0
  97. data/lib/datadog_api_client/v2/models/container_image_item.rb +63 -0
  98. data/lib/datadog_api_client/v2/models/container_image_meta.rb +80 -0
  99. data/lib/datadog_api_client/v2/models/container_image_meta_page.rb +160 -0
  100. data/lib/datadog_api_client/v2/models/container_image_meta_page_type.rb +26 -0
  101. data/lib/datadog_api_client/v2/models/container_image_type.rb +26 -0
  102. data/lib/datadog_api_client/v2/models/container_image_vulnerabilities.rb +140 -0
  103. data/lib/datadog_api_client/v2/models/container_images_response.rb +102 -0
  104. data/lib/datadog_api_client/v2/models/container_images_response_links.rb +130 -0
  105. data/lib/datadog_api_client/v2/models/data_scalar_column.rb +2 -2
  106. data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +13 -1
  107. data/lib/datadog_api_client/v2/models/group_scalar_column.rb +2 -2
  108. data/lib/datadog_api_client/v2/models/list_powerpacks_response.rb +114 -0
  109. data/lib/datadog_api_client/v2/models/powerpack.rb +80 -0
  110. data/lib/datadog_api_client/v2/models/powerpack_attributes.rb +164 -0
  111. data/lib/datadog_api_client/v2/models/powerpack_data.rb +110 -0
  112. data/lib/datadog_api_client/v2/models/powerpack_group_widget.rb +108 -0
  113. data/lib/datadog_api_client/v2/models/powerpack_group_widget_definition.rb +162 -0
  114. data/lib/datadog_api_client/v2/models/powerpack_group_widget_layout.rb +177 -0
  115. data/lib/datadog_api_client/v2/models/powerpack_inner_widget_layout.rb +177 -0
  116. data/lib/datadog_api_client/v2/models/powerpack_inner_widgets.rb +108 -0
  117. data/lib/datadog_api_client/v2/models/powerpack_relationships.rb +80 -0
  118. data/lib/datadog_api_client/v2/models/powerpack_response.rb +92 -0
  119. data/lib/datadog_api_client/v2/models/powerpack_response_links.rb +129 -0
  120. data/lib/datadog_api_client/v2/models/powerpack_template_variable.rb +110 -0
  121. data/lib/datadog_api_client/v2/models/powerpacks_response_meta.rb +80 -0
  122. data/lib/datadog_api_client/v2/models/powerpacks_response_meta_pagination.rb +150 -0
  123. data/lib/datadog_api_client/v2/models/reorder_retention_filters_request.rb +100 -0
  124. data/lib/datadog_api_client/v2/models/restriction_policy_binding.rb +1 -1
  125. data/lib/datadog_api_client/v2/models/retention_filter.rb +140 -0
  126. data/lib/datadog_api_client/v2/models/retention_filter_all.rb +140 -0
  127. data/lib/datadog_api_client/v2/models/retention_filter_all_attributes.rb +181 -0
  128. data/lib/datadog_api_client/v2/models/retention_filter_all_type.rb +28 -0
  129. data/lib/datadog_api_client/v2/models/retention_filter_attributes.rb +181 -0
  130. data/lib/datadog_api_client/v2/models/retention_filter_create_attributes.rb +183 -0
  131. data/lib/datadog_api_client/v2/models/retention_filter_create_data.rb +119 -0
  132. data/lib/datadog_api_client/v2/models/retention_filter_create_request.rb +98 -0
  133. data/lib/datadog_api_client/v2/models/retention_filter_response.rb +80 -0
  134. data/lib/datadog_api_client/v2/models/retention_filter_type.rb +26 -0
  135. data/lib/datadog_api_client/v2/models/retention_filter_update_data.rb +140 -0
  136. data/lib/datadog_api_client/v2/models/retention_filter_update_request.rb +98 -0
  137. data/lib/datadog_api_client/v2/models/retention_filter_without_attributes.rb +119 -0
  138. data/lib/datadog_api_client/v2/models/retention_filters_response.rb +100 -0
  139. data/lib/datadog_api_client/v2/models/scalar_column_type_group.rb +26 -0
  140. data/lib/datadog_api_client/v2/models/scalar_column_type_number.rb +26 -0
  141. data/lib/datadog_api_client/v2/models/scalar_meta.rb +8 -0
  142. data/lib/datadog_api_client/v2/models/service_definition_schema.rb +2 -1
  143. data/lib/datadog_api_client/v2/models/service_definition_schema_versions.rb +1 -0
  144. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2.rb +247 -0
  145. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_contact.rb +129 -0
  146. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_integrations.rb +90 -0
  147. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_link.rb +150 -0
  148. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_opsgenie.rb +108 -0
  149. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_opsgenie_region.rb +27 -0
  150. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_pagerduty.rb +80 -0
  151. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_type.rb +32 -0
  152. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_version.rb +26 -0
  153. data/lib/datadog_api_client/v2/models/service_definitions_create_request.rb +1 -0
  154. data/lib/datadog_api_client/v2/models/spans_filter.rb +80 -0
  155. data/lib/datadog_api_client/v2/models/spans_filter_create.rb +98 -0
  156. data/lib/datadog_api_client/version.rb +1 -1
  157. data/run-tests.sh +6 -5
  158. metadata +102 -9
  159. data/examples/v1/usage-metering/GetUsageCIApp_1064440884.rb +0 -8
  160. data/examples/v1/usage-metering/GetUsageCWS_736958514.rb +0 -8
  161. data/examples/v2/service-accounts/CreateServiceAccountApplicationKey_1761876297.rb +0 -17
  162. data/examples/v2/service-accounts/DeleteServiceAccountApplicationKey_992091161.rb +0 -11
  163. data/examples/v2/service-accounts/GetServiceAccountApplicationKey_819075131.rb +0 -11
  164. data/examples/v2/service-accounts/ListServiceAccountApplicationKeys_1268914341.rb +0 -8
  165. data/examples/v2/service-accounts/UpdateServiceAccountApplicationKey_768415790.rb +0 -22
@@ -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
+ # The type of column present for numbers.
21
+ class ScalarColumnTypeNumber
22
+ include BaseEnumModel
23
+
24
+ NUMBER = "number".freeze
25
+ end
26
+ end
@@ -43,6 +43,14 @@ module DatadogAPIClient::V2
43
43
  }
44
44
  end
45
45
 
46
+ # List of attributes with nullable: true
47
+ # @!visibility private
48
+ def self.openapi_nullable
49
+ Set.new([
50
+ :'unit',
51
+ ])
52
+ end
53
+
46
54
  # Initializes the object
47
55
  # @param attributes [Hash] Model attributes in the form of hash
48
56
  # @!visibility private
@@ -28,7 +28,8 @@ module DatadogAPIClient::V2
28
28
  [
29
29
  :'ServiceDefinitionV1',
30
30
  :'ServiceDefinitionV2',
31
- :'ServiceDefinitionV2Dot1'
31
+ :'ServiceDefinitionV2Dot1',
32
+ :'ServiceDefinitionV2Dot2'
32
33
  ]
33
34
  end
34
35
  # Builds the object
@@ -24,5 +24,6 @@ module DatadogAPIClient::V2
24
24
  V1 = "v1".freeze
25
25
  V2 = "v2".freeze
26
26
  V2_1 = "v2.1".freeze
27
+ V2_2 = "v2.2".freeze
27
28
  end
28
29
  end
@@ -0,0 +1,247 @@
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
+ # Service definition v2.2 for providing service metadata and integrations.
21
+ class ServiceDefinitionV2Dot2
22
+ include BaseGenericModel
23
+
24
+ # Identifier for a group of related services serving a product feature, which the service is a part of.
25
+ attr_accessor :application
26
+
27
+ # A list of contacts related to the services.
28
+ attr_accessor :contacts
29
+
30
+ # Unique identifier of the service. Must be unique across all services and is used to match with a service in Datadog.
31
+ attr_reader :dd_service
32
+
33
+ # A short description of the service.
34
+ attr_accessor :description
35
+
36
+ # Extensions to v2.2 schema.
37
+ attr_accessor :extensions
38
+
39
+ # Third party integrations that Datadog supports.
40
+ attr_accessor :integrations
41
+
42
+ # The service's programming language. Datadog recognizes the following languages: `dotnet`, `go`, `java`, `js`, `php`, `python`, `ruby`, and `c++`.
43
+ attr_accessor :langauges
44
+
45
+ # The current life cycle phase of the service.
46
+ attr_accessor :lifecycle
47
+
48
+ # A list of links related to the services.
49
+ attr_accessor :links
50
+
51
+ # Schema version being used.
52
+ attr_reader :schema_version
53
+
54
+ # A set of custom tags.
55
+ attr_accessor :tags
56
+
57
+ # Team that owns the service. It is used to locate a team defined in Datadog Teams if it exists.
58
+ attr_accessor :team
59
+
60
+ # Importance of the service.
61
+ attr_accessor :tier
62
+
63
+ # The type of service.
64
+ attr_accessor :type
65
+
66
+ # Attribute mapping from ruby-style variable name to JSON key.
67
+ # @!visibility private
68
+ def self.attribute_map
69
+ {
70
+ :'application' => :'application',
71
+ :'contacts' => :'contacts',
72
+ :'dd_service' => :'dd-service',
73
+ :'description' => :'description',
74
+ :'extensions' => :'extensions',
75
+ :'integrations' => :'integrations',
76
+ :'langauges' => :'langauges',
77
+ :'lifecycle' => :'lifecycle',
78
+ :'links' => :'links',
79
+ :'schema_version' => :'schema-version',
80
+ :'tags' => :'tags',
81
+ :'team' => :'team',
82
+ :'tier' => :'tier',
83
+ :'type' => :'type'
84
+ }
85
+ end
86
+
87
+ # Attribute type mapping.
88
+ # @!visibility private
89
+ def self.openapi_types
90
+ {
91
+ :'application' => :'String',
92
+ :'contacts' => :'Array<ServiceDefinitionV2Dot2Contact>',
93
+ :'dd_service' => :'String',
94
+ :'description' => :'String',
95
+ :'extensions' => :'Hash<String, Object>',
96
+ :'integrations' => :'ServiceDefinitionV2Dot2Integrations',
97
+ :'langauges' => :'Array<String>',
98
+ :'lifecycle' => :'String',
99
+ :'links' => :'Array<ServiceDefinitionV2Dot2Link>',
100
+ :'schema_version' => :'ServiceDefinitionV2Dot2Version',
101
+ :'tags' => :'Array<String>',
102
+ :'team' => :'String',
103
+ :'tier' => :'String',
104
+ :'type' => :'ServiceDefinitionV2Dot2Type'
105
+ }
106
+ end
107
+
108
+ # Initializes the object
109
+ # @param attributes [Hash] Model attributes in the form of hash
110
+ # @!visibility private
111
+ def initialize(attributes = {})
112
+ if (!attributes.is_a?(Hash))
113
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ServiceDefinitionV2Dot2` initialize method"
114
+ end
115
+
116
+ # check to see if the attribute exists and convert string to symbol for hash key
117
+ attributes = attributes.each_with_object({}) { |(k, v), h|
118
+ if (!self.class.attribute_map.key?(k.to_sym))
119
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::ServiceDefinitionV2Dot2`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
120
+ end
121
+ h[k.to_sym] = v
122
+ }
123
+
124
+ if attributes.key?(:'application')
125
+ self.application = attributes[:'application']
126
+ end
127
+
128
+ if attributes.key?(:'contacts')
129
+ if (value = attributes[:'contacts']).is_a?(Array)
130
+ self.contacts = value
131
+ end
132
+ end
133
+
134
+ if attributes.key?(:'dd_service')
135
+ self.dd_service = attributes[:'dd_service']
136
+ end
137
+
138
+ if attributes.key?(:'description')
139
+ self.description = attributes[:'description']
140
+ end
141
+
142
+ if attributes.key?(:'extensions')
143
+ self.extensions = attributes[:'extensions']
144
+ end
145
+
146
+ if attributes.key?(:'integrations')
147
+ self.integrations = attributes[:'integrations']
148
+ end
149
+
150
+ if attributes.key?(:'langauges')
151
+ if (value = attributes[:'langauges']).is_a?(Array)
152
+ self.langauges = value
153
+ end
154
+ end
155
+
156
+ if attributes.key?(:'lifecycle')
157
+ self.lifecycle = attributes[:'lifecycle']
158
+ end
159
+
160
+ if attributes.key?(:'links')
161
+ if (value = attributes[:'links']).is_a?(Array)
162
+ self.links = value
163
+ end
164
+ end
165
+
166
+ if attributes.key?(:'schema_version')
167
+ self.schema_version = attributes[:'schema_version']
168
+ end
169
+
170
+ if attributes.key?(:'tags')
171
+ if (value = attributes[:'tags']).is_a?(Array)
172
+ self.tags = value
173
+ end
174
+ end
175
+
176
+ if attributes.key?(:'team')
177
+ self.team = attributes[:'team']
178
+ end
179
+
180
+ if attributes.key?(:'tier')
181
+ self.tier = attributes[:'tier']
182
+ end
183
+
184
+ if attributes.key?(:'type')
185
+ self.type = attributes[:'type']
186
+ end
187
+ end
188
+
189
+ # Check to see if the all the properties in the model are valid
190
+ # @return true if the model is valid
191
+ # @!visibility private
192
+ def valid?
193
+ return false if @dd_service.nil?
194
+ return false if @schema_version.nil?
195
+ true
196
+ end
197
+
198
+ # Custom attribute writer method with validation
199
+ # @param dd_service [Object] Object to be assigned
200
+ # @!visibility private
201
+ def dd_service=(dd_service)
202
+ if dd_service.nil?
203
+ fail ArgumentError, 'invalid value for "dd_service", dd_service cannot be nil.'
204
+ end
205
+ @dd_service = dd_service
206
+ end
207
+
208
+ # Custom attribute writer method with validation
209
+ # @param schema_version [Object] Object to be assigned
210
+ # @!visibility private
211
+ def schema_version=(schema_version)
212
+ if schema_version.nil?
213
+ fail ArgumentError, 'invalid value for "schema_version", schema_version cannot be nil.'
214
+ end
215
+ @schema_version = schema_version
216
+ end
217
+
218
+ # Checks equality by comparing each attribute.
219
+ # @param o [Object] Object to be compared
220
+ # @!visibility private
221
+ def ==(o)
222
+ return true if self.equal?(o)
223
+ self.class == o.class &&
224
+ application == o.application &&
225
+ contacts == o.contacts &&
226
+ dd_service == o.dd_service &&
227
+ description == o.description &&
228
+ extensions == o.extensions &&
229
+ integrations == o.integrations &&
230
+ langauges == o.langauges &&
231
+ lifecycle == o.lifecycle &&
232
+ links == o.links &&
233
+ schema_version == o.schema_version &&
234
+ tags == o.tags &&
235
+ team == o.team &&
236
+ tier == o.tier &&
237
+ type == o.type
238
+ end
239
+
240
+ # Calculates hash code according to all attributes.
241
+ # @return [Integer] Hash code
242
+ # @!visibility private
243
+ def hash
244
+ [application, contacts, dd_service, description, extensions, integrations, langauges, lifecycle, links, schema_version, tags, team, tier, type].hash
245
+ end
246
+ end
247
+ end
@@ -0,0 +1,129 @@
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
+ # Service owner's contacts information.
21
+ class ServiceDefinitionV2Dot2Contact
22
+ include BaseGenericModel
23
+
24
+ # Contact value.
25
+ attr_reader :contact
26
+
27
+ # Contact Name.
28
+ attr_accessor :name
29
+
30
+ # Contact type. Datadog recognizes the following types: `email`, `slack`, and `microsoft-teams`.
31
+ attr_reader :type
32
+
33
+ # Attribute mapping from ruby-style variable name to JSON key.
34
+ # @!visibility private
35
+ def self.attribute_map
36
+ {
37
+ :'contact' => :'contact',
38
+ :'name' => :'name',
39
+ :'type' => :'type'
40
+ }
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ # @!visibility private
45
+ def self.openapi_types
46
+ {
47
+ :'contact' => :'String',
48
+ :'name' => :'String',
49
+ :'type' => :'String'
50
+ }
51
+ end
52
+
53
+ # Initializes the object
54
+ # @param attributes [Hash] Model attributes in the form of hash
55
+ # @!visibility private
56
+ def initialize(attributes = {})
57
+ if (!attributes.is_a?(Hash))
58
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ServiceDefinitionV2Dot2Contact` initialize method"
59
+ end
60
+
61
+ # check to see if the attribute exists and convert string to symbol for hash key
62
+ attributes = attributes.each_with_object({}) { |(k, v), h|
63
+ if (!self.class.attribute_map.key?(k.to_sym))
64
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::ServiceDefinitionV2Dot2Contact`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
65
+ end
66
+ h[k.to_sym] = v
67
+ }
68
+
69
+ if attributes.key?(:'contact')
70
+ self.contact = attributes[:'contact']
71
+ end
72
+
73
+ if attributes.key?(:'name')
74
+ self.name = attributes[:'name']
75
+ end
76
+
77
+ if attributes.key?(:'type')
78
+ self.type = attributes[:'type']
79
+ end
80
+ end
81
+
82
+ # Check to see if the all the properties in the model are valid
83
+ # @return true if the model is valid
84
+ # @!visibility private
85
+ def valid?
86
+ return false if @contact.nil?
87
+ return false if @type.nil?
88
+ true
89
+ end
90
+
91
+ # Custom attribute writer method with validation
92
+ # @param contact [Object] Object to be assigned
93
+ # @!visibility private
94
+ def contact=(contact)
95
+ if contact.nil?
96
+ fail ArgumentError, 'invalid value for "contact", contact cannot be nil.'
97
+ end
98
+ @contact = contact
99
+ end
100
+
101
+ # Custom attribute writer method with validation
102
+ # @param type [Object] Object to be assigned
103
+ # @!visibility private
104
+ def type=(type)
105
+ if type.nil?
106
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
107
+ end
108
+ @type = type
109
+ end
110
+
111
+ # Checks equality by comparing each attribute.
112
+ # @param o [Object] Object to be compared
113
+ # @!visibility private
114
+ def ==(o)
115
+ return true if self.equal?(o)
116
+ self.class == o.class &&
117
+ contact == o.contact &&
118
+ name == o.name &&
119
+ type == o.type
120
+ end
121
+
122
+ # Calculates hash code according to all attributes.
123
+ # @return [Integer] Hash code
124
+ # @!visibility private
125
+ def hash
126
+ [contact, name, type].hash
127
+ end
128
+ end
129
+ end
@@ -0,0 +1,90 @@
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
+ # Third party integrations that Datadog supports.
21
+ class ServiceDefinitionV2Dot2Integrations
22
+ include BaseGenericModel
23
+
24
+ # Opsgenie integration for the service.
25
+ attr_accessor :opsgenie
26
+
27
+ # PagerDuty integration for the service.
28
+ attr_accessor :pagerduty
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ # @!visibility private
32
+ def self.attribute_map
33
+ {
34
+ :'opsgenie' => :'opsgenie',
35
+ :'pagerduty' => :'pagerduty'
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ # @!visibility private
41
+ def self.openapi_types
42
+ {
43
+ :'opsgenie' => :'ServiceDefinitionV2Dot2Opsgenie',
44
+ :'pagerduty' => :'ServiceDefinitionV2Dot2Pagerduty'
45
+ }
46
+ end
47
+
48
+ # Initializes the object
49
+ # @param attributes [Hash] Model attributes in the form of hash
50
+ # @!visibility private
51
+ def initialize(attributes = {})
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ServiceDefinitionV2Dot2Integrations` initialize method"
54
+ end
55
+
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::ServiceDefinitionV2Dot2Integrations`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
63
+
64
+ if attributes.key?(:'opsgenie')
65
+ self.opsgenie = attributes[:'opsgenie']
66
+ end
67
+
68
+ if attributes.key?(:'pagerduty')
69
+ self.pagerduty = attributes[:'pagerduty']
70
+ end
71
+ end
72
+
73
+ # Checks equality by comparing each attribute.
74
+ # @param o [Object] Object to be compared
75
+ # @!visibility private
76
+ def ==(o)
77
+ return true if self.equal?(o)
78
+ self.class == o.class &&
79
+ opsgenie == o.opsgenie &&
80
+ pagerduty == o.pagerduty
81
+ end
82
+
83
+ # Calculates hash code according to all attributes.
84
+ # @return [Integer] Hash code
85
+ # @!visibility private
86
+ def hash
87
+ [opsgenie, pagerduty].hash
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,150 @@
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
+ # Service's external links.
21
+ class ServiceDefinitionV2Dot2Link
22
+ include BaseGenericModel
23
+
24
+ # Link name.
25
+ attr_reader :name
26
+
27
+ # Link provider.
28
+ attr_accessor :provider
29
+
30
+ # Link type. Datadog recognizes the following types: `runbook`, `doc`, `repo`, `dashboard`, and `other`.
31
+ attr_reader :type
32
+
33
+ # Link URL.
34
+ attr_reader :url
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ # @!visibility private
38
+ def self.attribute_map
39
+ {
40
+ :'name' => :'name',
41
+ :'provider' => :'provider',
42
+ :'type' => :'type',
43
+ :'url' => :'url'
44
+ }
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ # @!visibility private
49
+ def self.openapi_types
50
+ {
51
+ :'name' => :'String',
52
+ :'provider' => :'String',
53
+ :'type' => :'String',
54
+ :'url' => :'String'
55
+ }
56
+ end
57
+
58
+ # Initializes the object
59
+ # @param attributes [Hash] Model attributes in the form of hash
60
+ # @!visibility private
61
+ def initialize(attributes = {})
62
+ if (!attributes.is_a?(Hash))
63
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ServiceDefinitionV2Dot2Link` initialize method"
64
+ end
65
+
66
+ # check to see if the attribute exists and convert string to symbol for hash key
67
+ attributes = attributes.each_with_object({}) { |(k, v), h|
68
+ if (!self.class.attribute_map.key?(k.to_sym))
69
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::ServiceDefinitionV2Dot2Link`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
70
+ end
71
+ h[k.to_sym] = v
72
+ }
73
+
74
+ if attributes.key?(:'name')
75
+ self.name = attributes[:'name']
76
+ end
77
+
78
+ if attributes.key?(:'provider')
79
+ self.provider = attributes[:'provider']
80
+ end
81
+
82
+ if attributes.key?(:'type')
83
+ self.type = attributes[:'type']
84
+ end
85
+
86
+ if attributes.key?(:'url')
87
+ self.url = attributes[:'url']
88
+ end
89
+ end
90
+
91
+ # Check to see if the all the properties in the model are valid
92
+ # @return true if the model is valid
93
+ # @!visibility private
94
+ def valid?
95
+ return false if @name.nil?
96
+ return false if @type.nil?
97
+ return false if @url.nil?
98
+ true
99
+ end
100
+
101
+ # Custom attribute writer method with validation
102
+ # @param name [Object] Object to be assigned
103
+ # @!visibility private
104
+ def name=(name)
105
+ if name.nil?
106
+ fail ArgumentError, 'invalid value for "name", name cannot be nil.'
107
+ end
108
+ @name = name
109
+ end
110
+
111
+ # Custom attribute writer method with validation
112
+ # @param type [Object] Object to be assigned
113
+ # @!visibility private
114
+ def type=(type)
115
+ if type.nil?
116
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
117
+ end
118
+ @type = type
119
+ end
120
+
121
+ # Custom attribute writer method with validation
122
+ # @param url [Object] Object to be assigned
123
+ # @!visibility private
124
+ def url=(url)
125
+ if url.nil?
126
+ fail ArgumentError, 'invalid value for "url", url cannot be nil.'
127
+ end
128
+ @url = url
129
+ end
130
+
131
+ # Checks equality by comparing each attribute.
132
+ # @param o [Object] Object to be compared
133
+ # @!visibility private
134
+ def ==(o)
135
+ return true if self.equal?(o)
136
+ self.class == o.class &&
137
+ name == o.name &&
138
+ provider == o.provider &&
139
+ type == o.type &&
140
+ url == o.url
141
+ end
142
+
143
+ # Calculates hash code according to all attributes.
144
+ # @return [Integer] Hash code
145
+ # @!visibility private
146
+ def hash
147
+ [name, provider, type, url].hash
148
+ end
149
+ end
150
+ end