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,283 @@
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 'cgi'
17
+
18
+ module DatadogAPIClient::V2
19
+ class DatasetsAPI
20
+ attr_accessor :api_client
21
+
22
+ def initialize(api_client = DatadogAPIClient::APIClient.default)
23
+ @api_client = api_client
24
+ end
25
+
26
+ # Create a dataset.
27
+ #
28
+ # @see #create_dataset_with_http_info
29
+ def create_dataset(body, opts = {})
30
+ data, _status_code, _headers = create_dataset_with_http_info(body, opts)
31
+ data
32
+ end
33
+
34
+ # Create a dataset.
35
+ #
36
+ # Create a dataset with the configurations in the request.
37
+ #
38
+ # @param body [DatasetCreateRequest] Dataset payload
39
+ # @param opts [Hash] the optional parameters
40
+ # @return [Array<(DatasetResponseSingle, Integer, Hash)>] DatasetResponseSingle data, response status code and response headers
41
+ def create_dataset_with_http_info(body, opts = {})
42
+
43
+ if @api_client.config.debugging
44
+ @api_client.config.logger.debug 'Calling API: DatasetsAPI.create_dataset ...'
45
+ end
46
+ # verify the required parameter 'body' is set
47
+ if @api_client.config.client_side_validation && body.nil?
48
+ fail ArgumentError, "Missing the required parameter 'body' when calling DatasetsAPI.create_dataset"
49
+ end
50
+ # resource path
51
+ local_var_path = '/api/v2/datasets'
52
+
53
+ # query parameters
54
+ query_params = opts[:query_params] || {}
55
+
56
+ # header parameters
57
+ header_params = opts[:header_params] || {}
58
+ # HTTP header 'Accept' (if needed)
59
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
60
+ # HTTP header 'Content-Type'
61
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
62
+
63
+ # form parameters
64
+ form_params = opts[:form_params] || {}
65
+
66
+ # http body (model)
67
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
68
+
69
+ # return_type
70
+ return_type = opts[:debug_return_type] || 'DatasetResponseSingle'
71
+
72
+ # auth_names
73
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
74
+
75
+ new_options = opts.merge(
76
+ :operation => :create_dataset,
77
+ :header_params => header_params,
78
+ :query_params => query_params,
79
+ :form_params => form_params,
80
+ :body => post_body,
81
+ :auth_names => auth_names,
82
+ :return_type => return_type,
83
+ :api_version => "V2"
84
+ )
85
+
86
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Post, local_var_path, new_options)
87
+ if @api_client.config.debugging
88
+ @api_client.config.logger.debug "API called: DatasetsAPI#create_dataset\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
89
+ end
90
+ return data, status_code, headers
91
+ end
92
+
93
+ # Delete a dataset.
94
+ #
95
+ # @see #delete_dataset_with_http_info
96
+ def delete_dataset(dataset_id, opts = {})
97
+ delete_dataset_with_http_info(dataset_id, opts)
98
+ nil
99
+ end
100
+
101
+ # Delete a dataset.
102
+ #
103
+ # Deletes the dataset associated with the ID.
104
+ #
105
+ # @param dataset_id [String] The ID of a defined dataset.
106
+ # @param opts [Hash] the optional parameters
107
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
108
+ def delete_dataset_with_http_info(dataset_id, opts = {})
109
+
110
+ if @api_client.config.debugging
111
+ @api_client.config.logger.debug 'Calling API: DatasetsAPI.delete_dataset ...'
112
+ end
113
+ # verify the required parameter 'dataset_id' is set
114
+ if @api_client.config.client_side_validation && dataset_id.nil?
115
+ fail ArgumentError, "Missing the required parameter 'dataset_id' when calling DatasetsAPI.delete_dataset"
116
+ end
117
+ # resource path
118
+ local_var_path = '/api/v2/datasets/{dataset_id}'.sub('{dataset_id}', CGI.escape(dataset_id.to_s).gsub('%2F', '/'))
119
+
120
+ # query parameters
121
+ query_params = opts[:query_params] || {}
122
+
123
+ # header parameters
124
+ header_params = opts[:header_params] || {}
125
+ # HTTP header 'Accept' (if needed)
126
+ header_params['Accept'] = @api_client.select_header_accept(['*/*'])
127
+
128
+ # form parameters
129
+ form_params = opts[:form_params] || {}
130
+
131
+ # http body (model)
132
+ post_body = opts[:debug_body]
133
+
134
+ # return_type
135
+ return_type = opts[:debug_return_type]
136
+
137
+ # auth_names
138
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
139
+
140
+ new_options = opts.merge(
141
+ :operation => :delete_dataset,
142
+ :header_params => header_params,
143
+ :query_params => query_params,
144
+ :form_params => form_params,
145
+ :body => post_body,
146
+ :auth_names => auth_names,
147
+ :return_type => return_type,
148
+ :api_version => "V2"
149
+ )
150
+
151
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Delete, local_var_path, new_options)
152
+ if @api_client.config.debugging
153
+ @api_client.config.logger.debug "API called: DatasetsAPI#delete_dataset\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
154
+ end
155
+ return data, status_code, headers
156
+ end
157
+
158
+ # Get all datasets.
159
+ #
160
+ # @see #get_all_datasets_with_http_info
161
+ def get_all_datasets(opts = {})
162
+ data, _status_code, _headers = get_all_datasets_with_http_info(opts)
163
+ data
164
+ end
165
+
166
+ # Get all datasets.
167
+ #
168
+ # Get all datasets that have been configured for an organization.
169
+ #
170
+ # @param opts [Hash] the optional parameters
171
+ # @return [Array<(DatasetResponseMulti, Integer, Hash)>] DatasetResponseMulti data, response status code and response headers
172
+ def get_all_datasets_with_http_info(opts = {})
173
+
174
+ if @api_client.config.debugging
175
+ @api_client.config.logger.debug 'Calling API: DatasetsAPI.get_all_datasets ...'
176
+ end
177
+ # resource path
178
+ local_var_path = '/api/v2/datasets'
179
+
180
+ # query parameters
181
+ query_params = opts[:query_params] || {}
182
+
183
+ # header parameters
184
+ header_params = opts[:header_params] || {}
185
+ # HTTP header 'Accept' (if needed)
186
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
187
+
188
+ # form parameters
189
+ form_params = opts[:form_params] || {}
190
+
191
+ # http body (model)
192
+ post_body = opts[:debug_body]
193
+
194
+ # return_type
195
+ return_type = opts[:debug_return_type] || 'DatasetResponseMulti'
196
+
197
+ # auth_names
198
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
199
+
200
+ new_options = opts.merge(
201
+ :operation => :get_all_datasets,
202
+ :header_params => header_params,
203
+ :query_params => query_params,
204
+ :form_params => form_params,
205
+ :body => post_body,
206
+ :auth_names => auth_names,
207
+ :return_type => return_type,
208
+ :api_version => "V2"
209
+ )
210
+
211
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
212
+ if @api_client.config.debugging
213
+ @api_client.config.logger.debug "API called: DatasetsAPI#get_all_datasets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
214
+ end
215
+ return data, status_code, headers
216
+ end
217
+
218
+ # Get a single dataset by ID.
219
+ #
220
+ # @see #get_dataset_with_http_info
221
+ def get_dataset(dataset_id, opts = {})
222
+ data, _status_code, _headers = get_dataset_with_http_info(dataset_id, opts)
223
+ data
224
+ end
225
+
226
+ # Get a single dataset by ID.
227
+ #
228
+ # Retrieves the dataset associated with the ID.
229
+ #
230
+ # @param dataset_id [String] The ID of a defined dataset.
231
+ # @param opts [Hash] the optional parameters
232
+ # @return [Array<(DatasetResponseSingle, Integer, Hash)>] DatasetResponseSingle data, response status code and response headers
233
+ def get_dataset_with_http_info(dataset_id, opts = {})
234
+
235
+ if @api_client.config.debugging
236
+ @api_client.config.logger.debug 'Calling API: DatasetsAPI.get_dataset ...'
237
+ end
238
+ # verify the required parameter 'dataset_id' is set
239
+ if @api_client.config.client_side_validation && dataset_id.nil?
240
+ fail ArgumentError, "Missing the required parameter 'dataset_id' when calling DatasetsAPI.get_dataset"
241
+ end
242
+ # resource path
243
+ local_var_path = '/api/v2/datasets/{dataset_id}'.sub('{dataset_id}', CGI.escape(dataset_id.to_s).gsub('%2F', '/'))
244
+
245
+ # query parameters
246
+ query_params = opts[:query_params] || {}
247
+
248
+ # header parameters
249
+ header_params = opts[:header_params] || {}
250
+ # HTTP header 'Accept' (if needed)
251
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
252
+
253
+ # form parameters
254
+ form_params = opts[:form_params] || {}
255
+
256
+ # http body (model)
257
+ post_body = opts[:debug_body]
258
+
259
+ # return_type
260
+ return_type = opts[:debug_return_type] || 'DatasetResponseSingle'
261
+
262
+ # auth_names
263
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
264
+
265
+ new_options = opts.merge(
266
+ :operation => :get_dataset,
267
+ :header_params => header_params,
268
+ :query_params => query_params,
269
+ :form_params => form_params,
270
+ :body => post_body,
271
+ :auth_names => auth_names,
272
+ :return_type => return_type,
273
+ :api_version => "V2"
274
+ )
275
+
276
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
277
+ if @api_client.config.debugging
278
+ @api_client.config.logger.debug "API called: DatasetsAPI#get_dataset\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
279
+ end
280
+ return data, status_code, headers
281
+ end
282
+ end
283
+ end
@@ -35,6 +35,8 @@ module DatadogAPIClient::V2
35
35
  #
