datadog_api_client 2.24.0 → 2.25.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.apigentools-info +4 -4
- data/.generator/conftest.py +2 -0
- data/.generator/schemas/v1/openapi.yaml +265 -8
- data/.generator/schemas/v2/openapi.yaml +1471 -32
- data/.generator/src/generator/openapi.py +4 -0
- data/CHANGELOG.md +41 -0
- data/examples/v1/azure-integration/CreateAzureIntegration.rb +1 -1
- data/examples/v1/azure-integration/UpdateAzureHostFilters.rb +7 -1
- data/examples/v1/azure-integration/UpdateAzureIntegration.rb +7 -1
- data/examples/v1/dashboards/CreateDashboard_985012506.rb +61 -0
- data/examples/v1/synthetics/CreateSyntheticsAPITest_1717840259.rb +163 -0
- data/examples/v1/synthetics/CreateSyntheticsBrowserTest.rb +2 -0
- data/examples/v2/cloud-cost-management/DeleteCustomCostsFile.rb +5 -0
- data/examples/v2/cloud-cost-management/DeleteCustomCostsFile_372970393.rb +5 -0
- data/examples/v2/cloud-cost-management/GetCustomCostsFile.rb +5 -0
- data/examples/v2/cloud-cost-management/GetCustomCostsFile_1307381576.rb +5 -0
- data/examples/v2/cloud-cost-management/ListCustomCostsFiles.rb +5 -0
- data/examples/v2/cloud-cost-management/ListCustomCostsFiles_1968771127.rb +5 -0
- data/examples/v2/cloud-cost-management/UploadCustomCostsFile.rb +15 -0
- data/examples/v2/cloud-cost-management/UploadCustomCostsFile_4125168396.rb +19 -0
- data/examples/v2/network-device-monitoring/GetDevice.rb +5 -0
- data/examples/v2/network-device-monitoring/GetInterfaces.rb +5 -0
- data/examples/v2/network-device-monitoring/ListDeviceUserTags.rb +5 -0
- data/examples/v2/network-device-monitoring/ListDevices.rb +10 -0
- data/examples/v2/network-device-monitoring/UpdateDeviceUserTags.rb +18 -0
- data/examples/v2/roles/CreateRole.rb +0 -3
- data/examples/v2/security-monitoring/ConvertExistingSecurityMonitoringRule.rb +8 -0
- data/examples/v2/security-monitoring/ConvertSecurityMonitoringRuleFromJSONToTerraform.rb +36 -0
- data/examples/v2/service-scorecards/UpdateScorecardRule.rb +24 -0
- data/examples/v2/workflow-automation/CancelWorkflowInstance.rb +5 -0
- data/examples/v2/workflow-automation/CreateWorkflowInstance.rb +13 -0
- data/examples/v2/workflow-automation/GetWorkflowInstance.rb +5 -0
- data/examples/v2/workflow-automation/ListWorkflowInstances.rb +5 -0
- data/lib/datadog_api_client/configuration.rb +1 -0
- data/lib/datadog_api_client/inflector.rb +53 -1
- data/lib/datadog_api_client/v1/api/aws_logs_integration_api.rb +1 -1
- data/lib/datadog_api_client/v1/api/hosts_api.rb +1 -1
- data/lib/datadog_api_client/v1/api/monitors_api.rb +12 -1
- data/lib/datadog_api_client/v1/api/usage_metering_api.rb +7 -3
- data/lib/datadog_api_client/v1/models/azure_account.rb +14 -1
- data/lib/datadog_api_client/v1/models/azure_account_metrics_config.rb +85 -0
- data/lib/datadog_api_client/v1/models/formula_and_function_apm_dependency_stats_query_definition.rb +24 -1
- data/lib/datadog_api_client/v1/models/formula_and_function_apm_resource_stats_query_definition.rb +24 -1
- data/lib/datadog_api_client/v1/models/formula_and_function_cloud_cost_query_definition.rb +24 -1
- data/lib/datadog_api_client/v1/models/formula_and_function_event_query_definition.rb +24 -1
- data/lib/datadog_api_client/v1/models/formula_and_function_events_data_source.rb +1 -0
- data/lib/datadog_api_client/v1/models/formula_and_function_metric_query_definition.rb +24 -1
- data/lib/datadog_api_client/v1/models/formula_and_function_process_query_definition.rb +24 -1
- data/lib/datadog_api_client/v1/models/formula_and_function_slo_query_definition.rb +24 -1
- data/lib/datadog_api_client/v1/models/formula_and_function_slo_query_type.rb +1 -0
- data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +2 -0
- data/lib/datadog_api_client/v1/models/list_stream_source.rb +1 -0
- data/lib/datadog_api_client/v1/models/monitor_formula_and_function_events_data_source.rb +1 -0
- data/lib/datadog_api_client/v1/models/monitor_type.rb +1 -0
- data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +4 -0
- data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +41 -1
- data/lib/datadog_api_client/v1/models/synthetics_basic_auth_digest.rb +12 -1
- data/lib/datadog_api_client/v1/models/synthetics_basic_auth_oauth_client.rb +12 -1
- data/lib/datadog_api_client/v1/models/synthetics_basic_auth_oauth_rop.rb +12 -1
- data/lib/datadog_api_client/v1/models/synthetics_delete_tests_payload.rb +12 -1
- data/lib/datadog_api_client/v1/models/synthetics_test_options.rb +21 -1
- data/lib/datadog_api_client/v1/models/usage_billable_summary_hour.rb +21 -1
- data/lib/datadog_api_client/v1/models/usage_summary_date.rb +61 -1
- data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +81 -1
- data/lib/datadog_api_client/v1/models/usage_summary_response.rb +61 -1
- data/lib/datadog_api_client/v2/api/api_management_api.rb +5 -5
- data/lib/datadog_api_client/v2/api/authn_mappings_api.rb +6 -0
- data/lib/datadog_api_client/v2/api/case_management_api.rb +13 -13
- data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +260 -0
- data/lib/datadog_api_client/v2/api/network_device_monitoring_api.rb +362 -0
- data/lib/datadog_api_client/v2/api/organizations_api.rb +1 -1
- data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +15 -7
- data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +134 -0
- data/lib/datadog_api_client/v2/api/service_scorecards_api.rb +79 -1
- data/lib/datadog_api_client/v2/api/usage_metering_api.rb +8 -0
- data/lib/datadog_api_client/v2/api/workflow_automation_api.rb +307 -0
- data/lib/datadog_api_client/v2/models/api_key_relationships.rb +9 -1
- data/lib/datadog_api_client/v2/models/authn_mapping_resource_type.rb +27 -0
- data/lib/datadog_api_client/v2/models/cost_by_org_attributes.rb +21 -1
- data/lib/datadog_api_client/v2/models/custom_cost_get_response_meta.rb +80 -0
- data/lib/datadog_api_client/v2/models/custom_cost_list_response_meta.rb +90 -0
- data/lib/datadog_api_client/v2/models/custom_cost_upload_response_meta.rb +80 -0
- data/lib/datadog_api_client/v2/models/custom_costs_file_get_response.rb +90 -0
- data/lib/datadog_api_client/v2/models/custom_costs_file_line_item.rb +173 -0
- data/lib/datadog_api_client/v2/models/custom_costs_file_list_response.rb +92 -0
- data/lib/datadog_api_client/v2/models/custom_costs_file_metadata.rb +152 -0
- data/lib/datadog_api_client/v2/models/custom_costs_file_metadata_high_level.rb +100 -0
- data/lib/datadog_api_client/v2/models/custom_costs_file_metadata_with_content.rb +164 -0
- data/lib/datadog_api_client/v2/models/custom_costs_file_metadata_with_content_high_level.rb +100 -0
- data/lib/datadog_api_client/v2/models/custom_costs_file_upload_response.rb +90 -0
- data/lib/datadog_api_client/v2/models/custom_costs_file_usage_charge_period.rb +90 -0
- data/lib/datadog_api_client/v2/models/custom_costs_user.rb +100 -0
- data/lib/datadog_api_client/v2/models/device_attributes.rb +272 -0
- data/lib/datadog_api_client/v2/models/device_attributes_interface_statuses.rb +110 -0
- data/lib/datadog_api_client/v2/models/devices_list_data.rb +100 -0
- data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +2 -2
- data/lib/datadog_api_client/v2/models/dora_incident_request_attributes.rb +2 -2
- data/lib/datadog_api_client/v2/models/full_application_key_attributes.rb +1 -1
- data/lib/datadog_api_client/v2/models/get_device_attributes.rb +262 -0
- data/lib/datadog_api_client/v2/models/get_device_data.rb +100 -0
- data/lib/datadog_api_client/v2/models/get_device_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/get_interfaces_data.rb +100 -0
- data/lib/datadog_api_client/v2/models/get_interfaces_response.rb +82 -0
- data/lib/datadog_api_client/v2/models/hourly_usage_attributes.rb +21 -1
- data/lib/datadog_api_client/v2/models/interface_attributes.rb +130 -0
- data/lib/datadog_api_client/v2/models/interface_attributes_status.rb +29 -0
- data/lib/datadog_api_client/v2/models/list_devices_response.rb +92 -0
- data/lib/datadog_api_client/v2/models/list_devices_response_metadata.rb +80 -0
- data/lib/datadog_api_client/v2/models/list_devices_response_metadata_page.rb +80 -0
- data/lib/datadog_api_client/v2/models/list_tags_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/list_tags_response_data.rb +100 -0
- data/lib/datadog_api_client/v2/models/list_tags_response_data_attributes.rb +82 -0
- data/lib/datadog_api_client/v2/models/projected_cost_attributes.rb +21 -1
- data/lib/datadog_api_client/v2/models/role_relationships.rb +4 -14
- data/lib/datadog_api_client/v2/models/role_update_attributes.rb +32 -4
- data/lib/datadog_api_client/v2/models/rum_application_attributes.rb +1 -1
- data/lib/datadog_api_client/v2/models/rum_application_create_attributes.rb +1 -1
- data/lib/datadog_api_client/v2/models/rum_application_list_attributes.rb +1 -1
- data/lib/datadog_api_client/v2/models/rum_application_update_attributes.rb +1 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_convert_payload.rb +63 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_convert_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_detection_method.rb +1 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_evaluation_window.rb +1 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_keep_alive.rb +1 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +2 -2
- data/lib/datadog_api_client/v2/models/update_rule_request.rb +80 -0
- data/lib/datadog_api_client/v2/models/update_rule_request_data.rb +90 -0
- data/lib/datadog_api_client/v2/models/update_rule_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/update_rule_response_data.rb +110 -0
- data/lib/datadog_api_client/v2/models/user_attributes.rb +11 -1
- data/lib/datadog_api_client/v2/models/workflow_instance_create_meta.rb +80 -0
- data/lib/datadog_api_client/v2/models/workflow_instance_create_request.rb +80 -0
- data/lib/datadog_api_client/v2/models/workflow_instance_create_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/workflow_instance_create_response_data.rb +80 -0
- data/lib/datadog_api_client/v2/models/workflow_instance_list_item.rb +80 -0
- data/lib/datadog_api_client/v2/models/workflow_list_instances_response.rb +92 -0
- data/lib/datadog_api_client/v2/models/workflow_list_instances_response_meta.rb +80 -0
- data/lib/datadog_api_client/v2/models/workflow_list_instances_response_meta_page.rb +80 -0
- data/lib/datadog_api_client/v2/models/worklflow_cancel_instance_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/worklflow_cancel_instance_response_data.rb +80 -0
- data/lib/datadog_api_client/v2/models/worklflow_get_instance_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/worklflow_get_instance_response_data.rb +80 -0
- data/lib/datadog_api_client/v2/models/worklflow_get_instance_response_data_attributes.rb +80 -0
- data/lib/datadog_api_client/version.rb +1 -1
- metadata +76 -2
@@ -166,6 +166,8 @@ def models(spec):
|
|
166
166
|
name_to_schema = {}
|
167
167
|
|
168
168
|
for path in spec["paths"]:
|
169
|
+
if path.startswith("x-"):
|
170
|
+
continue
|
169
171
|
for method in spec["paths"][path]:
|
170
172
|
operation = spec["paths"][path][method]
|
171
173
|
|
@@ -189,6 +191,8 @@ def apis(spec):
|
|
189
191
|
operations = {}
|
190
192
|
|
191
193
|
for path in spec["paths"]:
|
194
|
+
if path.startswith("x-"):
|
195
|
+
continue
|
192
196
|
for method in spec["paths"][path]:
|
193
197
|
operation = spec["paths"][path][method]
|
194
198
|
tag = operation.get("tags", [None])[0]
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,46 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## 2.25.0 / 2024-08-12
|
4
|
+
|
5
|
+
### Fixed
|
6
|
+
* fix monitor enum by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1897
|
7
|
+
* dashboards add support for time-slice SLOs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1898
|
8
|
+
* Make modified by field nullable for get all API keys by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1903
|
9
|
+
* Add `409 Conflict` to `CreateGlobalVariable` by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1914
|
10
|
+
### Added
|
11
|
+
* add cross org uuids to timeseries query by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1865
|
12
|
+
* Add network performance monitor type to API spec by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1875
|
13
|
+
* Document `force_delete_dependencies` for synthetics test deletion by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1869
|
14
|
+
* Support metric filtering in integration azure GET, PUT APIs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1880
|
15
|
+
* add enableProfiling and enableSecurityTesting options by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1890
|
16
|
+
* Add convert rule JSON to terraform to Datadog API Spec. by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1867
|
17
|
+
* add changes for datadog partner program to estimated cost and billable usage APIs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1871
|
18
|
+
* Add type as a required field for the different basic auth types by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1882
|
19
|
+
* Adding Network Device Monitoring API Documentation by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1877
|
20
|
+
* Security Monitoring - Support anomaly threshold detection method by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1895
|
21
|
+
* update hourly usage API docs for partner program by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1904
|
22
|
+
* Add resource_type query param to authn mapping spec by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1845
|
23
|
+
* Add rum stream to API definition by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1909
|
24
|
+
* Support `incident_analytics` enum in dashboard widget `FormulaAndFunctionEventsDataSource` data sources by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1918
|
25
|
+
* update usage summary API docs for partner program by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1917
|
26
|
+
* update historical_cost and projected_cost for partner program by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1907
|
27
|
+
* Add custom cost endpoints to public API documentation by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1919
|
28
|
+
* Update documentation for Cloud SIEM Analyzed Logs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1921
|
29
|
+
* Update documentation for App Sec SCA by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1912
|
30
|
+
* Add trigger API documentation for workflow automation by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1887
|
31
|
+
* Add PUT endpoint to scorecards APIs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1929
|
32
|
+
* Documentation for new device tags endpoints by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1923
|
33
|
+
* Update documentation for Flex Logs Starter by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1937
|
34
|
+
### Changed
|
35
|
+
* add mfa_enabled field and change created_at type to datetime by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1938
|
36
|
+
### Deprecated
|
37
|
+
* Deprecate `ListAWSRelatedAccounts` by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1913
|
38
|
+
|
39
|
+
## New Contributors
|
40
|
+
* @amaskara-dd made their first contribution in https://github.com/DataDog/datadog-api-client-ruby/pull/1902
|
41
|
+
|
42
|
+
**Full Changelog**: https://github.com/DataDog/datadog-api-client-ruby/compare/v2.24.0...v2.25.0
|
43
|
+
|
3
44
|
## 2.24.0 / 2024-07-01
|
4
45
|
|
5
46
|
### Fixed
|
@@ -7,7 +7,7 @@ body = DatadogAPIClient::V1::AzureAccount.new({
|
|
7
7
|
app_service_plan_filters: "key:value,filter:example",
|
8
8
|
automute: true,
|
9
9
|
client_id: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
|
10
|
-
client_secret: "
|
10
|
+
client_secret: "TestingRh2nx664kUy5dIApvM54T4AtO",
|
11
11
|
container_app_filters: "key:value,filter:example",
|
12
12
|
cspm_enabled: true,
|
13
13
|
custom_metrics_enabled: true,
|
@@ -7,7 +7,7 @@ body = DatadogAPIClient::V1::AzureAccount.new({
|
|
7
7
|
app_service_plan_filters: "key:value,filter:example",
|
8
8
|
automute: true,
|
9
9
|
client_id: "testc7f6-1234-5678-9101-3fcbf464test",
|
10
|
-
client_secret: "
|
10
|
+
client_secret: "TestingRh2nx664kUy5dIApvM54T4AtO",
|
11
11
|
container_app_filters: "key:value,filter:example",
|
12
12
|
cspm_enabled: true,
|
13
13
|
custom_metrics_enabled: true,
|
@@ -15,6 +15,12 @@ body = DatadogAPIClient::V1::AzureAccount.new({
|
|
15
15
|
"*",
|
16
16
|
],
|
17
17
|
host_filters: "key:value,filter:example",
|
18
|
+
metrics_config: DatadogAPIClient::V1::AzureAccountMetricsConfig.new({
|
19
|
+
excluded_resource_providers: [
|
20
|
+
"Microsoft.Sql",
|
21
|
+
"Microsoft.Cdn",
|
22
|
+
],
|
23
|
+
}),
|
18
24
|
new_client_id: "new1c7f6-1234-5678-9101-3fcbf464test",
|
19
25
|
new_tenant_name: "new1c44-1234-5678-9101-cc00736ftest",
|
20
26
|
resource_collection_enabled: true,
|
@@ -7,7 +7,7 @@ body = DatadogAPIClient::V1::AzureAccount.new({
|
|
7
7
|
app_service_plan_filters: "key:value,filter:example",
|
8
8
|
automute: true,
|
9
9
|
client_id: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
|
10
|
-
client_secret: "
|
10
|
+
client_secret: "TestingRh2nx664kUy5dIApvM54T4AtO",
|
11
11
|
container_app_filters: "key:value,filter:example",
|
12
12
|
cspm_enabled: true,
|
13
13
|
custom_metrics_enabled: true,
|
@@ -18,6 +18,12 @@ body = DatadogAPIClient::V1::AzureAccount.new({
|
|
18
18
|
new_client_id: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
|
19
19
|
new_tenant_name: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
|
20
20
|
resource_collection_enabled: true,
|
21
|
+
metrics_config: DatadogAPIClient::V1::AzureAccountMetricsConfig.new({
|
22
|
+
excluded_resource_providers: [
|
23
|
+
"Microsoft.Sql",
|
24
|
+
"Microsoft.Cdn",
|
25
|
+
],
|
26
|
+
}),
|
21
27
|
tenant_name: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
|
22
28
|
})
|
23
29
|
p api_instance.update_azure_integration(body)
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# Create a new timeseries widget with incident_analytics data source
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
api_instance = DatadogAPIClient::V1::DashboardsAPI.new
|
5
|
+
|
6
|
+
body = DatadogAPIClient::V1::Dashboard.new({
|
7
|
+
title: "Example-Dashboard with incident_analytics datasource",
|
8
|
+
widgets: [
|
9
|
+
DatadogAPIClient::V1::Widget.new({
|
10
|
+
definition: DatadogAPIClient::V1::TimeseriesWidgetDefinition.new({
|
11
|
+
title: "",
|
12
|
+
show_legend: true,
|
13
|
+
legend_layout: DatadogAPIClient::V1::TimeseriesWidgetLegendLayout::AUTO,
|
14
|
+
legend_columns: [
|
15
|
+
DatadogAPIClient::V1::TimeseriesWidgetLegendColumn::AVG,
|
16
|
+
DatadogAPIClient::V1::TimeseriesWidgetLegendColumn::MIN,
|
17
|
+
DatadogAPIClient::V1::TimeseriesWidgetLegendColumn::MAX,
|
18
|
+
DatadogAPIClient::V1::TimeseriesWidgetLegendColumn::VALUE,
|
19
|
+
DatadogAPIClient::V1::TimeseriesWidgetLegendColumn::SUM,
|
20
|
+
],
|
21
|
+
time: DatadogAPIClient::V1::WidgetTime.new({}),
|
22
|
+
type: DatadogAPIClient::V1::TimeseriesWidgetDefinitionType::TIMESERIES,
|
23
|
+
requests: [
|
24
|
+
DatadogAPIClient::V1::TimeseriesWidgetRequest.new({
|
25
|
+
formulas: [
|
26
|
+
DatadogAPIClient::V1::WidgetFormula.new({
|
27
|
+
formula: "query1",
|
28
|
+
}),
|
29
|
+
],
|
30
|
+
queries: [
|
31
|
+
DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinition.new({
|
32
|
+
data_source: DatadogAPIClient::V1::FormulaAndFunctionEventsDataSource::INCIDENT_ANALYTICS,
|
33
|
+
name: "query1",
|
34
|
+
search: DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinitionSearch.new({
|
35
|
+
query: "test_level:test",
|
36
|
+
}),
|
37
|
+
indexes: [
|
38
|
+
"*",
|
39
|
+
],
|
40
|
+
compute: DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinitionCompute.new({
|
41
|
+
aggregation: DatadogAPIClient::V1::FormulaAndFunctionEventAggregation::COUNT,
|
42
|
+
}),
|
43
|
+
group_by: [],
|
44
|
+
}),
|
45
|
+
],
|
46
|
+
response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::TIMESERIES,
|
47
|
+
style: DatadogAPIClient::V1::WidgetRequestStyle.new({
|
48
|
+
palette: "dog_classic",
|
49
|
+
line_type: DatadogAPIClient::V1::WidgetLineType::SOLID,
|
50
|
+
line_width: DatadogAPIClient::V1::WidgetLineWidth::NORMAL,
|
51
|
+
}),
|
52
|
+
display_type: DatadogAPIClient::V1::WidgetDisplayType::LINE,
|
53
|
+
}),
|
54
|
+
],
|
55
|
+
}),
|
56
|
+
}),
|
57
|
+
],
|
58
|
+
layout_type: DatadogAPIClient::V1::DashboardLayoutType::ORDERED,
|
59
|
+
reflow_type: DatadogAPIClient::V1::DashboardReflowType::AUTO,
|
60
|
+
})
|
61
|
+
p api_instance.create_dashboard(body)
|
@@ -0,0 +1,163 @@
|
|
1
|
+
# Create a multi-step api test with every type of basicAuth returns "OK - Returns the created test details." response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
api_instance = DatadogAPIClient::V1::SyntheticsAPI.new
|
5
|
+
|
6
|
+
body = DatadogAPIClient::V1::SyntheticsAPITest.new({
|
7
|
+
config: DatadogAPIClient::V1::SyntheticsAPITestConfig.new({
|
8
|
+
steps: [
|
9
|
+
DatadogAPIClient::V1::SyntheticsAPITestStep.new({
|
10
|
+
assertions: [
|
11
|
+
DatadogAPIClient::V1::SyntheticsAssertionTarget.new({
|
12
|
+
operator: DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,
|
13
|
+
type: DatadogAPIClient::V1::SyntheticsAssertionType::STATUS_CODE,
|
14
|
+
target: 200,
|
15
|
+
}),
|
16
|
+
],
|
17
|
+
name: "request is sent",
|
18
|
+
request: DatadogAPIClient::V1::SyntheticsTestRequest.new({
|
19
|
+
url: "https://httpbin.org/status/200",
|
20
|
+
method: "GET",
|
21
|
+
basic_auth: DatadogAPIClient::V1::SyntheticsBasicAuthWeb.new({
|
22
|
+
password: "password",
|
23
|
+
username: "username",
|
24
|
+
}),
|
25
|
+
}),
|
26
|
+
subtype: DatadogAPIClient::V1::SyntheticsAPITestStepSubtype::HTTP,
|
27
|
+
}),
|
28
|
+
DatadogAPIClient::V1::SyntheticsAPITestStep.new({
|
29
|
+
assertions: [
|
30
|
+
DatadogAPIClient::V1::SyntheticsAssertionTarget.new({
|
31
|
+
operator: DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,
|
32
|
+
type: DatadogAPIClient::V1::SyntheticsAssertionType::STATUS_CODE,
|
33
|
+
target: 200,
|
34
|
+
}),
|
35
|
+
],
|
36
|
+
name: "request is sent",
|
37
|
+
request: DatadogAPIClient::V1::SyntheticsTestRequest.new({
|
38
|
+
url: "https://httpbin.org/status/200",
|
39
|
+
method: "GET",
|
40
|
+
basic_auth: DatadogAPIClient::V1::SyntheticsBasicAuthWeb.new({
|
41
|
+
password: "password",
|
42
|
+
username: "username",
|
43
|
+
type: DatadogAPIClient::V1::SyntheticsBasicAuthWebType::WEB,
|
44
|
+
}),
|
45
|
+
}),
|
46
|
+
subtype: DatadogAPIClient::V1::SyntheticsAPITestStepSubtype::HTTP,
|
47
|
+
}),
|
48
|
+
DatadogAPIClient::V1::SyntheticsAPITestStep.new({
|
49
|
+
assertions: [
|
50
|
+
DatadogAPIClient::V1::SyntheticsAssertionTarget.new({
|
51
|
+
operator: DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,
|
52
|
+
type: DatadogAPIClient::V1::SyntheticsAssertionType::STATUS_CODE,
|
53
|
+
target: 200,
|
54
|
+
}),
|
55
|
+
],
|
56
|
+
name: "request is sent",
|
57
|
+
request: DatadogAPIClient::V1::SyntheticsTestRequest.new({
|
58
|
+
url: "https://httpbin.org/status/200",
|
59
|
+
method: "GET",
|
60
|
+
basic_auth: DatadogAPIClient::V1::SyntheticsBasicAuthSigv4.new({
|
61
|
+
access_key: "accessKey",
|
62
|
+
secret_key: "secretKey",
|
63
|
+
type: DatadogAPIClient::V1::SyntheticsBasicAuthSigv4Type::SIGV4,
|
64
|
+
}),
|
65
|
+
}),
|
66
|
+
subtype: DatadogAPIClient::V1::SyntheticsAPITestStepSubtype::HTTP,
|
67
|
+
}),
|
68
|
+
DatadogAPIClient::V1::SyntheticsAPITestStep.new({
|
69
|
+
assertions: [
|
70
|
+
DatadogAPIClient::V1::SyntheticsAssertionTarget.new({
|
71
|
+
operator: DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,
|
72
|
+
type: DatadogAPIClient::V1::SyntheticsAssertionType::STATUS_CODE,
|
73
|
+
target: 200,
|
74
|
+
}),
|
75
|
+
],
|
76
|
+
name: "request is sent",
|
77
|
+
request: DatadogAPIClient::V1::SyntheticsTestRequest.new({
|
78
|
+
url: "https://httpbin.org/status/200",
|
79
|
+
method: "GET",
|
80
|
+
basic_auth: DatadogAPIClient::V1::SyntheticsBasicAuthNTLM.new({
|
81
|
+
type: DatadogAPIClient::V1::SyntheticsBasicAuthNTLMType::NTLM,
|
82
|
+
}),
|
83
|
+
}),
|
84
|
+
subtype: DatadogAPIClient::V1::SyntheticsAPITestStepSubtype::HTTP,
|
85
|
+
}),
|
86
|
+
DatadogAPIClient::V1::SyntheticsAPITestStep.new({
|
87
|
+
assertions: [
|
88
|
+
DatadogAPIClient::V1::SyntheticsAssertionTarget.new({
|
89
|
+
operator: DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,
|
90
|
+
type: DatadogAPIClient::V1::SyntheticsAssertionType::STATUS_CODE,
|
91
|
+
target: 200,
|
92
|
+
}),
|
93
|
+
],
|
94
|
+
name: "request is sent",
|
95
|
+
request: DatadogAPIClient::V1::SyntheticsTestRequest.new({
|
96
|
+
url: "https://httpbin.org/status/200",
|
97
|
+
method: "GET",
|
98
|
+
basic_auth: DatadogAPIClient::V1::SyntheticsBasicAuthDigest.new({
|
99
|
+
password: "password",
|
100
|
+
username: "username",
|
101
|
+
type: DatadogAPIClient::V1::SyntheticsBasicAuthDigestType::DIGEST,
|
102
|
+
}),
|
103
|
+
}),
|
104
|
+
subtype: DatadogAPIClient::V1::SyntheticsAPITestStepSubtype::HTTP,
|
105
|
+
}),
|
106
|
+
DatadogAPIClient::V1::SyntheticsAPITestStep.new({
|
107
|
+
assertions: [
|
108
|
+
DatadogAPIClient::V1::SyntheticsAssertionTarget.new({
|
109
|
+
operator: DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,
|
110
|
+
type: DatadogAPIClient::V1::SyntheticsAssertionType::STATUS_CODE,
|
111
|
+
target: 200,
|
112
|
+
}),
|
113
|
+
],
|
114
|
+
name: "request is sent",
|
115
|
+
request: DatadogAPIClient::V1::SyntheticsTestRequest.new({
|
116
|
+
url: "https://httpbin.org/status/200",
|
117
|
+
method: "GET",
|
118
|
+
basic_auth: DatadogAPIClient::V1::SyntheticsBasicAuthOauthClient.new({
|
119
|
+
access_token_url: "accessTokenUrl",
|
120
|
+
token_api_authentication: DatadogAPIClient::V1::SyntheticsBasicAuthOauthTokenApiAuthentication::HEADER,
|
121
|
+
client_id: "clientId",
|
122
|
+
client_secret: "clientSecret",
|
123
|
+
type: DatadogAPIClient::V1::SyntheticsBasicAuthOauthClientType::OAUTH_CLIENT,
|
124
|
+
}),
|
125
|
+
}),
|
126
|
+
subtype: DatadogAPIClient::V1::SyntheticsAPITestStepSubtype::HTTP,
|
127
|
+
}),
|
128
|
+
DatadogAPIClient::V1::SyntheticsAPITestStep.new({
|
129
|
+
assertions: [
|
130
|
+
DatadogAPIClient::V1::SyntheticsAssertionTarget.new({
|
131
|
+
operator: DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,
|
132
|
+
type: DatadogAPIClient::V1::SyntheticsAssertionType::STATUS_CODE,
|
133
|
+
target: 200,
|
134
|
+
}),
|
135
|
+
],
|
136
|
+
name: "request is sent",
|
137
|
+
request: DatadogAPIClient::V1::SyntheticsTestRequest.new({
|
138
|
+
url: "https://httpbin.org/status/200",
|
139
|
+
method: "GET",
|
140
|
+
basic_auth: DatadogAPIClient::V1::SyntheticsBasicAuthOauthROP.new({
|
141
|
+
access_token_url: "accessTokenUrl",
|
142
|
+
password: "password",
|
143
|
+
token_api_authentication: DatadogAPIClient::V1::SyntheticsBasicAuthOauthTokenApiAuthentication::HEADER,
|
144
|
+
username: "username",
|
145
|
+
type: DatadogAPIClient::V1::SyntheticsBasicAuthOauthROPType::OAUTH_ROP,
|
146
|
+
}),
|
147
|
+
}),
|
148
|
+
subtype: DatadogAPIClient::V1::SyntheticsAPITestStepSubtype::HTTP,
|
149
|
+
}),
|
150
|
+
],
|
151
|
+
}),
|
152
|
+
locations: [
|
153
|
+
"aws:us-east-2",
|
154
|
+
],
|
155
|
+
message: "BDD test payload: synthetics_api_test_multi_step_with_every_type_of_basic_auth.json",
|
156
|
+
name: "Example-Synthetic",
|
157
|
+
options: DatadogAPIClient::V1::SyntheticsTestOptions.new({
|
158
|
+
tick_every: 60,
|
159
|
+
}),
|
160
|
+
subtype: DatadogAPIClient::V1::SyntheticsTestDetailsSubType::MULTI,
|
161
|
+
type: DatadogAPIClient::V1::SyntheticsAPITestType::API,
|
162
|
+
})
|
163
|
+
p api_instance.create_synthetics_api_test(body)
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# Upload Custom Costs file returns "Accepted" response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
|
5
|
+
|
6
|
+
body = [
|
7
|
+
DatadogAPIClient::V2::CustomCostsFileLineItem.new({
|
8
|
+
billed_cost: 100.5,
|
9
|
+
billing_currency: "USD",
|
10
|
+
charge_description: "Monthly usage charge for my service",
|
11
|
+
charge_period_end: "2023-02-28",
|
12
|
+
charge_period_start: "2023-02-01",
|
13
|
+
}),
|
14
|
+
]
|
15
|
+
p api_instance.upload_custom_costs_file(body)
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Upload Custom Costs File returns "Accepted" response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
|
5
|
+
|
6
|
+
body = [
|
7
|
+
DatadogAPIClient::V2::CustomCostsFileLineItem.new({
|
8
|
+
provider_name: "my_provider",
|
9
|
+
charge_period_start: "2023-05-06",
|
10
|
+
charge_period_end: "2023-06-06",
|
11
|
+
charge_description: "my_description",
|
12
|
+
billed_cost: 250,
|
13
|
+
billing_currency: "USD",
|
14
|
+
tags: {
|
15
|
+
key: "value",
|
16
|
+
},
|
17
|
+
}),
|
18
|
+
]
|
19
|
+
p api_instance.upload_custom_costs_file(body)
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# Get the list of devices returns "OK" response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
api_instance = DatadogAPIClient::V2::NetworkDeviceMonitoringAPI.new
|
5
|
+
opts = {
|
6
|
+
page_size: 1,
|
7
|
+
page_number: 0,
|
8
|
+
filter_tag: "device_namespace:default",
|
9
|
+
}
|
10
|
+
p api_instance.list_devices(opts)
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Update the tags for a device returns "OK" response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
api_instance = DatadogAPIClient::V2::NetworkDeviceMonitoringAPI.new
|
5
|
+
|
6
|
+
body = DatadogAPIClient::V2::ListTagsResponse.new({
|
7
|
+
data: DatadogAPIClient::V2::ListTagsResponseData.new({
|
8
|
+
attributes: DatadogAPIClient::V2::ListTagsResponseDataAttributes.new({
|
9
|
+
tags: [
|
10
|
+
"tag:test",
|
11
|
+
"tag:testbis",
|
12
|
+
],
|
13
|
+
}),
|
14
|
+
id: "default_device",
|
15
|
+
type: "tags",
|
16
|
+
}),
|
17
|
+
})
|
18
|
+
p api_instance.update_device_user_tags("default_device", body)
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# Convert an existing rule from JSON to Terraform returns "OK" response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
|
5
|
+
|
6
|
+
# there is a valid "security_rule" in the system
|
7
|
+
SECURITY_RULE_ID = ENV["SECURITY_RULE_ID"]
|
8
|
+
p api_instance.convert_existing_security_monitoring_rule(SECURITY_RULE_ID)
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# Convert a rule from JSON to Terraform returns "OK" response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
|
5
|
+
|
6
|
+
body = DatadogAPIClient::V2::SecurityMonitoringStandardRulePayload.new({
|
7
|
+
name: "Example-Security-Monitoring",
|
8
|
+
queries: [
|
9
|
+
DatadogAPIClient::V2::SecurityMonitoringStandardRuleQuery.new({
|
10
|
+
query: "@test:true",
|
11
|
+
aggregation: DatadogAPIClient::V2::SecurityMonitoringRuleQueryAggregation::COUNT,
|
12
|
+
group_by_fields: [],
|
13
|
+
distinct_fields: [],
|
14
|
+
metric: "",
|
15
|
+
}),
|
16
|
+
],
|
17
|
+
filters: [],
|
18
|
+
cases: [
|
19
|
+
DatadogAPIClient::V2::SecurityMonitoringRuleCaseCreate.new({
|
20
|
+
name: "",
|
21
|
+
status: DatadogAPIClient::V2::SecurityMonitoringRuleSeverity::INFO,
|
22
|
+
condition: "a > 0",
|
23
|
+
notifications: [],
|
24
|
+
}),
|
25
|
+
],
|
26
|
+
options: DatadogAPIClient::V2::SecurityMonitoringRuleOptions.new({
|
27
|
+
evaluation_window: DatadogAPIClient::V2::SecurityMonitoringRuleEvaluationWindow::FIFTEEN_MINUTES,
|
28
|
+
keep_alive: DatadogAPIClient::V2::SecurityMonitoringRuleKeepAlive::ONE_HOUR,
|
29
|
+
max_signal_duration: DatadogAPIClient::V2::SecurityMonitoringRuleMaxSignalDuration::ONE_DAY,
|
30
|
+
}),
|
31
|
+
message: "Test rule",
|
32
|
+
tags: [],
|
33
|
+
is_enabled: true,
|
34
|
+
type: DatadogAPIClient::V2::SecurityMonitoringRuleTypeCreate::LOG_DETECTION,
|
35
|
+
})
|
36
|
+
p api_instance.convert_security_monitoring_rule_from_json_to_terraform(body)
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# Update an existing rule returns "Rule updated successfully" response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
DatadogAPIClient.configure do |config|
|
5
|
+
config.unstable_operations["v2.update_scorecard_rule".to_sym] = true
|
6
|
+
end
|
7
|
+
api_instance = DatadogAPIClient::V2::ServiceScorecardsAPI.new
|
8
|
+
|
9
|
+
# there is a valid "create_scorecard_rule" in the system
|
10
|
+
CREATE_SCORECARD_RULE_DATA_ATTRIBUTES_NAME = ENV["CREATE_SCORECARD_RULE_DATA_ATTRIBUTES_NAME"]
|
11
|
+
CREATE_SCORECARD_RULE_DATA_ATTRIBUTES_SCORECARD_NAME = ENV["CREATE_SCORECARD_RULE_DATA_ATTRIBUTES_SCORECARD_NAME"]
|
12
|
+
CREATE_SCORECARD_RULE_DATA_ID = ENV["CREATE_SCORECARD_RULE_DATA_ID"]
|
13
|
+
|
14
|
+
body = DatadogAPIClient::V2::UpdateRuleRequest.new({
|
15
|
+
data: DatadogAPIClient::V2::UpdateRuleRequestData.new({
|
16
|
+
attributes: DatadogAPIClient::V2::RuleAttributes.new({
|
17
|
+
enabled: true,
|
18
|
+
name: CREATE_SCORECARD_RULE_DATA_ATTRIBUTES_NAME,
|
19
|
+
scorecard_name: CREATE_SCORECARD_RULE_DATA_ATTRIBUTES_SCORECARD_NAME,
|
20
|
+
description: "Updated description via test",
|
21
|
+
}),
|
22
|
+
}),
|
23
|
+
})
|
24
|
+
p api_instance.update_scorecard_rule(CREATE_SCORECARD_RULE_DATA_ID, body)
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# Execute a workflow returns "Created" response
|
2
|
+
|
3
|
+
require "datadog_api_client"
|
4
|
+
api_instance = DatadogAPIClient::V2::WorkflowAutomationAPI.new
|
5
|
+
|
6
|
+
body = DatadogAPIClient::V2::WorkflowInstanceCreateRequest.new({
|
7
|
+
meta: DatadogAPIClient::V2::WorkflowInstanceCreateMeta.new({
|
8
|
+
payload: {
|
9
|
+
"input": "value",
|
10
|
+
},
|
11
|
+
}),
|
12
|
+
})
|
13
|
+
p api_instance.create_workflow_instance("ccf73164-1998-4785-a7a3-8d06c7e5f558", body)
|
@@ -226,6 +226,7 @@ module DatadogAPIClient
|
|
226
226
|
"v2.delete_scorecard_rule": false,
|
227
227
|
"v2.list_scorecard_outcomes": false,
|
228
228
|
"v2.list_scorecard_rules": false,
|
229
|
+
"v2.update_scorecard_rule": false,
|
229
230
|
"v2.create_incident_service": false,
|
230
231
|
"v2.delete_incident_service": false,
|
231
232
|
"v2.get_incident_service": false,
|