datadog_api_client 2.24.0 → 2.25.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 (146) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/conftest.py +2 -0
  4. data/.generator/schemas/v1/openapi.yaml +265 -8
  5. data/.generator/schemas/v2/openapi.yaml +1471 -32
  6. data/.generator/src/generator/openapi.py +4 -0
  7. data/CHANGELOG.md +41 -0
  8. data/examples/v1/azure-integration/CreateAzureIntegration.rb +1 -1
  9. data/examples/v1/azure-integration/UpdateAzureHostFilters.rb +7 -1
  10. data/examples/v1/azure-integration/UpdateAzureIntegration.rb +7 -1
  11. data/examples/v1/dashboards/CreateDashboard_985012506.rb +61 -0
  12. data/examples/v1/synthetics/CreateSyntheticsAPITest_1717840259.rb +163 -0
  13. data/examples/v1/synthetics/CreateSyntheticsBrowserTest.rb +2 -0
  14. data/examples/v2/cloud-cost-management/DeleteCustomCostsFile.rb +5 -0
  15. data/examples/v2/cloud-cost-management/DeleteCustomCostsFile_372970393.rb +5 -0
  16. data/examples/v2/cloud-cost-management/GetCustomCostsFile.rb +5 -0
  17. data/examples/v2/cloud-cost-management/GetCustomCostsFile_1307381576.rb +5 -0
  18. data/examples/v2/cloud-cost-management/ListCustomCostsFiles.rb +5 -0
  19. data/examples/v2/cloud-cost-management/ListCustomCostsFiles_1968771127.rb +5 -0
  20. data/examples/v2/cloud-cost-management/UploadCustomCostsFile.rb +15 -0
  21. data/examples/v2/cloud-cost-management/UploadCustomCostsFile_4125168396.rb +19 -0
  22. data/examples/v2/network-device-monitoring/GetDevice.rb +5 -0
  23. data/examples/v2/network-device-monitoring/GetInterfaces.rb +5 -0
  24. data/examples/v2/network-device-monitoring/ListDeviceUserTags.rb +5 -0
  25. data/examples/v2/network-device-monitoring/ListDevices.rb +10 -0
  26. data/examples/v2/network-device-monitoring/UpdateDeviceUserTags.rb +18 -0
  27. data/examples/v2/roles/CreateRole.rb +0 -3
  28. data/examples/v2/security-monitoring/ConvertExistingSecurityMonitoringRule.rb +8 -0
  29. data/examples/v2/security-monitoring/ConvertSecurityMonitoringRuleFromJSONToTerraform.rb +36 -0
  30. data/examples/v2/service-scorecards/UpdateScorecardRule.rb +24 -0
  31. data/examples/v2/workflow-automation/CancelWorkflowInstance.rb +5 -0
  32. data/examples/v2/workflow-automation/CreateWorkflowInstance.rb +13 -0
  33. data/examples/v2/workflow-automation/GetWorkflowInstance.rb +5 -0
  34. data/examples/v2/workflow-automation/ListWorkflowInstances.rb +5 -0
  35. data/lib/datadog_api_client/configuration.rb +1 -0
  36. data/lib/datadog_api_client/inflector.rb +53 -1
  37. data/lib/datadog_api_client/v1/api/aws_logs_integration_api.rb +1 -1
  38. data/lib/datadog_api_client/v1/api/hosts_api.rb +1 -1
  39. data/lib/datadog_api_client/v1/api/monitors_api.rb +12 -1
  40. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +7 -3
  41. data/lib/datadog_api_client/v1/models/azure_account.rb +14 -1
  42. data/lib/datadog_api_client/v1/models/azure_account_metrics_config.rb +85 -0
  43. data/lib/datadog_api_client/v1/models/formula_and_function_apm_dependency_stats_query_definition.rb +24 -1
  44. data/lib/datadog_api_client/v1/models/formula_and_function_apm_resource_stats_query_definition.rb +24 -1
  45. data/lib/datadog_api_client/v1/models/formula_and_function_cloud_cost_query_definition.rb +24 -1
  46. data/lib/datadog_api_client/v1/models/formula_and_function_event_query_definition.rb +24 -1
  47. data/lib/datadog_api_client/v1/models/formula_and_function_events_data_source.rb +1 -0
  48. data/lib/datadog_api_client/v1/models/formula_and_function_metric_query_definition.rb +24 -1
  49. data/lib/datadog_api_client/v1/models/formula_and_function_process_query_definition.rb +24 -1
  50. data/lib/datadog_api_client/v1/models/formula_and_function_slo_query_definition.rb +24 -1
  51. data/lib/datadog_api_client/v1/models/formula_and_function_slo_query_type.rb +1 -0
  52. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +2 -0
  53. data/lib/datadog_api_client/v1/models/list_stream_source.rb +1 -0
  54. data/lib/datadog_api_client/v1/models/monitor_formula_and_function_events_data_source.rb +1 -0
  55. data/lib/datadog_api_client/v1/models/monitor_type.rb +1 -0
  56. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +4 -0
  57. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +41 -1
  58. data/lib/datadog_api_client/v1/models/synthetics_basic_auth_digest.rb +12 -1
  59. data/lib/datadog_api_client/v1/models/synthetics_basic_auth_oauth_client.rb +12 -1
  60. data/lib/datadog_api_client/v1/models/synthetics_basic_auth_oauth_rop.rb +12 -1
  61. data/lib/datadog_api_client/v1/models/synthetics_delete_tests_payload.rb +12 -1
  62. data/lib/datadog_api_client/v1/models/synthetics_test_options.rb +21 -1
  63. data/lib/datadog_api_client/v1/models/usage_billable_summary_hour.rb +21 -1
  64. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +61 -1
  65. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +81 -1
  66. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +61 -1
  67. data/lib/datadog_api_client/v2/api/api_management_api.rb +5 -5
  68. data/lib/datadog_api_client/v2/api/authn_mappings_api.rb +6 -0
  69. data/lib/datadog_api_client/v2/api/case_management_api.rb +13 -13
  70. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +260 -0
  71. data/lib/datadog_api_client/v2/api/network_device_monitoring_api.rb +362 -0
  72. data/lib/datadog_api_client/v2/api/organizations_api.rb +1 -1
  73. data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +15 -7
  74. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +134 -0
  75. data/lib/datadog_api_client/v2/api/service_scorecards_api.rb +79 -1
  76. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +8 -0
  77. data/lib/datadog_api_client/v2/api/workflow_automation_api.rb +307 -0
  78. data/lib/datadog_api_client/v2/models/api_key_relationships.rb +9 -1
  79. data/lib/datadog_api_client/v2/models/authn_mapping_resource_type.rb +27 -0
  80. data/lib/datadog_api_client/v2/models/cost_by_org_attributes.rb +21 -1
  81. data/lib/datadog_api_client/v2/models/custom_cost_get_response_meta.rb +80 -0
  82. data/lib/datadog_api_client/v2/models/custom_cost_list_response_meta.rb +90 -0
  83. data/lib/datadog_api_client/v2/models/custom_cost_upload_response_meta.rb +80 -0
  84. data/lib/datadog_api_client/v2/models/custom_costs_file_get_response.rb +90 -0
  85. data/lib/datadog_api_client/v2/models/custom_costs_file_line_item.rb +173 -0
  86. data/lib/datadog_api_client/v2/models/custom_costs_file_list_response.rb +92 -0
  87. data/lib/datadog_api_client/v2/models/custom_costs_file_metadata.rb +152 -0
  88. data/lib/datadog_api_client/v2/models/custom_costs_file_metadata_high_level.rb +100 -0
  89. data/lib/datadog_api_client/v2/models/custom_costs_file_metadata_with_content.rb +164 -0
  90. data/lib/datadog_api_client/v2/models/custom_costs_file_metadata_with_content_high_level.rb +100 -0
  91. data/lib/datadog_api_client/v2/models/custom_costs_file_upload_response.rb +90 -0
  92. data/lib/datadog_api_client/v2/models/custom_costs_file_usage_charge_period.rb +90 -0
  93. data/lib/datadog_api_client/v2/models/custom_costs_user.rb +100 -0
  94. data/lib/datadog_api_client/v2/models/device_attributes.rb +272 -0
  95. data/lib/datadog_api_client/v2/models/device_attributes_interface_statuses.rb +110 -0
  96. data/lib/datadog_api_client/v2/models/devices_list_data.rb +100 -0
  97. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +2 -2
  98. data/lib/datadog_api_client/v2/models/dora_incident_request_attributes.rb +2 -2
  99. data/lib/datadog_api_client/v2/models/full_application_key_attributes.rb +1 -1
  100. data/lib/datadog_api_client/v2/models/get_device_attributes.rb +262 -0
  101. data/lib/datadog_api_client/v2/models/get_device_data.rb +100 -0
  102. data/lib/datadog_api_client/v2/models/get_device_response.rb +80 -0
  103. data/lib/datadog_api_client/v2/models/get_interfaces_data.rb +100 -0
  104. data/lib/datadog_api_client/v2/models/get_interfaces_response.rb +82 -0
  105. data/lib/datadog_api_client/v2/models/hourly_usage_attributes.rb +21 -1
  106. data/lib/datadog_api_client/v2/models/interface_attributes.rb +130 -0
  107. data/lib/datadog_api_client/v2/models/interface_attributes_status.rb +29 -0
  108. data/lib/datadog_api_client/v2/models/list_devices_response.rb +92 -0
  109. data/lib/datadog_api_client/v2/models/list_devices_response_metadata.rb +80 -0
  110. data/lib/datadog_api_client/v2/models/list_devices_response_metadata_page.rb +80 -0
  111. data/lib/datadog_api_client/v2/models/list_tags_response.rb +80 -0
  112. data/lib/datadog_api_client/v2/models/list_tags_response_data.rb +100 -0
  113. data/lib/datadog_api_client/v2/models/list_tags_response_data_attributes.rb +82 -0
  114. data/lib/datadog_api_client/v2/models/projected_cost_attributes.rb +21 -1
  115. data/lib/datadog_api_client/v2/models/role_relationships.rb +4 -14
  116. data/lib/datadog_api_client/v2/models/role_update_attributes.rb +32 -4
  117. data/lib/datadog_api_client/v2/models/rum_application_attributes.rb +1 -1
  118. data/lib/datadog_api_client/v2/models/rum_application_create_attributes.rb +1 -1
  119. data/lib/datadog_api_client/v2/models/rum_application_list_attributes.rb +1 -1
  120. data/lib/datadog_api_client/v2/models/rum_application_update_attributes.rb +1 -1
  121. data/lib/datadog_api_client/v2/models/security_monitoring_rule_convert_payload.rb +63 -0
  122. data/lib/datadog_api_client/v2/models/security_monitoring_rule_convert_response.rb +80 -0
  123. data/lib/datadog_api_client/v2/models/security_monitoring_rule_detection_method.rb +1 -0
  124. data/lib/datadog_api_client/v2/models/security_monitoring_rule_evaluation_window.rb +1 -1
  125. data/lib/datadog_api_client/v2/models/security_monitoring_rule_keep_alive.rb +1 -1
  126. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +2 -2
  127. data/lib/datadog_api_client/v2/models/update_rule_request.rb +80 -0
  128. data/lib/datadog_api_client/v2/models/update_rule_request_data.rb +90 -0
  129. data/lib/datadog_api_client/v2/models/update_rule_response.rb +80 -0
  130. data/lib/datadog_api_client/v2/models/update_rule_response_data.rb +110 -0
  131. data/lib/datadog_api_client/v2/models/user_attributes.rb +11 -1
  132. data/lib/datadog_api_client/v2/models/workflow_instance_create_meta.rb +80 -0
  133. data/lib/datadog_api_client/v2/models/workflow_instance_create_request.rb +80 -0
  134. data/lib/datadog_api_client/v2/models/workflow_instance_create_response.rb +80 -0
  135. data/lib/datadog_api_client/v2/models/workflow_instance_create_response_data.rb +80 -0
  136. data/lib/datadog_api_client/v2/models/workflow_instance_list_item.rb +80 -0
  137. data/lib/datadog_api_client/v2/models/workflow_list_instances_response.rb +92 -0
  138. data/lib/datadog_api_client/v2/models/workflow_list_instances_response_meta.rb +80 -0
  139. data/lib/datadog_api_client/v2/models/workflow_list_instances_response_meta_page.rb +80 -0
  140. data/lib/datadog_api_client/v2/models/worklflow_cancel_instance_response.rb +80 -0
  141. data/lib/datadog_api_client/v2/models/worklflow_cancel_instance_response_data.rb +80 -0
  142. data/lib/datadog_api_client/v2/models/worklflow_get_instance_response.rb +80 -0
  143. data/lib/datadog_api_client/v2/models/worklflow_get_instance_response_data.rb +80 -0
  144. data/lib/datadog_api_client/v2/models/worklflow_get_instance_response_data_attributes.rb +80 -0
  145. data/lib/datadog_api_client/version.rb +1 -1
  146. 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: "testingx./Sw*g/Y33t..R1cH+hScMDt",
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: "testingx./Sw*g/Y33t..R1cH+hScMDt",
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: "testingx./Sw*g/Y33t..R1cH+hScMDt",
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)
@@ -51,6 +51,8 @@ body = DatadogAPIClient::V1::SyntheticsBrowserTest.new({
51
51
  interval: 10,
52
52
  }),