36
36
  # This endpoint allows you to publish events.
37
37
  #
38
+ # **Note:** To utilize this endpoint with our client libraries, please ensure you are using the latest version released on or after July 1, 2025. Earlier versions do not support this functionality.
39
+ #
38
40
  # ✅ **Only events with the `change` or `alert` category** are in General Availability. For change events, see [Change Tracking](https://docs.datadoghq.com/change_tracking) for more details.
39
41
  #
40
42
  # ❌ For use cases involving other event categories, use the V1 endpoint or reach out to [support](https://www.datadoghq.com/support/).
@@ -106,12 +106,6 @@ module DatadogAPIClient::V2
106
106
  # @param opts [Hash] the optional parameters
107
107
  # @return [Array<(MonitorNotificationRuleResponse, Integer, Hash)>] MonitorNotificationRuleResponse data, response status code and response headers
108
108
  def create_monitor_notification_rule_with_http_info(body, opts = {})
109
- unstable_enabled = @api_client.config.unstable_operations["v2.create_monitor_notification_rule".to_sym]
110
- if unstable_enabled
111
- @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.create_monitor_notification_rule")
112
- else
113
- raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.create_monitor_notification_rule"))
114
- end
115
109
 
116
110
  if @api_client.config.debugging
117
111
  @api_client.config.logger.debug 'Calling API: MonitorsAPI.create_monitor_notification_rule ...'
