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.
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,