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
@@ -35,3 +35,4 @@ jobs:
35
35
  with:
36
36
  github-token: ${{ steps.get_token.outputs.token }}
37
37
  repo: datadog-api-spec
38
+ context: datadog-api-client-ruby/master
@@ -139,4 +139,4 @@ jobs:
139
139
  github-token: ${{ steps.get_token.outputs.token }}
140
140
  repo: datadog-api-spec
141
141
  status: ${{ (needs.test.result == 'cancelled' || needs.examples.result == 'cancelled') && 'pending' || needs.test.result == 'success' && needs.examples.result == 'success' && 'success' || 'failure' }}
142
- context: unit
142
+ context: master/unit
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2.39.0/2025-07-14
4
+
5
+ ### Added
6
+ * Add Datasets API to Open API Spec [#2528](https://github.com/DataDog/datadog-api-client-ruby/pull/2528)
7
+ * Add support for vulnerability management - GetSBOMsList new endpoint and update existing ones [#2527](https://github.com/DataDog/datadog-api-client-ruby/pull/2527)
8
+ * Add spreadsheet to restriction_policy specs [#2521](https://github.com/DataDog/datadog-api-client-ruby/pull/2521)
9
+ * Adds missing /api/v1/synthetics/tests/search spec [#2514](https://github.com/DataDog/datadog-api-client-ruby/pull/2514)
10
+ * Add API spec for AWS Integrations IAM permissions [#2508](https://github.com/DataDog/datadog-api-client-ruby/pull/2508)
11
+ * New keys added for multiple products [#2506](https://github.com/DataDog/datadog-api-client-ruby/pull/2506)
12
+ * Add extractFromEmailBody step for synthetics browser test [#2503](https://github.com/DataDog/datadog-api-client-ruby/pull/2503)
13
+ * Add support for `Array Processor` in `Logs Pipelines` [#2501](https://github.com/DataDog/datadog-api-client-ruby/pull/2501)
14
+ * Document Cloud Cost Management GCP endpoints publicly [#2450](https://github.com/DataDog/datadog-api-client-ruby/pull/2450)
15
+
16
+ ### Changed
17
+ * Update template variable schemas with type field in dashboards and shared dashboards endpoints for group by template variables [#2502](https://github.com/DataDog/datadog-api-client-ruby/pull/2502)
18
+
3
19
  ## 2.38.0/2025-06-30
4
20
 
5
21
  ### Fixed
@@ -0,0 +1,41 @@
1
+ # Create a new dashboard with template variable type field returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::DashboardsAPI.new
5
+
6
+ body = DatadogAPIClient::V1::Dashboard.new({
7
+ description: nil,
8
+ layout_type: DatadogAPIClient::V1::DashboardLayoutType::ORDERED,
9
+ notify_list: [],
10
+ reflow_type: DatadogAPIClient::V1::DashboardReflowType::AUTO,
11
+ restricted_roles: [],
12
+ template_variables: [
13
+ DatadogAPIClient::V1::DashboardTemplateVariable.new({
14
+ available_values: [
15
+ "service",
16
+ "datacenter",
17
+ "env",
18
+ ],
19
+ defaults: [
20
+ "service",
21
+ "datacenter",
22
+ ],
23
+ name: "group_by_var",
24
+ type: "group",
25
+ }),
26
+ ],
27
+ title: "",
28
+ widgets: [
29
+ DatadogAPIClient::V1::Widget.new({
30
+ definition: DatadogAPIClient::V1::HostMapWidgetDefinition.new({
31
+ requests: DatadogAPIClient::V1::HostMapWidgetDefinitionRequests.new({
32
+ fill: DatadogAPIClient::V1::HostMapRequest.new({
33
+ q: "avg:system.cpu.user{*}",
34
+ }),
35
+ }),
36
+ type: DatadogAPIClient::V1::HostMapWidgetDefinitionType::HOSTMAP,
37
+ }),
38
+ }),
39
+ ],
40
+ })
41
+ p api_instance.create_dashboard(body)
@@ -0,0 +1,28 @@
1
+ # Create a shared dashboard with a group template variable returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::DashboardsAPI.new
5
+
6
+ # there is a valid "dashboard" in the system
7
+ DASHBOARD_ID = ENV["DASHBOARD_ID"]
8
+
9
+ body = DatadogAPIClient::V1::SharedDashboard.new({
10
+ dashboard_id: DASHBOARD_ID,
11
+ dashboard_type: DatadogAPIClient::V1::DashboardType::CUSTOM_TIMEBOARD,
12
+ share_type: DatadogAPIClient::V1::DashboardShareType::OPEN,
13
+ global_time: DatadogAPIClient::V1::DashboardGlobalTime.new({
14
+ live_span: DatadogAPIClient::V1::DashboardGlobalTimeLiveSpan::PAST_ONE_HOUR,
15
+ }),
16
+ selectable_template_vars: [
17
+ DatadogAPIClient::V1::SelectableTemplateVariableItems.new({
18
+ default_value: "*",
19
+ name: "group_by_var",
20
+ type: "group",
21
+ visible_tags: [
22
+ "selectableValue1",
23
+ "selectableValue2",
24
+ ],
25
+ }),
26
+ ],
27
+ })
28
+ p api_instance.create_public_dashboard(body)
@@ -0,0 +1,27 @@
1
+ # Update a shared dashboard with selectable_template_vars returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::DashboardsAPI.new
5
+
6
+ # there is a valid "shared_dashboard" in the system
7
+ SHARED_DASHBOARD_TOKEN = ENV["SHARED_DASHBOARD_TOKEN"]
8
+
9
+ body = DatadogAPIClient::V1::SharedDashboardUpdateRequest.new({
10
+ global_time: DatadogAPIClient::V1::SharedDashboardUpdateRequestGlobalTime.new({
11
+ live_span: DatadogAPIClient::V1::DashboardGlobalTimeLiveSpan::PAST_FIFTEEN_MINUTES,
12
+ }),
13
+ share_list: [],
14
+ share_type: DatadogAPIClient::V1::DashboardShareType::OPEN,
15
+ selectable_template_vars: [
16
+ DatadogAPIClient::V1::SelectableTemplateVariableItems.new({
17
+ default_value: "*",
18
+ name: "group_by_var",
19
+ type: "group",
20
+ visible_tags: [
21
+ "selectableValue1",
22
+ "selectableValue2",
23
+ ],
24
+ }),
25
+ ],
26
+ })
27
+ p api_instance.update_public_dashboard(SHARED_DASHBOARD_TOKEN, body)
@@ -0,0 +1,25 @@
1
+ # Create a pipeline with Array Processor Append Operation returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::LogsPipelinesAPI.new
5
+
6
+ body = DatadogAPIClient::V1::LogsPipeline.new({
7
+ filter: DatadogAPIClient::V1::LogsFilter.new({
8
+ query: "source:python",
9
+ }),
10
+ name: "testPipelineArrayAppend",
11
+ processors: [
12
+ DatadogAPIClient::V1::LogsArrayProcessor.new({
13
+ type: DatadogAPIClient::V1::LogsArrayProcessorType::ARRAY_PROCESSOR,
14
+ is_enabled: true,
15
+ name: "append_ip_to_array",
16
+ operation: DatadogAPIClient::V1::LogsArrayProcessorOperationAppend.new({
17
+ type: DatadogAPIClient::V1::LogsArrayProcessorOperationAppendType::APPEND,
18
+ source: "network.client.ip",
19
+ target: "sourceIps",
20
+ }),
21
+ }),
22
+ ],
23
+ tags: [],
24
+ })
25
+ p api_instance.create_logs_pipeline(body)
@@ -0,0 +1,27 @@
1
+ # Create a pipeline with Array Processor Select Operation returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::LogsPipelinesAPI.new
5
+
6
+ body = DatadogAPIClient::V1::LogsPipeline.new({
7
+ filter: DatadogAPIClient::V1::LogsFilter.new({
8
+ query: "source:python",
9
+ }),
10
+ name: "testPipelineArraySelect",
11
+ processors: [
12
+ DatadogAPIClient::V1::LogsArrayProcessor.new({
13
+ type: DatadogAPIClient::V1::LogsArrayProcessorType::ARRAY_PROCESSOR,
14
+ is_enabled: true,
15
+ name: "extract_referrer",
16
+ operation: DatadogAPIClient::V1::LogsArrayProcessorOperationSelect.new({
17
+ type: DatadogAPIClient::V1::LogsArrayProcessorOperationSelectType::SELECT,
18
+ source: "httpRequest.headers",
19
+ target: "referrer",
20
+ filter: "name:Referrer",
21
+ value_to_extract: "value",
22
+ }),
23
+ }),
24
+ ],
25
+ tags: [],
26
+ })
27
+ p api_instance.create_logs_pipeline(body)
@@ -0,0 +1,25 @@
1
+ # Create a pipeline with Array Processor Length Operation returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::LogsPipelinesAPI.new
5
+
6
+ body = DatadogAPIClient::V1::LogsPipeline.new({
7
+ filter: DatadogAPIClient::V1::LogsFilter.new({
8
+ query: "source:python",
9
+ }),
10
+ name: "testPipelineArrayLength",
11
+ processors: [
12
+ DatadogAPIClient::V1::LogsArrayProcessor.new({
13
+ type: DatadogAPIClient::V1::LogsArrayProcessorType::ARRAY_PROCESSOR,
14
+ is_enabled: true,
15
+ name: "count_tags",
16
+ operation: DatadogAPIClient::V1::LogsArrayProcessorOperationLength.new({
17
+ type: DatadogAPIClient::V1::LogsArrayProcessorOperationLengthType::LENGTH,
18
+ source: "tags",
19
+ target: "tagCount",
20
+ }),
21
+ }),
22
+ ],
23
+ tags: [],
24
+ })
25
+ p api_instance.create_logs_pipeline(body)
@@ -0,0 +1,26 @@
1
+ # Create a pipeline with Array Processor Append Operation with preserve_source true returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::LogsPipelinesAPI.new
5
+
6
+ body = DatadogAPIClient::V1::LogsPipeline.new({
7
+ filter: DatadogAPIClient::V1::LogsFilter.new({
8
+ query: "source:python",
9
+ }),
10
+ name: "testPipelineArrayAppendPreserve",
11
+ processors: [
12
+ DatadogAPIClient::V1::LogsArrayProcessor.new({
13
+ type: DatadogAPIClient::V1::LogsArrayProcessorType::ARRAY_PROCESSOR,
14
+ is_enabled: true,
15
+ name: "append_ip_and_keep_source",
16
+ operation: DatadogAPIClient::V1::LogsArrayProcessorOperationAppend.new({
17
+ type: DatadogAPIClient::V1::LogsArrayProcessorOperationAppendType::APPEND,
18
+ source: "network.client.ip",
19
+ target: "sourceIps",
20
+ preserve_source: true,
21
+ }),
22
+ }),
23
+ ],
24
+ tags: [],
25
+ })
26
+ p api_instance.create_logs_pipeline(body)
@@ -0,0 +1,26 @@
1
+ # Create a pipeline with Array Processor Append Operation with preserve_source false returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::LogsPipelinesAPI.new
5
+
6
+ body = DatadogAPIClient::V1::LogsPipeline.new({
7
+ filter: DatadogAPIClient::V1::LogsFilter.new({
8
+ query: "source:python",
9
+ }),
10
+ name: "testPipelineArrayAppendNoPreserve",
11
+ processors: [
12
+ DatadogAPIClient::V1::LogsArrayProcessor.new({
13
+ type: DatadogAPIClient::V1::LogsArrayProcessorType::ARRAY_PROCESSOR,
14
+ is_enabled: true,
15
+ name: "append_ip_and_remove_source",
16
+ operation: DatadogAPIClient::V1::LogsArrayProcessorOperationAppend.new({
17
+ type: DatadogAPIClient::V1::LogsArrayProcessorOperationAppendType::APPEND,
18
+ source: "network.client.ip",
19
+ target: "sourceIps",
20
+ preserve_source: false,
21
+ }),
22
+ }),
23
+ ],
24
+ tags: [],
25
+ })
26
+ p api_instance.create_logs_pipeline(body)
@@ -0,0 +1,5 @@
1
+ # Search Synthetic tests returns "OK - Returns the list of Synthetic tests matching the search." response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::SyntheticsAPI.new
5
+ p api_instance.search_tests()
@@ -0,0 +1,13 @@
1
+ # Search Synthetic tests with boolean query parameters
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::SyntheticsAPI.new
5
+ opts = {
6
+ include_full_config: true,
7
+ search_suites: true,
8
+ facets_only: true,
9
+ start: 10,
10
+ count: 5,
11
+ sort: "name,desc",
12
+ }
13
+ p api_instance.search_tests(opts)
@@ -0,0 +1,5 @@
1
+ # Get AWS integration IAM permissions returns "AWS IAM Permissions object" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::AWSIntegrationAPI.new
5
+ p api_instance.get_aws_integration_iam_permissions()
@@ -0,0 +1,19 @@
1
+ # Create Cloud Cost Management GCP Usage Cost config returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+
6
+ body = DatadogAPIClient::V2::GCPUsageCostConfigPostRequest.new({
7
+ data: DatadogAPIClient::V2::GCPUsageCostConfigPostData.new({
8
+ attributes: DatadogAPIClient::V2::GCPUsageCostConfigPostRequestAttributes.new({
9
+ billing_account_id: "123456_A123BC_12AB34",
10
+ bucket_name: "dd-cost-bucket",
11
+ export_dataset_name: "billing",
12
+ export_prefix: "datadog_cloud_cost_usage_export",
13
+ export_project_name: "dd-cloud-cost-report",
14
+ service_account: "dd-ccm-gcp-integration@my-environment.iam.gserviceaccount.com",
15
+ }),
16
+ type: DatadogAPIClient::V2::GCPUsageCostConfigPostRequestType::GCP_USAGE_COST_CONFIG_POST_REQUEST,
17
+ }),
18
+ })
19
+ p api_instance.create_cost_gcp_usage_cost_config(body)
@@ -0,0 +1,5 @@
1
+ # Delete Cloud Cost Management GCP Usage Cost config returns "No Content" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+ api_instance.delete_cost_gcp_usage_cost_config("100")
@@ -0,0 +1,5 @@
1
+ # List Cloud Cost Management GCP Usage Cost configs returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+ p api_instance.list_cost_gcp_usage_cost_configs()
@@ -0,0 +1,14 @@
1
+ # Update Cloud Cost Management GCP Usage Cost config returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+
6
+ body = DatadogAPIClient::V2::GCPUsageCostConfigPatchRequest.new({
7
+ data: DatadogAPIClient::V2::GCPUsageCostConfigPatchData.new({
8
+ attributes: DatadogAPIClient::V2::GCPUsageCostConfigPatchRequestAttributes.new({
9
+ is_enabled: true,
10
+ }),
11
+ type: DatadogAPIClient::V2::GCPUsageCostConfigPatchRequestType::GCP_USAGE_COST_CONFIG_PATCH_REQUEST,
12
+ }),
13
+ })
14
+ p api_instance.update_cost_gcp_usage_cost_config("100", body)
@@ -0,0 +1,27 @@
1
+ # Create a dataset returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::DatasetsAPI.new
5
+
6
+ body = DatadogAPIClient::V2::DatasetCreateRequest.new({
7
+ data: DatadogAPIClient::V2::Dataset.new({
8
+ attributes: DatadogAPIClient::V2::DatasetAttributes.new({
9
+ created_at: nil,
10
+ name: "Security Audit Dataset",
11
+ principals: [
12
+ "role:86245fce-0a4e-11f0-92bd-da7ad0900002",
13
+ ],
14
+ product_filters: [
15
+ DatadogAPIClient::V2::FiltersPerProduct.new({
16
+ filters: [
17
+ "@application.id:ABCD",
18
+ ],
19
+ product: "logs",
20
+ }),
21
+ ],
22
+ }),
23
+ id: "123e4567-e89b-12d3-a456-426614174000",
24
+ type: "dataset",
25
+ }),
26
+ })
27
+ p api_instance.create_dataset(body)
@@ -0,0 +1,5 @@
1
+ # Delete a dataset returns "No Content" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::DatasetsAPI.new
5
+ api_instance.delete_dataset("dataset_id")
@@ -0,0 +1,5 @@
1
+ # Get all datasets returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::DatasetsAPI.new
5
+ p api_instance.get_all_datasets()
@@ -0,0 +1,5 @@
1
+ # Get a single dataset by ID returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::DatasetsAPI.new
5
+ p api_instance.get_dataset("dataset_id")
@@ -1,9 +1,6 @@
1
1
  # Create a monitor notification rule returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.create_monitor_notification_rule".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::MonitorsAPI.new
8
5
 
9
6
  body = DatadogAPIClient::V2::MonitorNotificationRuleCreateRequest.new({
@@ -1,9 +1,6 @@
1
1
  # Delete a monitor notification rule returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.delete_monitor_notification_rule".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::MonitorsAPI.new
8
5
 
9
6
  # there is a valid "monitor_notification_rule" in the system
@@ -1,9 +1,6 @@
1
1
  # Get a monitor notification rule returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.get_monitor_notification_rule".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::MonitorsAPI.new
8
5
 
9
6
  # there is a valid "monitor_notification_rule" in the system
@@ -1,8 +1,5 @@
1
1
  # Get all monitor notification rules returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.get_monitor_notification_rules".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::MonitorsAPI.new
8
5
  p api_instance.get_monitor_notification_rules()
@@ -1,9 +1,6 @@
1
1
  # Update a monitor notification rule returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.update_monitor_notification_rule".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::MonitorsAPI.new
8
5
 
9
6
  # there is a valid "monitor_notification_rule" in the system
@@ -23,7 +23,7 @@ body = DatadogAPIClient::V2::ScheduleUpdateRequest.new({
23
23
  effective_date: (Time.now + -10 * 86400),
24
24
  end_date: (Time.now + 10 * 86400),
25
25
  interval: DatadogAPIClient::V2::LayerAttributesInterval.new({
26
- seconds: 300,
26
+ seconds: 3600,
27
27
  }),
28
28
  members: [
29
29
  DatadogAPIClient::V2::ScheduleRequestDataAttributesLayersItemsMembersItems.new({
@@ -0,0 +1,12 @@
1
+ # List assets SBOMs returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.list_assets_sbo_ms".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
8
+ opts = {
9
+ filter_package_name: "pandas",
10
+ filter_asset_type: AssetType::SERVICE,
11
+ }
12
+ p api_instance.list_assets_sbo_ms(opts)
@@ -201,6 +201,7 @@ module DatadogAPIClient
201
201
  "v2.get_historical_job": false,
202
202
  "v2.get_rule_version_history": false,
203
203
  "v2.get_sbom": false,
204
+ "v2.list_assets_sbo_ms": false,
204
205
  "v2.list_findings": false,
205
206
  "v2.list_historical_jobs": false,
206
207
  "v2.list_vulnerabilities": false,
@@ -241,15 +242,10 @@ module DatadogAPIClient
241
242
  "v2.list_aws_namespaces": false,
242
243
  "v2.update_aws_account": false,
243
244
  "v2.list_aws_logs_services": false,
244
- "v2.create_monitor_notification_rule": false,
245
245
  "v2.create_monitor_user_template": false,
246
- "v2.delete_monitor_notification_rule": false,
247
246
  "v2.delete_monitor_user_template": false,
248
- "v2.get_monitor_notification_rule": false,
249
- "v2.get_monitor_notification_rules": false,
250
247
  "v2.get_monitor_user_template": false,
251
248
  "v2.list_monitor_user_templates": false,
252
- "v2.update_monitor_notification_rule": false,
253
249
  "v2.update_monitor_user_template": false,
254
250
  "v2.validate_existing_monitor_user_template": false,
255
251
  "v2.validate_monitor_user_template": false,
@@ -227,6 +227,15 @@ module DatadogAPIClient
227
227
  "v1.logs_api_error_response" => "LogsAPIErrorResponse",
228
228
  "v1.logs_arithmetic_processor" => "LogsArithmeticProcessor",
229
229
  "v1.logs_arithmetic_processor_type" => "LogsArithmeticProcessorType",
230
+ "v1.logs_array_processor" => "LogsArrayProcessor",
231
+ "v1.logs_array_processor_operation" => "LogsArrayProcessorOperation",
232
+ "v1.logs_array_processor_operation_append" => "LogsArrayProcessorOperationAppend",
233
+ "v1.logs_array_processor_operation_append_type" => "LogsArrayProcessorOperationAppendType",
234
+ "v1.logs_array_processor_operation_length" => "LogsArrayProcessorOperationLength",
235
+ "v1.logs_array_processor_operation_length_type" => "LogsArrayProcessorOperationLengthType",
236
+ "v1.logs_array_processor_operation_select" => "LogsArrayProcessorOperationSelect",
237
+ "v1.logs_array_processor_operation_select_type" => "LogsArrayProcessorOperationSelectType",
238
+ "v1.logs_array_processor_type" => "LogsArrayProcessorType",
230
239
  "v1.logs_attribute_remapper" => "LogsAttributeRemapper",
231
240
  "v1.logs_attribute_remapper_type" => "LogsAttributeRemapperType",
232
241
  "v1.logs_by_retention" => "LogsByRetention",
@@ -1125,6 +1134,10 @@ module DatadogAPIClient
1125
1134
  "v2.aws_cur_configs_response" => "AwsCURConfigsResponse",
1126
1135
  "v2.aws_cur_config_type" => "AwsCURConfigType",
1127
1136
  "v2.aws_integration" => "AWSIntegration",
1137
+ "v2.aws_integration_iam_permissions_response" => "AWSIntegrationIamPermissionsResponse",
1138
+ "v2.aws_integration_iam_permissions_response_attributes" => "AWSIntegrationIamPermissionsResponseAttributes",
1139
+ "v2.aws_integration_iam_permissions_response_data" => "AWSIntegrationIamPermissionsResponseData",
1140
+ "v2.aws_integration_iam_permissions_response_data_type" => "AWSIntegrationIamPermissionsResponseDataType",
1128
1141
  "v2.aws_integration_type" => "AWSIntegrationType",
1129
1142
  "v2.aws_integration_update" => "AWSIntegrationUpdate",
1130
1143
  "v2.aws_lambda_forwarder_config" => "AWSLambdaForwarderConfig",
@@ -1581,6 +1594,11 @@ module DatadogAPIClient
1581
1594
  "v2.data_relationships_teams_data_items" => "DataRelationshipsTeamsDataItems",
1582
1595
  "v2.data_relationships_teams_data_items_type" => "DataRelationshipsTeamsDataItemsType",
1583
1596
  "v2.data_scalar_column" => "DataScalarColumn",
1597
+ "v2.dataset" => "Dataset",
1598
+ "v2.dataset_attributes" => "DatasetAttributes",
1599
+ "v2.dataset_create_request" => "DatasetCreateRequest",
1600
+ "v2.dataset_response_multi" => "DatasetResponseMulti",
1601
+ "v2.dataset_response_single" => "DatasetResponseSingle",
1584
1602
  "v2.data_transform" => "DataTransform",
1585
1603
  "v2.data_transform_properties" => "DataTransformProperties",
1586
1604
  "v2.data_transform_type" => "DataTransformType",
@@ -1833,6 +1851,7 @@ module DatadogAPIClient
1833
1851
  "v2.fastly_service_response" => "FastlyServiceResponse",
1834
1852
  "v2.fastly_services_response" => "FastlyServicesResponse",
1835
1853
  "v2.fastly_service_type" => "FastlyServiceType",
1854
+ "v2.filters_per_product" => "FiltersPerProduct",
1836
1855
  "v2.finding" => "Finding",
1837
1856
  "v2.finding_attributes" => "FindingAttributes",
1838
1857
  "v2.finding_evaluation" => "FindingEvaluation",
@@ -1865,6 +1884,19 @@ module DatadogAPIClient
1865
1884
  "v2.gcpsts_service_accounts_response" => "GCPSTSServiceAccountsResponse",
1866
1885
  "v2.gcpsts_service_account_update_request" => "GCPSTSServiceAccountUpdateRequest",
1867
1886
  "v2.gcpsts_service_account_update_request_data" => "GCPSTSServiceAccountUpdateRequestData",
1887
+ "v2.gcp_usage_cost_config" => "GCPUsageCostConfig",
1888
+ "v2.gcp_usage_cost_config_attributes" => "GCPUsageCostConfigAttributes",
1889
+ "v2.gcp_usage_cost_config_patch_data" => "GCPUsageCostConfigPatchData",
1890
+ "v2.gcp_usage_cost_config_patch_request" => "GCPUsageCostConfigPatchRequest",
1891
+ "v2.gcp_usage_cost_config_patch_request_attributes" => "GCPUsageCostConfigPatchRequestAttributes",
1892
+ "v2.gcp_usage_cost_config_patch_request_type" => "GCPUsageCostConfigPatchRequestType",
1893
+ "v2.gcp_usage_cost_config_post_data" => "GCPUsageCostConfigPostData",
1894
+ "v2.gcp_usage_cost_config_post_request" => "GCPUsageCostConfigPostRequest",
1895
+ "v2.gcp_usage_cost_config_post_request_attributes" => "GCPUsageCostConfigPostRequestAttributes",
1896
+ "v2.gcp_usage_cost_config_post_request_type" => "GCPUsageCostConfigPostRequestType",
1897
+ "v2.gcp_usage_cost_config_response" => "GCPUsageCostConfigResponse",
1898
+ "v2.gcp_usage_cost_configs_response" => "GCPUsageCostConfigsResponse",
1899
+ "v2.gcp_usage_cost_config_type" => "GCPUsageCostConfigType",
1868
1900
  "v2.get_action_connection_response" => "GetActionConnectionResponse",
1869
1901
  "v2.get_app_key_registration_response" => "GetAppKeyRegistrationResponse",
1870
1902
  "v2.get_app_response" => "GetAppResponse",
@@ -2112,6 +2144,7 @@ module DatadogAPIClient
2112
2144
  "v2.list_apps_response_data_items_relationships" => "ListAppsResponseDataItemsRelationships",
2113
2145
  "v2.list_apps_response_meta" => "ListAppsResponseMeta",
2114
2146
  "v2.list_apps_response_meta_page" => "ListAppsResponseMetaPage",
2147
+ "v2.list_assets_sbo_ms_response" => "ListAssetsSBOMsResponse",
2115
2148
  "v2.list_devices_response" => "ListDevicesResponse",
2116
2149
  "v2.list_devices_response_metadata" => "ListDevicesResponseMetadata",
2117
2150
  "v2.list_devices_response_metadata_page" => "ListDevicesResponseMetadataPage",
@@ -2915,8 +2948,15 @@ module DatadogAPIClient
2915
2948
  "v2.sbom" => "SBOM",
2916
2949
  "v2.sbom_attributes" => "SBOMAttributes",
2917
2950
  "v2.sbom_component" => "SBOMComponent",
2951
+ "v2.sbom_component_dependency" => "SBOMComponentDependency",
2952
+ "v2.sbom_component_license" => "SBOMComponentLicense",
2953
+ "v2.sbom_component_license_license" => "SBOMComponentLicenseLicense",
2954
+ "v2.sbom_component_license_type" => "SBOMComponentLicenseType",
2955
+ "v2.sbom_component_property" => "SBOMComponentProperty",
2956
+ "v2.sbom_component_supplier" => "SBOMComponentSupplier",
2918
2957
  "v2.sbom_component_type" => "SBOMComponentType",
2919
2958
  "v2.sbom_metadata" => "SBOMMetadata",
2959
+ "v2.sbom_metadata_author" => "SBOMMetadataAuthor",
2920
2960
  "v2.sbom_metadata_component" => "SBOMMetadataComponent",
2921
2961
  "v2.sbom_type" => "SBOMType",
2922
2962
  "v2.scalar_column" => "ScalarColumn",
@@ -3570,6 +3610,7 @@ module DatadogAPIClient
3570
3610
  "v2.csm_threats_api" => "CSMThreatsAPI",
3571
3611
  "v2.dashboard_lists_api" => "DashboardListsAPI",
3572
3612
  "v2.data_deletion_api" => "DataDeletionAPI",
3613
+ "v2.datasets_api" => "DatasetsAPI",
3573
3614
  "v2.domain_allowlist_api" => "DomainAllowlistAPI",
3574
3615
  "v2.dora_metrics_api" => "DORAMetricsAPI",
3575
3616
  "v2.downtimes_api" => "DowntimesAPI",
@@ -100,6 +100,7 @@ module DatadogAPIClient::V1
100
100
  # Hosts live within the past 3 hours are included by default.
101
101
  # Retention is 7 days.
102
102
  # Results are paginated with a max of 1000 results at a time.
103
+ # **Note:** If the host is an Amazon EC2 instance, `id` is replaced with `aws_id` in the response.
103
104
  #
104
105
  # @param opts [Hash] the optional parameters
105
106
  # @option opts [String] :filter String to filter search results.