@@ -317,12 +311,6 @@ module DatadogAPIClient::V2
317
311
  # @param opts [Hash] the optional parameters
318
312
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
319
313
  def delete_monitor_notification_rule_with_http_info(rule_id, opts = {})
320
- unstable_enabled = @api_client.config.unstable_operations["v2.delete_monitor_notification_rule".to_sym]
321
- if unstable_enabled
322
- @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.delete_monitor_notification_rule")
323
- else
324
- raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.delete_monitor_notification_rule"))
325
- end
326
314
 
327
315
  if @api_client.config.debugging
328
316
  @api_client.config.logger.debug 'Calling API: MonitorsAPI.delete_monitor_notification_rule ...'
@@ -525,12 +513,6 @@ module DatadogAPIClient::V2
525
513
  # @option opts [String] :include Comma-separated list of resource paths for related resources to include in the response. Supported resource path is `created_by`.
526
514
  # @return [Array<(MonitorNotificationRuleResponse, Integer, Hash)>] MonitorNotificationRuleResponse data, response status code and response headers
527
515
  def get_monitor_notification_rule_with_http_info(rule_id, opts = {})
528
- unstable_enabled = @api_client.config.unstable_operations["v2.get_monitor_notification_rule".to_sym]
529
- if unstable_enabled
530
- @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.get_monitor_notification_rule")
531
- else
532
- raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.get_monitor_notification_rule"))
533
- end
534
516
 
535
517
  if @api_client.config.debugging
536
518
  @api_client.config.logger.debug 'Calling API: MonitorsAPI.get_monitor_notification_rule ...'
@@ -597,12 +579,6 @@ module DatadogAPIClient::V2
597
579
  # @option opts [String] :include Comma-separated list of resource paths for related resources to include in the response. Supported resource path is `created_by`.
598
580
  # @return [Array<(MonitorNotificationRuleListResponse, Integer, Hash)>] MonitorNotificationRuleListResponse data, response status code and response headers
599
581
  def get_monitor_notification_rules_with_http_info(opts = {})
600
- unstable_enabled = @api_client.config.unstable_operations["v2.get_monitor_notification_rules".to_sym]
601
- if unstable_enabled
602
- @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.get_monitor_notification_rules")
603
- else
604
- raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.get_monitor_notification_rules"))
605
- end
606
582
 