53
53
  tick_every: 300,
54
+ enable_profiling: true,
55
+ enable_security_testing: true,
54
56
  }),
55
57
  tags: [
56
58
  "testing:browser",
@@ -0,0 +1,5 @@
1
+ # Delete Custom Costs file returns "No Content" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+ api_instance.delete_custom_costs_file("file_id")
@@ -0,0 +1,5 @@
1
+ # Delete Custom Costs File returns "No Content" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+ api_instance.delete_custom_costs_file("9d055d22-a838-4e9f-bc34-a4f9ab66280c")
@@ -0,0 +1,5 @@
1
+ # Get Custom Costs file returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+ p api_instance.get_custom_costs_file("file_id")
@@ -0,0 +1,5 @@
1
+ # Get Custom Costs File returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+ p api_instance.get_custom_costs_file("9d055d22-a838-4e9f-bc34-a4f9ab66280c")
@@ -0,0 +1,5 @@
1
+ # List Custom Costs files returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+ p api_instance.list_custom_costs_files()
@@ -0,0 +1,5 @@
1
+ # List Custom Costs Files returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+ p api_instance.list_custom_costs_files()
@@ -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,5 @@
1
+ # Get the device details returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::NetworkDeviceMonitoringAPI.new
5
+ p api_instance.get_device("default_device")
@@ -0,0 +1,5 @@
1
+ # Get the list of interfaces of the device returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::NetworkDeviceMonitoringAPI.new
5
+ p api_instance.get_interfaces("default:1.2.3.4")
@@ -0,0 +1,5 @@
1
+ # Get the list of tags for a device returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::NetworkDeviceMonitoringAPI.new
5
+ p api_instance.list_device_user_tags("default_device")
@@ -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)
@@ -16,9 +16,6 @@ body = DatadogAPIClient::V2::RoleCreateRequest.new({
16
16
  }),
17
17
  ],
18
18
  }),
19
- users: DatadogAPIClient::V2::RelationshipToUsers.new({
20
- data: [],
21
- }),
22
19
  }),
23
20
  type: DatadogAPIClient::V2::RolesType::ROLES,
24
21
  }),
@@ -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,5 @@
1
+ # Cancel a workflow instance returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::WorkflowAutomationAPI.new
5
+ p api_instance.cancel_workflow_instance("ccf73164-1998-4785-a7a3-8d06c7e5f558", "305a472b-71ab-4ce8-8f8d-75db635627b5")
@@ -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)
@@ -0,0 +1,5 @@
1
+ # Get a workflow instance returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::WorkflowAutomationAPI.new
5
+ p api_instance.get_workflow_instance("ccf73164-1998-4785-a7a3-8d06c7e5f558", "305a472b-71ab-4ce8-8f8d-75db635627b5")
@@ -0,0 +1,5 @@
1
+ # List workflow instances returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::WorkflowAutomationAPI.new
5
+ p api_instance.list_workflow_instances("ccf73164-1998-4785-a7a3-8d06c7e5f558")
@@ -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,