datadog_api_client 2.38.0 → 2.39.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 (110) hide show
  1. checksums.yaml +4 -4
  2. data/.generated-info +4 -0
  3. data/.generator/schemas/v1/openapi.yaml +493 -13
  4. data/.generator/schemas/v2/openapi.yaml +1021 -36
  5. data/.github/workflows/approved_status.yml +1 -0
  6. data/.github/workflows/test.yml +1 -1
  7. data/CHANGELOG.md +16 -0
  8. data/examples/v1/dashboards/CreateDashboard_1751391372.rb +41 -0
  9. data/examples/v1/dashboards/CreatePublicDashboard_1668947073.rb +28 -0
  10. data/examples/v1/dashboards/UpdatePublicDashboard_1708268778.rb +27 -0
  11. data/examples/v1/logs-pipelines/CreateLogsPipeline_1248402480.rb +25 -0
  12. data/examples/v1/logs-pipelines/CreateLogsPipeline_1267211320.rb +27 -0
  13. data/examples/v1/logs-pipelines/CreateLogsPipeline_1271012410.rb +25 -0
  14. data/examples/v1/logs-pipelines/CreateLogsPipeline_3314493032.rb +26 -0
  15. data/examples/v1/logs-pipelines/CreateLogsPipeline_3934594739.rb +26 -0
  16. data/examples/v1/synthetics/SearchTests.rb +5 -0
  17. data/examples/v1/synthetics/SearchTests_195957771.rb +13 -0
  18. data/examples/v2/aws-integration/GetAWSIntegrationIAMPermissions.rb +5 -0
  19. data/examples/v2/cloud-cost-management/CreateCostGCPUsageCostConfig.rb +19 -0
  20. data/examples/v2/cloud-cost-management/DeleteCostGCPUsageCostConfig.rb +5 -0
  21. data/examples/v2/cloud-cost-management/ListCostGCPUsageCostConfigs.rb +5 -0
  22. data/examples/v2/cloud-cost-management/UpdateCostGCPUsageCostConfig.rb +14 -0
  23. data/examples/v2/datasets/CreateDataset.rb +27 -0
  24. data/examples/v2/datasets/DeleteDataset.rb +5 -0
  25. data/examples/v2/datasets/GetAllDatasets.rb +5 -0
  26. data/examples/v2/datasets/GetDataset.rb +5 -0
  27. data/examples/v2/monitors/CreateMonitorNotificationRule.rb +0 -3
  28. data/examples/v2/monitors/DeleteMonitorNotificationRule.rb +0 -3
  29. data/examples/v2/monitors/GetMonitorNotificationRule.rb +0 -3
  30. data/examples/v2/monitors/GetMonitorNotificationRules.rb +0 -3
  31. data/examples/v2/monitors/UpdateMonitorNotificationRule.rb +0 -3
  32. data/examples/v2/on-call/UpdateOnCallSchedule.rb +1 -1
  33. data/examples/v2/security-monitoring/ListAssetsSBOMs.rb +12 -0
  34. data/lib/datadog_api_client/configuration.rb +1 -5
  35. data/lib/datadog_api_client/inflector.rb +41 -0
  36. data/lib/datadog_api_client/v1/api/hosts_api.rb +1 -0
  37. data/lib/datadog_api_client/v1/api/synthetics_api.rb +72 -0
  38. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +6 -6
  39. data/lib/datadog_api_client/v1/models/dashboard_template_variable.rb +14 -3
  40. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_body.rb +1 -0
  41. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +9 -1
  42. data/lib/datadog_api_client/v1/models/logs_array_processor.rb +168 -0
  43. data/lib/datadog_api_client/v1/models/logs_array_processor_operation.rb +64 -0
  44. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_append.rb +175 -0
  45. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_append_type.rb +26 -0
  46. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_length.rb +165 -0
  47. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_length_type.rb +26 -0
  48. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_select.rb +207 -0
  49. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_select_type.rb +26 -0
  50. data/lib/datadog_api_client/v1/models/logs_array_processor_type.rb +26 -0
  51. data/lib/datadog_api_client/v1/models/logs_processor.rb +2 -1
  52. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_body.rb +1 -0
  53. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +14 -0
  54. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +142 -1
  55. data/lib/datadog_api_client/v1/models/selectable_template_variable_items.rb +12 -1
  56. data/lib/datadog_api_client/v1/models/synthetics_step_type.rb +1 -0
  57. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +81 -1
  58. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +81 -1
  59. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +81 -1
  60. data/lib/datadog_api_client/v2/api/aws_integration_api.rb +60 -0
  61. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +264 -0
  62. data/lib/datadog_api_client/v2/api/datasets_api.rb +283 -0
  63. data/lib/datadog_api_client/v2/api/events_api.rb +2 -0
  64. data/lib/datadog_api_client/v2/api/monitors_api.rb +0 -30
  65. data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +7 -3
  66. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +111 -0
  67. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +1 -1
  68. data/lib/datadog_api_client/v2/models/asset_attributes.rb +13 -1
  69. data/lib/datadog_api_client/v2/models/aws_integration_iam_permissions_response.rb +123 -0
  70. data/lib/datadog_api_client/v2/models/aws_integration_iam_permissions_response_attributes.rb +125 -0
  71. data/lib/datadog_api_client/v2/models/aws_integration_iam_permissions_response_data.rb +125 -0
  72. data/lib/datadog_api_client/v2/models/aws_integration_iam_permissions_response_data_type.rb +26 -0
  73. data/lib/datadog_api_client/v2/models/dataset.rb +154 -0
  74. data/lib/datadog_api_client/v2/models/dataset_attributes.rb +197 -0
  75. data/lib/datadog_api_client/v2/models/dataset_create_request.rb +123 -0
  76. data/lib/datadog_api_client/v2/models/dataset_response_multi.rb +125 -0
  77. data/lib/datadog_api_client/v2/models/dataset_response_single.rb +123 -0
  78. data/lib/datadog_api_client/v2/models/filters_per_product.rb +150 -0
  79. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config.rb +154 -0
  80. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_attributes.rb +369 -0
  81. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_data.rb +144 -0
  82. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_request.rb +123 -0
  83. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_request_attributes.rb +123 -0
  84. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_request_type.rb +26 -0
  85. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_data.rb +144 -0
  86. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_request.rb +123 -0
  87. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_request_attributes.rb +217 -0
  88. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_request_type.rb +26 -0
  89. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_response.rb +105 -0
  90. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_type.rb +26 -0
  91. data/lib/datadog_api_client/v2/models/gcp_usage_cost_configs_response.rb +107 -0
  92. data/lib/datadog_api_client/v2/models/layer_attributes.rb +1 -1
  93. data/lib/datadog_api_client/v2/models/layer_attributes_interval.rb +1 -1
  94. data/lib/datadog_api_client/v2/models/list_assets_sbo_ms_response.rb +145 -0
  95. data/lib/datadog_api_client/v2/models/sbom_attributes.rb +24 -1
  96. data/lib/datadog_api_client/v2/models/sbom_component.rb +46 -1
  97. data/lib/datadog_api_client/v2/models/sbom_component_dependency.rb +117 -0
  98. data/lib/datadog_api_client/v2/models/sbom_component_license.rb +123 -0
  99. data/lib/datadog_api_client/v2/models/sbom_component_license_license.rb +123 -0
  100. data/lib/datadog_api_client/v2/models/sbom_component_license_type.rb +33 -0
  101. data/lib/datadog_api_client/v2/models/sbom_component_property.rb +144 -0
  102. data/lib/datadog_api_client/v2/models/sbom_component_supplier.rb +123 -0
  103. data/lib/datadog_api_client/v2/models/sbom_metadata.rb +25 -3
  104. data/lib/datadog_api_client/v2/models/sbom_metadata_author.rb +105 -0
  105. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items.rb +1 -1
  106. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items.rb +1 -1
  107. data/lib/datadog_api_client/v2/models/vulnerability_attributes.rb +24 -1
  108. data/lib/datadog_api_client/version.rb +1 -1
  109. metadata +63 -2
  110. data/.apigentools-info +0 -16