607
583
  if @api_client.config.debugging
608
584
  @api_client.config.logger.debug 'Calling API: MonitorsAPI.get_monitor_notification_rules ...'
@@ -937,12 +913,6 @@ module DatadogAPIClient::V2
937
913
  # @param opts [Hash] the optional parameters
938
914
  # @return [Array<(MonitorNotificationRuleResponse, Integer, Hash)>] MonitorNotificationRuleResponse data, response status code and response headers
939
915
  def update_monitor_notification_rule_with_http_info(rule_id, body, opts = {})
940
- unstable_enabled = @api_client.config.unstable_operations["v2.update_monitor_notification_rule".to_sym]
941
- if unstable_enabled
942
- @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.update_monitor_notification_rule")
943
- else
944
- raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.update_monitor_notification_rule"))
945
- end
946
916
 
947
917
  if @api_client.config.debugging
948
918
  @api_client.config.logger.debug 'Calling API: MonitorsAPI.update_monitor_notification_rule ...'
@@ -35,7 +35,7 @@ module DatadogAPIClient::V2
35
35
  #
36
36
  # Deletes the restriction policy associated with a specified resource.
37
37
  #
38
- # @param resource_id [String] Identifier, formatted as `type:id`. Supported types: `connection`, `dashboard`, `integration-account`, `integration-service`, `integration-webhook`, `notebook`, `reference-table`, `security-rule`, `slo`, `workflow`, `app-builder-app`, `connection`, `connection-group`, `rum-application`.
38
+ # @param resource_id [String] Identifier, formatted as `type:id`. Supported types: `connection`, `dashboard`, `integration-account`, `integration-service`, `integration-webhook`, `notebook`, `reference-table`, `security-rule`, `slo`, `workflow`, `app-builder-app`, `connection`, `connection-group`, `rum-application`, `cross-org-connection`, `spreadsheet`.
39
39
  # @param opts [Hash] the optional parameters
40
40
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
41
41
  def delete_restriction_policy_with_http_info(resource_id, opts = {})
@@ -100,7 +100,7 @@ module DatadogAPIClient::V2
100
100
  #
101
101
  # Retrieves the restriction policy associated with a specified resource.
102
102
  #
103
- # @param resource_id [String] Identifier, formatted as `type:id`. Supported types: `connection`, `dashboard`, `integration-account`, `integration-service`, `integration-webhook`, `notebook`, `reference-table`, `security-rule`, `slo`, `workflow`, `app-builder-app`, `connection`, `connection-group`, `rum-application`.
103
+ # @param resource_id [String] Identifier, formatted as `type:id`. Supported types: `connection`, `dashboard`, `integration-account`, `integration-service`, `integration-webhook`, `notebook`, `reference-table`, `security-rule`, `slo`, `workflow`, `app-builder-app`, `connection`, `connection-group`, `rum-application`, `cross-org-connection`, `spreadsheet`.
104
104
  # @param opts [Hash] the optional parameters
105
105
  # @return [Array<(RestrictionPolicyResponse, Integer, Hash)>] RestrictionPolicyResponse data, response status code and response headers
106
106
  def get_restriction_policy_with_http_info(resource_id, opts = {})
@@ -185,6 +185,8 @@ module DatadogAPIClient::V2
185
185
  # - Connections: `connection`
186
186
  # - Connection Groups: `connection-group`
187
187
  # - RUM Applications: `rum-application`
188
+ # - Cross Org Connections: `cross-org-connection`
189
+ # - Spreadsheets: `spreadsheet`
188
190
  #
189
191
  # #### Supported relations for resources
190
192
  # Resource Type | Supported Relations
@@ -207,8 +209,10 @@ module DatadogAPIClient::V2
207
209
  # Connections | `viewer`, `resolver`, `editor`
208
210
  # Connection Groups | `viewer`, `editor`
209
211
  # RUM Application | `viewer`, `editor`
212
+ # Cross Org Connections | `viewer`, `editor`
213
+ # Spreadsheets | `viewer`, `editor`
210
214
  #
