datadog_api_client 2.18.0 → 2.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/conftest.py +1 -1
  4. data/.generator/poetry.lock +69 -69
  5. data/.generator/schemas/v1/openapi.yaml +189 -11
  6. data/.generator/schemas/v2/openapi.yaml +1321 -188
  7. data/.generator/src/generator/templates/model_generic.j2 +2 -2
  8. data/CHANGELOG.md +18 -0
  9. data/examples/v1/azure-integration/CreateAzureIntegration.rb +4 -4
  10. data/examples/v1/azure-integration/DeleteAzureIntegration.rb +2 -15
  11. data/examples/v1/azure-integration/UpdateAzureIntegration.rb +4 -4
  12. data/examples/v1/gcp-integration/CreateGCPIntegration.rb +4 -5
  13. data/examples/v1/gcp-integration/DeleteGCPIntegration.rb +2 -14
  14. data/examples/v1/gcp-integration/UpdateGCPIntegration.rb +4 -5
  15. data/examples/v1/service-level-objectives/CreateSLO_3765703239.rb +46 -0
  16. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent.rb +0 -3
  17. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +0 -3
  18. data/examples/v2/cloud-cost-management/CreateCostAWSCURConfig.rb +18 -0
  19. data/examples/v2/cloud-cost-management/CreateCostAzureUCConfigs.rb +29 -0
  20. data/examples/v2/cloud-cost-management/DeleteCostAWSCURConfig.rb +5 -0
  21. data/examples/v2/cloud-cost-management/DeleteCostAzureUCConfig.rb +5 -0
  22. data/examples/v2/cloud-cost-management/GetCloudCostActivity.rb +5 -0
  23. data/examples/v2/cloud-cost-management/ListAWSRelatedAccounts.rb +5 -0
  24. data/examples/v2/cloud-cost-management/ListCostAWSCURConfigs.rb +5 -0
  25. data/examples/v2/cloud-cost-management/ListCostAzureUCConfigs.rb +5 -0
  26. data/examples/v2/cloud-cost-management/UpdateCostAWSCURConfig.rb +14 -0
  27. data/examples/v2/cloud-cost-management/UpdateCostAzureUCConfigs.rb +14 -0
  28. data/examples/v2/cloudflare-integration/CreateCloudflareAccount.rb +1 -1
  29. data/examples/v2/cloudflare-integration/UpdateCloudflareAccount.rb +4 -1
  30. data/examples/v2/downtimes/ListMonitorDowntimes_3316718253.rb +5 -0
  31. data/examples/v2/gcp-integration/CreateGCPSTSAccount_130557025.rb +16 -0
  32. data/examples/v2/gcp-integration/CreateGCPSTSAccount_2597004741.rb +16 -0
  33. data/examples/v2/gcp-integration/CreateGCPSTSAccount_4235664992.rb +17 -0
  34. data/examples/v2/gcp-integration/UpdateGCPSTSAccount_3205636354.rb +19 -0
  35. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_3367706049.rb +46 -0
  36. data/examples/v2/sensitive-data-scanner/CreateScanningRule.rb +7 -0
  37. data/examples/v2/sensitive-data-scanner/UpdateScanningRule.rb +7 -10
  38. data/examples/v2/teams/CreateTeamMembership.rb +6 -0
  39. data/lib/datadog_api_client/configuration.rb +0 -1
  40. data/lib/datadog_api_client/inflector.rb +52 -0
  41. data/lib/datadog_api_client/v1/api/downtimes_api.rb +28 -7
  42. data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -1
  43. data/lib/datadog_api_client/v1/models/gcp_account.rb +22 -2
  44. data/lib/datadog_api_client/v1/models/organization.rb +1 -1
  45. data/lib/datadog_api_client/v1/models/service_level_objective.rb +11 -1
  46. data/lib/datadog_api_client/v1/models/service_level_objective_request.rb +11 -1
  47. data/lib/datadog_api_client/v1/models/slo_data_source_query_definition.rb +62 -0
  48. data/lib/datadog_api_client/v1/models/slo_formula.rb +98 -0
  49. data/lib/datadog_api_client/v1/models/slo_response_data.rb +11 -1
  50. data/lib/datadog_api_client/v1/models/slo_sli_spec.rb +62 -0
  51. data/lib/datadog_api_client/v1/models/slo_time_slice_comparator.rb +29 -0
  52. data/lib/datadog_api_client/v1/models/slo_time_slice_condition.rb +141 -0
  53. data/lib/datadog_api_client/v1/models/slo_time_slice_query.rb +131 -0
  54. data/lib/datadog_api_client/v1/models/slo_time_slice_spec.rb +99 -0
  55. data/lib/datadog_api_client/v1/models/slo_type.rb +1 -0
  56. data/lib/datadog_api_client/v1/models/slo_type_numeric.rb +1 -0
  57. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +11 -1
  58. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +11 -1
  59. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +11 -1
  60. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +0 -6
  61. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +680 -0
  62. data/lib/datadog_api_client/v2/api/downtimes_api.rb +25 -0
  63. data/lib/datadog_api_client/v2/api/metrics_api.rb +3 -2
  64. data/lib/datadog_api_client/v2/models/aws_cur_config.rb +129 -0
  65. data/lib/datadog_api_client/v2/models/aws_cur_config_attributes.rb +305 -0
  66. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_data.rb +119 -0
  67. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request.rb +98 -0
  68. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_attributes.rb +98 -0
  69. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_type.rb +26 -0
  70. data/lib/datadog_api_client/v2/models/aws_cur_config_post_data.rb +119 -0
  71. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request.rb +98 -0
  72. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_attributes.rb +202 -0
  73. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_type.rb +26 -0
  74. data/lib/datadog_api_client/v2/models/aws_cur_config_response.rb +80 -0
  75. data/lib/datadog_api_client/v2/models/aws_cur_config_type.rb +26 -0
  76. data/lib/datadog_api_client/v2/models/aws_cur_configs_response.rb +82 -0
  77. data/lib/datadog_api_client/v2/models/aws_related_account.rb +129 -0
  78. data/lib/datadog_api_client/v2/models/aws_related_account_attributes.rb +90 -0
  79. data/lib/datadog_api_client/v2/models/aws_related_account_type.rb +26 -0
  80. data/lib/datadog_api_client/v2/models/aws_related_accounts_response.rb +82 -0
  81. data/lib/datadog_api_client/v2/models/azure_uc_config.rb +378 -0
  82. data/lib/datadog_api_client/v2/models/azure_uc_config_pair.rb +129 -0
  83. data/lib/datadog_api_client/v2/models/azure_uc_config_pair_attributes.rb +110 -0
  84. data/lib/datadog_api_client/v2/models/azure_uc_config_pair_type.rb +26 -0
  85. data/lib/datadog_api_client/v2/models/azure_uc_config_pairs_response.rb +80 -0
  86. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_data.rb +119 -0
  87. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request.rb +98 -0
  88. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_attributes.rb +98 -0
  89. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_type.rb +26 -0
  90. data/lib/datadog_api_client/v2/models/azure_uc_config_post_data.rb +119 -0
  91. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request.rb +98 -0
  92. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_attributes.rb +192 -0
  93. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_type.rb +26 -0
  94. data/lib/datadog_api_client/v2/models/azure_uc_configs_response.rb +82 -0
  95. data/lib/datadog_api_client/v2/models/bill_config.rb +161 -0
  96. data/lib/datadog_api_client/v2/models/ci_app_git_info.rb +2 -2
  97. data/lib/datadog_api_client/v2/models/cloud_cost_activity.rb +119 -0
  98. data/lib/datadog_api_client/v2/models/cloud_cost_activity_attributes.rb +98 -0
  99. data/lib/datadog_api_client/v2/models/cloud_cost_activity_response.rb +80 -0
  100. data/lib/datadog_api_client/v2/models/cloud_cost_activity_type.rb +26 -0
  101. data/lib/datadog_api_client/v2/models/cloudflare_account_create_request_attributes.rb +28 -4
  102. data/lib/datadog_api_client/v2/models/cloudflare_account_response_attributes.rb +28 -4
  103. data/lib/datadog_api_client/v2/models/cloudflare_account_update_request_attributes.rb +28 -4
  104. data/lib/datadog_api_client/v2/models/dora_git_info.rb +2 -2
  105. data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +25 -5
  106. data/lib/datadog_api_client/v2/models/relationship_to_user_team_team.rb +98 -0
  107. data/lib/datadog_api_client/v2/models/relationship_to_user_team_team_data.rb +119 -0
  108. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +14 -4
  109. data/lib/datadog_api_client/v2/models/security_monitoring_rule_third_party_options.rb +114 -0
  110. data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +13 -1
  111. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +13 -1
  112. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +13 -1
  113. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_root_query.rb +92 -0
  114. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case.rb +112 -0
  115. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case_create.rb +130 -0
  116. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_included_keyword_configuration.rb +134 -0
  117. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_rule_attributes.rb +46 -1
  118. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_standard_pattern_attributes.rb +33 -1
  119. data/lib/datadog_api_client/v2/models/user_team_attributes.rb +24 -1
  120. data/lib/datadog_api_client/v2/models/user_team_relationships.rb +11 -1
  121. data/lib/datadog_api_client/v2/models/user_team_team_type.rb +26 -0
  122. data/lib/datadog_api_client/version.rb +1 -1
  123. metadata +71 -2
