From 9fe25152e4015ecd3f7b3abfa35693c57a1b30f4 Mon Sep 17 00:00:00 2001 From: "api-clients-generation-pipeline[bot]" <54105614+api-clients-generation-pipeline[bot]@users.noreply.github.com> Date: Tue, 2 Jan 2024 15:52:27 +0000 Subject: [PATCH] Adding Cloud Cost Management API Documentation (#19850) Co-authored-by: ci.datadog-api-spec Co-authored-by: api-clients-generation-pipeline[bot] <54105614+api-clients-generation-pipeline[bot]@users.noreply.github.com> --- .apigentools-info | 8 +- config/_default/menus/menus.en.yaml | 124 + .../latest/cloud-cost-management/_index.md | 3 + .../en/api/v2/cloud-cost-management/_index.md | 4 + .../v2/cloud-cost-management/examples.json | 585 ++ .../request.CreateCostAWSCURConfig.json | 12 + .../request.CreateCostAzureUCConfigs.json | 23 + .../request.UpdateCostAWSCURConfig.json | 8 + .../request.UpdateCostAzureUCConfigs.json | 8 + data/api/v2/CodeExamples.json | 28 + data/api/v2/full_spec.yaml | 927 +++ data/api/v2/full_spec_deref.json | 5599 +++++++++++++++-- data/api/v2/translate_actions.json | 48 + data/api/v2/translate_tags.json | 4 + static/resources/json/full_spec_v2.json | 5599 +++++++++++++++-- 15 files changed, 11706 insertions(+), 1274 deletions(-) create mode 100644 content/en/api/latest/cloud-cost-management/_index.md create mode 100644 content/en/api/v2/cloud-cost-management/_index.md create mode 100644 content/en/api/v2/cloud-cost-management/examples.json create mode 100644 content/en/api/v2/cloud-cost-management/request.CreateCostAWSCURConfig.json create mode 100644 content/en/api/v2/cloud-cost-management/request.CreateCostAzureUCConfigs.json create mode 100644 content/en/api/v2/cloud-cost-management/request.UpdateCostAWSCURConfig.json create mode 100644 content/en/api/v2/cloud-cost-management/request.UpdateCostAzureUCConfigs.json diff --git a/.apigentools-info b/.apigentools-info index 59b4a2bbca053..b1257f346957d 100644 --- a/.apigentools-info +++ b/.apigentools-info @@ -4,13 +4,13 @@ "spec_versions": { "v1": { "apigentools_version": "1.6.6", - "regenerated": "2023-12-28 18:24:14.730464", - "spec_repo_commit": "42c21a14" + "regenerated": "2024-01-02 15:21:31.065203", + "spec_repo_commit": "415bb394" }, "v2": { "apigentools_version": "1.6.6", - "regenerated": "2023-12-28 18:24:25.441853", - "spec_repo_commit": "42c21a14" + "regenerated": "2024-01-02 15:21:38.881003", + "spec_repo_commit": "415bb394" } } } \ No newline at end of file diff --git a/config/_default/menus/menus.en.yaml b/config/_default/menus/menus.en.yaml index c623739cd2418..ae364e0b788f9 100644 --- a/config/_default/menus/menus.en.yaml +++ b/config/_default/menus/menus.en.yaml @@ -9169,6 +9169,130 @@ api: - AggregateCIAppTestEvents unstable: [] order: 3 + - name: Cloud Cost Management + url: /api/latest/cloud-cost-management/ + identifier: cloud-cost-management + generated: true + - name: Cloud Cost Enabled + url: '#cloud-cost-enabled' + identifier: cloud-cost-management-cloud-cost-enabled + parent: cloud-cost-management + generated: true + params: + versions: + - v2 + operationids: + - GetCloudCostActivity + unstable: [] + order: 10 + - name: Update Cloud Cost Management Azure config + url: '#update-cloud-cost-management-azure-config' + identifier: cloud-cost-management-update-cloud-cost-management-azure-config + parent: cloud-cost-management + generated: true + params: + versions: + - v2 + operationids: + - UpdateCostAzureUCConfigs + unstable: [] + order: 7 + - name: Delete Cloud Cost Management Azure config + url: '#delete-cloud-cost-management-azure-config' + identifier: cloud-cost-management-delete-cloud-cost-management-azure-config + parent: cloud-cost-management + generated: true + params: + versions: + - v2 + operationids: + - DeleteCostAzureUCConfig + unstable: [] + order: 9 + - name: Create Cloud Cost Management Azure configs + url: '#create-cloud-cost-management-azure-configs' + identifier: cloud-cost-management-create-cloud-cost-management-azure-configs + parent: cloud-cost-management + generated: true + params: + versions: + - v2 + operationids: + - CreateCostAzureUCConfigs + unstable: [] + order: 8 + - name: List Cloud Cost Management Azure configs + url: '#list-cloud-cost-management-azure-configs' + identifier: cloud-cost-management-list-cloud-cost-management-azure-configs + parent: cloud-cost-management + generated: true + params: + versions: + - v2 + operationids: + - ListCostAzureUCConfigs + unstable: [] + order: 6 + - name: List related AWS accounts + url: '#list-related-aws-accounts' + identifier: cloud-cost-management-list-related-aws-accounts + parent: cloud-cost-management + generated: true + params: + versions: + - v2 + operationids: + - ListAWSRelatedAccounts + unstable: [] + order: 5 + - name: Update Cloud Cost Management AWS CUR config + url: '#update-cloud-cost-management-aws-cur-config' + identifier: cloud-cost-management-update-cloud-cost-management-aws-cur-config + parent: cloud-cost-management + generated: true + params: + versions: + - v2 + operationids: + - UpdateCostAWSCURConfig + unstable: [] + order: 2 + - name: Delete Cloud Cost Management AWS CUR config + url: '#delete-cloud-cost-management-aws-cur-config' + identifier: cloud-cost-management-delete-cloud-cost-management-aws-cur-config + parent: cloud-cost-management + generated: true + params: + versions: + - v2 + operationids: + - DeleteCostAWSCURConfig + unstable: [] + order: 4 + - name: Create Cloud Cost Management AWS CUR config + url: '#create-cloud-cost-management-aws-cur-config' + identifier: cloud-cost-management-create-cloud-cost-management-aws-cur-config + parent: cloud-cost-management + generated: true + params: + versions: + - v2 + operationids: + - CreateCostAWSCURConfig + unstable: [] + order: 3 + - name: List Cloud Cost Management AWS CUR configs + url: '#list-cloud-cost-management-aws-cur-configs' + identifier: cloud-cost-management-list-cloud-cost-management-aws-cur-configs + parent: cloud-cost-management + generated: true + params: + versions: + - v2 + operationids: + - ListCostAWSCURConfigs + unstable: [] + order: 1 - name: Cloud Workload Security url: /api/latest/cloud-workload-security/ identifier: cloud-workload-security diff --git a/content/en/api/latest/cloud-cost-management/_index.md b/content/en/api/latest/cloud-cost-management/_index.md new file mode 100644 index 0000000000000..9cf153fd75d21 --- /dev/null +++ b/content/en/api/latest/cloud-cost-management/_index.md @@ -0,0 +1,3 @@ +--- +title: Cloud Cost Management +--- diff --git a/content/en/api/v2/cloud-cost-management/_index.md b/content/en/api/v2/cloud-cost-management/_index.md new file mode 100644 index 0000000000000..fa4314373d3d3 --- /dev/null +++ b/content/en/api/v2/cloud-cost-management/_index.md @@ -0,0 +1,4 @@ +--- +title: Cloud Cost Management +headless: true +--- diff --git a/content/en/api/v2/cloud-cost-management/examples.json b/content/en/api/v2/cloud-cost-management/examples.json new file mode 100644 index 0000000000000..7a531ddf781db --- /dev/null +++ b/content/en/api/v2/cloud-cost-management/examples.json @@ -0,0 +1,585 @@ +{ + "ListCostAWSCURConfigs": { + "responses": { + "200": { + "json": { + "data": [ + { + "attributes": { + "account_id": "123456789123", + "bucket_name": "dd-cost-bucket", + "bucket_region": "us-east-1", + "created_at": "string", + "error_messages": [], + "months": "integer", + "report_name": "dd-report-name", + "report_prefix": "dd-report-prefix", + "status": "active", + "status_updated_at": "string", + "updated_at": "string" + }, + "id": "integer", + "type": "aws_cur_config" + } + ] + }, + "html": "
\n
\n
\n
\n

data

\n
\n

[object]

\n

An AWS CUR config.

\n
\n
\n
\n
\n
\n

attributes [required]

\n
\n

object

\n

Attributes for An AWS CUR config.

\n
\n
\n
\n
\n
\n

account_id [required]

\n
\n

string

\n

The AWS account ID.

\n
\n \n
\n
\n
\n
\n
\n

bucket_name [required]

\n
\n

string

\n

The AWS bucket name used to store the Cost and Usage Report.

\n
\n \n
\n
\n
\n
\n
\n

bucket_region [required]

\n
\n

string

\n

The region the bucket is located in.

\n
\n \n
\n
\n
\n
\n
\n

created_at

\n
\n

string

\n

The timestamp when the AWS CUR config was created.

\n
\n \n
\n
\n
\n
\n
\n

error_messages

\n
\n

[string]

\n

The error messages for the AWS CUR config.

\n
\n \n
\n
\n
\n
\n
\n

months

\n
\n

int32

\n

DEPRECATED: (deprecated) The number of months the report has been backfilled.

\n
\n \n
\n
\n
\n
\n
\n

report_name [required]

\n
\n

string

\n

The name of the Cost and Usage Report.

\n
\n \n
\n
\n
\n
\n
\n

report_prefix [required]

\n
\n

string

\n

The report prefix used for the Cost and Usage Report.

\n
\n \n
\n
\n
\n
\n
\n

status [required]

\n
\n

string

\n

The status of the AWS CUR.

\n
\n \n
\n
\n
\n
\n
\n

status_updated_at

\n
\n

string

\n

The timestamp when the AWS CUR config status was updated.

\n
\n \n
\n
\n
\n
\n
\n

updated_at

\n
\n

string

\n

The timestamp when the AWS CUR config status was updated.

\n
\n \n
\n
\n
\n
\n
\n
\n
\n

id

\n
\n

int64

\n

The ID of the AWS CUR config.

\n
\n \n
\n
\n
\n
\n
\n

type [required]

\n
\n

enum

\n

Type of AWS CUR config. \nAllowed enum values: aws_cur_config

default: aws_cur_config

\n
\n \n
\n
\n
\n
" + }, + "403": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "429": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + } + }, + "request": { + "json_curl": {}, + "json": {}, + "html": "" + } + }, + "CreateCostAWSCURConfig": { + "responses": { + "200": { + "json": { + "data": { + "attributes": { + "account_id": "123456789123", + "bucket_name": "dd-cost-bucket", + "bucket_region": "us-east-1", + "created_at": "string", + "error_messages": [], + "months": "integer", + "report_name": "dd-report-name", + "report_prefix": "dd-report-prefix", + "status": "active", + "status_updated_at": "string", + "updated_at": "string" + }, + "id": "integer", + "type": "aws_cur_config" + } + }, + "html": "
\n
\n
\n
\n

data

\n
\n

object

\n

AWS CUR config.

\n
\n
\n
\n
\n
\n

attributes [required]

\n
\n

object

\n

Attributes for An AWS CUR config.

\n
\n
\n
\n
\n
\n

account_id [required]

\n
\n

string

\n

The AWS account ID.

\n
\n \n
\n
\n
\n
\n
\n

bucket_name [required]

\n
\n

string

\n

The AWS bucket name used to store the Cost and Usage Report.

\n
\n \n
\n
\n
\n
\n
\n

bucket_region [required]

\n
\n

string

\n

The region the bucket is located in.

\n
\n \n
\n
\n
\n
\n
\n

created_at

\n
\n

string

\n

The timestamp when the AWS CUR config was created.

\n
\n \n
\n
\n
\n
\n
\n

error_messages

\n
\n

[string]

\n

The error messages for the AWS CUR config.

\n
\n \n
\n
\n
\n
\n
\n

months

\n
\n

int32

\n

DEPRECATED: (deprecated) The number of months the report has been backfilled.

\n
\n \n
\n
\n
\n
\n
\n

report_name [required]

\n
\n

string

\n

The name of the Cost and Usage Report.

\n
\n \n
\n
\n
\n
\n
\n

report_prefix [required]

\n
\n

string

\n

The report prefix used for the Cost and Usage Report.

\n
\n \n
\n
\n
\n
\n
\n

status [required]

\n
\n

string

\n

The status of the AWS CUR.

\n
\n \n
\n
\n
\n
\n
\n

status_updated_at

\n
\n

string

\n

The timestamp when the AWS CUR config status was updated.

\n
\n \n
\n
\n
\n
\n
\n

updated_at

\n
\n

string

\n

The timestamp when the AWS CUR config status was updated.

\n
\n \n
\n
\n
\n
\n
\n
\n
\n

id

\n
\n

int64

\n

The ID of the AWS CUR config.

\n
\n \n
\n
\n
\n
\n
\n

type [required]

\n
\n

enum

\n

Type of AWS CUR config. \nAllowed enum values: aws_cur_config

default: aws_cur_config

\n
\n \n
\n
\n
\n
" + }, + "400": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "403": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "429": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + } + }, + "request": { + "json_curl": { + "data": { + "attributes": { + "account_id": "123456789123", + "bucket_name": "dd-cost-bucket", + "report_name": "dd-report-name", + "report_prefix": "dd-report-prefix" + }, + "type": "aws_cur_config_post_request" + } + }, + "json": { + "data": { + "attributes": { + "account_id": "123456789123", + "bucket_name": "dd-cost-bucket", + "bucket_region": "us-east-1", + "is_enabled": false, + "months": "integer", + "report_name": "dd-report-name", + "report_prefix": "dd-report-prefix" + }, + "type": "aws_cur_config_post_request" + } + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

AWS CUR config Post data.

\n
\n
\n
\n
\n
\n

attributes [required]

\n
\n

object

\n

Attributes for AWS CUR config Post Request.

\n
\n
\n
\n
\n
\n

account_id [required]

\n
\n

string

\n

The AWS account ID.

\n
\n \n
\n
\n
\n
\n
\n

bucket_name [required]

\n
\n

string

\n

The AWS bucket name used to store the Cost and Usage Report.

\n
\n \n
\n
\n
\n
\n
\n

bucket_region

\n
\n

string

\n

The region the bucket is located in.

\n
\n \n
\n
\n
\n
\n
\n

is_enabled

\n
\n

boolean

\n

Whether or not the Cloud Cost Management account is enabled.

\n
\n \n
\n
\n
\n
\n
\n

months

\n
\n

int32

\n

The month of the report.

\n
\n \n
\n
\n
\n
\n
\n

report_name [required]

\n
\n

string

\n

The name of the Cost and Usage Report.

\n
\n \n
\n
\n
\n
\n
\n

report_prefix [required]

\n
\n

string

\n

The report prefix used for the Cost and Usage Report.

\n
\n \n
\n
\n
\n
\n
\n
\n
\n

type [required]

\n
\n

enum

\n

Type of AWS CUR config Post Request. \nAllowed enum values: aws_cur_config_post_request

default: aws_cur_config_post_request

\n
\n \n
\n
\n
\n
" + } + }, + "DeleteCostAWSCURConfig": { + "responses": { + "400": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "404": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "429": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + } + }, + "request": { + "json_curl": {}, + "json": {}, + "html": "" + } + }, + "UpdateCostAWSCURConfig": { + "responses": { + "200": { + "json": { + "data": [ + { + "attributes": { + "account_id": "123456789123", + "bucket_name": "dd-cost-bucket", + "bucket_region": "us-east-1", + "created_at": "string", + "error_messages": [], + "months": "integer", + "report_name": "dd-report-name", + "report_prefix": "dd-report-prefix", + "status": "active", + "status_updated_at": "string", + "updated_at": "string" + }, + "id": "integer", + "type": "aws_cur_config" + } + ] + }, + "html": "
\n
\n
\n
\n

data

\n
\n

[object]

\n

An AWS CUR config.

\n
\n
\n
\n
\n
\n

attributes [required]

\n
\n

object

\n

Attributes for An AWS CUR config.

\n
\n
\n
\n
\n
\n

account_id [required]

\n
\n

string

\n

The AWS account ID.

\n
\n \n
\n
\n
\n
\n
\n

bucket_name [required]

\n
\n

string

\n

The AWS bucket name used to store the Cost and Usage Report.

\n
\n \n
\n
\n
\n
\n
\n

bucket_region [required]

\n
\n

string

\n

The region the bucket is located in.

\n
\n \n
\n
\n
\n
\n
\n

created_at

\n
\n

string

\n

The timestamp when the AWS CUR config was created.

\n
\n \n
\n
\n
\n
\n
\n

error_messages

\n
\n

[string]

\n

The error messages for the AWS CUR config.

\n
\n \n
\n
\n
\n
\n
\n

months

\n
\n

int32

\n

DEPRECATED: (deprecated) The number of months the report has been backfilled.

\n
\n \n
\n
\n
\n
\n
\n

report_name [required]

\n
\n

string

\n

The name of the Cost and Usage Report.

\n
\n \n
\n
\n
\n
\n
\n

report_prefix [required]

\n
\n

string

\n

The report prefix used for the Cost and Usage Report.

\n
\n \n
\n
\n
\n
\n
\n

status [required]

\n
\n

string

\n

The status of the AWS CUR.

\n
\n \n
\n
\n
\n
\n
\n

status_updated_at

\n
\n

string

\n

The timestamp when the AWS CUR config status was updated.

\n
\n \n
\n
\n
\n
\n
\n

updated_at

\n
\n

string

\n

The timestamp when the AWS CUR config status was updated.

\n
\n \n
\n
\n
\n
\n
\n
\n
\n

id

\n
\n

int64

\n

The ID of the AWS CUR config.

\n
\n \n
\n
\n
\n
\n
\n

type [required]

\n
\n

enum

\n

Type of AWS CUR config. \nAllowed enum values: aws_cur_config

default: aws_cur_config

\n
\n \n
\n
\n
\n
" + }, + "403": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "429": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + } + }, + "request": { + "json_curl": { + "data": { + "attributes": { + "is_enabled": true + }, + "type": "aws_cur_config_patch_request" + } + }, + "json": { + "data": { + "attributes": { + "is_enabled": true + }, + "type": "aws_cur_config_patch_request" + } + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

AWS CUR config Patch data.

\n
\n
\n
\n
\n
\n

attributes [required]

\n
\n

object

\n

Attributes for AWS CUR config Patch Request.

\n
\n
\n
\n
\n
\n

is_enabled [required]

\n
\n

boolean

\n

Whether or not the Cloud Cost Management account is enabled.

\n
\n \n
\n
\n
\n
\n
\n
\n
\n

type [required]

\n
\n

enum

\n

Type of AWS CUR config Patch Request. \nAllowed enum values: aws_cur_config_patch_request

default: aws_cur_config_patch_request

\n
\n \n
\n
\n
\n
" + } + }, + "ListAWSRelatedAccounts": { + "responses": { + "200": { + "json": { + "data": [ + { + "attributes": { + "has_datadog_integration": false, + "name": "string" + }, + "id": "123456789123", + "type": "aws_account" + } + ] + }, + "html": "
\n
\n
\n
\n

data

\n
\n

[object]

\n

An AWS related account.

\n
\n
\n
\n
\n
\n

attributes

\n
\n

object

\n

Attributes for an AWS related account.

\n
\n
\n
\n
\n
\n

has_datadog_integration

\n
\n

boolean

\n

Whether or not the AWS account has a Datadog integration.

\n
\n \n
\n
\n
\n
\n
\n

name

\n
\n

string

\n

The name of the AWS account.

\n
\n \n
\n
\n
\n
\n
\n
\n
\n

id [required]

\n
\n

string

\n

The AWS account ID.

\n
\n \n
\n
\n
\n
\n
\n

type [required]

\n
\n

enum

\n

Type of AWS related account. \nAllowed enum values: aws_account

default: aws_account

\n
\n \n
\n
\n
\n
" + }, + "400": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "403": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "429": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + } + }, + "request": { + "json_curl": {}, + "json": {}, + "html": "" + } + }, + "ListCostAzureUCConfigs": { + "responses": { + "200": { + "json": { + "data": [ + { + "attributes": { + "configs": [ + { + "account_id": "1234abcd-1234-abcd-1234-1234abcd1234", + "client_id": "1234abcd-1234-abcd-1234-1234abcd1234", + "created_at": "string", + "dataset_type": "actual", + "error_messages": [], + "export_name": "dd-actual-export", + "export_path": "dd-export-path", + "id": "integer", + "months": "integer", + "scope": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "status": "active", + "status_updated_at": "string", + "storage_account": "dd-storage-account", + "storage_container": "dd-storage-container", + "updated_at": "string" + } + ], + "id": "integer" + }, + "id": "integer", + "type": "azure_uc_configs" + } + ] + }, + "html": "
\n
\n
\n
\n

data

\n
\n

[object]

\n

An Azure config pair.

\n
\n
\n
\n
\n
\n

attributes [required]

\n
\n

object

\n

Attributes for Azure config pair.

\n
\n
\n
\n
\n
\n

configs [required]

\n
\n

[object]

\n

An Azure config.

\n
\n
\n
\n
\n
\n

account_id [required]

\n
\n

string

\n

The tenant ID of the azure account.

\n
\n \n
\n
\n
\n
\n
\n

client_id [required]

\n
\n

string

\n

The client ID of the Azure account.

\n
\n \n
\n
\n
\n
\n
\n

created_at

\n
\n

string

\n

The timestamp when the Azure config was created.

\n
\n \n
\n
\n
\n
\n
\n

dataset_type [required]

\n
\n

string

\n

The dataset type of the Azure config.

\n
\n \n
\n
\n
\n
\n
\n

error_messages

\n
\n

[string]

\n

The error messages for the Azure config.

\n
\n \n
\n
\n
\n
\n
\n

export_name [required]

\n
\n

string

\n

The name of the configured Azure Export.

\n
\n \n
\n
\n
\n
\n
\n

export_path [required]

\n
\n

string

\n

The path where the Azure Export is saved.

\n
\n \n
\n
\n
\n
\n
\n

id

\n
\n

int64

\n

The ID of the Azure config.

\n
\n \n
\n
\n
\n
\n
\n

months

\n
\n

int32

\n

DEPRECATED: (deprecated) The number of months the report has been backfilled.

\n
\n \n
\n
\n
\n
\n
\n

scope [required]

\n
\n

string

\n

The scope of your observed subscription.

\n
\n \n
\n
\n
\n
\n
\n

status [required]

\n
\n

string

\n

The status of the Azure config.

\n
\n \n
\n
\n
\n
\n
\n

status_updated_at

\n
\n

string

\n

The timestamp when the Azure config status was last updated.

\n
\n \n
\n
\n
\n
\n
\n

storage_account [required]

\n
\n

string

\n

The name of the storage account where the Azure Export is saved.

\n
\n \n
\n
\n
\n
\n
\n

storage_container [required]

\n
\n

string

\n

The name of the storage container where the Azure Export is saved.

\n
\n \n
\n
\n
\n
\n
\n

updated_at

\n
\n

string

\n

The timestamp when the Azure config was last updated.

\n
\n \n
\n
\n
\n
\n
\n
\n
\n

id

\n
\n

int64

\n

The ID of the Azure config pair.

\n
\n \n
\n
\n
\n
\n
\n
\n
\n

id

\n
\n

int64

\n

The ID of Cloud Cost Management account.

\n
\n \n
\n
\n
\n
\n
\n

type [required]

\n
\n

enum

\n

Type of Azure config pair. \nAllowed enum values: azure_uc_configs

default: azure_uc_configs

\n
\n \n
\n
\n
\n
" + }, + "403": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "429": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + } + }, + "request": { + "json_curl": {}, + "json": {}, + "html": "" + } + }, + "CreateCostAzureUCConfigs": { + "responses": { + "200": { + "json": { + "data": { + "attributes": { + "configs": [ + { + "account_id": "1234abcd-1234-abcd-1234-1234abcd1234", + "client_id": "1234abcd-1234-abcd-1234-1234abcd1234", + "created_at": "string", + "dataset_type": "actual", + "error_messages": [], + "export_name": "dd-actual-export", + "export_path": "dd-export-path", + "id": "integer", + "months": "integer", + "scope": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "status": "active", + "status_updated_at": "string", + "storage_account": "dd-storage-account", + "storage_container": "dd-storage-container", + "updated_at": "string" + } + ], + "id": "integer" + }, + "id": "integer", + "type": "azure_uc_configs" + } + }, + "html": "
\n
\n
\n
\n

data

\n
\n

object

\n

Azure config pair.

\n
\n
\n
\n
\n
\n

attributes [required]

\n
\n

object

\n

Attributes for Azure config pair.

\n
\n
\n
\n
\n
\n

configs [required]

\n
\n

[object]

\n

An Azure config.

\n
\n
\n
\n
\n
\n

account_id [required]

\n
\n

string

\n

The tenant ID of the azure account.

\n
\n \n
\n
\n
\n
\n
\n

client_id [required]

\n
\n

string

\n

The client ID of the Azure account.

\n
\n \n
\n
\n
\n
\n
\n

created_at

\n
\n

string

\n

The timestamp when the Azure config was created.

\n
\n \n
\n
\n
\n
\n
\n

dataset_type [required]

\n
\n

string

\n

The dataset type of the Azure config.

\n
\n \n
\n
\n
\n
\n
\n

error_messages

\n
\n

[string]

\n

The error messages for the Azure config.

\n
\n \n
\n
\n
\n
\n
\n

export_name [required]

\n
\n

string

\n

The name of the configured Azure Export.

\n
\n \n
\n
\n
\n
\n
\n

export_path [required]

\n
\n

string

\n

The path where the Azure Export is saved.

\n
\n \n
\n
\n
\n
\n
\n

id

\n
\n

int64

\n

The ID of the Azure config.

\n
\n \n
\n
\n
\n
\n
\n

months

\n
\n

int32

\n

DEPRECATED: (deprecated) The number of months the report has been backfilled.

\n
\n \n
\n
\n
\n
\n
\n

scope [required]

\n
\n

string

\n

The scope of your observed subscription.

\n
\n \n
\n
\n
\n
\n
\n

status [required]

\n
\n

string

\n

The status of the Azure config.

\n
\n \n
\n
\n
\n
\n
\n

status_updated_at

\n
\n

string

\n

The timestamp when the Azure config status was last updated.

\n
\n \n
\n
\n
\n
\n
\n

storage_account [required]

\n
\n

string

\n

The name of the storage account where the Azure Export is saved.

\n
\n \n
\n
\n
\n
\n
\n

storage_container [required]

\n
\n

string

\n

The name of the storage container where the Azure Export is saved.

\n
\n \n
\n
\n
\n
\n
\n

updated_at

\n
\n

string

\n

The timestamp when the Azure config was last updated.

\n
\n \n
\n
\n
\n
\n
\n
\n
\n

id

\n
\n

int64

\n

The ID of the Azure config pair.

\n
\n \n
\n
\n
\n
\n
\n
\n
\n

id

\n
\n

int64

\n

The ID of Cloud Cost Management account.

\n
\n \n
\n
\n
\n
\n
\n

type [required]

\n
\n

enum

\n

Type of Azure config pair. \nAllowed enum values: azure_uc_configs

default: azure_uc_configs

\n
\n \n
\n
\n
\n
" + }, + "400": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "403": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "429": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + } + }, + "request": { + "json_curl": { + "data": { + "attributes": { + "account_id": "1234abcd-1234-abcd-1234-1234abcd1234", + "actual_bill_config": { + "export_name": "dd-actual-export", + "export_path": "dd-export-path", + "storage_account": "dd-storage-account", + "storage_container": "dd-storage-container" + }, + "amortized_bill_config": { + "export_name": "dd-actual-export", + "export_path": "dd-export-path", + "storage_account": "dd-storage-account", + "storage_container": "dd-storage-container" + }, + "client_id": "1234abcd-1234-abcd-1234-1234abcd1234", + "scope": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234" + }, + "type": "azure_uc_config_post_request" + } + }, + "json": { + "data": { + "attributes": { + "account_id": "1234abcd-1234-abcd-1234-1234abcd1234", + "actual_bill_config": { + "export_name": "dd-actual-export", + "export_path": "dd-export-path", + "storage_account": "dd-storage-account", + "storage_container": "dd-storage-container" + }, + "amortized_bill_config": { + "export_name": "dd-actual-export", + "export_path": "dd-export-path", + "storage_account": "dd-storage-account", + "storage_container": "dd-storage-container" + }, + "client_id": "1234abcd-1234-abcd-1234-1234abcd1234", + "is_enabled": false, + "scope": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234" + }, + "type": "azure_uc_config_post_request" + } + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

Azure config Post data.

\n
\n
\n
\n
\n
\n

attributes [required]

\n
\n

object

\n

Attributes for Azure config Post Request.

\n
\n
\n
\n
\n
\n

account_id [required]

\n
\n

string

\n

The tenant ID of the azure account.

\n
\n \n
\n
\n
\n
\n
\n

actual_bill_config [required]

\n
\n

object

\n

Bill config.

\n
\n
\n
\n
\n
\n

export_name [required]

\n
\n

string

\n

The name of the configured Azure Export.

\n
\n \n
\n
\n
\n
\n
\n

export_path [required]

\n
\n

string

\n

The path where the Azure Export is saved.

\n
\n \n
\n
\n
\n
\n
\n

storage_account [required]

\n
\n

string

\n

The name of the storage account where the Azure Export is saved.

\n
\n \n
\n
\n
\n
\n
\n

storage_container [required]

\n
\n

string

\n

The name of the storage container where the Azure Export is saved.

\n
\n \n
\n
\n
\n
\n
\n
\n
\n

amortized_bill_config [required]

\n
\n

object

\n

Bill config.

\n
\n
\n
\n
\n
\n

export_name [required]

\n
\n

string

\n

The name of the configured Azure Export.

\n
\n \n
\n
\n
\n
\n
\n

export_path [required]

\n
\n

string

\n

The path where the Azure Export is saved.

\n
\n \n
\n
\n
\n
\n
\n

storage_account [required]

\n
\n

string

\n

The name of the storage account where the Azure Export is saved.

\n
\n \n
\n
\n
\n
\n
\n

storage_container [required]

\n
\n

string

\n

The name of the storage container where the Azure Export is saved.

\n
\n \n
\n
\n
\n
\n
\n
\n
\n

client_id [required]

\n
\n

string

\n

The client ID of the azure account.

\n
\n \n
\n
\n
\n
\n
\n

is_enabled

\n
\n

boolean

\n

Whether or not the Cloud Cost Management account is enabled.

\n
\n \n
\n
\n
\n
\n
\n

scope [required]

\n
\n

string

\n

The scope of your observed subscription.

\n
\n \n
\n
\n
\n
\n
\n
\n
\n

type [required]

\n
\n

enum

\n

Type of Azure config Post Request. \nAllowed enum values: azure_uc_config_post_request

default: azure_uc_config_post_request

\n
\n \n
\n
\n
\n
" + } + }, + "DeleteCostAzureUCConfig": { + "responses": { + "400": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "404": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "429": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + } + }, + "request": { + "json_curl": {}, + "json": {}, + "html": "" + } + }, + "UpdateCostAzureUCConfigs": { + "responses": { + "200": { + "json": { + "data": { + "attributes": { + "configs": [ + { + "account_id": "1234abcd-1234-abcd-1234-1234abcd1234", + "client_id": "1234abcd-1234-abcd-1234-1234abcd1234", + "created_at": "string", + "dataset_type": "actual", + "error_messages": [], + "export_name": "dd-actual-export", + "export_path": "dd-export-path", + "id": "integer", + "months": "integer", + "scope": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "status": "active", + "status_updated_at": "string", + "storage_account": "dd-storage-account", + "storage_container": "dd-storage-container", + "updated_at": "string" + } + ], + "id": "integer" + }, + "id": "integer", + "type": "azure_uc_configs" + } + }, + "html": "
\n
\n
\n
\n

data

\n
\n

object

\n

Azure config pair.

\n
\n
\n
\n
\n
\n

attributes [required]

\n
\n

object

\n

Attributes for Azure config pair.

\n
\n
\n
\n
\n
\n

configs [required]

\n
\n

[object]

\n

An Azure config.

\n
\n
\n
\n
\n
\n

account_id [required]

\n
\n

string

\n

The tenant ID of the azure account.

\n
\n \n
\n
\n
\n
\n
\n

client_id [required]

\n
\n

string

\n

The client ID of the Azure account.

\n
\n \n
\n
\n
\n
\n
\n

created_at

\n
\n

string

\n

The timestamp when the Azure config was created.

\n
\n \n
\n
\n
\n
\n
\n

dataset_type [required]

\n
\n

string

\n

The dataset type of the Azure config.

\n
\n \n
\n
\n
\n
\n
\n

error_messages

\n
\n

[string]

\n

The error messages for the Azure config.

\n
\n \n
\n
\n
\n
\n
\n

export_name [required]

\n
\n

string

\n

The name of the configured Azure Export.

\n
\n \n
\n
\n
\n
\n
\n

export_path [required]

\n
\n

string

\n

The path where the Azure Export is saved.

\n
\n \n
\n
\n
\n
\n
\n

id

\n
\n

int64

\n

The ID of the Azure config.

\n
\n \n
\n
\n
\n
\n
\n

months

\n
\n

int32

\n

DEPRECATED: (deprecated) The number of months the report has been backfilled.

\n
\n \n
\n
\n
\n
\n
\n

scope [required]

\n
\n

string

\n

The scope of your observed subscription.

\n
\n \n
\n
\n
\n
\n
\n

status [required]

\n
\n

string

\n

The status of the Azure config.

\n
\n \n
\n
\n
\n
\n
\n

status_updated_at

\n
\n

string

\n

The timestamp when the Azure config status was last updated.

\n
\n \n
\n
\n
\n
\n
\n

storage_account [required]

\n
\n

string

\n

The name of the storage account where the Azure Export is saved.

\n
\n \n
\n
\n
\n
\n
\n

storage_container [required]

\n
\n

string

\n

The name of the storage container where the Azure Export is saved.

\n
\n \n
\n
\n
\n
\n
\n

updated_at

\n
\n

string

\n

The timestamp when the Azure config was last updated.

\n
\n \n
\n
\n
\n
\n
\n
\n
\n

id

\n
\n

int64

\n

The ID of the Azure config pair.

\n
\n \n
\n
\n
\n
\n
\n
\n
\n

id

\n
\n

int64

\n

The ID of Cloud Cost Management account.

\n
\n \n
\n
\n
\n
\n
\n

type [required]

\n
\n

enum

\n

Type of Azure config pair. \nAllowed enum values: azure_uc_configs

default: azure_uc_configs

\n
\n \n
\n
\n
\n
" + }, + "400": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "403": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "429": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + } + }, + "request": { + "json_curl": { + "data": { + "attributes": { + "is_enabled": true + }, + "type": "azure_uc_config_patch_request" + } + }, + "json": { + "data": { + "attributes": { + "is_enabled": true + }, + "type": "azure_uc_config_patch_request" + } + }, + "html": "
\n
\n
\n
\n

data [required]

\n
\n

object

\n

Azure config Patch data.

\n
\n
\n
\n
\n
\n

attributes [required]

\n
\n

object

\n

Attributes for Azure config Patch Request.

\n
\n
\n
\n
\n
\n

is_enabled [required]

\n
\n

boolean

\n

Whether or not the Cloud Cost Management account is enabled.

\n
\n \n
\n
\n
\n
\n
\n
\n
\n

type [required]

\n
\n

enum

\n

Type of Azure config Patch Request. \nAllowed enum values: azure_uc_config_patch_request

default: azure_uc_config_patch_request

\n
\n \n
\n
\n
\n
" + } + }, + "GetCloudCostActivity": { + "responses": { + "200": { + "json": { + "data": { + "attributes": { + "is_enabled": true + }, + "type": "cloud_cost_activity" + } + }, + "html": "
\n
\n
\n
\n

data

\n
\n

object

\n

Cloud Cost Activity.

\n
\n
\n
\n
\n
\n

attributes [required]

\n
\n

object

\n

Attributes for Cloud Cost activity.

\n
\n
\n
\n
\n
\n

is_enabled [required]

\n
\n

boolean

\n

Whether or not the cloud account is enabled.

\n
\n \n
\n
\n
\n
\n
\n
\n
\n

type [required]

\n
\n

enum

\n

Type of Cloud Cost Activity. \nAllowed enum values: cloud_cost_activity

default: cloud_cost_activity

\n
\n \n
\n
\n
\n
" + }, + "403": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + }, + "429": { + "json": { + "errors": [ + "Bad Request" + ] + }, + "html": "
\n
\n
\n
\n

errors [required]

\n
\n

[string]

\n

A list of errors.

\n
\n \n
\n
" + } + }, + "request": { + "json_curl": {}, + "json": {}, + "html": "" + } + } +} \ No newline at end of file diff --git a/content/en/api/v2/cloud-cost-management/request.CreateCostAWSCURConfig.json b/content/en/api/v2/cloud-cost-management/request.CreateCostAWSCURConfig.json new file mode 100644 index 0000000000000..ea766d2835bee --- /dev/null +++ b/content/en/api/v2/cloud-cost-management/request.CreateCostAWSCURConfig.json @@ -0,0 +1,12 @@ +{ + "data": { + "attributes": { + "account_id": "123456789123", + "bucket_name": "dd-cost-bucket", + "bucket_region": "us-east-1", + "report_name": "dd-report-name", + "report_prefix": "dd-report-prefix" + }, + "type": "aws_cur_config_post_request" + } +} \ No newline at end of file diff --git a/content/en/api/v2/cloud-cost-management/request.CreateCostAzureUCConfigs.json b/content/en/api/v2/cloud-cost-management/request.CreateCostAzureUCConfigs.json new file mode 100644 index 0000000000000..38914f50cd31f --- /dev/null +++ b/content/en/api/v2/cloud-cost-management/request.CreateCostAzureUCConfigs.json @@ -0,0 +1,23 @@ +{ + "data": { + "attributes": { + "account_id": "1234abcd-1234-abcd-1234-1234abcd1234", + "actual_bill_config": { + "export_name": "dd-actual-export", + "export_path": "dd-export-path", + "storage_account": "dd-storage-account", + "storage_container": "dd-storage-container" + }, + "amortized_bill_config": { + "export_name": "dd-actual-export", + "export_path": "dd-export-path", + "storage_account": "dd-storage-account", + "storage_container": "dd-storage-container" + }, + "client_id": "1234abcd-1234-abcd-1234-1234abcd1234", + "is_enabled": true, + "scope": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234" + }, + "type": "azure_uc_config_post_request" + } +} \ No newline at end of file diff --git a/content/en/api/v2/cloud-cost-management/request.UpdateCostAWSCURConfig.json b/content/en/api/v2/cloud-cost-management/request.UpdateCostAWSCURConfig.json new file mode 100644 index 0000000000000..6817cdce8e8da --- /dev/null +++ b/content/en/api/v2/cloud-cost-management/request.UpdateCostAWSCURConfig.json @@ -0,0 +1,8 @@ +{ + "data": { + "attributes": { + "is_enabled": true + }, + "type": "aws_cur_config_patch_request" + } +} \ No newline at end of file diff --git a/content/en/api/v2/cloud-cost-management/request.UpdateCostAzureUCConfigs.json b/content/en/api/v2/cloud-cost-management/request.UpdateCostAzureUCConfigs.json new file mode 100644 index 0000000000000..f18640f75d5bf --- /dev/null +++ b/content/en/api/v2/cloud-cost-management/request.UpdateCostAzureUCConfigs.json @@ -0,0 +1,8 @@ +{ + "data": { + "attributes": { + "is_enabled": true + }, + "type": "azure_uc_config_patch_request" + } +} \ No newline at end of file diff --git a/data/api/v2/CodeExamples.json b/data/api/v2/CodeExamples.json index e8e38cd1f08ad..90d4bd8f16dd2 100644 --- a/data/api/v2/CodeExamples.json +++ b/data/api/v2/CodeExamples.json @@ -96,6 +96,34 @@ "description": "Search tests events returns \"OK\" response with pagination" } ], + "CreateCostAWSCURConfig": [ + { + "group": "cloud_cost_management", + "suffix": "", + "description": "Create Cloud Cost Management AWS CUR config returns \"OK\" response" + } + ], + "CreateCostAzureUCConfigs": [ + { + "group": "cloud_cost_management", + "suffix": "", + "description": "Create Cloud Cost Management Azure configs returns \"OK\" response" + } + ], + "UpdateCostAWSCURConfig": [ + { + "group": "cloud_cost_management", + "suffix": "", + "description": "Update Cloud Cost Management AWS CUR config returns \"OK\" response" + } + ], + "UpdateCostAzureUCConfigs": [ + { + "group": "cloud_cost_management", + "suffix": "", + "description": "Update Cloud Cost Management Azure config returns \"OK\" response" + } + ], "CreateCloudWorkloadSecurityAgentRule": [ { "group": "cloud_workload_security", diff --git a/data/api/v2/full_spec.yaml b/data/api/v2/full_spec.yaml index 370990d7c2058..75a9640159414 100644 --- a/data/api/v2/full_spec.yaml +++ b/data/api/v2/full_spec.yaml @@ -151,6 +151,13 @@ components: required: true schema: type: string + CloudAccountID: + description: Cloud Account id. + in: path + name: cloud_account_id + required: true + schema: + type: string CloudWorkloadSecurityAgentRuleID: description: The ID of the Agent rule. example: 3b5-v82-ns6 @@ -762,6 +769,49 @@ components: type: string x-enum-varnames: - API_KEYS + AWSRelatedAccount: + description: AWS related account. + properties: + attributes: + $ref: '#/components/schemas/AWSRelatedAccountAttributes' + id: + description: The AWS account ID. + example: '123456789123' + type: string + type: + $ref: '#/components/schemas/AWSRelatedAccountType' + required: + - id + - type + type: object + AWSRelatedAccountAttributes: + description: Attributes for an AWS related account. + properties: + has_datadog_integration: + description: Whether or not the AWS account has a Datadog integration. + type: boolean + name: + description: The name of the AWS account. + type: string + type: object + AWSRelatedAccountType: + default: aws_account + description: Type of AWS related account. + enum: + - aws_account + example: aws_account + type: string + x-enum-varnames: + - AWS_ACCOUNT + AWSRelatedAccountsResponse: + description: List of AWS related accounts. + properties: + data: + description: An AWS related account. + items: + $ref: '#/components/schemas/AWSRelatedAccount' + type: array + type: object ActiveBillingDimensionsAttributes: description: List of active billing dimensions. properties: @@ -1390,6 +1440,459 @@ components: type: string x-enum-varnames: - AUTHN_MAPPINGS + AwsCURConfig: + description: AWS CUR config. + properties: + attributes: + $ref: '#/components/schemas/AwsCURConfigAttributes' + id: + description: The ID of the AWS CUR config. + format: int64 + type: integer + type: + $ref: '#/components/schemas/AwsCURConfigType' + required: + - attributes + - type + type: object + AwsCURConfigAttributes: + description: Attributes for An AWS CUR config. + properties: + account_id: + description: The AWS account ID. + example: '123456789123' + type: string + bucket_name: + description: The AWS bucket name used to store the Cost and Usage Report. + example: dd-cost-bucket + type: string + bucket_region: + description: The region the bucket is located in. + example: us-east-1 + type: string + created_at: + description: The timestamp when the AWS CUR config was created. + pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + type: string + error_messages: + description: The error messages for the AWS CUR config. + items: + type: string + type: array + months: + deprecated: true + description: (deprecated) The number of months the report has been backfilled. + format: int32 + maximum: 36 + type: integer + report_name: + description: The name of the Cost and Usage Report. + example: dd-report-name + type: string + report_prefix: + description: The report prefix used for the Cost and Usage Report. + example: dd-report-prefix + type: string + status: + description: The status of the AWS CUR. + example: active + type: string + status_updated_at: + description: The timestamp when the AWS CUR config status was updated. + pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + type: string + updated_at: + description: The timestamp when the AWS CUR config status was updated. + pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + type: string + required: + - account_id + - bucket_name + - bucket_region + - report_name + - report_prefix + - status + type: object + AwsCURConfigPatchData: + description: AWS CUR config Patch data. + properties: + attributes: + $ref: '#/components/schemas/AwsCURConfigPatchRequestAttributes' + type: + $ref: '#/components/schemas/AwsCURConfigPatchRequestType' + required: + - attributes + - type + type: object + AwsCURConfigPatchRequest: + description: AWS CUR config Patch Request. + properties: + data: + $ref: '#/components/schemas/AwsCURConfigPatchData' + required: + - data + type: object + AwsCURConfigPatchRequestAttributes: + description: Attributes for AWS CUR config Patch Request. + properties: + is_enabled: + description: Whether or not the Cloud Cost Management account is enabled. + example: true + type: boolean + required: + - is_enabled + type: object + AwsCURConfigPatchRequestType: + default: aws_cur_config_patch_request + description: Type of AWS CUR config Patch Request. + enum: + - aws_cur_config_patch_request + example: aws_cur_config_patch_request + type: string + x-enum-varnames: + - AWS_CUR_CONFIG_PATCH_REQUEST + AwsCURConfigPostData: + description: AWS CUR config Post data. + properties: + attributes: + $ref: '#/components/schemas/AwsCURConfigPostRequestAttributes' + type: + $ref: '#/components/schemas/AwsCURConfigPostRequestType' + required: + - attributes + - type + type: object + AwsCURConfigPostRequest: + description: AWS CUR config Post Request. + properties: + data: + $ref: '#/components/schemas/AwsCURConfigPostData' + required: + - data + type: object + AwsCURConfigPostRequestAttributes: + description: Attributes for AWS CUR config Post Request. + properties: + account_id: + description: The AWS account ID. + example: '123456789123' + type: string + bucket_name: + description: The AWS bucket name used to store the Cost and Usage Report. + example: dd-cost-bucket + type: string + bucket_region: + description: The region the bucket is located in. + example: us-east-1 + type: string + is_enabled: + description: Whether or not the Cloud Cost Management account is enabled. + type: boolean + months: + description: The month of the report. + format: int32 + maximum: 36 + type: integer + report_name: + description: The name of the Cost and Usage Report. + example: dd-report-name + type: string + report_prefix: + description: The report prefix used for the Cost and Usage Report. + example: dd-report-prefix + type: string + required: + - account_id + - bucket_name + - report_name + - report_prefix + type: object + AwsCURConfigPostRequestType: + default: aws_cur_config_post_request + description: Type of AWS CUR config Post Request. + enum: + - aws_cur_config_post_request + example: aws_cur_config_post_request + type: string + x-enum-varnames: + - AWS_CUR_CONFIG_POST_REQUEST + AwsCURConfigResponse: + description: Response of AWS CUR config. + properties: + data: + $ref: '#/components/schemas/AwsCURConfig' + type: object + AwsCURConfigType: + default: aws_cur_config + description: Type of AWS CUR config. + enum: + - aws_cur_config + example: aws_cur_config + type: string + x-enum-varnames: + - AWS_CUR_CONFIG + AwsCURConfigsResponse: + description: List of AWS CUR configs. + properties: + data: + description: An AWS CUR config. + items: + $ref: '#/components/schemas/AwsCURConfig' + type: array + type: object + AzureUCConfig: + description: Azure config. + properties: + account_id: + description: The tenant ID of the azure account. + example: 1234abcd-1234-abcd-1234-1234abcd1234 + type: string + client_id: + description: The client ID of the Azure account. + example: 1234abcd-1234-abcd-1234-1234abcd1234 + type: string + created_at: + description: The timestamp when the Azure config was created. + pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + type: string + dataset_type: + description: The dataset type of the Azure config. + example: actual + type: string + error_messages: + description: The error messages for the Azure config. + items: + type: string + type: array + export_name: + description: The name of the configured Azure Export. + example: dd-actual-export + type: string + export_path: + description: The path where the Azure Export is saved. + example: dd-export-path + type: string + id: + description: The ID of the Azure config. + format: int64 + type: integer + months: + deprecated: true + description: (deprecated) The number of months the report has been backfilled. + format: int32 + maximum: 36 + type: integer + scope: + description: The scope of your observed subscription. + example: subscriptions/1234abcd-1234-abcd-1234-1234abcd1234 + type: string + status: + description: The status of the Azure config. + example: active + type: string + status_updated_at: + description: The timestamp when the Azure config status was last updated. + pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + type: string + storage_account: + description: The name of the storage account where the Azure Export is saved. + example: dd-storage-account + type: string + storage_container: + description: The name of the storage container where the Azure Export is + saved. + example: dd-storage-container + type: string + updated_at: + description: The timestamp when the Azure config was last updated. + pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + type: string + required: + - account_id + - client_id + - dataset_type + - export_name + - export_path + - scope + - status + - storage_account + - storage_container + type: object + AzureUCConfigPair: + description: Azure config pair. + properties: + attributes: + $ref: '#/components/schemas/AzureUCConfigPairAttributes' + id: + description: The ID of Cloud Cost Management account. + format: int64 + type: integer + type: + $ref: '#/components/schemas/AzureUCConfigPairType' + required: + - attributes + - type + type: object + AzureUCConfigPairAttributes: + description: Attributes for Azure config pair. + properties: + configs: + description: An Azure config. + items: + $ref: '#/components/schemas/AzureUCConfig' + type: array + id: + description: The ID of the Azure config pair. + format: int64 + type: integer + required: + - configs + type: object + AzureUCConfigPairType: + default: azure_uc_configs + description: Type of Azure config pair. + enum: + - azure_uc_configs + example: azure_uc_configs + type: string + x-enum-varnames: + - AZURE_UC_CONFIGS + AzureUCConfigPairsResponse: + description: Response of Azure config pair. + properties: + data: + $ref: '#/components/schemas/AzureUCConfigPair' + type: object + AzureUCConfigPatchData: + description: Azure config Patch data. + properties: + attributes: + $ref: '#/components/schemas/AzureUCConfigPatchRequestAttributes' + type: + $ref: '#/components/schemas/AzureUCConfigPatchRequestType' + required: + - attributes + - type + type: object + AzureUCConfigPatchRequest: + description: Azure config Patch Request. + properties: + data: + $ref: '#/components/schemas/AzureUCConfigPatchData' + required: + - data + type: object + AzureUCConfigPatchRequestAttributes: + description: Attributes for Azure config Patch Request. + properties: + is_enabled: + description: Whether or not the Cloud Cost Management account is enabled. + example: true + type: boolean + required: + - is_enabled + type: object + AzureUCConfigPatchRequestType: + default: azure_uc_config_patch_request + description: Type of Azure config Patch Request. + enum: + - azure_uc_config_patch_request + example: azure_uc_config_patch_request + type: string + x-enum-varnames: + - AZURE_UC_CONFIG_PATCH_REQUEST + AzureUCConfigPostData: + description: Azure config Post data. + properties: + attributes: + $ref: '#/components/schemas/AzureUCConfigPostRequestAttributes' + type: + $ref: '#/components/schemas/AzureUCConfigPostRequestType' + required: + - attributes + - type + type: object + AzureUCConfigPostRequest: + description: Azure config Post Request. + properties: + data: + $ref: '#/components/schemas/AzureUCConfigPostData' + required: + - data + type: object + AzureUCConfigPostRequestAttributes: + description: Attributes for Azure config Post Request. + properties: + account_id: + description: The tenant ID of the azure account. + example: 1234abcd-1234-abcd-1234-1234abcd1234 + type: string + actual_bill_config: + $ref: '#/components/schemas/BillConfig' + amortized_bill_config: + $ref: '#/components/schemas/BillConfig' + client_id: + description: The client ID of the azure account. + example: 1234abcd-1234-abcd-1234-1234abcd1234 + type: string + is_enabled: + description: Whether or not the Cloud Cost Management account is enabled. + type: boolean + scope: + description: The scope of your observed subscription. + example: subscriptions/1234abcd-1234-abcd-1234-1234abcd1234 + type: string + required: + - account_id + - actual_bill_config + - amortized_bill_config + - client_id + - scope + type: object + AzureUCConfigPostRequestType: + default: azure_uc_config_post_request + description: Type of Azure config Post Request. + enum: + - azure_uc_config_post_request + example: azure_uc_config_post_request + type: string + x-enum-varnames: + - AZURE_UC_CONFIG_POST_REQUEST + AzureUCConfigsResponse: + description: List of Azure accounts with configs. + properties: + data: + description: An Azure config pair. + items: + $ref: '#/components/schemas/AzureUCConfigPair' + type: array + type: object + BillConfig: + description: Bill config. + properties: + export_name: + description: The name of the configured Azure Export. + example: dd-actual-export + type: string + export_path: + description: The path where the Azure Export is saved. + example: dd-export-path + type: string + storage_account: + description: The name of the storage account where the Azure Export is saved. + example: dd-storage-account + type: string + storage_container: + description: The name of the storage container where the Azure Export is + saved. + example: dd-storage-container + type: string + required: + - export_name + - export_path + - storage_account + - storage_container + type: object BulkMuteFindingsRequest: description: The new bulk mute finding request. properties: @@ -3026,6 +3529,42 @@ components: type: string x-enum-varnames: - CLOUD_CONFIGURATION + CloudCostActivity: + description: Cloud Cost Activity. + properties: + attributes: + $ref: '#/components/schemas/CloudCostActivityAttributes' + type: + $ref: '#/components/schemas/CloudCostActivityType' + required: + - attributes + - type + type: object + CloudCostActivityAttributes: + description: Attributes for Cloud Cost activity. + properties: + is_enabled: + description: Whether or not the cloud account is enabled. + example: true + type: boolean + required: + - is_enabled + type: object + CloudCostActivityResponse: + description: Response for Cloud Cost activity. + properties: + data: + $ref: '#/components/schemas/CloudCostActivity' + type: object + CloudCostActivityType: + default: cloud_cost_activity + description: Type of Cloud Cost Activity. + enum: + - cloud_cost_activity + example: cloud_cost_activity + type: string + x-enum-varnames: + - CLOUD_COST_ACTIVITY CloudWorkloadSecurityAgentRuleAttributes: description: A Cloud Workload Security Agent rule returned by the API. properties: @@ -21820,6 +22359,391 @@ paths: resultsPath: data x-undo: type: safe + /api/v2/cost/aws_cur_config: + get: + description: List the AWS CUR configs. + operationId: ListCostAWSCURConfigs + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AwsCURConfigsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List Cloud Cost Management AWS CUR configs + tags: + - Cloud Cost Management + x-menu-order: 1 + x-permission: + operator: OR + permissions: + - CLOUD_COST_MANAGEMENT_READ + x-undo: + type: safe + post: + description: Create a Cloud Cost Management account for an AWS CUR config. + operationId: CreateCostAWSCURConfig + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AwsCURConfigPostRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AwsCURConfigResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create Cloud Cost Management AWS CUR config + tags: + - Cloud Cost Management + x-menu-order: 3 + x-permission: + operator: OR + permissions: + - CLOUD_COST_MANAGEMENT_WRITE + x-undo: + type: idempotent + /api/v2/cost/aws_cur_config/{cloud_account_id}: + delete: + description: Archive a Cloud Cost Management Account. + operationId: DeleteCostAWSCURConfig + parameters: + - $ref: '#/components/parameters/CloudAccountID' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete Cloud Cost Management AWS CUR config + tags: + - Cloud Cost Management + x-menu-order: 4 + x-permission: + operator: OR + permissions: + - CLOUD_COST_MANAGEMENT_WRITE + x-undo: + type: idempotent + patch: + description: Update the status of an AWS CUR config (active/archived). + operationId: UpdateCostAWSCURConfig + parameters: + - $ref: '#/components/parameters/CloudAccountID' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AwsCURConfigPatchRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AwsCURConfigsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update Cloud Cost Management AWS CUR config + tags: + - Cloud Cost Management + x-menu-order: 2 + x-permission: + operator: OR + permissions: + - CLOUD_COST_MANAGEMENT_WRITE + x-undo: + type: idempotent + /api/v2/cost/aws_related_accounts: + get: + description: List the AWS accounts in an organization by calling 'organizations:ListAccounts' + from the specified management account. + operationId: ListAWSRelatedAccounts + parameters: + - description: The ID of the management account to filter by. + example: '123456789123' + in: query + name: filter[management_account_id] + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AWSRelatedAccountsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List related AWS accounts + tags: + - Cloud Cost Management + x-menu-order: 5 + x-permission: + operator: OR + permissions: + - CLOUD_COST_MANAGEMENT_READ + x-undo: + type: safe + /api/v2/cost/azure_uc_config: + get: + description: List the Azure configs. + operationId: ListCostAzureUCConfigs + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AzureUCConfigsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List Cloud Cost Management Azure configs + tags: + - Cloud Cost Management + x-menu-order: 6 + x-permission: + operator: OR + permissions: + - CLOUD_COST_MANAGEMENT_READ + x-undo: + type: safe + post: + description: Create a Cloud Cost Management account for an Azure config. + operationId: CreateCostAzureUCConfigs + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AzureUCConfigPostRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AzureUCConfigPairsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create Cloud Cost Management Azure configs + tags: + - Cloud Cost Management + x-menu-order: 8 + x-permission: + operator: OR + permissions: + - CLOUD_COST_MANAGEMENT_WRITE + x-undo: + type: idempotent + /api/v2/cost/azure_uc_config/{cloud_account_id}: + delete: + description: Archive a Cloud Cost Management Account. + operationId: DeleteCostAzureUCConfig + parameters: + - $ref: '#/components/parameters/CloudAccountID' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete Cloud Cost Management Azure config + tags: + - Cloud Cost Management + x-menu-order: 9 + x-permission: + operator: OR + permissions: + - CLOUD_COST_MANAGEMENT_WRITE + x-undo: + type: idempotent + patch: + description: Update the status of an Azure config (active/archived). + operationId: UpdateCostAzureUCConfigs + parameters: + - $ref: '#/components/parameters/CloudAccountID' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AzureUCConfigPatchRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AzureUCConfigPairsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update Cloud Cost Management Azure config + tags: + - Cloud Cost Management + x-menu-order: 7 + x-permission: + operator: OR + permissions: + - CLOUD_COST_MANAGEMENT_WRITE + x-undo: + type: idempotent + /api/v2/cost/enabled: + get: + description: Get the Cloud Cost Management activity. + operationId: GetCloudCostActivity + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CloudCostActivityResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Cloud Cost Enabled + tags: + - Cloud Cost Management + x-menu-order: 10 + x-permission: + operator: OR + permissions: + - CLOUD_COST_MANAGEMENT_READ + x-undo: + type: safe /api/v2/cost_by_tag/active_billing_dimensions: get: description: Get active billing dimensions for cost attribution. Cost data for @@ -33924,6 +34848,9 @@ tags: name: CI Visibility Pipelines - description: Search or aggregate your CI Visibility test events over HTTP. name: CI Visibility Tests +- description: The Cloud Cost Management API allows you to setup, edit and delete + cloud cost management accounts for AWS & Azure. + name: Cloud Cost Management - description: Workload activity security rules for generating events using the Datadog security Agent. name: Cloud Workload Security diff --git a/data/api/v2/full_spec_deref.json b/data/api/v2/full_spec_deref.json index 378506843e32f..9368bf50d8264 100644 --- a/data/api/v2/full_spec_deref.json +++ b/data/api/v2/full_spec_deref.json @@ -215,6 +215,15 @@ "type": "string" } }, + "CloudAccountID": { + "description": "Cloud Account id.", + "in": "path", + "name": "cloud_account_id", + "required": true, + "schema": { + "type": "string" + } + }, "CloudWorkloadSecurityAgentRuleID": { "description": "The ID of the Agent rule.", "example": "3b5-v82-ns6", @@ -2664,6 +2673,124 @@ "API_KEYS" ] }, + "AWSRelatedAccount": { + "description": "AWS related account.", + "properties": { + "attributes": { + "description": "Attributes for an AWS related account.", + "properties": { + "has_datadog_integration": { + "description": "Whether or not the AWS account has a Datadog integration.", + "type": "boolean" + }, + "name": { + "description": "The name of the AWS account.", + "type": "string" + } + }, + "type": "object" + }, + "id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "type": { + "default": "aws_account", + "description": "Type of AWS related account.", + "enum": [ + "aws_account" + ], + "example": "aws_account", + "type": "string", + "x-enum-varnames": [ + "AWS_ACCOUNT" + ] + } + }, + "required": [ + "id", + "type" + ], + "type": "object" + }, + "AWSRelatedAccountAttributes": { + "description": "Attributes for an AWS related account.", + "properties": { + "has_datadog_integration": { + "description": "Whether or not the AWS account has a Datadog integration.", + "type": "boolean" + }, + "name": { + "description": "The name of the AWS account.", + "type": "string" + } + }, + "type": "object" + }, + "AWSRelatedAccountType": { + "default": "aws_account", + "description": "Type of AWS related account.", + "enum": [ + "aws_account" + ], + "example": "aws_account", + "type": "string", + "x-enum-varnames": [ + "AWS_ACCOUNT" + ] + }, + "AWSRelatedAccountsResponse": { + "description": "List of AWS related accounts.", + "properties": { + "data": { + "description": "An AWS related account.", + "items": { + "description": "AWS related account.", + "properties": { + "attributes": { + "description": "Attributes for an AWS related account.", + "properties": { + "has_datadog_integration": { + "description": "Whether or not the AWS account has a Datadog integration.", + "type": "boolean" + }, + "name": { + "description": "The name of the AWS account.", + "type": "string" + } + }, + "type": "object" + }, + "id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "type": { + "default": "aws_account", + "description": "Type of AWS related account.", + "enum": [ + "aws_account" + ], + "example": "aws_account", + "type": "string", + "x-enum-varnames": [ + "AWS_ACCOUNT" + ] + } + }, + "required": [ + "id", + "type" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, "ActiveBillingDimensionsAttributes": { "description": "List of active billing dimensions.", "properties": { @@ -5922,115 +6049,251 @@ "AUTHN_MAPPINGS" ] }, - "BulkMuteFindingsRequest": { - "description": "The new bulk mute finding request.", + "AwsCURConfig": { + "description": "AWS CUR config.", "properties": { - "data": { - "description": "Data object containing the new bulk mute properties of the finding.", + "attributes": { + "description": "Attributes for An AWS CUR config.", "properties": { - "attributes": { - "additionalProperties": false, - "description": "The mute properties to be updated.", - "properties": { - "mute": { - "additionalProperties": false, - "description": "Object containing the new mute properties of the findings.", - "properties": { - "description": { - "description": "Additional information about the reason why those findings are muted or unmuted. This field has a maximum limit of 280 characters.", - "type": "string" - }, - "expiration_date": { - "description": "The expiration date of the mute or unmute action (Unix ms). It must be set to a value greater than the current timestamp.\nIf this field is not provided, the finding will be muted or unmuted indefinitely, which is equivalent to setting the expiration date to 9999999999999.\n", - "example": 1778721573794, - "format": "int64", - "type": "integer" - }, - "muted": { - "description": "Whether those findings should be muted or unmuted.", - "example": true, - "type": "boolean" - }, - "reason": { - "description": "The reason why this finding is muted or unmuted.", - "enum": [ - "PENDING_FIX", - "FALSE_POSITIVE", - "ACCEPTED_RISK", - "NO_PENDING_FIX", - "HUMAN_ERROR", - "NO_LONGER_ACCEPTED_RISK", - "OTHER" - ], - "example": "ACCEPTED_RISK", - "type": "string", - "x-enum-varnames": [ - "PENDING_FIX", - "FALSE_POSITIVE", - "ACCEPTED_RISK", - "NO_PENDING_FIX", - "HUMAN_ERROR", - "NO_LONGER_ACCEPTED_RISK", - "OTHER" - ] - } - }, - "required": [ - "muted", - "reason" - ], - "type": "object" - } + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the AWS CUR config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the AWS CUR config.", + "items": { + "type": "string" }, - "required": [ - "mute" - ], - "type": "object" + "type": "array" }, - "id": { - "description": "UUID to identify the request", - "example": "dbe5f567-192b-4404-b908-29b70e1c9f76", + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", "type": "string" }, - "meta": { - "description": "Meta object containing the findings to be updated.", + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + }, + "status": { + "description": "The status of the AWS CUR.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "bucket_region", + "report_name", + "report_prefix", + "status" + ], + "type": "object" + }, + "id": { + "description": "The ID of the AWS CUR config.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "aws_cur_config", + "description": "Type of AWS CUR config.", + "enum": [ + "aws_cur_config" + ], + "example": "aws_cur_config", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "AwsCURConfigAttributes": { + "description": "Attributes for An AWS CUR config.", + "properties": { + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the AWS CUR config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the AWS CUR config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + }, + "status": { + "description": "The status of the AWS CUR.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "bucket_region", + "report_name", + "report_prefix", + "status" + ], + "type": "object" + }, + "AwsCURConfigPatchData": { + "description": "AWS CUR config Patch data.", + "properties": { + "attributes": { + "description": "Attributes for AWS CUR config Patch Request.", + "properties": { + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" + }, + "type": { + "default": "aws_cur_config_patch_request", + "description": "Type of AWS CUR config Patch Request.", + "enum": [ + "aws_cur_config_patch_request" + ], + "example": "aws_cur_config_patch_request", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG_PATCH_REQUEST" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "AwsCURConfigPatchRequest": { + "description": "AWS CUR config Patch Request.", + "properties": { + "data": { + "description": "AWS CUR config Patch data.", + "properties": { + "attributes": { + "description": "Attributes for AWS CUR config Patch Request.", "properties": { - "findings": { - "description": "Array of findings.", - "items": { - "description": "Finding object containing the finding information.", - "properties": { - "finding_id": { - "description": "The unique ID for this finding.", - "example": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "example": true, + "type": "boolean" } }, + "required": [ + "is_enabled" + ], "type": "object" }, "type": { - "default": "finding", - "description": "The JSON:API type for findings.", + "default": "aws_cur_config_patch_request", + "description": "Type of AWS CUR config Patch Request.", "enum": [ - "finding" + "aws_cur_config_patch_request" ], - "example": "finding", + "example": "aws_cur_config_patch_request", "type": "string", "x-enum-varnames": [ - "FINDING" + "AWS_CUR_CONFIG_PATCH_REQUEST" ] } }, "required": [ - "id", - "type", "attributes", - "meta" + "type" ], "type": "object" } @@ -6040,279 +6303,1049 @@ ], "type": "object" }, - "BulkMuteFindingsRequestAttributes": { - "additionalProperties": false, - "description": "The mute properties to be updated.", + "AwsCURConfigPatchRequestAttributes": { + "description": "Attributes for AWS CUR config Patch Request.", "properties": { - "mute": { - "additionalProperties": false, - "description": "Object containing the new mute properties of the findings.", + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" + }, + "AwsCURConfigPatchRequestType": { + "default": "aws_cur_config_patch_request", + "description": "Type of AWS CUR config Patch Request.", + "enum": [ + "aws_cur_config_patch_request" + ], + "example": "aws_cur_config_patch_request", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG_PATCH_REQUEST" + ] + }, + "AwsCURConfigPostData": { + "description": "AWS CUR config Post data.", + "properties": { + "attributes": { + "description": "Attributes for AWS CUR config Post Request.", "properties": { - "description": { - "description": "Additional information about the reason why those findings are muted or unmuted. This field has a maximum limit of 280 characters.", + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", "type": "string" }, - "expiration_date": { - "description": "The expiration date of the mute or unmute action (Unix ms). It must be set to a value greater than the current timestamp.\nIf this field is not provided, the finding will be muted or unmuted indefinitely, which is equivalent to setting the expiration date to 9999999999999.\n", - "example": 1778721573794, - "format": "int64", - "type": "integer" + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" }, - "muted": { - "description": "Whether those findings should be muted or unmuted.", - "example": true, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", "type": "boolean" }, - "reason": { - "description": "The reason why this finding is muted or unmuted.", + "months": { + "description": "The month of the report.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "report_name", + "report_prefix" + ], + "type": "object" + }, + "type": { + "default": "aws_cur_config_post_request", + "description": "Type of AWS CUR config Post Request.", + "enum": [ + "aws_cur_config_post_request" + ], + "example": "aws_cur_config_post_request", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG_POST_REQUEST" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "AwsCURConfigPostRequest": { + "description": "AWS CUR config Post Request.", + "properties": { + "data": { + "description": "AWS CUR config Post data.", + "properties": { + "attributes": { + "description": "Attributes for AWS CUR config Post Request.", + "properties": { + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "type": "boolean" + }, + "months": { + "description": "The month of the report.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "report_name", + "report_prefix" + ], + "type": "object" + }, + "type": { + "default": "aws_cur_config_post_request", + "description": "Type of AWS CUR config Post Request.", "enum": [ - "PENDING_FIX", - "FALSE_POSITIVE", - "ACCEPTED_RISK", - "NO_PENDING_FIX", - "HUMAN_ERROR", - "NO_LONGER_ACCEPTED_RISK", - "OTHER" + "aws_cur_config_post_request" ], - "example": "ACCEPTED_RISK", + "example": "aws_cur_config_post_request", "type": "string", "x-enum-varnames": [ - "PENDING_FIX", - "FALSE_POSITIVE", - "ACCEPTED_RISK", - "NO_PENDING_FIX", - "HUMAN_ERROR", - "NO_LONGER_ACCEPTED_RISK", - "OTHER" + "AWS_CUR_CONFIG_POST_REQUEST" ] } }, "required": [ - "muted", - "reason" + "attributes", + "type" ], "type": "object" } }, "required": [ - "mute" + "data" ], "type": "object" }, - "BulkMuteFindingsRequestData": { - "description": "Data object containing the new bulk mute properties of the finding.", + "AwsCURConfigPostRequestAttributes": { + "description": "Attributes for AWS CUR config Post Request.", "properties": { - "attributes": { - "additionalProperties": false, - "description": "The mute properties to be updated.", + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "type": "boolean" + }, + "months": { + "description": "The month of the report.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "report_name", + "report_prefix" + ], + "type": "object" + }, + "AwsCURConfigPostRequestType": { + "default": "aws_cur_config_post_request", + "description": "Type of AWS CUR config Post Request.", + "enum": [ + "aws_cur_config_post_request" + ], + "example": "aws_cur_config_post_request", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG_POST_REQUEST" + ] + }, + "AwsCURConfigResponse": { + "description": "Response of AWS CUR config.", + "properties": { + "data": { + "description": "AWS CUR config.", "properties": { - "mute": { - "additionalProperties": false, - "description": "Object containing the new mute properties of the findings.", + "attributes": { + "description": "Attributes for An AWS CUR config.", "properties": { - "description": { - "description": "Additional information about the reason why those findings are muted or unmuted. This field has a maximum limit of 280 characters.", + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", "type": "string" }, - "expiration_date": { - "description": "The expiration date of the mute or unmute action (Unix ms). It must be set to a value greater than the current timestamp.\nIf this field is not provided, the finding will be muted or unmuted indefinitely, which is equivalent to setting the expiration date to 9999999999999.\n", - "example": 1778721573794, - "format": "int64", + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the AWS CUR config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the AWS CUR config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, "type": "integer" }, - "muted": { - "description": "Whether those findings should be muted or unmuted.", - "example": true, - "type": "boolean" + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" }, - "reason": { - "description": "The reason why this finding is muted or unmuted.", - "enum": [ - "PENDING_FIX", - "FALSE_POSITIVE", - "ACCEPTED_RISK", - "NO_PENDING_FIX", - "HUMAN_ERROR", - "NO_LONGER_ACCEPTED_RISK", - "OTHER" - ], - "example": "ACCEPTED_RISK", - "type": "string", - "x-enum-varnames": [ - "PENDING_FIX", - "FALSE_POSITIVE", - "ACCEPTED_RISK", - "NO_PENDING_FIX", - "HUMAN_ERROR", - "NO_LONGER_ACCEPTED_RISK", - "OTHER" - ] + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + }, + "status": { + "description": "The status of the AWS CUR.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" } }, "required": [ - "muted", - "reason" + "account_id", + "bucket_name", + "bucket_region", + "report_name", + "report_prefix", + "status" ], "type": "object" + }, + "id": { + "description": "The ID of the AWS CUR config.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "aws_cur_config", + "description": "Type of AWS CUR config.", + "enum": [ + "aws_cur_config" + ], + "example": "aws_cur_config", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG" + ] } }, "required": [ - "mute" + "attributes", + "type" ], "type": "object" + } + }, + "type": "object" + }, + "AwsCURConfigType": { + "default": "aws_cur_config", + "description": "Type of AWS CUR config.", + "enum": [ + "aws_cur_config" + ], + "example": "aws_cur_config", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG" + ] + }, + "AwsCURConfigsResponse": { + "description": "List of AWS CUR configs.", + "properties": { + "data": { + "description": "An AWS CUR config.", + "items": { + "description": "AWS CUR config.", + "properties": { + "attributes": { + "description": "Attributes for An AWS CUR config.", + "properties": { + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the AWS CUR config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the AWS CUR config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + }, + "status": { + "description": "The status of the AWS CUR.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "bucket_region", + "report_name", + "report_prefix", + "status" + ], + "type": "object" + }, + "id": { + "description": "The ID of the AWS CUR config.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "aws_cur_config", + "description": "Type of AWS CUR config.", + "enum": [ + "aws_cur_config" + ], + "example": "aws_cur_config", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "AzureUCConfig": { + "description": "Azure config.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the Azure config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "dataset_type": { + "description": "The dataset type of the Azure config.", + "example": "actual", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the Azure config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" }, "id": { - "description": "UUID to identify the request", - "example": "dbe5f567-192b-4404-b908-29b70e1c9f76", + "description": "The ID of the Azure config.", + "format": "int64", + "type": "integer" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", "type": "string" }, - "meta": { - "description": "Meta object containing the findings to be updated.", + "status": { + "description": "The status of the Azure config.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the Azure config status was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the Azure config was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "client_id", + "dataset_type", + "export_name", + "export_path", + "scope", + "status", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "AzureUCConfigPair": { + "description": "Azure config pair.", + "properties": { + "attributes": { + "description": "Attributes for Azure config pair.", "properties": { - "findings": { - "description": "Array of findings.", + "configs": { + "description": "An Azure config.", "items": { - "description": "Finding object containing the finding information.", + "description": "Azure config.", "properties": { - "finding_id": { - "description": "The unique ID for this finding.", - "example": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==", + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the Azure config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "dataset_type": { + "description": "The dataset type of the Azure config.", + "example": "actual", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the Azure config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "id": { + "description": "The ID of the Azure config.", + "format": "int64", + "type": "integer" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "status": { + "description": "The status of the Azure config.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the Azure config status was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the Azure config was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", "type": "string" } }, + "required": [ + "account_id", + "client_id", + "dataset_type", + "export_name", + "export_path", + "scope", + "status", + "storage_account", + "storage_container" + ], "type": "object" }, "type": "array" + }, + "id": { + "description": "The ID of the Azure config pair.", + "format": "int64", + "type": "integer" } }, + "required": [ + "configs" + ], "type": "object" }, + "id": { + "description": "The ID of Cloud Cost Management account.", + "format": "int64", + "type": "integer" + }, "type": { - "default": "finding", - "description": "The JSON:API type for findings.", + "default": "azure_uc_configs", + "description": "Type of Azure config pair.", "enum": [ - "finding" + "azure_uc_configs" ], - "example": "finding", + "example": "azure_uc_configs", "type": "string", "x-enum-varnames": [ - "FINDING" + "AZURE_UC_CONFIGS" ] } }, "required": [ - "id", - "type", "attributes", - "meta" + "type" ], "type": "object" }, - "BulkMuteFindingsRequestMeta": { - "description": "Meta object containing the findings to be updated.", + "AzureUCConfigPairAttributes": { + "description": "Attributes for Azure config pair.", "properties": { - "findings": { - "description": "Array of findings.", + "configs": { + "description": "An Azure config.", "items": { - "description": "Finding object containing the finding information.", + "description": "Azure config.", "properties": { - "finding_id": { - "description": "The unique ID for this finding.", - "example": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==", + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the Azure config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "dataset_type": { + "description": "The dataset type of the Azure config.", + "example": "actual", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the Azure config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "id": { + "description": "The ID of the Azure config.", + "format": "int64", + "type": "integer" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "status": { + "description": "The status of the Azure config.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the Azure config status was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the Azure config was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", "type": "string" } }, + "required": [ + "account_id", + "client_id", + "dataset_type", + "export_name", + "export_path", + "scope", + "status", + "storage_account", + "storage_container" + ], "type": "object" }, "type": "array" + }, + "id": { + "description": "The ID of the Azure config pair.", + "format": "int64", + "type": "integer" } }, + "required": [ + "configs" + ], "type": "object" }, - "BulkMuteFindingsRequestMetaFindings": { - "description": "Finding object containing the finding information.", + "AzureUCConfigPairType": { + "default": "azure_uc_configs", + "description": "Type of Azure config pair.", + "enum": [ + "azure_uc_configs" + ], + "example": "azure_uc_configs", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIGS" + ] + }, + "AzureUCConfigPairsResponse": { + "description": "Response of Azure config pair.", "properties": { - "finding_id": { - "description": "The unique ID for this finding.", - "example": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==", - "type": "string" + "data": { + "description": "Azure config pair.", + "properties": { + "attributes": { + "description": "Attributes for Azure config pair.", + "properties": { + "configs": { + "description": "An Azure config.", + "items": { + "description": "Azure config.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the Azure config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "dataset_type": { + "description": "The dataset type of the Azure config.", + "example": "actual", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the Azure config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "id": { + "description": "The ID of the Azure config.", + "format": "int64", + "type": "integer" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "status": { + "description": "The status of the Azure config.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the Azure config status was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the Azure config was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "client_id", + "dataset_type", + "export_name", + "export_path", + "scope", + "status", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "type": "array" + }, + "id": { + "description": "The ID of the Azure config pair.", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "configs" + ], + "type": "object" + }, + "id": { + "description": "The ID of Cloud Cost Management account.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "azure_uc_configs", + "description": "Type of Azure config pair.", + "enum": [ + "azure_uc_configs" + ], + "example": "azure_uc_configs", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIGS" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" } }, "type": "object" }, - "BulkMuteFindingsRequestProperties": { - "additionalProperties": false, - "description": "Object containing the new mute properties of the findings.", + "AzureUCConfigPatchData": { + "description": "Azure config Patch data.", "properties": { - "description": { - "description": "Additional information about the reason why those findings are muted or unmuted. This field has a maximum limit of 280 characters.", - "type": "string" - }, - "expiration_date": { - "description": "The expiration date of the mute or unmute action (Unix ms). It must be set to a value greater than the current timestamp.\nIf this field is not provided, the finding will be muted or unmuted indefinitely, which is equivalent to setting the expiration date to 9999999999999.\n", - "example": 1778721573794, - "format": "int64", - "type": "integer" - }, - "muted": { - "description": "Whether those findings should be muted or unmuted.", - "example": true, - "type": "boolean" + "attributes": { + "description": "Attributes for Azure config Patch Request.", + "properties": { + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" }, - "reason": { - "description": "The reason why this finding is muted or unmuted.", + "type": { + "default": "azure_uc_config_patch_request", + "description": "Type of Azure config Patch Request.", "enum": [ - "PENDING_FIX", - "FALSE_POSITIVE", - "ACCEPTED_RISK", - "NO_PENDING_FIX", - "HUMAN_ERROR", - "NO_LONGER_ACCEPTED_RISK", - "OTHER" + "azure_uc_config_patch_request" ], - "example": "ACCEPTED_RISK", + "example": "azure_uc_config_patch_request", "type": "string", "x-enum-varnames": [ - "PENDING_FIX", - "FALSE_POSITIVE", - "ACCEPTED_RISK", - "NO_PENDING_FIX", - "HUMAN_ERROR", - "NO_LONGER_ACCEPTED_RISK", - "OTHER" + "AZURE_UC_CONFIG_PATCH_REQUEST" ] } }, "required": [ - "muted", - "reason" + "attributes", + "type" ], "type": "object" }, - "BulkMuteFindingsResponse": { - "description": "The expected response schema.", + "AzureUCConfigPatchRequest": { + "description": "Azure config Patch Request.", "properties": { "data": { - "description": "Data object containing the ID of the request that was updated.", + "description": "Azure config Patch data.", "properties": { - "id": { - "description": "UUID used to identify the request", - "example": "93bfeb70-af47-424d-908a-948d3f08e37f", - "type": "string" + "attributes": { + "description": "Attributes for Azure config Patch Request.", + "properties": { + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" }, "type": { - "default": "finding", - "description": "The JSON:API type for findings.", + "default": "azure_uc_config_patch_request", + "description": "Type of Azure config Patch Request.", "enum": [ - "finding" + "azure_uc_config_patch_request" ], - "example": "finding", + "example": "azure_uc_config_patch_request", "type": "string", "x-enum-varnames": [ - "FINDING" + "AZURE_UC_CONFIG_PATCH_REQUEST" ] } }, + "required": [ + "attributes", + "type" + ], "type": "object" } }, @@ -6321,74 +7354,1035 @@ ], "type": "object" }, - "BulkMuteFindingsResponseData": { - "description": "Data object containing the ID of the request that was updated.", + "AzureUCConfigPatchRequestAttributes": { + "description": "Attributes for Azure config Patch Request.", "properties": { - "id": { - "description": "UUID used to identify the request", - "example": "93bfeb70-af47-424d-908a-948d3f08e37f", - "type": "string" - }, - "type": { - "default": "finding", - "description": "The JSON:API type for findings.", - "enum": [ - "finding" - ], - "example": "finding", - "type": "string", - "x-enum-varnames": [ - "FINDING" - ] + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "example": true, + "type": "boolean" } }, + "required": [ + "is_enabled" + ], "type": "object" }, - "CIAppAggregateBucketValue": { - "description": "A bucket value, can either be a timeseries or a single value.", - "oneOf": [ - { - "description": "A single string value.", - "type": "string" - }, - { - "description": "A single number value.", - "format": "double", - "type": "number" - }, - { - "description": "A timeseries array.", - "items": { - "description": "A timeseries point.", - "properties": { - "time": { - "description": "The time value for this point.", - "example": "2020-06-08T11:55:00.123Z", - "format": "date-time", - "type": "string" - }, - "value": { - "description": "The value for this point.", - "example": 19, - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "type": "array", - "x-generate-alias-as-model": true - } + "AzureUCConfigPatchRequestType": { + "default": "azure_uc_config_patch_request", + "description": "Type of Azure config Patch Request.", + "enum": [ + "azure_uc_config_patch_request" + ], + "example": "azure_uc_config_patch_request", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIG_PATCH_REQUEST" ] }, - "CIAppAggregateBucketValueSingleNumber": { - "description": "A single number value.", - "format": "double", - "type": "number" - }, - "CIAppAggregateBucketValueSingleString": { - "description": "A single string value.", - "type": "string" + "AzureUCConfigPostData": { + "description": "Azure config Post data.", + "properties": { + "attributes": { + "description": "Attributes for Azure config Post Request.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "actual_bill_config": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "amortized_bill_config": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "client_id": { + "description": "The client ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "type": "boolean" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + } + }, + "required": [ + "account_id", + "actual_bill_config", + "amortized_bill_config", + "client_id", + "scope" + ], + "type": "object" + }, + "type": { + "default": "azure_uc_config_post_request", + "description": "Type of Azure config Post Request.", + "enum": [ + "azure_uc_config_post_request" + ], + "example": "azure_uc_config_post_request", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIG_POST_REQUEST" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "AzureUCConfigPostRequest": { + "description": "Azure config Post Request.", + "properties": { + "data": { + "description": "Azure config Post data.", + "properties": { + "attributes": { + "description": "Attributes for Azure config Post Request.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "actual_bill_config": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "amortized_bill_config": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "client_id": { + "description": "The client ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "type": "boolean" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + } + }, + "required": [ + "account_id", + "actual_bill_config", + "amortized_bill_config", + "client_id", + "scope" + ], + "type": "object" + }, + "type": { + "default": "azure_uc_config_post_request", + "description": "Type of Azure config Post Request.", + "enum": [ + "azure_uc_config_post_request" + ], + "example": "azure_uc_config_post_request", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIG_POST_REQUEST" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "AzureUCConfigPostRequestAttributes": { + "description": "Attributes for Azure config Post Request.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "actual_bill_config": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "amortized_bill_config": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "client_id": { + "description": "The client ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "type": "boolean" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + } + }, + "required": [ + "account_id", + "actual_bill_config", + "amortized_bill_config", + "client_id", + "scope" + ], + "type": "object" + }, + "AzureUCConfigPostRequestType": { + "default": "azure_uc_config_post_request", + "description": "Type of Azure config Post Request.", + "enum": [ + "azure_uc_config_post_request" + ], + "example": "azure_uc_config_post_request", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIG_POST_REQUEST" + ] + }, + "AzureUCConfigsResponse": { + "description": "List of Azure accounts with configs.", + "properties": { + "data": { + "description": "An Azure config pair.", + "items": { + "description": "Azure config pair.", + "properties": { + "attributes": { + "description": "Attributes for Azure config pair.", + "properties": { + "configs": { + "description": "An Azure config.", + "items": { + "description": "Azure config.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the Azure config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "dataset_type": { + "description": "The dataset type of the Azure config.", + "example": "actual", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the Azure config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "id": { + "description": "The ID of the Azure config.", + "format": "int64", + "type": "integer" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "status": { + "description": "The status of the Azure config.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the Azure config status was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the Azure config was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "client_id", + "dataset_type", + "export_name", + "export_path", + "scope", + "status", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "type": "array" + }, + "id": { + "description": "The ID of the Azure config pair.", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "configs" + ], + "type": "object" + }, + "id": { + "description": "The ID of Cloud Cost Management account.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "azure_uc_configs", + "description": "Type of Azure config pair.", + "enum": [ + "azure_uc_configs" + ], + "example": "azure_uc_configs", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIGS" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "BillConfig": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "BulkMuteFindingsRequest": { + "description": "The new bulk mute finding request.", + "properties": { + "data": { + "description": "Data object containing the new bulk mute properties of the finding.", + "properties": { + "attributes": { + "additionalProperties": false, + "description": "The mute properties to be updated.", + "properties": { + "mute": { + "additionalProperties": false, + "description": "Object containing the new mute properties of the findings.", + "properties": { + "description": { + "description": "Additional information about the reason why those findings are muted or unmuted. This field has a maximum limit of 280 characters.", + "type": "string" + }, + "expiration_date": { + "description": "The expiration date of the mute or unmute action (Unix ms). It must be set to a value greater than the current timestamp.\nIf this field is not provided, the finding will be muted or unmuted indefinitely, which is equivalent to setting the expiration date to 9999999999999.\n", + "example": 1778721573794, + "format": "int64", + "type": "integer" + }, + "muted": { + "description": "Whether those findings should be muted or unmuted.", + "example": true, + "type": "boolean" + }, + "reason": { + "description": "The reason why this finding is muted or unmuted.", + "enum": [ + "PENDING_FIX", + "FALSE_POSITIVE", + "ACCEPTED_RISK", + "NO_PENDING_FIX", + "HUMAN_ERROR", + "NO_LONGER_ACCEPTED_RISK", + "OTHER" + ], + "example": "ACCEPTED_RISK", + "type": "string", + "x-enum-varnames": [ + "PENDING_FIX", + "FALSE_POSITIVE", + "ACCEPTED_RISK", + "NO_PENDING_FIX", + "HUMAN_ERROR", + "NO_LONGER_ACCEPTED_RISK", + "OTHER" + ] + } + }, + "required": [ + "muted", + "reason" + ], + "type": "object" + } + }, + "required": [ + "mute" + ], + "type": "object" + }, + "id": { + "description": "UUID to identify the request", + "example": "dbe5f567-192b-4404-b908-29b70e1c9f76", + "type": "string" + }, + "meta": { + "description": "Meta object containing the findings to be updated.", + "properties": { + "findings": { + "description": "Array of findings.", + "items": { + "description": "Finding object containing the finding information.", + "properties": { + "finding_id": { + "description": "The unique ID for this finding.", + "example": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "type": { + "default": "finding", + "description": "The JSON:API type for findings.", + "enum": [ + "finding" + ], + "example": "finding", + "type": "string", + "x-enum-varnames": [ + "FINDING" + ] + } + }, + "required": [ + "id", + "type", + "attributes", + "meta" + ], + "type": "object" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "BulkMuteFindingsRequestAttributes": { + "additionalProperties": false, + "description": "The mute properties to be updated.", + "properties": { + "mute": { + "additionalProperties": false, + "description": "Object containing the new mute properties of the findings.", + "properties": { + "description": { + "description": "Additional information about the reason why those findings are muted or unmuted. This field has a maximum limit of 280 characters.", + "type": "string" + }, + "expiration_date": { + "description": "The expiration date of the mute or unmute action (Unix ms). It must be set to a value greater than the current timestamp.\nIf this field is not provided, the finding will be muted or unmuted indefinitely, which is equivalent to setting the expiration date to 9999999999999.\n", + "example": 1778721573794, + "format": "int64", + "type": "integer" + }, + "muted": { + "description": "Whether those findings should be muted or unmuted.", + "example": true, + "type": "boolean" + }, + "reason": { + "description": "The reason why this finding is muted or unmuted.", + "enum": [ + "PENDING_FIX", + "FALSE_POSITIVE", + "ACCEPTED_RISK", + "NO_PENDING_FIX", + "HUMAN_ERROR", + "NO_LONGER_ACCEPTED_RISK", + "OTHER" + ], + "example": "ACCEPTED_RISK", + "type": "string", + "x-enum-varnames": [ + "PENDING_FIX", + "FALSE_POSITIVE", + "ACCEPTED_RISK", + "NO_PENDING_FIX", + "HUMAN_ERROR", + "NO_LONGER_ACCEPTED_RISK", + "OTHER" + ] + } + }, + "required": [ + "muted", + "reason" + ], + "type": "object" + } + }, + "required": [ + "mute" + ], + "type": "object" + }, + "BulkMuteFindingsRequestData": { + "description": "Data object containing the new bulk mute properties of the finding.", + "properties": { + "attributes": { + "additionalProperties": false, + "description": "The mute properties to be updated.", + "properties": { + "mute": { + "additionalProperties": false, + "description": "Object containing the new mute properties of the findings.", + "properties": { + "description": { + "description": "Additional information about the reason why those findings are muted or unmuted. This field has a maximum limit of 280 characters.", + "type": "string" + }, + "expiration_date": { + "description": "The expiration date of the mute or unmute action (Unix ms). It must be set to a value greater than the current timestamp.\nIf this field is not provided, the finding will be muted or unmuted indefinitely, which is equivalent to setting the expiration date to 9999999999999.\n", + "example": 1778721573794, + "format": "int64", + "type": "integer" + }, + "muted": { + "description": "Whether those findings should be muted or unmuted.", + "example": true, + "type": "boolean" + }, + "reason": { + "description": "The reason why this finding is muted or unmuted.", + "enum": [ + "PENDING_FIX", + "FALSE_POSITIVE", + "ACCEPTED_RISK", + "NO_PENDING_FIX", + "HUMAN_ERROR", + "NO_LONGER_ACCEPTED_RISK", + "OTHER" + ], + "example": "ACCEPTED_RISK", + "type": "string", + "x-enum-varnames": [ + "PENDING_FIX", + "FALSE_POSITIVE", + "ACCEPTED_RISK", + "NO_PENDING_FIX", + "HUMAN_ERROR", + "NO_LONGER_ACCEPTED_RISK", + "OTHER" + ] + } + }, + "required": [ + "muted", + "reason" + ], + "type": "object" + } + }, + "required": [ + "mute" + ], + "type": "object" + }, + "id": { + "description": "UUID to identify the request", + "example": "dbe5f567-192b-4404-b908-29b70e1c9f76", + "type": "string" + }, + "meta": { + "description": "Meta object containing the findings to be updated.", + "properties": { + "findings": { + "description": "Array of findings.", + "items": { + "description": "Finding object containing the finding information.", + "properties": { + "finding_id": { + "description": "The unique ID for this finding.", + "example": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "type": { + "default": "finding", + "description": "The JSON:API type for findings.", + "enum": [ + "finding" + ], + "example": "finding", + "type": "string", + "x-enum-varnames": [ + "FINDING" + ] + } + }, + "required": [ + "id", + "type", + "attributes", + "meta" + ], + "type": "object" + }, + "BulkMuteFindingsRequestMeta": { + "description": "Meta object containing the findings to be updated.", + "properties": { + "findings": { + "description": "Array of findings.", + "items": { + "description": "Finding object containing the finding information.", + "properties": { + "finding_id": { + "description": "The unique ID for this finding.", + "example": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkMuteFindingsRequestMetaFindings": { + "description": "Finding object containing the finding information.", + "properties": { + "finding_id": { + "description": "The unique ID for this finding.", + "example": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==", + "type": "string" + } + }, + "type": "object" + }, + "BulkMuteFindingsRequestProperties": { + "additionalProperties": false, + "description": "Object containing the new mute properties of the findings.", + "properties": { + "description": { + "description": "Additional information about the reason why those findings are muted or unmuted. This field has a maximum limit of 280 characters.", + "type": "string" + }, + "expiration_date": { + "description": "The expiration date of the mute or unmute action (Unix ms). It must be set to a value greater than the current timestamp.\nIf this field is not provided, the finding will be muted or unmuted indefinitely, which is equivalent to setting the expiration date to 9999999999999.\n", + "example": 1778721573794, + "format": "int64", + "type": "integer" + }, + "muted": { + "description": "Whether those findings should be muted or unmuted.", + "example": true, + "type": "boolean" + }, + "reason": { + "description": "The reason why this finding is muted or unmuted.", + "enum": [ + "PENDING_FIX", + "FALSE_POSITIVE", + "ACCEPTED_RISK", + "NO_PENDING_FIX", + "HUMAN_ERROR", + "NO_LONGER_ACCEPTED_RISK", + "OTHER" + ], + "example": "ACCEPTED_RISK", + "type": "string", + "x-enum-varnames": [ + "PENDING_FIX", + "FALSE_POSITIVE", + "ACCEPTED_RISK", + "NO_PENDING_FIX", + "HUMAN_ERROR", + "NO_LONGER_ACCEPTED_RISK", + "OTHER" + ] + } + }, + "required": [ + "muted", + "reason" + ], + "type": "object" + }, + "BulkMuteFindingsResponse": { + "description": "The expected response schema.", + "properties": { + "data": { + "description": "Data object containing the ID of the request that was updated.", + "properties": { + "id": { + "description": "UUID used to identify the request", + "example": "93bfeb70-af47-424d-908a-948d3f08e37f", + "type": "string" + }, + "type": { + "default": "finding", + "description": "The JSON:API type for findings.", + "enum": [ + "finding" + ], + "example": "finding", + "type": "string", + "x-enum-varnames": [ + "FINDING" + ] + } + }, + "type": "object" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "BulkMuteFindingsResponseData": { + "description": "Data object containing the ID of the request that was updated.", + "properties": { + "id": { + "description": "UUID used to identify the request", + "example": "93bfeb70-af47-424d-908a-948d3f08e37f", + "type": "string" + }, + "type": { + "default": "finding", + "description": "The JSON:API type for findings.", + "enum": [ + "finding" + ], + "example": "finding", + "type": "string", + "x-enum-varnames": [ + "FINDING" + ] + } + }, + "type": "object" + }, + "CIAppAggregateBucketValue": { + "description": "A bucket value, can either be a timeseries or a single value.", + "oneOf": [ + { + "description": "A single string value.", + "type": "string" + }, + { + "description": "A single number value.", + "format": "double", + "type": "number" + }, + { + "description": "A timeseries array.", + "items": { + "description": "A timeseries point.", + "properties": { + "time": { + "description": "The time value for this point.", + "example": "2020-06-08T11:55:00.123Z", + "format": "date-time", + "type": "string" + }, + "value": { + "description": "The value for this point.", + "example": 19, + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "type": "array", + "x-generate-alias-as-model": true + } + ] + }, + "CIAppAggregateBucketValueSingleNumber": { + "description": "A single number value.", + "format": "double", + "type": "number" + }, + "CIAppAggregateBucketValueSingleString": { + "description": "A single string value.", + "type": "string" }, "CIAppAggregateBucketValueTimeseries": { "description": "A timeseries array.", @@ -16234,6 +18228,110 @@ "CLOUD_CONFIGURATION" ] }, + "CloudCostActivity": { + "description": "Cloud Cost Activity.", + "properties": { + "attributes": { + "description": "Attributes for Cloud Cost activity.", + "properties": { + "is_enabled": { + "description": "Whether or not the cloud account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" + }, + "type": { + "default": "cloud_cost_activity", + "description": "Type of Cloud Cost Activity.", + "enum": [ + "cloud_cost_activity" + ], + "example": "cloud_cost_activity", + "type": "string", + "x-enum-varnames": [ + "CLOUD_COST_ACTIVITY" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "CloudCostActivityAttributes": { + "description": "Attributes for Cloud Cost activity.", + "properties": { + "is_enabled": { + "description": "Whether or not the cloud account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" + }, + "CloudCostActivityResponse": { + "description": "Response for Cloud Cost activity.", + "properties": { + "data": { + "description": "Cloud Cost Activity.", + "properties": { + "attributes": { + "description": "Attributes for Cloud Cost activity.", + "properties": { + "is_enabled": { + "description": "Whether or not the cloud account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" + }, + "type": { + "default": "cloud_cost_activity", + "description": "Type of Cloud Cost Activity.", + "enum": [ + "cloud_cost_activity" + ], + "example": "cloud_cost_activity", + "type": "string", + "x-enum-varnames": [ + "CLOUD_COST_ACTIVITY" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "type": "object" + }, + "CloudCostActivityType": { + "default": "cloud_cost_activity", + "description": "Type of Cloud Cost Activity.", + "enum": [ + "cloud_cost_activity" + ], + "example": "cloud_cost_activity", + "type": "string", + "x-enum-varnames": [ + "CLOUD_COST_ACTIVITY" + ] + }, "CloudWorkloadSecurityAgentRuleAttributes": { "description": "A Cloud Workload Security Agent rule returned by the API.", "properties": { @@ -134774,320 +136872,2575 @@ { "apiKeyAuth": [], "appKeyAuth": [] - }, - { - "AuthZ": [] + }, + { + "AuthZ": [] + } + ], + "summary": "Get all Container Images", + "tags": [ + "Container Images" + ], + "x-menu-order": 1, + "x-pagination": { + "cursorParam": "page[cursor]", + "cursorPath": "meta.pagination.next_cursor", + "limitParam": "page[size]", + "resultsPath": "data" + }, + "x-undo": { + "type": "safe" + } + } + }, + "/api/v2/containers": { + "get": { + "description": "Get all containers for your organization.", + "operationId": "ListContainers", + "parameters": [ + { + "description": "Comma-separated list of tags to filter containers by.", + "example": "env:prod,short_image:cassandra", + "in": "query", + "name": "filter[tags]", + "required": false, + "schema": { + "type": "string" + } + }, + { + "description": "Comma-separated list of tags to group containers by.", + "example": "datacenter,cluster", + "in": "query", + "name": "group_by", + "required": false, + "schema": { + "type": "string" + } + }, + { + "description": "Attribute to sort containers by.", + "example": "started_at", + "in": "query", + "name": "sort", + "required": false, + "schema": { + "type": "string" + } + }, + { + "description": "Maximum number of results returned.", + "in": "query", + "name": "page[size]", + "required": false, + "schema": { + "default": 1000, + "format": "int32", + "maximum": 10000, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "String to query the next page of results.\nThis key is provided with each valid response from the API in `meta.pagination.next_cursor`.", + "in": "query", + "name": "page[cursor]", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "List of containers.", + "properties": { + "data": { + "description": "Array of Container objects.", + "items": { + "description": "Possible Container models.", + "oneOf": [ + { + "description": "Container object.", + "properties": { + "attributes": { + "description": "Attributes for a container.", + "properties": { + "container_id": { + "description": "The ID of the container.", + "type": "string" + }, + "created_at": { + "description": "Time the container was created.", + "type": "string" + }, + "host": { + "description": "Hostname of the host running the container.", + "type": "string" + }, + "image_digest": { + "description": "Digest of the compressed image manifest.", + "nullable": true, + "type": "string" + }, + "image_name": { + "description": "Name of the associated container image.", + "type": "string" + }, + "image_tags": { + "description": "List of image tags associated with the container image.", + "items": { + "type": "string" + }, + "nullable": true, + "type": "array" + }, + "name": { + "description": "Name of the container.", + "type": "string" + }, + "started_at": { + "description": "Time the container was started.", + "type": "string" + }, + "state": { + "description": "State of the container. This depends on the container runtime.", + "type": "string" + }, + "tags": { + "description": "List of tags associated with the container.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "id": { + "description": "Container ID.", + "type": "string" + }, + "type": { + "default": "container", + "description": "Type of container.", + "enum": [ + "container" + ], + "example": "container", + "type": "string", + "x-enum-varnames": [ + "CONTAINER" + ] + } + }, + "type": "object" + }, + { + "description": "Container group object.", + "properties": { + "attributes": { + "description": "Attributes for a container group.", + "properties": { + "count": { + "description": "Number of containers in the group.", + "format": "int64", + "type": "integer" + }, + "tags": { + "description": "Tags from the group name parsed in key/value format.", + "type": "object" + } + }, + "type": "object" + }, + "id": { + "description": "Container Group ID.", + "type": "string" + }, + "relationships": { + "description": "Relationships to containers inside a container group.", + "properties": { + "containers": { + "description": "Relationships to Containers inside a Container Group.", + "properties": { + "data": { + "description": "Links data.", + "items": { + "description": "A link data.", + "type": "string" + }, + "type": "array" + }, + "links": { + "description": "Links attributes.", + "properties": { + "related": { + "description": "Link to related containers.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "type": { + "default": "container_group", + "description": "Type of container group.", + "enum": [ + "container_group" + ], + "example": "container_group", + "type": "string", + "x-enum-varnames": [ + "CONTAINER_GROUP" + ] + } + }, + "type": "object" + } + ] + }, + "type": "array" + }, + "links": { + "description": "Pagination links.", + "properties": { + "first": { + "description": "Link to the first page.", + "type": "string" + }, + "last": { + "description": "Link to the last page.", + "nullable": true, + "type": "string" + }, + "next": { + "description": "Link to the next page.", + "nullable": true, + "type": "string" + }, + "prev": { + "description": "Link to previous page.", + "nullable": true, + "type": "string" + }, + "self": { + "description": "Link to current page.", + "type": "string" + } + }, + "type": "object" + }, + "meta": { + "description": "Response metadata object.", + "properties": { + "pagination": { + "description": "Paging attributes.", + "properties": { + "cursor": { + "description": "The cursor used to get the current results, if any.", + "type": "string" + }, + "limit": { + "description": "Number of results returned", + "format": "int32", + "maximum": 10000, + "minimum": 0, + "type": "integer" + }, + "next_cursor": { + "description": "The cursor used to get the next results, if any.", + "type": "string" + }, + "prev_cursor": { + "description": "The cursor used to get the previous results, if any.", + "nullable": true, + "type": "string" + }, + "total": { + "description": "Total number of records that match the query.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "cursor_limit", + "description": "Type of Container pagination.", + "enum": [ + "cursor_limit" + ], + "example": "cursor_limit", + "type": "string", + "x-enum-varnames": [ + "CURSOR_LIMIT" + ] + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + } + } + }, + "description": "OK" + }, + "400": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Authentication Error" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + }, + { + "AuthZ": [] + } + ], + "summary": "Get All Containers", + "tags": [ + "Containers" + ], + "x-menu-order": 1, + "x-pagination": { + "cursorParam": "page[cursor]", + "cursorPath": "meta.pagination.next_cursor", + "limitParam": "page[size]", + "resultsPath": "data" + }, + "x-undo": { + "type": "safe" + } + } + }, + "/api/v2/cost/aws_cur_config": { + "get": { + "description": "List the AWS CUR configs.", + "operationId": "ListCostAWSCURConfigs", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "List of AWS CUR configs.", + "properties": { + "data": { + "description": "An AWS CUR config.", + "items": { + "description": "AWS CUR config.", + "properties": { + "attributes": { + "description": "Attributes for An AWS CUR config.", + "properties": { + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the AWS CUR config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the AWS CUR config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + }, + "status": { + "description": "The status of the AWS CUR.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "bucket_region", + "report_name", + "report_prefix", + "status" + ], + "type": "object" + }, + "id": { + "description": "The ID of the AWS CUR config.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "aws_cur_config", + "description": "Type of AWS CUR config.", + "enum": [ + "aws_cur_config" + ], + "example": "aws_cur_config", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "OK" + }, + "403": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Forbidden" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + } + ], + "summary": "List Cloud Cost Management AWS CUR configs", + "tags": [ + "Cloud Cost Management" + ], + "x-menu-order": 1, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_READ" + ] + }, + "x-undo": { + "type": "safe" + } + }, + "post": { + "description": "Create a Cloud Cost Management account for an AWS CUR config.", + "operationId": "CreateCostAWSCURConfig", + "requestBody": { + "content": { + "application/json": { + "schema": { + "description": "AWS CUR config Post Request.", + "properties": { + "data": { + "description": "AWS CUR config Post data.", + "properties": { + "attributes": { + "description": "Attributes for AWS CUR config Post Request.", + "properties": { + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "type": "boolean" + }, + "months": { + "description": "The month of the report.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "report_name", + "report_prefix" + ], + "type": "object" + }, + "type": { + "default": "aws_cur_config_post_request", + "description": "Type of AWS CUR config Post Request.", + "enum": [ + "aws_cur_config_post_request" + ], + "example": "aws_cur_config_post_request", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG_POST_REQUEST" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "required": [ + "data" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "Response of AWS CUR config.", + "properties": { + "data": { + "description": "AWS CUR config.", + "properties": { + "attributes": { + "description": "Attributes for An AWS CUR config.", + "properties": { + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the AWS CUR config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the AWS CUR config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + }, + "status": { + "description": "The status of the AWS CUR.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "bucket_region", + "report_name", + "report_prefix", + "status" + ], + "type": "object" + }, + "id": { + "description": "The ID of the AWS CUR config.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "aws_cur_config", + "description": "Type of AWS CUR config.", + "enum": [ + "aws_cur_config" + ], + "example": "aws_cur_config", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "type": "object" + } + } + }, + "description": "OK" + }, + "400": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Forbidden" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + } + ], + "summary": "Create Cloud Cost Management AWS CUR config", + "tags": [ + "Cloud Cost Management" + ], + "x-menu-order": 3, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_WRITE" + ] + }, + "x-undo": { + "type": "idempotent" + } + } + }, + "/api/v2/cost/aws_cur_config/{cloud_account_id}": { + "delete": { + "description": "Archive a Cloud Cost Management Account.", + "operationId": "DeleteCostAWSCURConfig", + "parameters": [ + { + "description": "Cloud Account id.", + "in": "path", + "name": "cloud_account_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Bad Request" + }, + "404": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Not Found" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + } + ], + "summary": "Delete Cloud Cost Management AWS CUR config", + "tags": [ + "Cloud Cost Management" + ], + "x-menu-order": 4, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_WRITE" + ] + }, + "x-undo": { + "type": "idempotent" + } + }, + "patch": { + "description": "Update the status of an AWS CUR config (active/archived).", + "operationId": "UpdateCostAWSCURConfig", + "parameters": [ + { + "description": "Cloud Account id.", + "in": "path", + "name": "cloud_account_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "description": "AWS CUR config Patch Request.", + "properties": { + "data": { + "description": "AWS CUR config Patch data.", + "properties": { + "attributes": { + "description": "Attributes for AWS CUR config Patch Request.", + "properties": { + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" + }, + "type": { + "default": "aws_cur_config_patch_request", + "description": "Type of AWS CUR config Patch Request.", + "enum": [ + "aws_cur_config_patch_request" + ], + "example": "aws_cur_config_patch_request", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG_PATCH_REQUEST" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "required": [ + "data" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "List of AWS CUR configs.", + "properties": { + "data": { + "description": "An AWS CUR config.", + "items": { + "description": "AWS CUR config.", + "properties": { + "attributes": { + "description": "Attributes for An AWS CUR config.", + "properties": { + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the AWS CUR config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the AWS CUR config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + }, + "status": { + "description": "The status of the AWS CUR.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "bucket_region", + "report_name", + "report_prefix", + "status" + ], + "type": "object" + }, + "id": { + "description": "The ID of the AWS CUR config.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "aws_cur_config", + "description": "Type of AWS CUR config.", + "enum": [ + "aws_cur_config" + ], + "example": "aws_cur_config", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "OK" + }, + "403": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Forbidden" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + } + ], + "summary": "Update Cloud Cost Management AWS CUR config", + "tags": [ + "Cloud Cost Management" + ], + "x-menu-order": 2, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_WRITE" + ] + }, + "x-undo": { + "type": "idempotent" + } + } + }, + "/api/v2/cost/aws_related_accounts": { + "get": { + "description": "List the AWS accounts in an organization by calling 'organizations:ListAccounts' from the specified management account.", + "operationId": "ListAWSRelatedAccounts", + "parameters": [ + { + "description": "The ID of the management account to filter by.", + "example": "123456789123", + "in": "query", + "name": "filter[management_account_id]", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "List of AWS related accounts.", + "properties": { + "data": { + "description": "An AWS related account.", + "items": { + "description": "AWS related account.", + "properties": { + "attributes": { + "description": "Attributes for an AWS related account.", + "properties": { + "has_datadog_integration": { + "description": "Whether or not the AWS account has a Datadog integration.", + "type": "boolean" + }, + "name": { + "description": "The name of the AWS account.", + "type": "string" + } + }, + "type": "object" + }, + "id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "type": { + "default": "aws_account", + "description": "Type of AWS related account.", + "enum": [ + "aws_account" + ], + "example": "aws_account", + "type": "string", + "x-enum-varnames": [ + "AWS_ACCOUNT" + ] + } + }, + "required": [ + "id", + "type" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "OK" + }, + "400": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Forbidden" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + } + ], + "summary": "List related AWS accounts", + "tags": [ + "Cloud Cost Management" + ], + "x-menu-order": 5, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_READ" + ] + }, + "x-undo": { + "type": "safe" + } + } + }, + "/api/v2/cost/azure_uc_config": { + "get": { + "description": "List the Azure configs.", + "operationId": "ListCostAzureUCConfigs", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "List of Azure accounts with configs.", + "properties": { + "data": { + "description": "An Azure config pair.", + "items": { + "description": "Azure config pair.", + "properties": { + "attributes": { + "description": "Attributes for Azure config pair.", + "properties": { + "configs": { + "description": "An Azure config.", + "items": { + "description": "Azure config.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the Azure config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "dataset_type": { + "description": "The dataset type of the Azure config.", + "example": "actual", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the Azure config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "id": { + "description": "The ID of the Azure config.", + "format": "int64", + "type": "integer" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "status": { + "description": "The status of the Azure config.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the Azure config status was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the Azure config was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "client_id", + "dataset_type", + "export_name", + "export_path", + "scope", + "status", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "type": "array" + }, + "id": { + "description": "The ID of the Azure config pair.", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "configs" + ], + "type": "object" + }, + "id": { + "description": "The ID of Cloud Cost Management account.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "azure_uc_configs", + "description": "Type of Azure config pair.", + "enum": [ + "azure_uc_configs" + ], + "example": "azure_uc_configs", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIGS" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "OK" + }, + "403": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Forbidden" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + } + ], + "summary": "List Cloud Cost Management Azure configs", + "tags": [ + "Cloud Cost Management" + ], + "x-menu-order": 6, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_READ" + ] + }, + "x-undo": { + "type": "safe" + } + }, + "post": { + "description": "Create a Cloud Cost Management account for an Azure config.", + "operationId": "CreateCostAzureUCConfigs", + "requestBody": { + "content": { + "application/json": { + "schema": { + "description": "Azure config Post Request.", + "properties": { + "data": { + "description": "Azure config Post data.", + "properties": { + "attributes": { + "description": "Attributes for Azure config Post Request.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "actual_bill_config": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "amortized_bill_config": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "client_id": { + "description": "The client ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "type": "boolean" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + } + }, + "required": [ + "account_id", + "actual_bill_config", + "amortized_bill_config", + "client_id", + "scope" + ], + "type": "object" + }, + "type": { + "default": "azure_uc_config_post_request", + "description": "Type of Azure config Post Request.", + "enum": [ + "azure_uc_config_post_request" + ], + "example": "azure_uc_config_post_request", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIG_POST_REQUEST" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "required": [ + "data" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "Response of Azure config pair.", + "properties": { + "data": { + "description": "Azure config pair.", + "properties": { + "attributes": { + "description": "Attributes for Azure config pair.", + "properties": { + "configs": { + "description": "An Azure config.", + "items": { + "description": "Azure config.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the Azure config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "dataset_type": { + "description": "The dataset type of the Azure config.", + "example": "actual", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the Azure config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "id": { + "description": "The ID of the Azure config.", + "format": "int64", + "type": "integer" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "status": { + "description": "The status of the Azure config.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the Azure config status was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the Azure config was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "client_id", + "dataset_type", + "export_name", + "export_path", + "scope", + "status", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "type": "array" + }, + "id": { + "description": "The ID of the Azure config pair.", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "configs" + ], + "type": "object" + }, + "id": { + "description": "The ID of Cloud Cost Management account.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "azure_uc_configs", + "description": "Type of Azure config pair.", + "enum": [ + "azure_uc_configs" + ], + "example": "azure_uc_configs", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIGS" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "type": "object" + } + } + }, + "description": "OK" + }, + "400": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Forbidden" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + } + ], + "summary": "Create Cloud Cost Management Azure configs", + "tags": [ + "Cloud Cost Management" + ], + "x-menu-order": 8, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_WRITE" + ] + }, + "x-undo": { + "type": "idempotent" + } + } + }, + "/api/v2/cost/azure_uc_config/{cloud_account_id}": { + "delete": { + "description": "Archive a Cloud Cost Management Account.", + "operationId": "DeleteCostAzureUCConfig", + "parameters": [ + { + "description": "Cloud Account id.", + "in": "path", + "name": "cloud_account_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Bad Request" + }, + "404": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Not Found" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + } + ], + "summary": "Delete Cloud Cost Management Azure config", + "tags": [ + "Cloud Cost Management" + ], + "x-menu-order": 9, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_WRITE" + ] + }, + "x-undo": { + "type": "idempotent" + } + }, + "patch": { + "description": "Update the status of an Azure config (active/archived).", + "operationId": "UpdateCostAzureUCConfigs", + "parameters": [ + { + "description": "Cloud Account id.", + "in": "path", + "name": "cloud_account_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "description": "Azure config Patch Request.", + "properties": { + "data": { + "description": "Azure config Patch data.", + "properties": { + "attributes": { + "description": "Attributes for Azure config Patch Request.", + "properties": { + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" + }, + "type": { + "default": "azure_uc_config_patch_request", + "description": "Type of Azure config Patch Request.", + "enum": [ + "azure_uc_config_patch_request" + ], + "example": "azure_uc_config_patch_request", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIG_PATCH_REQUEST" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "required": [ + "data" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "Response of Azure config pair.", + "properties": { + "data": { + "description": "Azure config pair.", + "properties": { + "attributes": { + "description": "Attributes for Azure config pair.", + "properties": { + "configs": { + "description": "An Azure config.", + "items": { + "description": "Azure config.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the Azure config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "dataset_type": { + "description": "The dataset type of the Azure config.", + "example": "actual", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the Azure config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "id": { + "description": "The ID of the Azure config.", + "format": "int64", + "type": "integer" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "status": { + "description": "The status of the Azure config.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the Azure config status was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the Azure config was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "client_id", + "dataset_type", + "export_name", + "export_path", + "scope", + "status", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "type": "array" + }, + "id": { + "description": "The ID of the Azure config pair.", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "configs" + ], + "type": "object" + }, + "id": { + "description": "The ID of Cloud Cost Management account.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "azure_uc_configs", + "description": "Type of Azure config pair.", + "enum": [ + "azure_uc_configs" + ], + "example": "azure_uc_configs", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIGS" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "type": "object" + } + } + }, + "description": "OK" + }, + "400": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Forbidden" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] } ], - "summary": "Get all Container Images", + "summary": "Update Cloud Cost Management Azure config", "tags": [ - "Container Images" + "Cloud Cost Management" ], - "x-menu-order": 1, - "x-pagination": { - "cursorParam": "page[cursor]", - "cursorPath": "meta.pagination.next_cursor", - "limitParam": "page[size]", - "resultsPath": "data" + "x-menu-order": 7, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_WRITE" + ] }, "x-undo": { - "type": "safe" + "type": "idempotent" } } }, - "/api/v2/containers": { + "/api/v2/cost/enabled": { "get": { - "description": "Get all containers for your organization.", - "operationId": "ListContainers", - "parameters": [ - { - "description": "Comma-separated list of tags to filter containers by.", - "example": "env:prod,short_image:cassandra", - "in": "query", - "name": "filter[tags]", - "required": false, - "schema": { - "type": "string" - } - }, - { - "description": "Comma-separated list of tags to group containers by.", - "example": "datacenter,cluster", - "in": "query", - "name": "group_by", - "required": false, - "schema": { - "type": "string" - } - }, - { - "description": "Attribute to sort containers by.", - "example": "started_at", - "in": "query", - "name": "sort", - "required": false, - "schema": { - "type": "string" - } - }, - { - "description": "Maximum number of results returned.", - "in": "query", - "name": "page[size]", - "required": false, - "schema": { - "default": 1000, - "format": "int32", - "maximum": 10000, - "minimum": 1, - "type": "integer" - } - }, - { - "description": "String to query the next page of results.\nThis key is provided with each valid response from the API in `meta.pagination.next_cursor`.", - "in": "query", - "name": "page[cursor]", - "required": false, - "schema": { - "type": "string" - } - } - ], + "description": "Get the Cloud Cost Management activity.", + "operationId": "GetCloudCostActivity", "responses": { "200": { "content": { "application/json": { "schema": { - "description": "List of containers.", + "description": "Response for Cloud Cost activity.", "properties": { "data": { - "description": "Array of Container objects.", - "items": { - "description": "Possible Container models.", - "oneOf": [ - { - "description": "Container object.", - "properties": { - "attributes": { - "description": "Attributes for a container.", - "properties": { - "container_id": { - "description": "The ID of the container.", - "type": "string" - }, - "created_at": { - "description": "Time the container was created.", - "type": "string" - }, - "host": { - "description": "Hostname of the host running the container.", - "type": "string" - }, - "image_digest": { - "description": "Digest of the compressed image manifest.", - "nullable": true, - "type": "string" - }, - "image_name": { - "description": "Name of the associated container image.", - "type": "string" - }, - "image_tags": { - "description": "List of image tags associated with the container image.", - "items": { - "type": "string" - }, - "nullable": true, - "type": "array" - }, - "name": { - "description": "Name of the container.", - "type": "string" - }, - "started_at": { - "description": "Time the container was started.", - "type": "string" - }, - "state": { - "description": "State of the container. This depends on the container runtime.", - "type": "string" - }, - "tags": { - "description": "List of tags associated with the container.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "id": { - "description": "Container ID.", - "type": "string" - }, - "type": { - "default": "container", - "description": "Type of container.", - "enum": [ - "container" - ], - "example": "container", - "type": "string", - "x-enum-varnames": [ - "CONTAINER" - ] - } - }, - "type": "object" - }, - { - "description": "Container group object.", - "properties": { - "attributes": { - "description": "Attributes for a container group.", - "properties": { - "count": { - "description": "Number of containers in the group.", - "format": "int64", - "type": "integer" - }, - "tags": { - "description": "Tags from the group name parsed in key/value format.", - "type": "object" - } - }, - "type": "object" - }, - "id": { - "description": "Container Group ID.", - "type": "string" - }, - "relationships": { - "description": "Relationships to containers inside a container group.", - "properties": { - "containers": { - "description": "Relationships to Containers inside a Container Group.", - "properties": { - "data": { - "description": "Links data.", - "items": { - "description": "A link data.", - "type": "string" - }, - "type": "array" - }, - "links": { - "description": "Links attributes.", - "properties": { - "related": { - "description": "Link to related containers.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "type": { - "default": "container_group", - "description": "Type of container group.", - "enum": [ - "container_group" - ], - "example": "container_group", - "type": "string", - "x-enum-varnames": [ - "CONTAINER_GROUP" - ] - } - }, - "type": "object" - } - ] - }, - "type": "array" - }, - "links": { - "description": "Pagination links.", + "description": "Cloud Cost Activity.", "properties": { - "first": { - "description": "Link to the first page.", - "type": "string" - }, - "last": { - "description": "Link to the last page.", - "nullable": true, - "type": "string" - }, - "next": { - "description": "Link to the next page.", - "nullable": true, - "type": "string" - }, - "prev": { - "description": "Link to previous page.", - "nullable": true, - "type": "string" - }, - "self": { - "description": "Link to current page.", - "type": "string" - } - }, - "type": "object" - }, - "meta": { - "description": "Response metadata object.", - "properties": { - "pagination": { - "description": "Paging attributes.", + "attributes": { + "description": "Attributes for Cloud Cost activity.", "properties": { - "cursor": { - "description": "The cursor used to get the current results, if any.", - "type": "string" - }, - "limit": { - "description": "Number of results returned", - "format": "int32", - "maximum": 10000, - "minimum": 0, - "type": "integer" - }, - "next_cursor": { - "description": "The cursor used to get the next results, if any.", - "type": "string" - }, - "prev_cursor": { - "description": "The cursor used to get the previous results, if any.", - "nullable": true, - "type": "string" - }, - "total": { - "description": "Total number of records that match the query.", - "format": "int64", - "type": "integer" - }, - "type": { - "default": "cursor_limit", - "description": "Type of Container pagination.", - "enum": [ - "cursor_limit" - ], - "example": "cursor_limit", - "type": "string", - "x-enum-varnames": [ - "CURSOR_LIMIT" - ] + "is_enabled": { + "description": "Whether or not the cloud account is enabled.", + "example": true, + "type": "boolean" } }, + "required": [ + "is_enabled" + ], "type": "object" + }, + "type": { + "default": "cloud_cost_activity", + "description": "Type of Cloud Cost Activity.", + "enum": [ + "cloud_cost_activity" + ], + "example": "cloud_cost_activity", + "type": "string", + "x-enum-varnames": [ + "CLOUD_COST_ACTIVITY" + ] } }, + "required": [ + "attributes", + "type" + ], "type": "object" } }, @@ -135097,31 +139450,6 @@ }, "description": "OK" }, - "400": { - "content": { - "application/json": { - "schema": { - "description": "API error response.", - "properties": { - "errors": { - "description": "A list of errors.", - "items": { - "description": "A list of items.", - "example": "Bad Request", - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "errors" - ], - "type": "object" - } - } - }, - "description": "Bad Request" - }, "403": { "content": { "application/json": { @@ -135145,7 +139473,7 @@ } } }, - "description": "Authentication Error" + "description": "Forbidden" }, "429": { "content": { @@ -135177,21 +139505,18 @@ { "apiKeyAuth": [], "appKeyAuth": [] - }, - { - "AuthZ": [] } ], - "summary": "Get All Containers", + "summary": "Cloud Cost Enabled", "tags": [ - "Containers" + "Cloud Cost Management" ], - "x-menu-order": 1, - "x-pagination": { - "cursorParam": "page[cursor]", - "cursorPath": "meta.pagination.next_cursor", - "limitParam": "page[size]", - "resultsPath": "data" + "x-menu-order": 10, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_READ" + ] }, "x-undo": { "type": "safe" @@ -238729,6 +243054,10 @@ "description": "Search or aggregate your CI Visibility test events over HTTP.", "name": "CI Visibility Tests" }, + { + "description": "The Cloud Cost Management API allows you to setup, edit and delete cloud cost management accounts for AWS & Azure.", + "name": "Cloud Cost Management" + }, { "description": "Workload activity security rules for generating events using the Datadog security Agent.", "name": "Cloud Workload Security" diff --git a/data/api/v2/translate_actions.json b/data/api/v2/translate_actions.json index ff632eacd4338..3d335bd5abdad 100644 --- a/data/api/v2/translate_actions.json +++ b/data/api/v2/translate_actions.json @@ -175,6 +175,54 @@ "description": "Get all containers for your organization.", "summary": "Get All Containers" }, + "ListCostAWSCURConfigs": { + "description": "List the AWS CUR configs.", + "summary": "List Cloud Cost Management AWS CUR configs" + }, + "CreateCostAWSCURConfig": { + "description": "Create a Cloud Cost Management account for an AWS CUR config.", + "summary": "Create Cloud Cost Management AWS CUR config", + "request_description": "", + "request_schema_description": "AWS CUR config Post Request." + }, + "DeleteCostAWSCURConfig": { + "description": "Archive a Cloud Cost Management Account.", + "summary": "Delete Cloud Cost Management AWS CUR config" + }, + "UpdateCostAWSCURConfig": { + "description": "Update the status of an AWS CUR config (active/archived).", + "summary": "Update Cloud Cost Management AWS CUR config", + "request_description": "", + "request_schema_description": "AWS CUR config Patch Request." + }, + "ListAWSRelatedAccounts": { + "description": "List the AWS accounts in an organization by calling 'organizations:ListAccounts' from the specified management account.", + "summary": "List related AWS accounts" + }, + "ListCostAzureUCConfigs": { + "description": "List the Azure configs.", + "summary": "List Cloud Cost Management Azure configs" + }, + "CreateCostAzureUCConfigs": { + "description": "Create a Cloud Cost Management account for an Azure config.", + "summary": "Create Cloud Cost Management Azure configs", + "request_description": "", + "request_schema_description": "Azure config Post Request." + }, + "DeleteCostAzureUCConfig": { + "description": "Archive a Cloud Cost Management Account.", + "summary": "Delete Cloud Cost Management Azure config" + }, + "UpdateCostAzureUCConfigs": { + "description": "Update the status of an Azure config (active/archived).", + "summary": "Update Cloud Cost Management Azure config", + "request_description": "", + "request_schema_description": "Azure config Patch Request." + }, + "GetCloudCostActivity": { + "description": "Get the Cloud Cost Management activity.", + "summary": "Cloud Cost Enabled" + }, "GetActiveBillingDimensions": { "description": "Get active billing dimensions for cost attribution. Cost data for a given month becomes available no later than the 17th of the following month.", "summary": "Get active billing dimensions for cost attribution" diff --git a/data/api/v2/translate_tags.json b/data/api/v2/translate_tags.json index e8b0763d070ca..53c15f0b21bd0 100644 --- a/data/api/v2/translate_tags.json +++ b/data/api/v2/translate_tags.json @@ -19,6 +19,10 @@ "name": "CI Visibility Tests", "description": "Search or aggregate your CI Visibility test events over HTTP." }, + "cloud-cost-management": { + "name": "Cloud Cost Management", + "description": "The Cloud Cost Management API allows you to setup, edit and delete cloud cost management accounts for AWS & Azure." + }, "cloud-workload-security": { "name": "Cloud Workload Security", "description": "Workload activity security rules for generating events using the Datadog security Agent." diff --git a/static/resources/json/full_spec_v2.json b/static/resources/json/full_spec_v2.json index 378506843e32f..9368bf50d8264 100644 --- a/static/resources/json/full_spec_v2.json +++ b/static/resources/json/full_spec_v2.json @@ -215,6 +215,15 @@ "type": "string" } }, + "CloudAccountID": { + "description": "Cloud Account id.", + "in": "path", + "name": "cloud_account_id", + "required": true, + "schema": { + "type": "string" + } + }, "CloudWorkloadSecurityAgentRuleID": { "description": "The ID of the Agent rule.", "example": "3b5-v82-ns6", @@ -2664,6 +2673,124 @@ "API_KEYS" ] }, + "AWSRelatedAccount": { + "description": "AWS related account.", + "properties": { + "attributes": { + "description": "Attributes for an AWS related account.", + "properties": { + "has_datadog_integration": { + "description": "Whether or not the AWS account has a Datadog integration.", + "type": "boolean" + }, + "name": { + "description": "The name of the AWS account.", + "type": "string" + } + }, + "type": "object" + }, + "id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "type": { + "default": "aws_account", + "description": "Type of AWS related account.", + "enum": [ + "aws_account" + ], + "example": "aws_account", + "type": "string", + "x-enum-varnames": [ + "AWS_ACCOUNT" + ] + } + }, + "required": [ + "id", + "type" + ], + "type": "object" + }, + "AWSRelatedAccountAttributes": { + "description": "Attributes for an AWS related account.", + "properties": { + "has_datadog_integration": { + "description": "Whether or not the AWS account has a Datadog integration.", + "type": "boolean" + }, + "name": { + "description": "The name of the AWS account.", + "type": "string" + } + }, + "type": "object" + }, + "AWSRelatedAccountType": { + "default": "aws_account", + "description": "Type of AWS related account.", + "enum": [ + "aws_account" + ], + "example": "aws_account", + "type": "string", + "x-enum-varnames": [ + "AWS_ACCOUNT" + ] + }, + "AWSRelatedAccountsResponse": { + "description": "List of AWS related accounts.", + "properties": { + "data": { + "description": "An AWS related account.", + "items": { + "description": "AWS related account.", + "properties": { + "attributes": { + "description": "Attributes for an AWS related account.", + "properties": { + "has_datadog_integration": { + "description": "Whether or not the AWS account has a Datadog integration.", + "type": "boolean" + }, + "name": { + "description": "The name of the AWS account.", + "type": "string" + } + }, + "type": "object" + }, + "id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "type": { + "default": "aws_account", + "description": "Type of AWS related account.", + "enum": [ + "aws_account" + ], + "example": "aws_account", + "type": "string", + "x-enum-varnames": [ + "AWS_ACCOUNT" + ] + } + }, + "required": [ + "id", + "type" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, "ActiveBillingDimensionsAttributes": { "description": "List of active billing dimensions.", "properties": { @@ -5922,115 +6049,251 @@ "AUTHN_MAPPINGS" ] }, - "BulkMuteFindingsRequest": { - "description": "The new bulk mute finding request.", + "AwsCURConfig": { + "description": "AWS CUR config.", "properties": { - "data": { - "description": "Data object containing the new bulk mute properties of the finding.", + "attributes": { + "description": "Attributes for An AWS CUR config.", "properties": { - "attributes": { - "additionalProperties": false, - "description": "The mute properties to be updated.", - "properties": { - "mute": { - "additionalProperties": false, - "description": "Object containing the new mute properties of the findings.", - "properties": { - "description": { - "description": "Additional information about the reason why those findings are muted or unmuted. This field has a maximum limit of 280 characters.", - "type": "string" - }, - "expiration_date": { - "description": "The expiration date of the mute or unmute action (Unix ms). It must be set to a value greater than the current timestamp.\nIf this field is not provided, the finding will be muted or unmuted indefinitely, which is equivalent to setting the expiration date to 9999999999999.\n", - "example": 1778721573794, - "format": "int64", - "type": "integer" - }, - "muted": { - "description": "Whether those findings should be muted or unmuted.", - "example": true, - "type": "boolean" - }, - "reason": { - "description": "The reason why this finding is muted or unmuted.", - "enum": [ - "PENDING_FIX", - "FALSE_POSITIVE", - "ACCEPTED_RISK", - "NO_PENDING_FIX", - "HUMAN_ERROR", - "NO_LONGER_ACCEPTED_RISK", - "OTHER" - ], - "example": "ACCEPTED_RISK", - "type": "string", - "x-enum-varnames": [ - "PENDING_FIX", - "FALSE_POSITIVE", - "ACCEPTED_RISK", - "NO_PENDING_FIX", - "HUMAN_ERROR", - "NO_LONGER_ACCEPTED_RISK", - "OTHER" - ] - } - }, - "required": [ - "muted", - "reason" - ], - "type": "object" - } + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the AWS CUR config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the AWS CUR config.", + "items": { + "type": "string" }, - "required": [ - "mute" - ], - "type": "object" + "type": "array" }, - "id": { - "description": "UUID to identify the request", - "example": "dbe5f567-192b-4404-b908-29b70e1c9f76", + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", "type": "string" }, - "meta": { - "description": "Meta object containing the findings to be updated.", + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + }, + "status": { + "description": "The status of the AWS CUR.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "bucket_region", + "report_name", + "report_prefix", + "status" + ], + "type": "object" + }, + "id": { + "description": "The ID of the AWS CUR config.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "aws_cur_config", + "description": "Type of AWS CUR config.", + "enum": [ + "aws_cur_config" + ], + "example": "aws_cur_config", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "AwsCURConfigAttributes": { + "description": "Attributes for An AWS CUR config.", + "properties": { + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the AWS CUR config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the AWS CUR config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + }, + "status": { + "description": "The status of the AWS CUR.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "bucket_region", + "report_name", + "report_prefix", + "status" + ], + "type": "object" + }, + "AwsCURConfigPatchData": { + "description": "AWS CUR config Patch data.", + "properties": { + "attributes": { + "description": "Attributes for AWS CUR config Patch Request.", + "properties": { + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" + }, + "type": { + "default": "aws_cur_config_patch_request", + "description": "Type of AWS CUR config Patch Request.", + "enum": [ + "aws_cur_config_patch_request" + ], + "example": "aws_cur_config_patch_request", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG_PATCH_REQUEST" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "AwsCURConfigPatchRequest": { + "description": "AWS CUR config Patch Request.", + "properties": { + "data": { + "description": "AWS CUR config Patch data.", + "properties": { + "attributes": { + "description": "Attributes for AWS CUR config Patch Request.", "properties": { - "findings": { - "description": "Array of findings.", - "items": { - "description": "Finding object containing the finding information.", - "properties": { - "finding_id": { - "description": "The unique ID for this finding.", - "example": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "example": true, + "type": "boolean" } }, + "required": [ + "is_enabled" + ], "type": "object" }, "type": { - "default": "finding", - "description": "The JSON:API type for findings.", + "default": "aws_cur_config_patch_request", + "description": "Type of AWS CUR config Patch Request.", "enum": [ - "finding" + "aws_cur_config_patch_request" ], - "example": "finding", + "example": "aws_cur_config_patch_request", "type": "string", "x-enum-varnames": [ - "FINDING" + "AWS_CUR_CONFIG_PATCH_REQUEST" ] } }, "required": [ - "id", - "type", "attributes", - "meta" + "type" ], "type": "object" } @@ -6040,279 +6303,1049 @@ ], "type": "object" }, - "BulkMuteFindingsRequestAttributes": { - "additionalProperties": false, - "description": "The mute properties to be updated.", + "AwsCURConfigPatchRequestAttributes": { + "description": "Attributes for AWS CUR config Patch Request.", "properties": { - "mute": { - "additionalProperties": false, - "description": "Object containing the new mute properties of the findings.", + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" + }, + "AwsCURConfigPatchRequestType": { + "default": "aws_cur_config_patch_request", + "description": "Type of AWS CUR config Patch Request.", + "enum": [ + "aws_cur_config_patch_request" + ], + "example": "aws_cur_config_patch_request", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG_PATCH_REQUEST" + ] + }, + "AwsCURConfigPostData": { + "description": "AWS CUR config Post data.", + "properties": { + "attributes": { + "description": "Attributes for AWS CUR config Post Request.", "properties": { - "description": { - "description": "Additional information about the reason why those findings are muted or unmuted. This field has a maximum limit of 280 characters.", + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", "type": "string" }, - "expiration_date": { - "description": "The expiration date of the mute or unmute action (Unix ms). It must be set to a value greater than the current timestamp.\nIf this field is not provided, the finding will be muted or unmuted indefinitely, which is equivalent to setting the expiration date to 9999999999999.\n", - "example": 1778721573794, - "format": "int64", - "type": "integer" + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" }, - "muted": { - "description": "Whether those findings should be muted or unmuted.", - "example": true, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", "type": "boolean" }, - "reason": { - "description": "The reason why this finding is muted or unmuted.", + "months": { + "description": "The month of the report.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "report_name", + "report_prefix" + ], + "type": "object" + }, + "type": { + "default": "aws_cur_config_post_request", + "description": "Type of AWS CUR config Post Request.", + "enum": [ + "aws_cur_config_post_request" + ], + "example": "aws_cur_config_post_request", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG_POST_REQUEST" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "AwsCURConfigPostRequest": { + "description": "AWS CUR config Post Request.", + "properties": { + "data": { + "description": "AWS CUR config Post data.", + "properties": { + "attributes": { + "description": "Attributes for AWS CUR config Post Request.", + "properties": { + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "type": "boolean" + }, + "months": { + "description": "The month of the report.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "report_name", + "report_prefix" + ], + "type": "object" + }, + "type": { + "default": "aws_cur_config_post_request", + "description": "Type of AWS CUR config Post Request.", "enum": [ - "PENDING_FIX", - "FALSE_POSITIVE", - "ACCEPTED_RISK", - "NO_PENDING_FIX", - "HUMAN_ERROR", - "NO_LONGER_ACCEPTED_RISK", - "OTHER" + "aws_cur_config_post_request" ], - "example": "ACCEPTED_RISK", + "example": "aws_cur_config_post_request", "type": "string", "x-enum-varnames": [ - "PENDING_FIX", - "FALSE_POSITIVE", - "ACCEPTED_RISK", - "NO_PENDING_FIX", - "HUMAN_ERROR", - "NO_LONGER_ACCEPTED_RISK", - "OTHER" + "AWS_CUR_CONFIG_POST_REQUEST" ] } }, "required": [ - "muted", - "reason" + "attributes", + "type" ], "type": "object" } }, "required": [ - "mute" + "data" ], "type": "object" }, - "BulkMuteFindingsRequestData": { - "description": "Data object containing the new bulk mute properties of the finding.", + "AwsCURConfigPostRequestAttributes": { + "description": "Attributes for AWS CUR config Post Request.", "properties": { - "attributes": { - "additionalProperties": false, - "description": "The mute properties to be updated.", + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "type": "boolean" + }, + "months": { + "description": "The month of the report.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "report_name", + "report_prefix" + ], + "type": "object" + }, + "AwsCURConfigPostRequestType": { + "default": "aws_cur_config_post_request", + "description": "Type of AWS CUR config Post Request.", + "enum": [ + "aws_cur_config_post_request" + ], + "example": "aws_cur_config_post_request", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG_POST_REQUEST" + ] + }, + "AwsCURConfigResponse": { + "description": "Response of AWS CUR config.", + "properties": { + "data": { + "description": "AWS CUR config.", "properties": { - "mute": { - "additionalProperties": false, - "description": "Object containing the new mute properties of the findings.", + "attributes": { + "description": "Attributes for An AWS CUR config.", "properties": { - "description": { - "description": "Additional information about the reason why those findings are muted or unmuted. This field has a maximum limit of 280 characters.", + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", "type": "string" }, - "expiration_date": { - "description": "The expiration date of the mute or unmute action (Unix ms). It must be set to a value greater than the current timestamp.\nIf this field is not provided, the finding will be muted or unmuted indefinitely, which is equivalent to setting the expiration date to 9999999999999.\n", - "example": 1778721573794, - "format": "int64", + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the AWS CUR config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the AWS CUR config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, "type": "integer" }, - "muted": { - "description": "Whether those findings should be muted or unmuted.", - "example": true, - "type": "boolean" + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" }, - "reason": { - "description": "The reason why this finding is muted or unmuted.", - "enum": [ - "PENDING_FIX", - "FALSE_POSITIVE", - "ACCEPTED_RISK", - "NO_PENDING_FIX", - "HUMAN_ERROR", - "NO_LONGER_ACCEPTED_RISK", - "OTHER" - ], - "example": "ACCEPTED_RISK", - "type": "string", - "x-enum-varnames": [ - "PENDING_FIX", - "FALSE_POSITIVE", - "ACCEPTED_RISK", - "NO_PENDING_FIX", - "HUMAN_ERROR", - "NO_LONGER_ACCEPTED_RISK", - "OTHER" - ] + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + }, + "status": { + "description": "The status of the AWS CUR.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" } }, "required": [ - "muted", - "reason" + "account_id", + "bucket_name", + "bucket_region", + "report_name", + "report_prefix", + "status" ], "type": "object" + }, + "id": { + "description": "The ID of the AWS CUR config.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "aws_cur_config", + "description": "Type of AWS CUR config.", + "enum": [ + "aws_cur_config" + ], + "example": "aws_cur_config", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG" + ] } }, "required": [ - "mute" + "attributes", + "type" ], "type": "object" + } + }, + "type": "object" + }, + "AwsCURConfigType": { + "default": "aws_cur_config", + "description": "Type of AWS CUR config.", + "enum": [ + "aws_cur_config" + ], + "example": "aws_cur_config", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG" + ] + }, + "AwsCURConfigsResponse": { + "description": "List of AWS CUR configs.", + "properties": { + "data": { + "description": "An AWS CUR config.", + "items": { + "description": "AWS CUR config.", + "properties": { + "attributes": { + "description": "Attributes for An AWS CUR config.", + "properties": { + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the AWS CUR config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the AWS CUR config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + }, + "status": { + "description": "The status of the AWS CUR.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "bucket_region", + "report_name", + "report_prefix", + "status" + ], + "type": "object" + }, + "id": { + "description": "The ID of the AWS CUR config.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "aws_cur_config", + "description": "Type of AWS CUR config.", + "enum": [ + "aws_cur_config" + ], + "example": "aws_cur_config", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "AzureUCConfig": { + "description": "Azure config.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the Azure config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "dataset_type": { + "description": "The dataset type of the Azure config.", + "example": "actual", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the Azure config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" }, "id": { - "description": "UUID to identify the request", - "example": "dbe5f567-192b-4404-b908-29b70e1c9f76", + "description": "The ID of the Azure config.", + "format": "int64", + "type": "integer" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", "type": "string" }, - "meta": { - "description": "Meta object containing the findings to be updated.", + "status": { + "description": "The status of the Azure config.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the Azure config status was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the Azure config was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "client_id", + "dataset_type", + "export_name", + "export_path", + "scope", + "status", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "AzureUCConfigPair": { + "description": "Azure config pair.", + "properties": { + "attributes": { + "description": "Attributes for Azure config pair.", "properties": { - "findings": { - "description": "Array of findings.", + "configs": { + "description": "An Azure config.", "items": { - "description": "Finding object containing the finding information.", + "description": "Azure config.", "properties": { - "finding_id": { - "description": "The unique ID for this finding.", - "example": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==", + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the Azure config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "dataset_type": { + "description": "The dataset type of the Azure config.", + "example": "actual", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the Azure config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "id": { + "description": "The ID of the Azure config.", + "format": "int64", + "type": "integer" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "status": { + "description": "The status of the Azure config.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the Azure config status was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the Azure config was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", "type": "string" } }, + "required": [ + "account_id", + "client_id", + "dataset_type", + "export_name", + "export_path", + "scope", + "status", + "storage_account", + "storage_container" + ], "type": "object" }, "type": "array" + }, + "id": { + "description": "The ID of the Azure config pair.", + "format": "int64", + "type": "integer" } }, + "required": [ + "configs" + ], "type": "object" }, + "id": { + "description": "The ID of Cloud Cost Management account.", + "format": "int64", + "type": "integer" + }, "type": { - "default": "finding", - "description": "The JSON:API type for findings.", + "default": "azure_uc_configs", + "description": "Type of Azure config pair.", "enum": [ - "finding" + "azure_uc_configs" ], - "example": "finding", + "example": "azure_uc_configs", "type": "string", "x-enum-varnames": [ - "FINDING" + "AZURE_UC_CONFIGS" ] } }, "required": [ - "id", - "type", "attributes", - "meta" + "type" ], "type": "object" }, - "BulkMuteFindingsRequestMeta": { - "description": "Meta object containing the findings to be updated.", + "AzureUCConfigPairAttributes": { + "description": "Attributes for Azure config pair.", "properties": { - "findings": { - "description": "Array of findings.", + "configs": { + "description": "An Azure config.", "items": { - "description": "Finding object containing the finding information.", + "description": "Azure config.", "properties": { - "finding_id": { - "description": "The unique ID for this finding.", - "example": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==", + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the Azure config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "dataset_type": { + "description": "The dataset type of the Azure config.", + "example": "actual", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the Azure config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "id": { + "description": "The ID of the Azure config.", + "format": "int64", + "type": "integer" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "status": { + "description": "The status of the Azure config.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the Azure config status was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the Azure config was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", "type": "string" } }, + "required": [ + "account_id", + "client_id", + "dataset_type", + "export_name", + "export_path", + "scope", + "status", + "storage_account", + "storage_container" + ], "type": "object" }, "type": "array" + }, + "id": { + "description": "The ID of the Azure config pair.", + "format": "int64", + "type": "integer" } }, + "required": [ + "configs" + ], "type": "object" }, - "BulkMuteFindingsRequestMetaFindings": { - "description": "Finding object containing the finding information.", + "AzureUCConfigPairType": { + "default": "azure_uc_configs", + "description": "Type of Azure config pair.", + "enum": [ + "azure_uc_configs" + ], + "example": "azure_uc_configs", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIGS" + ] + }, + "AzureUCConfigPairsResponse": { + "description": "Response of Azure config pair.", "properties": { - "finding_id": { - "description": "The unique ID for this finding.", - "example": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==", - "type": "string" + "data": { + "description": "Azure config pair.", + "properties": { + "attributes": { + "description": "Attributes for Azure config pair.", + "properties": { + "configs": { + "description": "An Azure config.", + "items": { + "description": "Azure config.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the Azure config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "dataset_type": { + "description": "The dataset type of the Azure config.", + "example": "actual", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the Azure config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "id": { + "description": "The ID of the Azure config.", + "format": "int64", + "type": "integer" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "status": { + "description": "The status of the Azure config.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the Azure config status was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the Azure config was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "client_id", + "dataset_type", + "export_name", + "export_path", + "scope", + "status", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "type": "array" + }, + "id": { + "description": "The ID of the Azure config pair.", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "configs" + ], + "type": "object" + }, + "id": { + "description": "The ID of Cloud Cost Management account.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "azure_uc_configs", + "description": "Type of Azure config pair.", + "enum": [ + "azure_uc_configs" + ], + "example": "azure_uc_configs", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIGS" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" } }, "type": "object" }, - "BulkMuteFindingsRequestProperties": { - "additionalProperties": false, - "description": "Object containing the new mute properties of the findings.", + "AzureUCConfigPatchData": { + "description": "Azure config Patch data.", "properties": { - "description": { - "description": "Additional information about the reason why those findings are muted or unmuted. This field has a maximum limit of 280 characters.", - "type": "string" - }, - "expiration_date": { - "description": "The expiration date of the mute or unmute action (Unix ms). It must be set to a value greater than the current timestamp.\nIf this field is not provided, the finding will be muted or unmuted indefinitely, which is equivalent to setting the expiration date to 9999999999999.\n", - "example": 1778721573794, - "format": "int64", - "type": "integer" - }, - "muted": { - "description": "Whether those findings should be muted or unmuted.", - "example": true, - "type": "boolean" + "attributes": { + "description": "Attributes for Azure config Patch Request.", + "properties": { + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" }, - "reason": { - "description": "The reason why this finding is muted or unmuted.", + "type": { + "default": "azure_uc_config_patch_request", + "description": "Type of Azure config Patch Request.", "enum": [ - "PENDING_FIX", - "FALSE_POSITIVE", - "ACCEPTED_RISK", - "NO_PENDING_FIX", - "HUMAN_ERROR", - "NO_LONGER_ACCEPTED_RISK", - "OTHER" + "azure_uc_config_patch_request" ], - "example": "ACCEPTED_RISK", + "example": "azure_uc_config_patch_request", "type": "string", "x-enum-varnames": [ - "PENDING_FIX", - "FALSE_POSITIVE", - "ACCEPTED_RISK", - "NO_PENDING_FIX", - "HUMAN_ERROR", - "NO_LONGER_ACCEPTED_RISK", - "OTHER" + "AZURE_UC_CONFIG_PATCH_REQUEST" ] } }, "required": [ - "muted", - "reason" + "attributes", + "type" ], "type": "object" }, - "BulkMuteFindingsResponse": { - "description": "The expected response schema.", + "AzureUCConfigPatchRequest": { + "description": "Azure config Patch Request.", "properties": { "data": { - "description": "Data object containing the ID of the request that was updated.", + "description": "Azure config Patch data.", "properties": { - "id": { - "description": "UUID used to identify the request", - "example": "93bfeb70-af47-424d-908a-948d3f08e37f", - "type": "string" + "attributes": { + "description": "Attributes for Azure config Patch Request.", + "properties": { + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" }, "type": { - "default": "finding", - "description": "The JSON:API type for findings.", + "default": "azure_uc_config_patch_request", + "description": "Type of Azure config Patch Request.", "enum": [ - "finding" + "azure_uc_config_patch_request" ], - "example": "finding", + "example": "azure_uc_config_patch_request", "type": "string", "x-enum-varnames": [ - "FINDING" + "AZURE_UC_CONFIG_PATCH_REQUEST" ] } }, + "required": [ + "attributes", + "type" + ], "type": "object" } }, @@ -6321,74 +7354,1035 @@ ], "type": "object" }, - "BulkMuteFindingsResponseData": { - "description": "Data object containing the ID of the request that was updated.", + "AzureUCConfigPatchRequestAttributes": { + "description": "Attributes for Azure config Patch Request.", "properties": { - "id": { - "description": "UUID used to identify the request", - "example": "93bfeb70-af47-424d-908a-948d3f08e37f", - "type": "string" - }, - "type": { - "default": "finding", - "description": "The JSON:API type for findings.", - "enum": [ - "finding" - ], - "example": "finding", - "type": "string", - "x-enum-varnames": [ - "FINDING" - ] + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "example": true, + "type": "boolean" } }, + "required": [ + "is_enabled" + ], "type": "object" }, - "CIAppAggregateBucketValue": { - "description": "A bucket value, can either be a timeseries or a single value.", - "oneOf": [ - { - "description": "A single string value.", - "type": "string" - }, - { - "description": "A single number value.", - "format": "double", - "type": "number" - }, - { - "description": "A timeseries array.", - "items": { - "description": "A timeseries point.", - "properties": { - "time": { - "description": "The time value for this point.", - "example": "2020-06-08T11:55:00.123Z", - "format": "date-time", - "type": "string" - }, - "value": { - "description": "The value for this point.", - "example": 19, - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "type": "array", - "x-generate-alias-as-model": true - } + "AzureUCConfigPatchRequestType": { + "default": "azure_uc_config_patch_request", + "description": "Type of Azure config Patch Request.", + "enum": [ + "azure_uc_config_patch_request" + ], + "example": "azure_uc_config_patch_request", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIG_PATCH_REQUEST" ] }, - "CIAppAggregateBucketValueSingleNumber": { - "description": "A single number value.", - "format": "double", - "type": "number" - }, - "CIAppAggregateBucketValueSingleString": { - "description": "A single string value.", - "type": "string" + "AzureUCConfigPostData": { + "description": "Azure config Post data.", + "properties": { + "attributes": { + "description": "Attributes for Azure config Post Request.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "actual_bill_config": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "amortized_bill_config": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "client_id": { + "description": "The client ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "type": "boolean" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + } + }, + "required": [ + "account_id", + "actual_bill_config", + "amortized_bill_config", + "client_id", + "scope" + ], + "type": "object" + }, + "type": { + "default": "azure_uc_config_post_request", + "description": "Type of Azure config Post Request.", + "enum": [ + "azure_uc_config_post_request" + ], + "example": "azure_uc_config_post_request", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIG_POST_REQUEST" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "AzureUCConfigPostRequest": { + "description": "Azure config Post Request.", + "properties": { + "data": { + "description": "Azure config Post data.", + "properties": { + "attributes": { + "description": "Attributes for Azure config Post Request.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "actual_bill_config": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "amortized_bill_config": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "client_id": { + "description": "The client ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "type": "boolean" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + } + }, + "required": [ + "account_id", + "actual_bill_config", + "amortized_bill_config", + "client_id", + "scope" + ], + "type": "object" + }, + "type": { + "default": "azure_uc_config_post_request", + "description": "Type of Azure config Post Request.", + "enum": [ + "azure_uc_config_post_request" + ], + "example": "azure_uc_config_post_request", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIG_POST_REQUEST" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "AzureUCConfigPostRequestAttributes": { + "description": "Attributes for Azure config Post Request.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "actual_bill_config": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "amortized_bill_config": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "client_id": { + "description": "The client ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "type": "boolean" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + } + }, + "required": [ + "account_id", + "actual_bill_config", + "amortized_bill_config", + "client_id", + "scope" + ], + "type": "object" + }, + "AzureUCConfigPostRequestType": { + "default": "azure_uc_config_post_request", + "description": "Type of Azure config Post Request.", + "enum": [ + "azure_uc_config_post_request" + ], + "example": "azure_uc_config_post_request", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIG_POST_REQUEST" + ] + }, + "AzureUCConfigsResponse": { + "description": "List of Azure accounts with configs.", + "properties": { + "data": { + "description": "An Azure config pair.", + "items": { + "description": "Azure config pair.", + "properties": { + "attributes": { + "description": "Attributes for Azure config pair.", + "properties": { + "configs": { + "description": "An Azure config.", + "items": { + "description": "Azure config.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the Azure config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "dataset_type": { + "description": "The dataset type of the Azure config.", + "example": "actual", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the Azure config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "id": { + "description": "The ID of the Azure config.", + "format": "int64", + "type": "integer" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "status": { + "description": "The status of the Azure config.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the Azure config status was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the Azure config was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "client_id", + "dataset_type", + "export_name", + "export_path", + "scope", + "status", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "type": "array" + }, + "id": { + "description": "The ID of the Azure config pair.", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "configs" + ], + "type": "object" + }, + "id": { + "description": "The ID of Cloud Cost Management account.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "azure_uc_configs", + "description": "Type of Azure config pair.", + "enum": [ + "azure_uc_configs" + ], + "example": "azure_uc_configs", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIGS" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "BillConfig": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "BulkMuteFindingsRequest": { + "description": "The new bulk mute finding request.", + "properties": { + "data": { + "description": "Data object containing the new bulk mute properties of the finding.", + "properties": { + "attributes": { + "additionalProperties": false, + "description": "The mute properties to be updated.", + "properties": { + "mute": { + "additionalProperties": false, + "description": "Object containing the new mute properties of the findings.", + "properties": { + "description": { + "description": "Additional information about the reason why those findings are muted or unmuted. This field has a maximum limit of 280 characters.", + "type": "string" + }, + "expiration_date": { + "description": "The expiration date of the mute or unmute action (Unix ms). It must be set to a value greater than the current timestamp.\nIf this field is not provided, the finding will be muted or unmuted indefinitely, which is equivalent to setting the expiration date to 9999999999999.\n", + "example": 1778721573794, + "format": "int64", + "type": "integer" + }, + "muted": { + "description": "Whether those findings should be muted or unmuted.", + "example": true, + "type": "boolean" + }, + "reason": { + "description": "The reason why this finding is muted or unmuted.", + "enum": [ + "PENDING_FIX", + "FALSE_POSITIVE", + "ACCEPTED_RISK", + "NO_PENDING_FIX", + "HUMAN_ERROR", + "NO_LONGER_ACCEPTED_RISK", + "OTHER" + ], + "example": "ACCEPTED_RISK", + "type": "string", + "x-enum-varnames": [ + "PENDING_FIX", + "FALSE_POSITIVE", + "ACCEPTED_RISK", + "NO_PENDING_FIX", + "HUMAN_ERROR", + "NO_LONGER_ACCEPTED_RISK", + "OTHER" + ] + } + }, + "required": [ + "muted", + "reason" + ], + "type": "object" + } + }, + "required": [ + "mute" + ], + "type": "object" + }, + "id": { + "description": "UUID to identify the request", + "example": "dbe5f567-192b-4404-b908-29b70e1c9f76", + "type": "string" + }, + "meta": { + "description": "Meta object containing the findings to be updated.", + "properties": { + "findings": { + "description": "Array of findings.", + "items": { + "description": "Finding object containing the finding information.", + "properties": { + "finding_id": { + "description": "The unique ID for this finding.", + "example": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "type": { + "default": "finding", + "description": "The JSON:API type for findings.", + "enum": [ + "finding" + ], + "example": "finding", + "type": "string", + "x-enum-varnames": [ + "FINDING" + ] + } + }, + "required": [ + "id", + "type", + "attributes", + "meta" + ], + "type": "object" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "BulkMuteFindingsRequestAttributes": { + "additionalProperties": false, + "description": "The mute properties to be updated.", + "properties": { + "mute": { + "additionalProperties": false, + "description": "Object containing the new mute properties of the findings.", + "properties": { + "description": { + "description": "Additional information about the reason why those findings are muted or unmuted. This field has a maximum limit of 280 characters.", + "type": "string" + }, + "expiration_date": { + "description": "The expiration date of the mute or unmute action (Unix ms). It must be set to a value greater than the current timestamp.\nIf this field is not provided, the finding will be muted or unmuted indefinitely, which is equivalent to setting the expiration date to 9999999999999.\n", + "example": 1778721573794, + "format": "int64", + "type": "integer" + }, + "muted": { + "description": "Whether those findings should be muted or unmuted.", + "example": true, + "type": "boolean" + }, + "reason": { + "description": "The reason why this finding is muted or unmuted.", + "enum": [ + "PENDING_FIX", + "FALSE_POSITIVE", + "ACCEPTED_RISK", + "NO_PENDING_FIX", + "HUMAN_ERROR", + "NO_LONGER_ACCEPTED_RISK", + "OTHER" + ], + "example": "ACCEPTED_RISK", + "type": "string", + "x-enum-varnames": [ + "PENDING_FIX", + "FALSE_POSITIVE", + "ACCEPTED_RISK", + "NO_PENDING_FIX", + "HUMAN_ERROR", + "NO_LONGER_ACCEPTED_RISK", + "OTHER" + ] + } + }, + "required": [ + "muted", + "reason" + ], + "type": "object" + } + }, + "required": [ + "mute" + ], + "type": "object" + }, + "BulkMuteFindingsRequestData": { + "description": "Data object containing the new bulk mute properties of the finding.", + "properties": { + "attributes": { + "additionalProperties": false, + "description": "The mute properties to be updated.", + "properties": { + "mute": { + "additionalProperties": false, + "description": "Object containing the new mute properties of the findings.", + "properties": { + "description": { + "description": "Additional information about the reason why those findings are muted or unmuted. This field has a maximum limit of 280 characters.", + "type": "string" + }, + "expiration_date": { + "description": "The expiration date of the mute or unmute action (Unix ms). It must be set to a value greater than the current timestamp.\nIf this field is not provided, the finding will be muted or unmuted indefinitely, which is equivalent to setting the expiration date to 9999999999999.\n", + "example": 1778721573794, + "format": "int64", + "type": "integer" + }, + "muted": { + "description": "Whether those findings should be muted or unmuted.", + "example": true, + "type": "boolean" + }, + "reason": { + "description": "The reason why this finding is muted or unmuted.", + "enum": [ + "PENDING_FIX", + "FALSE_POSITIVE", + "ACCEPTED_RISK", + "NO_PENDING_FIX", + "HUMAN_ERROR", + "NO_LONGER_ACCEPTED_RISK", + "OTHER" + ], + "example": "ACCEPTED_RISK", + "type": "string", + "x-enum-varnames": [ + "PENDING_FIX", + "FALSE_POSITIVE", + "ACCEPTED_RISK", + "NO_PENDING_FIX", + "HUMAN_ERROR", + "NO_LONGER_ACCEPTED_RISK", + "OTHER" + ] + } + }, + "required": [ + "muted", + "reason" + ], + "type": "object" + } + }, + "required": [ + "mute" + ], + "type": "object" + }, + "id": { + "description": "UUID to identify the request", + "example": "dbe5f567-192b-4404-b908-29b70e1c9f76", + "type": "string" + }, + "meta": { + "description": "Meta object containing the findings to be updated.", + "properties": { + "findings": { + "description": "Array of findings.", + "items": { + "description": "Finding object containing the finding information.", + "properties": { + "finding_id": { + "description": "The unique ID for this finding.", + "example": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "type": { + "default": "finding", + "description": "The JSON:API type for findings.", + "enum": [ + "finding" + ], + "example": "finding", + "type": "string", + "x-enum-varnames": [ + "FINDING" + ] + } + }, + "required": [ + "id", + "type", + "attributes", + "meta" + ], + "type": "object" + }, + "BulkMuteFindingsRequestMeta": { + "description": "Meta object containing the findings to be updated.", + "properties": { + "findings": { + "description": "Array of findings.", + "items": { + "description": "Finding object containing the finding information.", + "properties": { + "finding_id": { + "description": "The unique ID for this finding.", + "example": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkMuteFindingsRequestMetaFindings": { + "description": "Finding object containing the finding information.", + "properties": { + "finding_id": { + "description": "The unique ID for this finding.", + "example": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==", + "type": "string" + } + }, + "type": "object" + }, + "BulkMuteFindingsRequestProperties": { + "additionalProperties": false, + "description": "Object containing the new mute properties of the findings.", + "properties": { + "description": { + "description": "Additional information about the reason why those findings are muted or unmuted. This field has a maximum limit of 280 characters.", + "type": "string" + }, + "expiration_date": { + "description": "The expiration date of the mute or unmute action (Unix ms). It must be set to a value greater than the current timestamp.\nIf this field is not provided, the finding will be muted or unmuted indefinitely, which is equivalent to setting the expiration date to 9999999999999.\n", + "example": 1778721573794, + "format": "int64", + "type": "integer" + }, + "muted": { + "description": "Whether those findings should be muted or unmuted.", + "example": true, + "type": "boolean" + }, + "reason": { + "description": "The reason why this finding is muted or unmuted.", + "enum": [ + "PENDING_FIX", + "FALSE_POSITIVE", + "ACCEPTED_RISK", + "NO_PENDING_FIX", + "HUMAN_ERROR", + "NO_LONGER_ACCEPTED_RISK", + "OTHER" + ], + "example": "ACCEPTED_RISK", + "type": "string", + "x-enum-varnames": [ + "PENDING_FIX", + "FALSE_POSITIVE", + "ACCEPTED_RISK", + "NO_PENDING_FIX", + "HUMAN_ERROR", + "NO_LONGER_ACCEPTED_RISK", + "OTHER" + ] + } + }, + "required": [ + "muted", + "reason" + ], + "type": "object" + }, + "BulkMuteFindingsResponse": { + "description": "The expected response schema.", + "properties": { + "data": { + "description": "Data object containing the ID of the request that was updated.", + "properties": { + "id": { + "description": "UUID used to identify the request", + "example": "93bfeb70-af47-424d-908a-948d3f08e37f", + "type": "string" + }, + "type": { + "default": "finding", + "description": "The JSON:API type for findings.", + "enum": [ + "finding" + ], + "example": "finding", + "type": "string", + "x-enum-varnames": [ + "FINDING" + ] + } + }, + "type": "object" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "BulkMuteFindingsResponseData": { + "description": "Data object containing the ID of the request that was updated.", + "properties": { + "id": { + "description": "UUID used to identify the request", + "example": "93bfeb70-af47-424d-908a-948d3f08e37f", + "type": "string" + }, + "type": { + "default": "finding", + "description": "The JSON:API type for findings.", + "enum": [ + "finding" + ], + "example": "finding", + "type": "string", + "x-enum-varnames": [ + "FINDING" + ] + } + }, + "type": "object" + }, + "CIAppAggregateBucketValue": { + "description": "A bucket value, can either be a timeseries or a single value.", + "oneOf": [ + { + "description": "A single string value.", + "type": "string" + }, + { + "description": "A single number value.", + "format": "double", + "type": "number" + }, + { + "description": "A timeseries array.", + "items": { + "description": "A timeseries point.", + "properties": { + "time": { + "description": "The time value for this point.", + "example": "2020-06-08T11:55:00.123Z", + "format": "date-time", + "type": "string" + }, + "value": { + "description": "The value for this point.", + "example": 19, + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "type": "array", + "x-generate-alias-as-model": true + } + ] + }, + "CIAppAggregateBucketValueSingleNumber": { + "description": "A single number value.", + "format": "double", + "type": "number" + }, + "CIAppAggregateBucketValueSingleString": { + "description": "A single string value.", + "type": "string" }, "CIAppAggregateBucketValueTimeseries": { "description": "A timeseries array.", @@ -16234,6 +18228,110 @@ "CLOUD_CONFIGURATION" ] }, + "CloudCostActivity": { + "description": "Cloud Cost Activity.", + "properties": { + "attributes": { + "description": "Attributes for Cloud Cost activity.", + "properties": { + "is_enabled": { + "description": "Whether or not the cloud account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" + }, + "type": { + "default": "cloud_cost_activity", + "description": "Type of Cloud Cost Activity.", + "enum": [ + "cloud_cost_activity" + ], + "example": "cloud_cost_activity", + "type": "string", + "x-enum-varnames": [ + "CLOUD_COST_ACTIVITY" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "CloudCostActivityAttributes": { + "description": "Attributes for Cloud Cost activity.", + "properties": { + "is_enabled": { + "description": "Whether or not the cloud account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" + }, + "CloudCostActivityResponse": { + "description": "Response for Cloud Cost activity.", + "properties": { + "data": { + "description": "Cloud Cost Activity.", + "properties": { + "attributes": { + "description": "Attributes for Cloud Cost activity.", + "properties": { + "is_enabled": { + "description": "Whether or not the cloud account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" + }, + "type": { + "default": "cloud_cost_activity", + "description": "Type of Cloud Cost Activity.", + "enum": [ + "cloud_cost_activity" + ], + "example": "cloud_cost_activity", + "type": "string", + "x-enum-varnames": [ + "CLOUD_COST_ACTIVITY" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "type": "object" + }, + "CloudCostActivityType": { + "default": "cloud_cost_activity", + "description": "Type of Cloud Cost Activity.", + "enum": [ + "cloud_cost_activity" + ], + "example": "cloud_cost_activity", + "type": "string", + "x-enum-varnames": [ + "CLOUD_COST_ACTIVITY" + ] + }, "CloudWorkloadSecurityAgentRuleAttributes": { "description": "A Cloud Workload Security Agent rule returned by the API.", "properties": { @@ -134774,320 +136872,2575 @@ { "apiKeyAuth": [], "appKeyAuth": [] - }, - { - "AuthZ": [] + }, + { + "AuthZ": [] + } + ], + "summary": "Get all Container Images", + "tags": [ + "Container Images" + ], + "x-menu-order": 1, + "x-pagination": { + "cursorParam": "page[cursor]", + "cursorPath": "meta.pagination.next_cursor", + "limitParam": "page[size]", + "resultsPath": "data" + }, + "x-undo": { + "type": "safe" + } + } + }, + "/api/v2/containers": { + "get": { + "description": "Get all containers for your organization.", + "operationId": "ListContainers", + "parameters": [ + { + "description": "Comma-separated list of tags to filter containers by.", + "example": "env:prod,short_image:cassandra", + "in": "query", + "name": "filter[tags]", + "required": false, + "schema": { + "type": "string" + } + }, + { + "description": "Comma-separated list of tags to group containers by.", + "example": "datacenter,cluster", + "in": "query", + "name": "group_by", + "required": false, + "schema": { + "type": "string" + } + }, + { + "description": "Attribute to sort containers by.", + "example": "started_at", + "in": "query", + "name": "sort", + "required": false, + "schema": { + "type": "string" + } + }, + { + "description": "Maximum number of results returned.", + "in": "query", + "name": "page[size]", + "required": false, + "schema": { + "default": 1000, + "format": "int32", + "maximum": 10000, + "minimum": 1, + "type": "integer" + } + }, + { + "description": "String to query the next page of results.\nThis key is provided with each valid response from the API in `meta.pagination.next_cursor`.", + "in": "query", + "name": "page[cursor]", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "List of containers.", + "properties": { + "data": { + "description": "Array of Container objects.", + "items": { + "description": "Possible Container models.", + "oneOf": [ + { + "description": "Container object.", + "properties": { + "attributes": { + "description": "Attributes for a container.", + "properties": { + "container_id": { + "description": "The ID of the container.", + "type": "string" + }, + "created_at": { + "description": "Time the container was created.", + "type": "string" + }, + "host": { + "description": "Hostname of the host running the container.", + "type": "string" + }, + "image_digest": { + "description": "Digest of the compressed image manifest.", + "nullable": true, + "type": "string" + }, + "image_name": { + "description": "Name of the associated container image.", + "type": "string" + }, + "image_tags": { + "description": "List of image tags associated with the container image.", + "items": { + "type": "string" + }, + "nullable": true, + "type": "array" + }, + "name": { + "description": "Name of the container.", + "type": "string" + }, + "started_at": { + "description": "Time the container was started.", + "type": "string" + }, + "state": { + "description": "State of the container. This depends on the container runtime.", + "type": "string" + }, + "tags": { + "description": "List of tags associated with the container.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "id": { + "description": "Container ID.", + "type": "string" + }, + "type": { + "default": "container", + "description": "Type of container.", + "enum": [ + "container" + ], + "example": "container", + "type": "string", + "x-enum-varnames": [ + "CONTAINER" + ] + } + }, + "type": "object" + }, + { + "description": "Container group object.", + "properties": { + "attributes": { + "description": "Attributes for a container group.", + "properties": { + "count": { + "description": "Number of containers in the group.", + "format": "int64", + "type": "integer" + }, + "tags": { + "description": "Tags from the group name parsed in key/value format.", + "type": "object" + } + }, + "type": "object" + }, + "id": { + "description": "Container Group ID.", + "type": "string" + }, + "relationships": { + "description": "Relationships to containers inside a container group.", + "properties": { + "containers": { + "description": "Relationships to Containers inside a Container Group.", + "properties": { + "data": { + "description": "Links data.", + "items": { + "description": "A link data.", + "type": "string" + }, + "type": "array" + }, + "links": { + "description": "Links attributes.", + "properties": { + "related": { + "description": "Link to related containers.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "type": { + "default": "container_group", + "description": "Type of container group.", + "enum": [ + "container_group" + ], + "example": "container_group", + "type": "string", + "x-enum-varnames": [ + "CONTAINER_GROUP" + ] + } + }, + "type": "object" + } + ] + }, + "type": "array" + }, + "links": { + "description": "Pagination links.", + "properties": { + "first": { + "description": "Link to the first page.", + "type": "string" + }, + "last": { + "description": "Link to the last page.", + "nullable": true, + "type": "string" + }, + "next": { + "description": "Link to the next page.", + "nullable": true, + "type": "string" + }, + "prev": { + "description": "Link to previous page.", + "nullable": true, + "type": "string" + }, + "self": { + "description": "Link to current page.", + "type": "string" + } + }, + "type": "object" + }, + "meta": { + "description": "Response metadata object.", + "properties": { + "pagination": { + "description": "Paging attributes.", + "properties": { + "cursor": { + "description": "The cursor used to get the current results, if any.", + "type": "string" + }, + "limit": { + "description": "Number of results returned", + "format": "int32", + "maximum": 10000, + "minimum": 0, + "type": "integer" + }, + "next_cursor": { + "description": "The cursor used to get the next results, if any.", + "type": "string" + }, + "prev_cursor": { + "description": "The cursor used to get the previous results, if any.", + "nullable": true, + "type": "string" + }, + "total": { + "description": "Total number of records that match the query.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "cursor_limit", + "description": "Type of Container pagination.", + "enum": [ + "cursor_limit" + ], + "example": "cursor_limit", + "type": "string", + "x-enum-varnames": [ + "CURSOR_LIMIT" + ] + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "type": "object" + } + } + }, + "description": "OK" + }, + "400": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Authentication Error" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + }, + { + "AuthZ": [] + } + ], + "summary": "Get All Containers", + "tags": [ + "Containers" + ], + "x-menu-order": 1, + "x-pagination": { + "cursorParam": "page[cursor]", + "cursorPath": "meta.pagination.next_cursor", + "limitParam": "page[size]", + "resultsPath": "data" + }, + "x-undo": { + "type": "safe" + } + } + }, + "/api/v2/cost/aws_cur_config": { + "get": { + "description": "List the AWS CUR configs.", + "operationId": "ListCostAWSCURConfigs", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "List of AWS CUR configs.", + "properties": { + "data": { + "description": "An AWS CUR config.", + "items": { + "description": "AWS CUR config.", + "properties": { + "attributes": { + "description": "Attributes for An AWS CUR config.", + "properties": { + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the AWS CUR config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the AWS CUR config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + }, + "status": { + "description": "The status of the AWS CUR.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "bucket_region", + "report_name", + "report_prefix", + "status" + ], + "type": "object" + }, + "id": { + "description": "The ID of the AWS CUR config.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "aws_cur_config", + "description": "Type of AWS CUR config.", + "enum": [ + "aws_cur_config" + ], + "example": "aws_cur_config", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "OK" + }, + "403": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Forbidden" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + } + ], + "summary": "List Cloud Cost Management AWS CUR configs", + "tags": [ + "Cloud Cost Management" + ], + "x-menu-order": 1, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_READ" + ] + }, + "x-undo": { + "type": "safe" + } + }, + "post": { + "description": "Create a Cloud Cost Management account for an AWS CUR config.", + "operationId": "CreateCostAWSCURConfig", + "requestBody": { + "content": { + "application/json": { + "schema": { + "description": "AWS CUR config Post Request.", + "properties": { + "data": { + "description": "AWS CUR config Post data.", + "properties": { + "attributes": { + "description": "Attributes for AWS CUR config Post Request.", + "properties": { + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "type": "boolean" + }, + "months": { + "description": "The month of the report.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "report_name", + "report_prefix" + ], + "type": "object" + }, + "type": { + "default": "aws_cur_config_post_request", + "description": "Type of AWS CUR config Post Request.", + "enum": [ + "aws_cur_config_post_request" + ], + "example": "aws_cur_config_post_request", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG_POST_REQUEST" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "required": [ + "data" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "Response of AWS CUR config.", + "properties": { + "data": { + "description": "AWS CUR config.", + "properties": { + "attributes": { + "description": "Attributes for An AWS CUR config.", + "properties": { + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the AWS CUR config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the AWS CUR config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + }, + "status": { + "description": "The status of the AWS CUR.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "bucket_region", + "report_name", + "report_prefix", + "status" + ], + "type": "object" + }, + "id": { + "description": "The ID of the AWS CUR config.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "aws_cur_config", + "description": "Type of AWS CUR config.", + "enum": [ + "aws_cur_config" + ], + "example": "aws_cur_config", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "type": "object" + } + } + }, + "description": "OK" + }, + "400": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Forbidden" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + } + ], + "summary": "Create Cloud Cost Management AWS CUR config", + "tags": [ + "Cloud Cost Management" + ], + "x-menu-order": 3, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_WRITE" + ] + }, + "x-undo": { + "type": "idempotent" + } + } + }, + "/api/v2/cost/aws_cur_config/{cloud_account_id}": { + "delete": { + "description": "Archive a Cloud Cost Management Account.", + "operationId": "DeleteCostAWSCURConfig", + "parameters": [ + { + "description": "Cloud Account id.", + "in": "path", + "name": "cloud_account_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Bad Request" + }, + "404": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Not Found" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + } + ], + "summary": "Delete Cloud Cost Management AWS CUR config", + "tags": [ + "Cloud Cost Management" + ], + "x-menu-order": 4, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_WRITE" + ] + }, + "x-undo": { + "type": "idempotent" + } + }, + "patch": { + "description": "Update the status of an AWS CUR config (active/archived).", + "operationId": "UpdateCostAWSCURConfig", + "parameters": [ + { + "description": "Cloud Account id.", + "in": "path", + "name": "cloud_account_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "description": "AWS CUR config Patch Request.", + "properties": { + "data": { + "description": "AWS CUR config Patch data.", + "properties": { + "attributes": { + "description": "Attributes for AWS CUR config Patch Request.", + "properties": { + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" + }, + "type": { + "default": "aws_cur_config_patch_request", + "description": "Type of AWS CUR config Patch Request.", + "enum": [ + "aws_cur_config_patch_request" + ], + "example": "aws_cur_config_patch_request", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG_PATCH_REQUEST" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "required": [ + "data" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "List of AWS CUR configs.", + "properties": { + "data": { + "description": "An AWS CUR config.", + "items": { + "description": "AWS CUR config.", + "properties": { + "attributes": { + "description": "Attributes for An AWS CUR config.", + "properties": { + "account_id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "bucket_name": { + "description": "The AWS bucket name used to store the Cost and Usage Report.", + "example": "dd-cost-bucket", + "type": "string" + }, + "bucket_region": { + "description": "The region the bucket is located in.", + "example": "us-east-1", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the AWS CUR config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the AWS CUR config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "report_name": { + "description": "The name of the Cost and Usage Report.", + "example": "dd-report-name", + "type": "string" + }, + "report_prefix": { + "description": "The report prefix used for the Cost and Usage Report.", + "example": "dd-report-prefix", + "type": "string" + }, + "status": { + "description": "The status of the AWS CUR.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the AWS CUR config status was updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "bucket_name", + "bucket_region", + "report_name", + "report_prefix", + "status" + ], + "type": "object" + }, + "id": { + "description": "The ID of the AWS CUR config.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "aws_cur_config", + "description": "Type of AWS CUR config.", + "enum": [ + "aws_cur_config" + ], + "example": "aws_cur_config", + "type": "string", + "x-enum-varnames": [ + "AWS_CUR_CONFIG" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "OK" + }, + "403": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Forbidden" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + } + ], + "summary": "Update Cloud Cost Management AWS CUR config", + "tags": [ + "Cloud Cost Management" + ], + "x-menu-order": 2, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_WRITE" + ] + }, + "x-undo": { + "type": "idempotent" + } + } + }, + "/api/v2/cost/aws_related_accounts": { + "get": { + "description": "List the AWS accounts in an organization by calling 'organizations:ListAccounts' from the specified management account.", + "operationId": "ListAWSRelatedAccounts", + "parameters": [ + { + "description": "The ID of the management account to filter by.", + "example": "123456789123", + "in": "query", + "name": "filter[management_account_id]", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "List of AWS related accounts.", + "properties": { + "data": { + "description": "An AWS related account.", + "items": { + "description": "AWS related account.", + "properties": { + "attributes": { + "description": "Attributes for an AWS related account.", + "properties": { + "has_datadog_integration": { + "description": "Whether or not the AWS account has a Datadog integration.", + "type": "boolean" + }, + "name": { + "description": "The name of the AWS account.", + "type": "string" + } + }, + "type": "object" + }, + "id": { + "description": "The AWS account ID.", + "example": "123456789123", + "type": "string" + }, + "type": { + "default": "aws_account", + "description": "Type of AWS related account.", + "enum": [ + "aws_account" + ], + "example": "aws_account", + "type": "string", + "x-enum-varnames": [ + "AWS_ACCOUNT" + ] + } + }, + "required": [ + "id", + "type" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "OK" + }, + "400": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Forbidden" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + } + ], + "summary": "List related AWS accounts", + "tags": [ + "Cloud Cost Management" + ], + "x-menu-order": 5, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_READ" + ] + }, + "x-undo": { + "type": "safe" + } + } + }, + "/api/v2/cost/azure_uc_config": { + "get": { + "description": "List the Azure configs.", + "operationId": "ListCostAzureUCConfigs", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "List of Azure accounts with configs.", + "properties": { + "data": { + "description": "An Azure config pair.", + "items": { + "description": "Azure config pair.", + "properties": { + "attributes": { + "description": "Attributes for Azure config pair.", + "properties": { + "configs": { + "description": "An Azure config.", + "items": { + "description": "Azure config.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the Azure config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "dataset_type": { + "description": "The dataset type of the Azure config.", + "example": "actual", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the Azure config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "id": { + "description": "The ID of the Azure config.", + "format": "int64", + "type": "integer" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "status": { + "description": "The status of the Azure config.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the Azure config status was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the Azure config was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "client_id", + "dataset_type", + "export_name", + "export_path", + "scope", + "status", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "type": "array" + }, + "id": { + "description": "The ID of the Azure config pair.", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "configs" + ], + "type": "object" + }, + "id": { + "description": "The ID of Cloud Cost Management account.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "azure_uc_configs", + "description": "Type of Azure config pair.", + "enum": [ + "azure_uc_configs" + ], + "example": "azure_uc_configs", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIGS" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "OK" + }, + "403": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Forbidden" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + } + ], + "summary": "List Cloud Cost Management Azure configs", + "tags": [ + "Cloud Cost Management" + ], + "x-menu-order": 6, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_READ" + ] + }, + "x-undo": { + "type": "safe" + } + }, + "post": { + "description": "Create a Cloud Cost Management account for an Azure config.", + "operationId": "CreateCostAzureUCConfigs", + "requestBody": { + "content": { + "application/json": { + "schema": { + "description": "Azure config Post Request.", + "properties": { + "data": { + "description": "Azure config Post data.", + "properties": { + "attributes": { + "description": "Attributes for Azure config Post Request.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "actual_bill_config": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "amortized_bill_config": { + "description": "Bill config.", + "properties": { + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + } + }, + "required": [ + "export_name", + "export_path", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "client_id": { + "description": "The client ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "type": "boolean" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + } + }, + "required": [ + "account_id", + "actual_bill_config", + "amortized_bill_config", + "client_id", + "scope" + ], + "type": "object" + }, + "type": { + "default": "azure_uc_config_post_request", + "description": "Type of Azure config Post Request.", + "enum": [ + "azure_uc_config_post_request" + ], + "example": "azure_uc_config_post_request", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIG_POST_REQUEST" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "required": [ + "data" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "Response of Azure config pair.", + "properties": { + "data": { + "description": "Azure config pair.", + "properties": { + "attributes": { + "description": "Attributes for Azure config pair.", + "properties": { + "configs": { + "description": "An Azure config.", + "items": { + "description": "Azure config.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the Azure config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "dataset_type": { + "description": "The dataset type of the Azure config.", + "example": "actual", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the Azure config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "id": { + "description": "The ID of the Azure config.", + "format": "int64", + "type": "integer" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "status": { + "description": "The status of the Azure config.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the Azure config status was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the Azure config was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "client_id", + "dataset_type", + "export_name", + "export_path", + "scope", + "status", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "type": "array" + }, + "id": { + "description": "The ID of the Azure config pair.", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "configs" + ], + "type": "object" + }, + "id": { + "description": "The ID of Cloud Cost Management account.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "azure_uc_configs", + "description": "Type of Azure config pair.", + "enum": [ + "azure_uc_configs" + ], + "example": "azure_uc_configs", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIGS" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "type": "object" + } + } + }, + "description": "OK" + }, + "400": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Forbidden" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + } + ], + "summary": "Create Cloud Cost Management Azure configs", + "tags": [ + "Cloud Cost Management" + ], + "x-menu-order": 8, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_WRITE" + ] + }, + "x-undo": { + "type": "idempotent" + } + } + }, + "/api/v2/cost/azure_uc_config/{cloud_account_id}": { + "delete": { + "description": "Archive a Cloud Cost Management Account.", + "operationId": "DeleteCostAzureUCConfig", + "parameters": [ + { + "description": "Cloud Account id.", + "in": "path", + "name": "cloud_account_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Bad Request" + }, + "404": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Not Found" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] + } + ], + "summary": "Delete Cloud Cost Management Azure config", + "tags": [ + "Cloud Cost Management" + ], + "x-menu-order": 9, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_WRITE" + ] + }, + "x-undo": { + "type": "idempotent" + } + }, + "patch": { + "description": "Update the status of an Azure config (active/archived).", + "operationId": "UpdateCostAzureUCConfigs", + "parameters": [ + { + "description": "Cloud Account id.", + "in": "path", + "name": "cloud_account_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "description": "Azure config Patch Request.", + "properties": { + "data": { + "description": "Azure config Patch data.", + "properties": { + "attributes": { + "description": "Attributes for Azure config Patch Request.", + "properties": { + "is_enabled": { + "description": "Whether or not the Cloud Cost Management account is enabled.", + "example": true, + "type": "boolean" + } + }, + "required": [ + "is_enabled" + ], + "type": "object" + }, + "type": { + "default": "azure_uc_config_patch_request", + "description": "Type of Azure config Patch Request.", + "enum": [ + "azure_uc_config_patch_request" + ], + "example": "azure_uc_config_patch_request", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIG_PATCH_REQUEST" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "required": [ + "data" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "Response of Azure config pair.", + "properties": { + "data": { + "description": "Azure config pair.", + "properties": { + "attributes": { + "description": "Attributes for Azure config pair.", + "properties": { + "configs": { + "description": "An Azure config.", + "items": { + "description": "Azure config.", + "properties": { + "account_id": { + "description": "The tenant ID of the azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure account.", + "example": "1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "created_at": { + "description": "The timestamp when the Azure config was created.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "dataset_type": { + "description": "The dataset type of the Azure config.", + "example": "actual", + "type": "string" + }, + "error_messages": { + "description": "The error messages for the Azure config.", + "items": { + "type": "string" + }, + "type": "array" + }, + "export_name": { + "description": "The name of the configured Azure Export.", + "example": "dd-actual-export", + "type": "string" + }, + "export_path": { + "description": "The path where the Azure Export is saved.", + "example": "dd-export-path", + "type": "string" + }, + "id": { + "description": "The ID of the Azure config.", + "format": "int64", + "type": "integer" + }, + "months": { + "deprecated": true, + "description": "(deprecated) The number of months the report has been backfilled.", + "format": "int32", + "maximum": 36, + "type": "integer" + }, + "scope": { + "description": "The scope of your observed subscription.", + "example": "subscriptions/1234abcd-1234-abcd-1234-1234abcd1234", + "type": "string" + }, + "status": { + "description": "The status of the Azure config.", + "example": "active", + "type": "string" + }, + "status_updated_at": { + "description": "The timestamp when the Azure config status was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + }, + "storage_account": { + "description": "The name of the storage account where the Azure Export is saved.", + "example": "dd-storage-account", + "type": "string" + }, + "storage_container": { + "description": "The name of the storage container where the Azure Export is saved.", + "example": "dd-storage-container", + "type": "string" + }, + "updated_at": { + "description": "The timestamp when the Azure config was last updated.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{6}$", + "type": "string" + } + }, + "required": [ + "account_id", + "client_id", + "dataset_type", + "export_name", + "export_path", + "scope", + "status", + "storage_account", + "storage_container" + ], + "type": "object" + }, + "type": "array" + }, + "id": { + "description": "The ID of the Azure config pair.", + "format": "int64", + "type": "integer" + } + }, + "required": [ + "configs" + ], + "type": "object" + }, + "id": { + "description": "The ID of Cloud Cost Management account.", + "format": "int64", + "type": "integer" + }, + "type": { + "default": "azure_uc_configs", + "description": "Type of Azure config pair.", + "enum": [ + "azure_uc_configs" + ], + "example": "azure_uc_configs", + "type": "string", + "x-enum-varnames": [ + "AZURE_UC_CONFIGS" + ] + } + }, + "required": [ + "attributes", + "type" + ], + "type": "object" + } + }, + "type": "object" + } + } + }, + "description": "OK" + }, + "400": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Bad Request" + }, + "403": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Forbidden" + }, + "429": { + "content": { + "application/json": { + "schema": { + "description": "API error response.", + "properties": { + "errors": { + "description": "A list of errors.", + "items": { + "description": "A list of items.", + "example": "Bad Request", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "errors" + ], + "type": "object" + } + } + }, + "description": "Too many requests" + } + }, + "security": [ + { + "apiKeyAuth": [], + "appKeyAuth": [] } ], - "summary": "Get all Container Images", + "summary": "Update Cloud Cost Management Azure config", "tags": [ - "Container Images" + "Cloud Cost Management" ], - "x-menu-order": 1, - "x-pagination": { - "cursorParam": "page[cursor]", - "cursorPath": "meta.pagination.next_cursor", - "limitParam": "page[size]", - "resultsPath": "data" + "x-menu-order": 7, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_WRITE" + ] }, "x-undo": { - "type": "safe" + "type": "idempotent" } } }, - "/api/v2/containers": { + "/api/v2/cost/enabled": { "get": { - "description": "Get all containers for your organization.", - "operationId": "ListContainers", - "parameters": [ - { - "description": "Comma-separated list of tags to filter containers by.", - "example": "env:prod,short_image:cassandra", - "in": "query", - "name": "filter[tags]", - "required": false, - "schema": { - "type": "string" - } - }, - { - "description": "Comma-separated list of tags to group containers by.", - "example": "datacenter,cluster", - "in": "query", - "name": "group_by", - "required": false, - "schema": { - "type": "string" - } - }, - { - "description": "Attribute to sort containers by.", - "example": "started_at", - "in": "query", - "name": "sort", - "required": false, - "schema": { - "type": "string" - } - }, - { - "description": "Maximum number of results returned.", - "in": "query", - "name": "page[size]", - "required": false, - "schema": { - "default": 1000, - "format": "int32", - "maximum": 10000, - "minimum": 1, - "type": "integer" - } - }, - { - "description": "String to query the next page of results.\nThis key is provided with each valid response from the API in `meta.pagination.next_cursor`.", - "in": "query", - "name": "page[cursor]", - "required": false, - "schema": { - "type": "string" - } - } - ], + "description": "Get the Cloud Cost Management activity.", + "operationId": "GetCloudCostActivity", "responses": { "200": { "content": { "application/json": { "schema": { - "description": "List of containers.", + "description": "Response for Cloud Cost activity.", "properties": { "data": { - "description": "Array of Container objects.", - "items": { - "description": "Possible Container models.", - "oneOf": [ - { - "description": "Container object.", - "properties": { - "attributes": { - "description": "Attributes for a container.", - "properties": { - "container_id": { - "description": "The ID of the container.", - "type": "string" - }, - "created_at": { - "description": "Time the container was created.", - "type": "string" - }, - "host": { - "description": "Hostname of the host running the container.", - "type": "string" - }, - "image_digest": { - "description": "Digest of the compressed image manifest.", - "nullable": true, - "type": "string" - }, - "image_name": { - "description": "Name of the associated container image.", - "type": "string" - }, - "image_tags": { - "description": "List of image tags associated with the container image.", - "items": { - "type": "string" - }, - "nullable": true, - "type": "array" - }, - "name": { - "description": "Name of the container.", - "type": "string" - }, - "started_at": { - "description": "Time the container was started.", - "type": "string" - }, - "state": { - "description": "State of the container. This depends on the container runtime.", - "type": "string" - }, - "tags": { - "description": "List of tags associated with the container.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "id": { - "description": "Container ID.", - "type": "string" - }, - "type": { - "default": "container", - "description": "Type of container.", - "enum": [ - "container" - ], - "example": "container", - "type": "string", - "x-enum-varnames": [ - "CONTAINER" - ] - } - }, - "type": "object" - }, - { - "description": "Container group object.", - "properties": { - "attributes": { - "description": "Attributes for a container group.", - "properties": { - "count": { - "description": "Number of containers in the group.", - "format": "int64", - "type": "integer" - }, - "tags": { - "description": "Tags from the group name parsed in key/value format.", - "type": "object" - } - }, - "type": "object" - }, - "id": { - "description": "Container Group ID.", - "type": "string" - }, - "relationships": { - "description": "Relationships to containers inside a container group.", - "properties": { - "containers": { - "description": "Relationships to Containers inside a Container Group.", - "properties": { - "data": { - "description": "Links data.", - "items": { - "description": "A link data.", - "type": "string" - }, - "type": "array" - }, - "links": { - "description": "Links attributes.", - "properties": { - "related": { - "description": "Link to related containers.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "type": { - "default": "container_group", - "description": "Type of container group.", - "enum": [ - "container_group" - ], - "example": "container_group", - "type": "string", - "x-enum-varnames": [ - "CONTAINER_GROUP" - ] - } - }, - "type": "object" - } - ] - }, - "type": "array" - }, - "links": { - "description": "Pagination links.", + "description": "Cloud Cost Activity.", "properties": { - "first": { - "description": "Link to the first page.", - "type": "string" - }, - "last": { - "description": "Link to the last page.", - "nullable": true, - "type": "string" - }, - "next": { - "description": "Link to the next page.", - "nullable": true, - "type": "string" - }, - "prev": { - "description": "Link to previous page.", - "nullable": true, - "type": "string" - }, - "self": { - "description": "Link to current page.", - "type": "string" - } - }, - "type": "object" - }, - "meta": { - "description": "Response metadata object.", - "properties": { - "pagination": { - "description": "Paging attributes.", + "attributes": { + "description": "Attributes for Cloud Cost activity.", "properties": { - "cursor": { - "description": "The cursor used to get the current results, if any.", - "type": "string" - }, - "limit": { - "description": "Number of results returned", - "format": "int32", - "maximum": 10000, - "minimum": 0, - "type": "integer" - }, - "next_cursor": { - "description": "The cursor used to get the next results, if any.", - "type": "string" - }, - "prev_cursor": { - "description": "The cursor used to get the previous results, if any.", - "nullable": true, - "type": "string" - }, - "total": { - "description": "Total number of records that match the query.", - "format": "int64", - "type": "integer" - }, - "type": { - "default": "cursor_limit", - "description": "Type of Container pagination.", - "enum": [ - "cursor_limit" - ], - "example": "cursor_limit", - "type": "string", - "x-enum-varnames": [ - "CURSOR_LIMIT" - ] + "is_enabled": { + "description": "Whether or not the cloud account is enabled.", + "example": true, + "type": "boolean" } }, + "required": [ + "is_enabled" + ], "type": "object" + }, + "type": { + "default": "cloud_cost_activity", + "description": "Type of Cloud Cost Activity.", + "enum": [ + "cloud_cost_activity" + ], + "example": "cloud_cost_activity", + "type": "string", + "x-enum-varnames": [ + "CLOUD_COST_ACTIVITY" + ] } }, + "required": [ + "attributes", + "type" + ], "type": "object" } }, @@ -135097,31 +139450,6 @@ }, "description": "OK" }, - "400": { - "content": { - "application/json": { - "schema": { - "description": "API error response.", - "properties": { - "errors": { - "description": "A list of errors.", - "items": { - "description": "A list of items.", - "example": "Bad Request", - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "errors" - ], - "type": "object" - } - } - }, - "description": "Bad Request" - }, "403": { "content": { "application/json": { @@ -135145,7 +139473,7 @@ } } }, - "description": "Authentication Error" + "description": "Forbidden" }, "429": { "content": { @@ -135177,21 +139505,18 @@ { "apiKeyAuth": [], "appKeyAuth": [] - }, - { - "AuthZ": [] } ], - "summary": "Get All Containers", + "summary": "Cloud Cost Enabled", "tags": [ - "Containers" + "Cloud Cost Management" ], - "x-menu-order": 1, - "x-pagination": { - "cursorParam": "page[cursor]", - "cursorPath": "meta.pagination.next_cursor", - "limitParam": "page[size]", - "resultsPath": "data" + "x-menu-order": 10, + "x-permission": { + "operator": "OR", + "permissions": [ + "CLOUD_COST_MANAGEMENT_READ" + ] }, "x-undo": { "type": "safe" @@ -238729,6 +243054,10 @@ "description": "Search or aggregate your CI Visibility test events over HTTP.", "name": "CI Visibility Tests" }, + { + "description": "The Cloud Cost Management API allows you to setup, edit and delete cloud cost management accounts for AWS & Azure.", + "name": "Cloud Cost Management" + }, { "description": "Workload activity security rules for generating events using the Datadog security Agent.", "name": "Cloud Workload Security"