211
- # @param resource_id [String] Identifier, formatted as `type:id`. Supported types: `connection`, `dashboard`, `integration-account`, `integration-service`, `integration-webhook`, `notebook`, `reference-table`, `security-rule`, `slo`, `workflow`, `app-builder-app`, `connection`, `connection-group`, `rum-application`.
215
+ # @param resource_id [String] Identifier, formatted as `type:id`. Supported types: `connection`, `dashboard`, `integration-account`, `integration-service`, `integration-webhook`, `notebook`, `reference-table`, `security-rule`, `slo`, `workflow`, `app-builder-app`, `connection`, `connection-group`, `rum-application`, `cross-org-connection`, `spreadsheet`.
212
216
  # @param body [RestrictionPolicyUpdateRequest] Restriction policy payload
213
217
  # @param opts [Hash] the optional parameters
214
218
  # @option opts [Boolean] :allow_self_lockout Allows admins (users with the `user_access_manage` permission) to remove their own access from the resource if set to `true`. By default, this is set to `false`, preventing admins from locking themselves out.
@@ -2344,6 +2344,111 @@ module DatadogAPIClient::V2
2344
2344
  return data, status_code, headers
2345
2345
  end
2346
2346
 
2347
+ # List assets SBOMs.
2348
+ #
2349
+ # @see #list_assets_sbo_ms_with_http_info
2350
+ def list_assets_sbo_ms(opts = {})
2351
+ data, _status_code, _headers = list_assets_sbo_ms_with_http_info(opts)
2352
+ data
2353
+ end
2354
+
2355
+ # List assets SBOMs.
2356
+ #
2357
+ # Get a list of assets SBOMs for an organization.
2358
+ #
2359
+ # ### Pagination
2360
+ #
2361
+ # Please review the [Pagination section](#pagination) for the "List Vulnerabilities" endpoint.
2362
+ #
2363
+ # ### Filtering
2364
+ #
2365
+ # Please review the [Filtering section](#filtering) for the "List Vulnerabilities" endpoint.
2366
+ #
2367
+ # ### Metadata
2368
+ #
2369
+ # Please review the [Metadata section](#metadata) for the "List Vulnerabilities" endpoint.
2370
+ #
2371
+ # @param opts [Hash] the optional parameters
2372
+ # @option opts [String] :page_token Its value must come from the `links` section of the response of the first request. Do not manually edit it.
2373
+ # @option opts [Integer] :page_number The page number to be retrieved. It should be equal to or greater than 1.
2374
+ # @option opts [AssetType] :filter_asset_type The type of the assets for the SBOM request.
2375
+ # @option opts [String] :filter_asset_name The name of the asset for the SBOM request.
2376
+ # @option opts [String] :filter_package_name The name of the component that is a dependency of an asset.
2377
+ # @option opts [String] :filter_package_version The version of the component that is a dependency of an asset.
2378
+ # @option opts [String] :filter_license_name The software license name of the component that is a dependency of an asset.
2379
+ # @option opts [SBOMComponentLicenseType] :filter_license_type The software license type of the component that is a dependency of an asset.
2380
+ # @return [Array<(ListAssetsSBOMsResponse, Integer, Hash)>] ListAssetsSBOMsResponse data, response status code and response headers
2381
+ def list_assets_sbo_ms_with_http_info(opts = {})
2382
+ unstable_enabled = @api_client.config.unstable_operations["v2.list_assets_sbo_ms".to_sym]
2383
+ if unstable_enabled
2384
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.list_assets_sbo_ms")
2385
+ else
2386
+ raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.list_assets_sbo_ms"))
2387
+ end
2388
+
2389
+ if @api_client.config.debugging
2390
+ @api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.list_assets_sbo_ms ...'
2391
+ end
2392
+ if @api_client.config.client_side_validation && !opts[:'page_number'].nil? && opts[:'page_number'] < 1
2393
+ fail ArgumentError, 'invalid value for "opts[:"page_number"]" when calling SecurityMonitoringAPI.list_assets_sbo_ms, must be greater than or equal to 1.'
2394
+ end
2395
+ allowable_values = ['Repository', 'Service', 'Host', 'HostImage', 'Image']
2396
+ if @api_client.config.client_side_validation && opts[:'filter_asset_type'] && !allowable_values.include?(opts[:'filter_asset_type'])
2397
+ fail ArgumentError, "invalid value for \"filter_asset_type\", must be one of #{allowable_values}"
2398
+ end
2399
+ allowable_values = ['network_strong_copyleft', 'non_standard_copyleft', 'other_non_free', 'other_non_standard', 'permissive', 'public_domain', 'strong_copyleft', 'weak_copyleft']
2400
+ if @api_client.config.client_side_validation && opts[:'filter_license_type'] && !allowable_values.include?(opts[:'filter_license_type'])
2401
+ fail ArgumentError, "invalid value for \"filter_license_type\", must be one of #{allowable_values}"
2402
+ end
2403
+ # resource path
2404
+ local_var_path = '/api/v2/security/sboms'
2405
+
2406
+ # query parameters
2407
+ query_params = opts[:query_params] || {}
2408
+ query_params[:'page[token]'] = opts[:'page_token'] if !opts[:'page_token'].nil?
2409
+ query_params[:'page[number]'] = opts[:'page_number'] if !opts[:'page_number'].nil?
2410
+ query_params[:'filter[asset_type]'] = opts[:'filter_asset_type'] if !opts[:'filter_asset_type'].nil?
2411
+ query_params[:'filter[asset_name]'] = opts[:'filter_asset_name'] if !opts[:'filter_asset_name'].nil?
2412
+ query_params[:'filter[package_name]'] = opts[:'filter_package_name'] if !opts[:'filter_package_name'].nil?
2413
+ query_params[:'filter[package_version]'] = opts[:'filter_package_version'] if !opts[:'filter_package_version'].nil?
2414
+ query_params[:'filter[license_name]'] = opts[:'filter_license_name'] if !opts[:'filter_license_name'].nil?
2415
+ query_params[:'filter[license_type]'] = opts[:'filter_license_type'] if !opts[:'filter_license_type'].nil?
2416
+
2417
+ # header parameters
2418
+ header_params = opts[:header_params] || {}
2419
+ # HTTP header 'Accept' (if needed)
2420
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2421
+
2422
+ # form parameters
2423
+ form_params = opts[:form_params] || {}
2424
+
2425
+ # http body (model)
2426
+ post_body = opts[:debug_body]
2427
+
2428
+ # return_type
2429
+ return_type = opts[:debug_return_type] || 'ListAssetsSBOMsResponse'
2430
+
2431
+ # auth_names
2432
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
2433
+
2434
+ new_options = opts.merge(
2435
+ :operation => :list_assets_sbo_ms,
2436
+ :header_params => header_params,
2437
+ :query_params => query_params,
2438
+ :form_params => form_params,
2439
+ :body => post_body,
2440
+ :auth_names => auth_names,
2441
+ :return_type => return_type,
2442
+ :api_version => "V2"
2443
+ )
2444
+
2445
+ data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
2446
+ if @api_client.config.debugging
2447
+ @api_client.config.logger.debug "API called: SecurityMonitoringAPI#list_assets_sbo_ms\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2448
+ end
2449
+ return data, status_code, headers
2450
+ end
2451
+
2347
2452
  # List findings.