@@ -0,0 +1,217 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Attributes for GCP Usage Cost config post request.
21
+ class GCPUsageCostConfigPostRequestAttributes
22
+ include BaseGenericModel
23
+
24
+ # The GCP account ID.
25
+ attr_reader :billing_account_id
26
+
27
+ # The GCP bucket name used to store the Usage Cost export.
28
+ attr_reader :bucket_name
29
+
30
+ # The export dataset name used for the GCP Usage Cost report.
31
+ attr_reader :export_dataset_name
32
+
33
+ # The export prefix used for the GCP Usage Cost report.
34
+ attr_accessor :export_prefix
35
+
36
+ # The name of the GCP Usage Cost report.
37
+ attr_reader :export_project_name
38
+
39
+ # The unique GCP service account email.
40
+ attr_reader :service_account
41
+
42
+ attr_accessor :additional_properties
43
+
44
+ # Attribute mapping from ruby-style variable name to JSON key.
45
+ # @!visibility private
46
+ def self.attribute_map
47
+ {
48
+ :'billing_account_id' => :'billing_account_id',
49
+ :'bucket_name' => :'bucket_name',
50
+ :'export_dataset_name' => :'export_dataset_name',
51
+ :'export_prefix' => :'export_prefix',
52
+ :'export_project_name' => :'export_project_name',
53
+ :'service_account' => :'service_account'
54
+ }
55
+ end
56
+
57
+ # Attribute type mapping.
58
+ # @!visibility private
59
+ def self.openapi_types
60
+ {
61
+ :'billing_account_id' => :'String',
62
+ :'bucket_name' => :'String',
63
+ :'export_dataset_name' => :'String',
64
+ :'export_prefix' => :'String',
65
+ :'export_project_name' => :'String',
66
+ :'service_account' => :'String'
67
+ }
68
+ end
69
+
70
+ # Initializes the object
71
+ # @param attributes [Hash] Model attributes in the form of hash
72
+ # @!visibility private
73
+ def initialize(attributes = {})
74
+ if (!attributes.is_a?(Hash))
75
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::GCPUsageCostConfigPostRequestAttributes` initialize method"
76
+ end
77
+
78
+ self.additional_properties = {}
79
+ # check to see if the attribute exists and convert string to symbol for hash key
80
+ attributes = attributes.each_with_object({}) { |(k, v), h|
81
+ if (!self.class.attribute_map.key?(k.to_sym))
82
+ self.additional_properties[k.to_sym] = v
83
+ else
84
+ h[k.to_sym] = v
85
+ end
86
+ }
87
+
88
+ if attributes.key?(:'billing_account_id')
89
+ self.billing_account_id = attributes[:'billing_account_id']
90
+ end
91
+
92
+ if attributes.key?(:'bucket_name')
93
+ self.bucket_name = attributes[:'bucket_name']
94
+ end
95
+
96
+ if attributes.key?(:'export_dataset_name')
97
+ self.export_dataset_name = attributes[:'export_dataset_name']
98
+ end
99
+
100
+ if attributes.key?(:'export_prefix')
101
+ self.export_prefix = attributes[:'export_prefix']
102
+ end
103
+
104
+ if attributes.key?(:'export_project_name')
105
+ self.export_project_name = attributes[:'export_project_name']
106
+ end
107
+
108
+ if attributes.key?(:'service_account')
109
+ self.service_account = attributes[:'service_account']
110
+ end
111
+ end
112
+
113
+ # Check to see if the all the properties in the model are valid
114
+ # @return true if the model is valid
115
+ # @!visibility private
116
+ def valid?
117
+ return false if @billing_account_id.nil?
118
+ return false if @bucket_name.nil?
119
+ return false if @export_dataset_name.nil?
120
+ return false if @export_project_name.nil?
121
+ return false if @service_account.nil?
122
+ true
123
+ end
124
+
125
+ # Custom attribute writer method with validation
126
+ # @param billing_account_id [Object] Object to be assigned
127
+ # @!visibility private
128
+ def billing_account_id=(billing_account_id)
129
+ if billing_account_id.nil?
130
+ fail ArgumentError, 'invalid value for "billing_account_id", billing_account_id cannot be nil.'
131
+ end
132
+ @billing_account_id = billing_account_id
133
+ end
134
+
135
+ # Custom attribute writer method with validation
136
+ # @param bucket_name [Object] Object to be assigned
137
+ # @!visibility private
138
+ def bucket_name=(bucket_name)
139
+ if bucket_name.nil?
140
+ fail ArgumentError, 'invalid value for "bucket_name", bucket_name cannot be nil.'
141
+ end
142
+ @bucket_name = bucket_name
143
+ end
144
+
145
+ # Custom attribute writer method with validation
146
+ # @param export_dataset_name [Object] Object to be assigned
147
+ # @!visibility private
148
+ def export_dataset_name=(export_dataset_name)
149
+ if export_dataset_name.nil?
150
+ fail ArgumentError, 'invalid value for "export_dataset_name", export_dataset_name cannot be nil.'
151
+ end
152
+ @export_dataset_name = export_dataset_name
153
+ end
154
+
155
+ # Custom attribute writer method with validation
156
+ # @param export_project_name [Object] Object to be assigned
157
+ # @!visibility private
158
+ def export_project_name=(export_project_name)
159
+ if export_project_name.nil?
160
+ fail ArgumentError, 'invalid value for "export_project_name", export_project_name cannot be nil.'
161
+ end
162
+ @export_project_name = export_project_name
163
+ end
164
+
165
+ # Custom attribute writer method with validation
166
+ # @param service_account [Object] Object to be assigned
167
+ # @!visibility private
168
+ def service_account=(service_account)
169
+ if service_account.nil?
170
+ fail ArgumentError, 'invalid value for "service_account", service_account cannot be nil.'
171
+ end
172
+ @service_account = service_account
173
+ end
174
+
175
+ # Returns the object in the form of hash, with additionalProperties support.
176
+ # @return [Hash] Returns the object in the form of hash
177
+ # @!visibility private
178
+ def to_hash
179
+ hash = {}
180
+ self.class.attribute_map.each_pair do |attr, param|
181
+ value = self.send(attr)
182
+ if value.nil?
183
+ is_nullable = self.class.openapi_nullable.include?(attr)
184
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
185
+ end
186
+
187
+ hash[param] = _to_hash(value)
188
+ end
189
+ self.additional_properties.each_pair do |attr, value|
190
+ hash[attr] = value
191
+ end
192
+ hash
193
+ end
194
+
195
+ # Checks equality by comparing each attribute.
196
+ # @param o [Object] Object to be compared
197
+ # @!visibility private
198
+ def ==(o)
199
+ return true if self.equal?(o)
200
+ self.class == o.class &&
201
+ billing_account_id == o.billing_account_id &&
202
+ bucket_name == o.bucket_name &&
203
+ export_dataset_name == o.export_dataset_name &&
204
+ export_prefix == o.export_prefix &&
205
+ export_project_name == o.export_project_name &&
206
+ service_account == o.service_account &&
207
+ additional_properties == o.additional_properties
208
+ end
209
+
210
+ # Calculates hash code according to all attributes.
211
+ # @return [Integer] Hash code
212
+ # @!visibility private
213
+ def hash
214
+ [billing_account_id, bucket_name, export_dataset_name, export_prefix, export_project_name, service_account, additional_properties].hash
215
+ end
216
+ end
217
+ end
@@ -0,0 +1,26 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Type of GCP Usage Cost config post request.
21
+ class GCPUsageCostConfigPostRequestType
22
+ include BaseEnumModel
23
+
24
+ GCP_USAGE_COST_CONFIG_POST_REQUEST = "gcp_uc_config_post_request".freeze
25
+ end
26
+ 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
+ # Response of GCP Usage Cost config.
21
+ class GCPUsageCostConfigResponse
22
+ include BaseGenericModel
23
+
24
+ # GCP Usage Cost config.
25
+ attr_accessor :data
26
+
27
+ attr_accessor :additional_properties
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ # @!visibility private
31
+ def self.attribute_map
32
+ {
33
+ :'data' => :'data'
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ # @!visibility private
39
+ def self.openapi_types
40
+ {
41
+ :'data' => :'GCPUsageCostConfig'
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::GCPUsageCostConfigResponse` initialize method"
51
+ end
52
+
53
+ self.additional_properties = {}
54
+ # check to see if the attribute exists and convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}) { |(k, v), h|
56
+ if (!self.class.attribute_map.key?(k.to_sym))
57
+ self.additional_properties[k.to_sym] = v
58
+ else
59
+ h[k.to_sym] = v
60
+ end
61
+ }
62
+
63
+ if attributes.key?(:'data')
64
+ self.data = attributes[:'data']
65
+ end
66
+ end
67
+
68
+ # Returns the object in the form of hash, with additionalProperties support.
69
+ # @return [Hash] Returns the object in the form of hash
70
+ # @!visibility private
71
+ def to_hash
72
+ hash = {}
73
+ self.class.attribute_map.each_pair do |attr, param|
74
+ value = self.send(attr)
75
+ if value.nil?
76
+ is_nullable = self.class.openapi_nullable.include?(attr)
77
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
78
+ end
79
+
80
+ hash[param] = _to_hash(value)
81
+ end
82
+ self.additional_properties.each_pair do |attr, value|
83
+ hash[attr] = value
84
+ end
85
+ hash
86
+ end
87
+
88
+ # Checks equality by comparing each attribute.
89
+ # @param o [Object] Object to be compared
90
+ # @!visibility private
91
+ def ==(o)
92
+ return true if self.equal?(o)
93
+ self.class == o.class &&
94
+ data == o.data &&
95
+ additional_properties == o.additional_properties
96
+ end
97
+
98
+ # Calculates hash code according to all attributes.
99
+ # @return [Integer] Hash code
100
+ # @!visibility private
101
+ def hash
102
+ [data, additional_properties].hash
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,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
+ # Type of GCP Usage Cost config.
21
+ class GCPUsageCostConfigType
22
+ include BaseEnumModel
23
+
24
+ GCP_UC_CONFIG = "gcp_uc_config".freeze
25
+ end
26
+ end
@@ -0,0 +1,107 @@
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
+ # List of GCP Usage Cost configs.
21
+ class GCPUsageCostConfigsResponse
22
+ include BaseGenericModel
23
+
24
+ # A GCP Usage Cost config.
25
+ attr_accessor :data
26
+
27
+ attr_accessor :additional_properties
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ # @!visibility private
31
+ def self.attribute_map
32
+ {
33
+ :'data' => :'data'
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ # @!visibility private
39
+ def self.openapi_types
40
+ {
41
+ :'data' => :'Array<GCPUsageCostConfig>'
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::GCPUsageCostConfigsResponse` 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
+ if (value = attributes[:'data']).is_a?(Array)
65
+ self.data = value
66
+ end
67
+ end
68
+ end
69
+
70
+ # Returns the object in the form of hash, with additionalProperties support.
71
+ # @return [Hash] Returns the object in the form of hash
72
+ # @!visibility private
73
+ def to_hash
74
+ hash = {}
75
+ self.class.attribute_map.each_pair do |attr, param|
76
+ value = self.send(attr)
77
+ if value.nil?
78
+ is_nullable = self.class.openapi_nullable.include?(attr)
79
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
80
+ end
81
+
82
+ hash[param] = _to_hash(value)
83
+ end
84
+ self.additional_properties.each_pair do |attr, value|
85
+ hash[attr] = value
86
+ end
87
+ hash
88
+ end
89
+
90
+ # Checks equality by comparing each attribute.
91
+ # @param o [Object] Object to be compared
92
+ # @!visibility private
93
+ def ==(o)
94
+ return true if self.equal?(o)
95
+ self.class == o.class &&
96
+ data == o.data &&
97
+ additional_properties == o.additional_properties
98
+ end
99
+
100
+ # Calculates hash code according to all attributes.
101
+ # @return [Integer] Hash code
102
+ # @!visibility private
103
+ def hash
104
+ [data, additional_properties].hash
105
+ end
106
+ end
107
+ end
@@ -27,7 +27,7 @@ module DatadogAPIClient::V2
27
27
  # When the layer ceases to be active (ISO 8601).
28
28
  attr_accessor :end_date
29
29
 
30
- # Defines how often the rotation repeats, using a combination of days and optional seconds.
30
+ # Defines how often the rotation repeats, using a combination of days and optional seconds. Should be at least 1 hour.
31
31
  attr_accessor :interval
32
32
 
33
33
  # The name of this layer.
@@ -17,7 +17,7 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # Defines how often the rotation repeats, using a combination of days and optional seconds.
20
+ # Defines how often the rotation repeats, using a combination of days and optional seconds. Should be at least 1 hour.
21
21
  class LayerAttributesInterval
22
22
  include BaseGenericModel
23
23
 
@@ -0,0 +1,145 @@
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 expected response schema when listing assets SBOMs.
21
+ class ListAssetsSBOMsResponse
22
+ include BaseGenericModel
23
+
24
+ # List of assets SBOMs.
25
+ attr_reader :data
26
+
27
+ # The JSON:API links related to pagination.
28
+ attr_accessor :links
29
+
30
+ # The metadata related to this request.
31
+ attr_accessor :meta
32
+
33
+ attr_accessor :additional_properties
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ # @!visibility private
37
+ def self.attribute_map
38
+ {
39
+ :'data' => :'data',
40
+ :'links' => :'links',
41
+ :'meta' => :'meta'
42
+ }
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ # @!visibility private
47
+ def self.openapi_types
48
+ {
49
+ :'data' => :'Array<SBOM>',
50
+ :'links' => :'Links',
51
+ :'meta' => :'Metadata'
52
+ }
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param attributes [Hash] Model attributes in the form of hash
57
+ # @!visibility private
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ListAssetsSBOMsResponse` initialize method"
61
+ end
62
+
63
+ self.additional_properties = {}
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!self.class.attribute_map.key?(k.to_sym))
67
+ self.additional_properties[k.to_sym] = v
68
+ else
69
+ h[k.to_sym] = v
70
+ end
71
+ }
72
+
73
+ if attributes.key?(:'data')
74
+ if (value = attributes[:'data']).is_a?(Array)
75
+ self.data = value
76
+ end
77
+ end
78
+
79
+ if attributes.key?(:'links')
80
+ self.links = attributes[:'links']
81
+ end
82
+
83
+ if attributes.key?(:'meta')
84
+ self.meta = attributes[:'meta']
85
+ end
86
+ end
87
+
88
+ # Check to see if the all the properties in the model are valid
89
+ # @return true if the model is valid
90
+ # @!visibility private
91
+ def valid?
92
+ return false if @data.nil?
93
+ true
94
+ end
95
+
96
+ # Custom attribute writer method with validation
97
+ # @param data [Object] Object to be assigned
98
+ # @!visibility private
99
+ def data=(data)
100
+ if data.nil?
101
+ fail ArgumentError, 'invalid value for "data", data cannot be nil.'
102
+ end
103
+ @data = data
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
+ data == o.data &&
133
+ links == o.links &&
134
+ meta == o.meta &&
135
+ additional_properties == o.additional_properties
136
+ end
137
+
138
+ # Calculates hash code according to all attributes.
139
+ # @return [Integer] Hash code
140
+ # @!visibility private
141
+ def hash
142
+ [data, links, meta, additional_properties].hash
143
+ end
144
+ end
145
+ end