@@ -155,7 +155,7 @@
155
155
  return false if {% if not required %}!@{{ attr|attribute_name }}.nil? && {% endif %}@{{ attr|attribute_name }} <{% if definition.exclusiveMinimum %}={% endif %} {{ definition.minimum }}
156
156
  {%- endif %}
157
157
  {%- if definition.pattern is defined %}
158
- pattern = Regexp.new("{{ definition.pattern }}")
158
+ pattern = Regexp.new(/{{ definition.pattern }}/)
159
159
  return false if {% if not required %}!@{{ attr|attribute_name }}.nil? && {% endif %}@{{ attr|attribute_name }} !~ pattern
160
160
  {%- endif %}
161
161
  {%- if definition.maxItems is defined %}
@@ -221,7 +221,7 @@
221
221
  end
222
222
  {%- endif %}
223
223
  {%- if definition.pattern is defined %}
224
- pattern = Regexp.new("{{ definition.pattern }}")
224
+ pattern = Regexp.new(/{{ definition.pattern }}/)
225
225
  if {% if not required %}!{{ attr|attribute_name }}.nil? && {% endif %}{{ attr|attribute_name }} !~ pattern
226
226
  fail ArgumentError, "invalid value for \"{{ attr|attribute_name }}\", must conform to the pattern #{pattern}."