2348
2453
  #
2349
2454
  # @see #list_findings_with_http_info
@@ -2999,6 +3104,7 @@ module DatadogAPIClient::V2
2999
3104
  # @option opts [String] :filter_code_location_method Filter by method.
3000
3105
  # @option opts [Boolean] :filter_fix_available Filter by fix availability.
3001
3106
  # @option opts [String] :filter_repo_digests Filter by vulnerability `repo_digest` (when the vulnerability is related to `Image` asset).
3107
+ # @option opts [String] :filter_origin Filter by origin.
3002
3108
  # @option opts [String] :filter_asset_name Filter by asset name.
3003
3109
  # @option opts [AssetType] :filter_asset_type Filter by asset type.
3004
3110
  # @option opts [String] :filter_asset_version_first Filter by the first version of the asset this vulnerability has been detected on.
@@ -3010,6 +3116,7 @@ module DatadogAPIClient::V2
3010
3116
  # @option opts [Boolean] :filter_asset_risks_has_privileged_access Filter whether the asset is publicly accessible or not.
3011
3117
  # @option opts [Boolean] :filter_asset_risks_has_access_to_sensitive_data Filter whether the asset has access to sensitive data or not.
3012
3118
  # @option opts [String] :filter_asset_environments Filter by asset environments.
3119
+ # @option opts [String] :filter_asset_teams Filter by asset teams.
3013
3120
  # @option opts [String] :filter_asset_arch Filter by asset architecture.
3014
3121
  # @option opts [String] :filter_asset_operating_system_name Filter by asset operating system name.
3015
3122
  # @option opts [String] :filter_asset_operating_system_version Filter by asset operating system version.
@@ -3109,6 +3216,7 @@ module DatadogAPIClient::V2
3109
3216
  query_params[:'filter[code_location.method]'] = opts[:'filter_code_location_method'] if !opts[:'filter_code_location_method'].nil?
