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.
- checksums.yaml +4 -4
- data/.apigentools-info +4 -4
- data/.generator/conftest.py +1 -1
- data/.generator/poetry.lock +69 -69
- data/.generator/schemas/v1/openapi.yaml +189 -11
- data/.generator/schemas/v2/openapi.yaml +1321 -188
- data/.generator/src/generator/templates/model_generic.j2 +2 -2
- data/CHANGELOG.md +18 -0
- data/examples/v1/azure-integration/CreateAzureIntegration.rb +4 -4
- data/examples/v1/azure-integration/DeleteAzureIntegration.rb +2 -15
- data/examples/v1/azure-integration/UpdateAzureIntegration.rb +4 -4
- data/examples/v1/gcp-integration/CreateGCPIntegration.rb +4 -5
- data/examples/v1/gcp-integration/DeleteGCPIntegration.rb +2 -14
- data/examples/v1/gcp-integration/UpdateGCPIntegration.rb +4 -5
- data/examples/v1/service-level-objectives/CreateSLO_3765703239.rb +46 -0
- data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent.rb +0 -3
- data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +0 -3
- data/examples/v2/cloud-cost-management/CreateCostAWSCURConfig.rb +18 -0
- data/examples/v2/cloud-cost-management/CreateCostAzureUCConfigs.rb +29 -0
- data/examples/v2/cloud-cost-management/DeleteCostAWSCURConfig.rb +5 -0
- data/examples/v2/cloud-cost-management/DeleteCostAzureUCConfig.rb +5 -0
- data/examples/v2/cloud-cost-management/GetCloudCostActivity.rb +5 -0
- data/examples/v2/cloud-cost-management/ListAWSRelatedAccounts.rb +5 -0
- data/examples/v2/cloud-cost-management/ListCostAWSCURConfigs.rb +5 -0
- data/examples/v2/cloud-cost-management/ListCostAzureUCConfigs.rb +5 -0
- data/examples/v2/cloud-cost-management/UpdateCostAWSCURConfig.rb +14 -0
- data/examples/v2/cloud-cost-management/UpdateCostAzureUCConfigs.rb +14 -0
- data/examples/v2/cloudflare-integration/CreateCloudflareAccount.rb +1 -1
- data/examples/v2/cloudflare-integration/UpdateCloudflareAccount.rb +4 -1
- data/examples/v2/downtimes/ListMonitorDowntimes_3316718253.rb +5 -0
- data/examples/v2/gcp-integration/CreateGCPSTSAccount_130557025.rb +16 -0
- data/examples/v2/gcp-integration/CreateGCPSTSAccount_2597004741.rb +16 -0
- data/examples/v2/gcp-integration/CreateGCPSTSAccount_4235664992.rb +17 -0
- data/examples/v2/gcp-integration/UpdateGCPSTSAccount_3205636354.rb +19 -0
- data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_3367706049.rb +46 -0
- data/examples/v2/sensitive-data-scanner/CreateScanningRule.rb +7 -0
- data/examples/v2/sensitive-data-scanner/UpdateScanningRule.rb +7 -10
- data/examples/v2/teams/CreateTeamMembership.rb +6 -0
- data/lib/datadog_api_client/configuration.rb +0 -1
- data/lib/datadog_api_client/inflector.rb +52 -0
- data/lib/datadog_api_client/v1/api/downtimes_api.rb +28 -7
- data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -1
- data/lib/datadog_api_client/v1/models/gcp_account.rb +22 -2
- data/lib/datadog_api_client/v1/models/organization.rb +1 -1
- data/lib/datadog_api_client/v1/models/service_level_objective.rb +11 -1
- data/lib/datadog_api_client/v1/models/service_level_objective_request.rb +11 -1
- data/lib/datadog_api_client/v1/models/slo_data_source_query_definition.rb +62 -0
- data/lib/datadog_api_client/v1/models/slo_formula.rb +98 -0
- data/lib/datadog_api_client/v1/models/slo_response_data.rb +11 -1
- data/lib/datadog_api_client/v1/models/slo_sli_spec.rb +62 -0
- data/lib/datadog_api_client/v1/models/slo_time_slice_comparator.rb +29 -0
- data/lib/datadog_api_client/v1/models/slo_time_slice_condition.rb +141 -0
- data/lib/datadog_api_client/v1/models/slo_time_slice_query.rb +131 -0
- data/lib/datadog_api_client/v1/models/slo_time_slice_spec.rb +99 -0
- data/lib/datadog_api_client/v1/models/slo_type.rb +1 -0
- data/lib/datadog_api_client/v1/models/slo_type_numeric.rb +1 -0
- data/lib/datadog_api_client/v1/models/usage_summary_date.rb +11 -1
- data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +11 -1
- data/lib/datadog_api_client/v1/models/usage_summary_response.rb +11 -1
- data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +0 -6
- data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +680 -0
- data/lib/datadog_api_client/v2/api/downtimes_api.rb +25 -0
- data/lib/datadog_api_client/v2/api/metrics_api.rb +3 -2
- data/lib/datadog_api_client/v2/models/aws_cur_config.rb +129 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_attributes.rb +305 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_patch_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_attributes.rb +98 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_post_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_post_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_attributes.rb +202 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/aws_cur_config_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/aws_cur_configs_response.rb +82 -0
- data/lib/datadog_api_client/v2/models/aws_related_account.rb +129 -0
- data/lib/datadog_api_client/v2/models/aws_related_account_attributes.rb +90 -0
- data/lib/datadog_api_client/v2/models/aws_related_account_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/aws_related_accounts_response.rb +82 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config.rb +378 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_pair.rb +129 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_pair_attributes.rb +110 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_pair_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_pairs_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_patch_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_attributes.rb +98 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_post_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_post_request.rb +98 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_attributes.rb +192 -0
- data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/azure_uc_configs_response.rb +82 -0
- data/lib/datadog_api_client/v2/models/bill_config.rb +161 -0
- data/lib/datadog_api_client/v2/models/ci_app_git_info.rb +2 -2
- data/lib/datadog_api_client/v2/models/cloud_cost_activity.rb +119 -0
- data/lib/datadog_api_client/v2/models/cloud_cost_activity_attributes.rb +98 -0
- data/lib/datadog_api_client/v2/models/cloud_cost_activity_response.rb +80 -0
- data/lib/datadog_api_client/v2/models/cloud_cost_activity_type.rb +26 -0
- data/lib/datadog_api_client/v2/models/cloudflare_account_create_request_attributes.rb +28 -4
- data/lib/datadog_api_client/v2/models/cloudflare_account_response_attributes.rb +28 -4
- data/lib/datadog_api_client/v2/models/cloudflare_account_update_request_attributes.rb +28 -4
- data/lib/datadog_api_client/v2/models/dora_git_info.rb +2 -2
- data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +25 -5
- data/lib/datadog_api_client/v2/models/relationship_to_user_team_team.rb +98 -0
- data/lib/datadog_api_client/v2/models/relationship_to_user_team_team_data.rb +119 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +14 -4
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_third_party_options.rb +114 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +13 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +13 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +13 -1
- data/lib/datadog_api_client/v2/models/security_monitoring_third_party_root_query.rb +92 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case.rb +112 -0
- data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case_create.rb +130 -0
- data/lib/datadog_api_client/v2/models/sensitive_data_scanner_included_keyword_configuration.rb +134 -0
- data/lib/datadog_api_client/v2/models/sensitive_data_scanner_rule_attributes.rb +46 -1
- data/lib/datadog_api_client/v2/models/sensitive_data_scanner_standard_pattern_attributes.rb +33 -1
- data/lib/datadog_api_client/v2/models/user_team_attributes.rb +24 -1
- data/lib/datadog_api_client/v2/models/user_team_relationships.rb +11 -1
- data/lib/datadog_api_client/v2/models/user_team_team_type.rb +26 -0
- data/lib/datadog_api_client/version.rb +1 -1
- 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(
|
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(
|
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: "
|
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: "
|
19
|
-
new_tenant_name: "
|
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: "
|
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
|
-
|
8
|
-
|
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: "
|
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: "
|
19
|
-
new_tenant_name: "
|
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: "
|
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: "
|
10
|
-
client_id: "
|
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
|
-
|
8
|
-
|
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: "
|
10
|
-
client_id: "
|
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,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: "
|
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: "
|
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,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
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
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,
|