227
227
  end
data/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2.19.0 / 2024-01-10
4
+
5
+ ### Added
6
+ * Add priority field to SDS rule and standard-pattern by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1664
7
+ * Document new `resource_collection` and `is_security_command_center_enabled` fields in GCP APIs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1665
8
+ * Add SAML attributes by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1656
9
+ * Security Monitoring - Support custom third party rules by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1682
10
+ * Add public API support for time-slice SLOs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1674
11
+ * Add included_keyword_configuration field to SDS rule by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1685
12
+ * Update Documentation for APM DevSecOps by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1686
13
+ ### Changed
14
+ * Mark v1 downtime endpoints as deprecated by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1679
15
+ * Adding Cloud Cost Management API Documentation by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1672
16
+ * Add support for Cloudflare API `zone` and `resource` fields by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1684
17
+
18
+
19
+ **Full Changelog**: https://github.com/DataDog/datadog-api-client-ruby/compare/v2.18.0...v2.19.0
20
+
3
21
  ## 2.18.0 / 2023-12-12
4
22
 
5
23
  ### Fixed
@@ -6,7 +6,7 @@ api_instance = DatadogAPIClient::V1::AzureIntegrationAPI.new
6
6
  body = DatadogAPIClient::V1::AzureAccount.new({
7
7
  app_service_plan_filters: "key:value,filter:example",
8
8
  automute: true,
9
- client_id: "testc7f6-1234-5678-9101-3fcbf464test",
9
+ client_id: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
10
10
  client_secret: "testingx./Sw*g/Y33t..R1cH+hScMDt",
11
11
  container_app_filters: "key:value,filter:example",
12
12
  cspm_enabled: true,
@@ -15,9 +15,9 @@ body = DatadogAPIClient::V1::AzureAccount.new({
15
15
  "*",
16
16
  ],
17
17
  host_filters: "key:value,filter:example",
18
- new_client_id: "new1c7f6-1234-5678-9101-3fcbf464test",
19
- new_tenant_name: "new1c44-1234-5678-9101-cc00736ftest",
18
+ new_client_id: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
19
+ new_tenant_name: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
20
20
  resource_collection_enabled: true,
21
- tenant_name: "testc44-1234-5678-9101-cc00736ftest",
21
+ tenant_name: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
22
22
  })
23
23
  p api_instance.create_azure_integration(body)
@@ -4,20 +4,7 @@ require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V1::AzureIntegrationAPI.new
5
5
 
6
6
  body = DatadogAPIClient::V1::AzureAccount.new({
7
- app_service_plan_filters: "key:value,filter:example",
8
- automute: true,
9
- client_id: "testc7f6-1234-5678-9101-3fcbf464test",
10
- client_secret: "testingx./Sw*g/Y33t..R1cH+hScMDt",
11
- container_app_filters: "key:value,filter:example",
12
- cspm_enabled: true,
13
- custom_metrics_enabled: true,
14
- errors: [
15
- "*",
16
- ],
17
- host_filters: "key:value,filter:example",
18
- new_client_id: "new1c7f6-1234-5678-9101-3fcbf464test",
19
- new_tenant_name: "new1c44-1234-5678-9101-cc00736ftest",
20
- resource_collection_enabled: true,
21
- tenant_name: "testc44-1234-5678-9101-cc00736ftest",
7
+ client_id: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
8
+ tenant_name: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
22
9
  })
23
10
  p api_instance.delete_azure_integration(body)
@@ -6,7 +6,7 @@ api_instance = DatadogAPIClient::V1::AzureIntegrationAPI.new
6
6
  body = DatadogAPIClient::V1::AzureAccount.new({
7
7
  app_service_plan_filters: "key:value,filter:example",
8
8
  automute: true,
9
- client_id: "testc7f6-1234-5678-9101-3fcbf464test",
9
+ client_id: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
10
10
  client_secret: "testingx./Sw*g/Y33t..R1cH+hScMDt",
11
11
  container_app_filters: "key:value,filter:example",
12
12
  cspm_enabled: true,
@@ -15,9 +15,9 @@ body = DatadogAPIClient::V1::AzureAccount.new({
15
15
  "*",
16
16
  ],
17
17
  host_filters: "key:value,filter:example",
18
- new_client_id: "new1c7f6-1234-5678-9101-3fcbf464test",
19
- new_tenant_name: "new1c44-1234-5678-9101-cc00736ftest",
18
+ new_client_id: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
19
+ new_tenant_name: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
20
20
  resource_collection_enabled: true,
21
- tenant_name: "testc44-1234-5678-9101-cc00736ftest",
21
+ tenant_name: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
22
22
  })
23
23
  p api_instance.update_azure_integration(body)
@@ -6,17 +6,16 @@ api_instance = DatadogAPIClient::V1::GCPIntegrationAPI.new
6
6
  body = DatadogAPIClient::V1::GCPAccount.new({
7
7
  auth_provider_x509_cert_url: "https://www.googleapis.com/oauth2/v1/certs",
8
8
  auth_uri: "https://accounts.google.com/o/oauth2/auth",
9
- client_email: "api-dev@datadog-sandbox.iam.gserviceaccount.com",
10
- client_id: "123456712345671234567",
9
+ client_email: "252bf553ef04b351@example.com",
10
+ client_id: "163662907116366290710",
11
11
  client_x509_cert_url: "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL",
12
- errors: [
13
- "*",
14
- ],
15
12
  host_filters: "key:value,filter:example",
16
13
  is_cspm_enabled: true,
14
+ is_security_command_center_enabled: true,
17
15
  private_key: "private_key",
18
16
  private_key_id: "123456789abcdefghi123456789abcdefghijklm",
19
17
  project_id: "datadog-apitest",
18
+ resource_collection_enabled: true,
20
19
  token_uri: "https://accounts.google.com/o/oauth2/token",
21
20
  type: "service_account",
22
21
  })
@@ -4,20 +4,8 @@ require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V1::GCPIntegrationAPI.new
5
5
 
6
6
  body = DatadogAPIClient::V1::GCPAccount.new({
7
- auth_provider_x509_cert_url: "https://www.googleapis.com/oauth2/v1/certs",
8
- auth_uri: "https://accounts.google.com/o/oauth2/auth",
9
- client_email: "api-dev@datadog-sandbox.iam.gserviceaccount.com",
10
- client_id: "123456712345671234567",
11
- client_x509_cert_url: "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL",
12
- errors: [
13
- "*",
14
- ],
15
- host_filters: "key:value,filter:example",
16
- is_cspm_enabled: true,
17
- private_key: "private_key",
18
- private_key_id: "123456789abcdefghi123456789abcdefghijklm",
7
+ client_email: "252bf553ef04b351@example.com",
8
+ client_id: "163662907116366290710",
19
9
  project_id: "datadog-apitest",
20
- token_uri: "https://accounts.google.com/o/oauth2/token",
21
- type: "service_account",
22
10
  })
23
11
  p api_instance.delete_gcp_integration(body)
@@ -6,17 +6,16 @@ api_instance = DatadogAPIClient::V1::GCPIntegrationAPI.new
6
6
  body = DatadogAPIClient::V1::GCPAccount.new({
7
7
  auth_provider_x509_cert_url: "https://www.googleapis.com/oauth2/v1/certs",
8
8
  auth_uri: "https://accounts.google.com/o/oauth2/auth",
9
- client_email: "api-dev@datadog-sandbox.iam.gserviceaccount.com",
10
- client_id: "123456712345671234567",
9
+ client_email: "252bf553ef04b351@example.com",
10
+ client_id: "163662907116366290710",
11
11
  client_x509_cert_url: "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL",
12
- errors: [
13
- "*",
14
- ],
15
12
  host_filters: "key:value,filter:example",
16
13
  is_cspm_enabled: true,
14
+ is_security_command_center_enabled: true,
17
15
  private_key: "private_key",
18
16
  private_key_id: "123456789abcdefghi123456789abcdefghijklm",
19
17
  project_id: "datadog-apitest",
18
+ resource_collection_enabled: true,
20
19
  token_uri: "https://accounts.google.com/o/oauth2/token",
21
20
  type: "service_account",
22
21
  })
@@ -0,0 +1,46 @@
1
+ # Create a time-slice SLO object returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::ServiceLevelObjectivesAPI.new
5
+
6
+ body = DatadogAPIClient::V1::ServiceLevelObjectiveRequest.new({
7
+ type: DatadogAPIClient::V1::SLOType::TIME_SLICE,
8
+ description: "string",
9
+ name: "Example-Service-Level-Objective",
10
+ sli_specification: DatadogAPIClient::V1::SLOTimeSliceSpec.new({
11
+ time_slice: DatadogAPIClient::V1::SLOTimeSliceCondition.new({
12
+ query: DatadogAPIClient::V1::SLOTimeSliceQuery.new({
13
+ formulas: [
14
+ DatadogAPIClient::V1::SLOFormula.new({
15
+ formula: "query1",
16
+ }),
17
+ ],
18
+ queries: [
19
+ DatadogAPIClient::V1::FormulaAndFunctionMetricQueryDefinition.new({
20
+ data_source: DatadogAPIClient::V1::FormulaAndFunctionMetricDataSource::METRICS,
21
+ name: "query1",
22
+ query: "trace.servlet.request{env:prod}",
23
+ }),
24
+ ],
25
+ }),
26
+ comparator: DatadogAPIClient::V1::SLOTimeSliceComparator::GREATER,
27
+ threshold: 5,
28
+ }),
29
+ }),
30
+ tags: [
31
+ "env:prod",
32
+ ],
33
+ thresholds: [
34
+ DatadogAPIClient::V1::SLOThreshold.new({
35
+ target: 97.0,
36
+ target_display: "97.0",
37
+ timeframe: DatadogAPIClient::V1::SLOTimeframe::SEVEN_DAYS,
38
+ warning: 98,
39
+ warning_display: "98.0",
40
+ }),
41
+ ],
42
+ timeframe: DatadogAPIClient::V1::SLOTimeframe::SEVEN_DAYS,
43
+ target_threshold: 97.0,
44
+ warning_threshold: 98,
45
+ })
46
+ p api_instance.create_slo(body)
@@ -1,9 +1,6 @@
1
1
  # Send pipeline event returns "Request accepted for processing" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.create_ci_app_pipeline_event".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::CIVisibilityPipelinesAPI.new
8
5
 
9
6
  body = DatadogAPIClient::V2::CIAppCreatePipelineEventRequest.new({
@@ -1,9 +1,6 @@
1
1
  # Send pipeline job event returns "Request accepted for processing" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.create_ci_app_pipeline_event".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::CIVisibilityPipelinesAPI.new
8
5
 
9
6
  body = DatadogAPIClient::V2::CIAppCreatePipelineEventRequest.new({
@@ -0,0 +1,18 @@
1
+ # Create Cloud Cost Management AWS CUR config returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+
6
+ body = DatadogAPIClient::V2::AwsCURConfigPostRequest.new({
7
+ data: DatadogAPIClient::V2::AwsCURConfigPostData.new({
8
+ attributes: DatadogAPIClient::V2::AwsCURConfigPostRequestAttributes.new({
9
+ account_id: "123456789123",
10
+ bucket_name: "dd-cost-bucket",
11
+ bucket_region: "us-east-1",
12
+ report_name: "dd-report-name",
13
+ report_prefix: "dd-report-prefix",
14
+ }),
15
+ type: DatadogAPIClient::V2::AwsCURConfigPostRequestType::AWS_CUR_CONFIG_POST_REQUEST,
16
+ }),
17
+ })
18
+ p api_instance.create_cost_awscur_config(body)
@@ -0,0 +1,29 @@
1
+ # Create Cloud Cost Management Azure configs returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+
6
+ body = DatadogAPIClient::V2::AzureUCConfigPostRequest.new({
7
+ data: DatadogAPIClient::V2::AzureUCConfigPostData.new({
8
+ attributes: DatadogAPIClient::V2::AzureUCConfigPostRequestAttributes.new({
9
+ account_id: "1234abcd-1234-abcd-1234-1234abcd1234",
10
+ actual_bill_config: DatadogAPIClient::V2::BillConfig.new({
11
+ export_name: "dd-actual-export",
12
+ export_path: "dd-export-path",
13
+ storage_account: "dd-storage-account",
14
+ storage_container: "dd-storage-container",
15
+ }),
16
+ amortized_bill_config: DatadogAPIClient::V2::BillConfig.new({
17
+ export_name: "dd-actual-export",
18
+ export_path: "dd-export-path",
19
+ storage_account: "dd-storage-account",
20
+ storage_container: "dd-storage-container",
21
+ }),
22
+ client_id: "1234abcd-1234-abcd-1234-1234abcd1234",
23
+ is_enabled: true,
24
+ scope: "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234",
25
+ }),
26
+ type: DatadogAPIClient::V2::AzureUCConfigPostRequestType::AZURE_UC_CONFIG_POST_REQUEST,
27
+ }),
28
+ })
29
+ p api_instance.create_cost_azure_uc_configs(body)
@@ -0,0 +1,5 @@
1
+ # Delete Cloud Cost Management AWS CUR config returns "No Content" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+ api_instance.delete_cost_awscur_config("100")
@@ -0,0 +1,5 @@
1
+ # Delete Cloud Cost Management Azure config returns "No Content" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+ api_instance.delete_cost_azure_uc_config("100")
@@ -0,0 +1,5 @@
1
+ # Cloud Cost Enabled returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+ p api_instance.get_cloud_cost_activity()
@@ -0,0 +1,5 @@
1
+ # List related AWS accounts returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+ p api_instance.list_aws_related_accounts("123456789123")
@@ -0,0 +1,5 @@
1
+ # List Cloud Cost Management AWS CUR configs returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+ p api_instance.list_cost_awscur_configs()
@@ -0,0 +1,5 @@
1
+ # List Cloud Cost Management Azure configs returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+ p api_instance.list_cost_azure_uc_configs()
@@ -0,0 +1,14 @@
1
+ # Update Cloud Cost Management AWS CUR config returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+
6
+ body = DatadogAPIClient::V2::AwsCURConfigPatchRequest.new({
7
+ data: DatadogAPIClient::V2::AwsCURConfigPatchData.new({
8
+ attributes: DatadogAPIClient::V2::AwsCURConfigPatchRequestAttributes.new({
9
+ is_enabled: true,
10
+ }),
11
+ type: DatadogAPIClient::V2::AwsCURConfigPatchRequestType::AWS_CUR_CONFIG_PATCH_REQUEST,
12
+ }),
13
+ })
14
+ p api_instance.update_cost_awscur_config("100", body)
@@ -0,0 +1,14 @@
1
+ # Update Cloud Cost Management Azure config returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+
6
+ body = DatadogAPIClient::V2::AzureUCConfigPatchRequest.new({
7
+ data: DatadogAPIClient::V2::AzureUCConfigPatchData.new({
8
+ attributes: DatadogAPIClient::V2::AzureUCConfigPatchRequestAttributes.new({
9
+ is_enabled: true,
10
+ }),
11
+ type: DatadogAPIClient::V2::AzureUCConfigPatchRequestType::AZURE_UC_CONFIG_PATCH_REQUEST,
12
+ }),
13
+ })
14
+ p api_instance.update_cost_azure_uc_configs("100", body)
@@ -7,7 +7,7 @@ body = DatadogAPIClient::V2::CloudflareAccountCreateRequest.new({
7
7
  data: DatadogAPIClient::V2::CloudflareAccountCreateRequestData.new({
8
8
  attributes: DatadogAPIClient::V2::CloudflareAccountCreateRequestAttributes.new({
9
9
  api_key: "fakekey",
10
- email: "new@email",
10
+ email: "dev@datadoghq.com",
11
11
  name: "examplecloudflareintegration",
12
12
  }),
13
13
  type: DatadogAPIClient::V2::CloudflareAccountType::CLOUDFLARE_ACCOUNTS,
@@ -10,7 +10,10 @@ body = DatadogAPIClient::V2::CloudflareAccountUpdateRequest.new({
10
10
  data: DatadogAPIClient::V2::CloudflareAccountUpdateRequestData.new({
11
11
  attributes: DatadogAPIClient::V2::CloudflareAccountUpdateRequestAttributes.new({
12
12
  api_key: "fakekey",
13
- email: "new@email",
13
+ email: "dev@datadoghq.com",
14
+ zones: [
15
+ "zone-id-3",
16
+ ],
14
17
  }),
15
18
  type: DatadogAPIClient::V2::CloudflareAccountType::CLOUDFLARE_ACCOUNTS,
16
19
  }),
@@ -0,0 +1,5 @@
1
+ # Get active downtimes for a monitor returns "OK" response with pagination
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::DowntimesAPI.new
5
+ api_instance.list_monitor_downtimes_with_pagination(9223372036854775807) { |item| puts item }
@@ -0,0 +1,16 @@
1
+ # Create a new entry for your service account with resource collection enabled returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::GCPIntegrationAPI.new
5
+
6
+ body = DatadogAPIClient::V2::GCPSTSServiceAccountCreateRequest.new({
7
+ data: DatadogAPIClient::V2::GCPSTSServiceAccountData.new({
8
+ attributes: DatadogAPIClient::V2::GCPSTSServiceAccountAttributes.new({
9
+ resource_collection_enabled: true,
10
+ client_email: "252bf553ef04b351@test-project.iam.gserviceaccount.com",
11
+ host_filters: [],
12
+ }),
13
+ type: DatadogAPIClient::V2::GCPServiceAccountType::GCP_SERVICE_ACCOUNT,
14
+ }),
15
+ })
16
+ p api_instance.create_gcpsts_account(body)
@@ -0,0 +1,16 @@
1
+ # Create a new entry for your service account with security command center enabled returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::GCPIntegrationAPI.new
5
+
6
+ body = DatadogAPIClient::V2::GCPSTSServiceAccountCreateRequest.new({
7
+ data: DatadogAPIClient::V2::GCPSTSServiceAccountData.new({
8
+ attributes: DatadogAPIClient::V2::GCPSTSServiceAccountAttributes.new({
9
+ is_security_command_center_enabled: true,
10
+ client_email: "252bf553ef04b351@test-project.iam.gserviceaccount.com",
11
+ host_filters: [],
12
+ }),
13
+ type: DatadogAPIClient::V2::GCPServiceAccountType::GCP_SERVICE_ACCOUNT,
14
+ }),
15
+ })
16
+ p api_instance.create_gcpsts_account(body)
@@ -0,0 +1,17 @@
1
+ # Create a new entry for your service account with cspm enabled returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::GCPIntegrationAPI.new
5
+
6
+ body = DatadogAPIClient::V2::GCPSTSServiceAccountCreateRequest.new({
7
+ data: DatadogAPIClient::V2::GCPSTSServiceAccountData.new({
8
+ attributes: DatadogAPIClient::V2::GCPSTSServiceAccountAttributes.new({
9
+ is_cspm_enabled: true,
10
+ resource_collection_enabled: true,
11
+ client_email: "252bf553ef04b351@test-project.iam.gserviceaccount.com",
12
+ host_filters: [],
13
+ }),
14
+ type: DatadogAPIClient::V2::GCPServiceAccountType::GCP_SERVICE_ACCOUNT,
15
+ }),
16
+ })
17
+ p api_instance.create_gcpsts_account(body)
@@ -0,0 +1,19 @@
1
+ # Update STS Service Account returns "OK" response with enable resource collection turned on
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::GCPIntegrationAPI.new
5
+
6
+ # there is a valid "gcp_sts_account" in the system
7
+ GCP_STS_ACCOUNT_DATA_ID = ENV["GCP_STS_ACCOUNT_DATA_ID"]
8
+
9
+ body = DatadogAPIClient::V2::GCPSTSServiceAccountUpdateRequest.new({
10
+ data: DatadogAPIClient::V2::GCPSTSServiceAccountUpdateRequestData.new({
11
+ attributes: DatadogAPIClient::V2::GCPSTSServiceAccountAttributes.new({
12
+ client_email: "252bf553ef04b351@example.com",
13
+ resource_collection_enabled: true,
14
+ }),
15
+ id: GCP_STS_ACCOUNT_DATA_ID,
16
+ type: DatadogAPIClient::V2::GCPServiceAccountType::GCP_SERVICE_ACCOUNT,
17
+ }),
18
+ })
19
+ p api_instance.update_gcpsts_account(GCP_STS_ACCOUNT_DATA_ID, body)
@@ -0,0 +1,46 @@
1
+ # Create a detection rule with detection method 'third_party' returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
5
+
6
+ body = DatadogAPIClient::V2::SecurityMonitoringStandardRuleCreatePayload.new({
7
+ name: "Example-Security-Monitoring",
8
+ type: DatadogAPIClient::V2::SecurityMonitoringRuleTypeCreate::LOG_DETECTION,
9
+ is_enabled: true,
10
+ third_party_cases: [
11
+ DatadogAPIClient::V2::SecurityMonitoringThirdPartyRuleCaseCreate.new({
12
+ query: "status:error",
13
+ name: "high",
14
+ status: DatadogAPIClient::V2::SecurityMonitoringRuleSeverity::HIGH,
15
+ }),
16
+ DatadogAPIClient::V2::SecurityMonitoringThirdPartyRuleCaseCreate.new({
17
+ query: "status:info",
18
+ name: "low",
19
+ status: DatadogAPIClient::V2::SecurityMonitoringRuleSeverity::LOW,
20
+ }),
21
+ ],
22
+ queries: [],
23
+ cases: [],
24
+ message: "This is a third party rule",
25
+ options: DatadogAPIClient::V2::SecurityMonitoringRuleOptions.new({
26
+ detection_method: DatadogAPIClient::V2::SecurityMonitoringRuleDetectionMethod::THIRD_PARTY,
27
+ keep_alive: DatadogAPIClient::V2::SecurityMonitoringRuleKeepAlive::ZERO_MINUTES,
28
+ max_signal_duration: DatadogAPIClient::V2::SecurityMonitoringRuleMaxSignalDuration::ZERO_MINUTES,
29
+ third_party_rule_options: DatadogAPIClient::V2::SecurityMonitoringRuleThirdPartyOptions.new({
30
+ default_status: DatadogAPIClient::V2::SecurityMonitoringRuleSeverity::INFO,
31
+ root_queries: [
32
+ DatadogAPIClient::V2::SecurityMonitoringThirdPartyRootQuery.new({
33
+ query: "source:guardduty @details.alertType:*EC2*",
34
+ group_by_fields: [
35
+ "instance-id",
36
+ ],
37
+ }),
38
+ DatadogAPIClient::V2::SecurityMonitoringThirdPartyRootQuery.new({
39
+ query: "source:guardduty",
40
+ group_by_fields: [],
41
+ }),
42
+ ],
43
+ }),
44
+ }),
45
+ })
46
+ p api_instance.create_security_monitoring_rule(body)
@@ -26,6 +26,13 @@ body = DatadogAPIClient::V2::SensitiveDataScannerRuleCreateRequest.new({
26
26
  "sensitive_data:true",
27
27
  ],
28
28
  is_enabled: true,
29
+ priority: 1,
30
+ included_keyword_configuration: DatadogAPIClient::V2::SensitiveDataScannerIncludedKeywordConfiguration.new({
31
+ keywords: [
32
+ "credit card",
33
+ ],
34
+ character_count: 35,
35
+ }),
29
36
  }),
30
37
  relationships: DatadogAPIClient::V2::SensitiveDataScannerRuleRelationships.new({
31
38
  group: DatadogAPIClient::V2::SensitiveDataScannerGroupData.new({
@@ -6,9 +6,6 @@ api_instance = DatadogAPIClient::V2::SensitiveDataScannerAPI.new
6
6
  # the "scanning_group" has a "scanning_rule"
7
7
  RULE_DATA_ID = ENV["RULE_DATA_ID"]
8
8
 
9
- # there is a valid "scanning_group" in the system
10
- GROUP_DATA_ID = ENV["GROUP_DATA_ID"]
11
-
12
9
  body = DatadogAPIClient::V2::SensitiveDataScannerRuleUpdateRequest.new({
13
10
  meta: DatadogAPIClient::V2::SensitiveDataScannerMetaVersionOnly.new({}),
14
11
  data: DatadogAPIClient::V2::SensitiveDataScannerRuleUpdate.new({
@@ -24,13 +21,13 @@ body = DatadogAPIClient::V2::SensitiveDataScannerRuleUpdateRequest.new({
24
21
  "sensitive_data:true",
25
22
  ],
26
23
  is_enabled: true,
27
- }),
28
- relationships: DatadogAPIClient::V2::SensitiveDataScannerRuleRelationships.new({
29
- group: DatadogAPIClient::V2::SensitiveDataScannerGroupData.new({
30
- data: DatadogAPIClient::V2::SensitiveDataScannerGroup.new({
31
- type: DatadogAPIClient::V2::SensitiveDataScannerGroupType::SENSITIVE_DATA_SCANNER_GROUP,
32
- id: GROUP_DATA_ID,
33
- }),
24
+ priority: 5,
25
+ included_keyword_configuration: DatadogAPIClient::V2::SensitiveDataScannerIncludedKeywordConfiguration.new({
26
+ keywords: [
27
+ "credit card",
28
+ "cc",
29
+ ],
30
+ character_count: 35,
34
31
  }),
35
32
  }),
36
33
  }),
@@ -9,6 +9,12 @@ body = DatadogAPIClient::V2::UserTeamRequest.new({
9
9
  role: DatadogAPIClient::V2::UserTeamRole::ADMIN,
10
10
  }),
11
11
  relationships: DatadogAPIClient::V2::UserTeamRelationships.new({
12
+ team: DatadogAPIClient::V2::RelationshipToUserTeamTeam.new({
13
+ data: DatadogAPIClient::V2::RelationshipToUserTeamTeamData.new({
14
+ id: "d7e15d9d-d346-43da-81d8-3d9e71d9a5e9",
15
+ type: DatadogAPIClient::V2::UserTeamTeamType::TEAM,
16
+ }),
17
+ }),
12
18
  user: DatadogAPIClient::V2::RelationshipToUserTeamUser.new({
13
19
  data: DatadogAPIClient::V2::RelationshipToUserTeamUserData.new({
14
20
  id: "b8626d7e-cedd-11eb-abf5-da7ad0900001",
@@ -189,7 +189,6 @@ module DatadogAPIClient
189
189
  @http_proxypass = nil
190
190
  @logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
191
191
  @unstable_operations = {
192
- "v2.create_ci_app_pipeline_event": false,
193
192
  "v2.get_active_billing_dimensions": false,
194
193
  "v2.get_monthly_cost_attribution": false,
195
194
  "v2.create_dora_deployment": false,