3110
3217
  query_params[:'filter[fix_available]'] = opts[:'filter_fix_available'] if !opts[:'filter_fix_available'].nil?
3111
3218
  query_params[:'filter[repo_digests]'] = opts[:'filter_repo_digests'] if !opts[:'filter_repo_digests'].nil?
3219
+ query_params[:'filter[origin]'] = opts[:'filter_origin'] if !opts[:'filter_origin'].nil?
3112
3220
  query_params[:'filter[asset.name]'] = opts[:'filter_asset_name'] if !opts[:'filter_asset_name'].nil?
3113
3221
  query_params[:'filter[asset.type]'] = opts[:'filter_asset_type'] if !opts[:'filter_asset_type'].nil?
3114
3222
  query_params[:'filter[asset.version.first]'] = opts[:'filter_asset_version_first'] if !opts[:'filter_asset_version_first'].nil?
@@ -3120,6 +3228,7 @@ module DatadogAPIClient::V2
3120
3228
  query_params[:'filter[asset.risks.has_privileged_access]'] = opts[:'filter_asset_risks_has_privileged_access'] if !opts[:'filter_asset_risks_has_privileged_access'].nil?
3121
3229
  query_params[:'filter[asset.risks.has_access_to_sensitive_data]'] = opts[:'filter_asset_risks_has_access_to_sensitive_data'] if !opts[:'filter_asset_risks_has_access_to_sensitive_data'].nil?
3122
3230
  query_params[:'filter[asset.environments]'] = opts[:'filter_asset_environments'] if !opts[:'filter_asset_environments'].nil?
3231
+ query_params[:'filter[asset.teams]'] = opts[:'filter_asset_teams'] if !opts[:'filter_asset_teams'].nil?
3123
3232
  query_params[:'filter[asset.arch]'] = opts[:'filter_asset_arch'] if !opts[:'filter_asset_arch'].nil?
3124
3233
  query_params[:'filter[asset.operating_system.name]'] = opts[:'filter_asset_operating_system_name'] if !opts[:'filter_asset_operating_system_name'].nil?
3125
3234
  query_params[:'filter[asset.operating_system.version]'] = opts[:'filter_asset_operating_system_version'] if !opts[:'filter_asset_operating_system_version'].nil?
@@ -3198,6 +3307,7 @@ module DatadogAPIClient::V2
3198
3307
  # @option opts [Boolean] :filter_risks_has_privileged_access Filter whether the asset (Host) has privileged access or not.
3199
3308
  # @option opts [Boolean] :filter_risks_has_access_to_sensitive_data Filter whether the asset (Host) has access to sensitive data or not.
3200
3309
  # @option opts [String] :filter_environments Filter by environment.
3310
+ # @option opts [String] :filter_teams Filter by teams.
3201
3311
  # @option opts [String] :filter_arch Filter by architecture.
3202
3312
  # @option opts [String] :filter_operating_system_name Filter by operating system name.
3203
3313
  # @option opts [String] :filter_operating_system_version Filter by operating system version.
@@ -3238,6 +3348,7 @@ module DatadogAPIClient::V2
3238
3348
  query_params[:'filter[risks.has_privileged_access]'] = opts[:'filter_risks_has_privileged_access'] if !opts[:'filter_risks_has_privileged_access'].nil?
3239
3349
  query_params[:'filter[risks.has_access_to_sensitive_data]'] = opts[:'filter_risks_has_access_to_sensitive_data'] if !opts[:'filter_risks_has_access_to_sensitive_data'].nil?
3240
3350
  query_params[:'filter[environments]'] = opts[:'filter_environments'] if !opts[:'filter_environments'].nil?
3351
+ query_params[:'filter[teams]'] = opts[:'filter_teams'] if !opts[:'filter_teams'].nil?
3241
3352
  query_params[:'filter[arch]'] = opts[:'filter_arch'] if !opts[:'filter_arch'].nil?
3242
3353
  query_params[:'filter[operating_system.name]'] = opts[:'filter_operating_system_name'] if !opts[:'filter_operating_system_name'].nil?
3243
3354
  query_params[:'filter[operating_system.version]'] = opts[:'filter_operating_system_version'] if !opts[:'filter_operating_system_version'].nil?
@@ -392,7 +392,7 @@ module DatadogAPIClient::V2
392
392
  # Get hourly usage by product family.
393
393
  #
394
394
  # @param filter_timestamp_start [Time] Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.
395
- # @param filter_product_families [String] Comma separated list of product families to retrieve. Available families are `all`, `analyzed_logs`, `application_security`, `audit_trail`, `serverless`, `ci_app`, `cloud_cost_management`, `cloud_siem`, `csm_container_enterprise`, `csm_host_enterprise`, `cspm`, `custom_events`, `cws`, `dbm`, `error_tracking`, `fargate`, `infra_hosts`, `incident_management`, `indexed_logs`, `indexed_spans`, `ingested_spans`, `iot`, `lambda_traced_invocations`, `logs`, `network_flows`, `network_hosts`, `network_monitoring`, `observability_pipelines`, `online_archive`, `profiling`, `rum`, `rum_browser_sessions`, `rum_mobile_sessions`, `sds`, `snmp`, `software_delivery`, `synthetics_api`, `synthetics_browser`, `synthetics_mobile`, `synthetics_parallel_testing`, `timeseries`, `vuln_management`, and `workflow_executions`. The following product family has been **deprecated**: `audit_logs`.
395
+ # @param filter_product_families [String] Comma separated list of product families to retrieve. Available families are `all`, `analyzed_logs`, `application_security`, `audit_trail`, `serverless`, `ci_app`, `cloud_cost_management`, `cloud_siem`, `csm_container_enterprise`, `csm_host_enterprise`, `cspm`, `custom_events`, `cws`, `dbm`, `error_tracking`, `fargate`, `infra_hosts`, `incident_management`, `indexed_logs`, `indexed_spans`, `ingested_spans`, `iot`, `lambda_traced_invocations`, `llm_observability`, `logs`, `network_flows`, `network_hosts`, `network_monitoring`, `observability_pipelines`, `online_archive`, `profiling`, `product_analytics`, `rum`, `rum_browser_sessions`, `rum_mobile_sessions`, `sds`, `snmp`, `software_delivery`, `synthetics_api`, `synthetics_browser`, `synthetics_mobile`, `synthetics_parallel_testing`, `timeseries`, `vuln_management` and `workflow_executions`. The following product family has been **deprecated**: `audit_logs`.
396
396
  # @param opts [Hash] the optional parameters
397
397
  # @option opts [Time] :filter_timestamp_end Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.
398
398
  # @option opts [Boolean] :filter_include_descendants Include child org usage in the response. Defaults to false.
@@ -36,6 +36,9 @@ module DatadogAPIClient::V2
36
36
  # Asset risks.
37
37
  attr_reader :risks
38
38
 
39
+ # List of teams that own the asset.
40
+ attr_accessor :teams
41
+
39
42
  # The asset type
40
43
  attr_reader :type
41
44
 
@@ -53,6 +56,7 @@ module DatadogAPIClient::V2
53
56
  :'name' => :'name',
54
57
  :'operating_system' => :'operating_system',
55
58
  :'risks' => :'risks',
59
+ :'teams' => :'teams',
56
60
  :'type' => :'type',
57
61
  :'version' => :'version'
58
62
  }
@@ -67,6 +71,7 @@ module DatadogAPIClient::V2
67
71
  :'name' => :'String',
68
72
  :'operating_system' => :'AssetOperatingSystem',
69
73
  :'risks' => :'AssetRisks',
74
+ :'teams' => :'Array<String>',
70
75
  :'type' => :'AssetType',
71
76
  :'version' => :'AssetVersion'
72
77
  }
@@ -112,6 +117,12 @@ module DatadogAPIClient::V2
112
117
  self.risks = attributes[:'risks']
113
118
  end
114
119
 
120
+ if attributes.key?(:'teams')
121
+ if (value = attributes[:'teams']).is_a?(Array)
122
+ self.teams = value
123
+ end
124
+ end
125
+
115
126
  if attributes.key?(:'type')
116
127
  self.type = attributes[:'type']
117
128
  end
@@ -203,6 +214,7 @@ module DatadogAPIClient::V2
203
214
  name == o.name &&
204
215
  operating_system == o.operating_system &&
205
216
  risks == o.risks &&
217
+ teams == o.teams &&
206
218
  type == o.type &&
207
219
  version == o.version &&
208
220
  additional_properties == o.additional_properties
@@ -212,7 +224,7 @@ module DatadogAPIClient::V2
212
224
  # @return [Integer] Hash code
213
225
  # @!visibility private
214
226
  def hash
215
- [arch, environments, name, operating_system, risks, type, version, additional_properties].hash
227
+ [arch, environments, name, operating_system, risks, teams, type, version, additional_properties].hash
216
228
  end
217
229
  end
218
230
  end