diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 614a39995e..b92bbfb2b0 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -12666,7 +12666,7 @@ components: - GCP - AZURE CloudInventoryCloudProviderRequestType: - description: JSON:API type for upsert sync configuration requests. + description: Always `cloud_provider`. enum: - cloud_provider example: cloud_provider @@ -12674,7 +12674,7 @@ components: x-enum-varnames: - CLOUD_PROVIDER CloudInventorySyncConfigAWSRequestAttributes: - description: AWS settings for the customer bucket that stores inventory reports. + description: AWS settings for the S3 bucket Storage Management reads inventory reports from. properties: aws_account_id: description: AWS account ID that owns the inventory bucket. @@ -12689,7 +12689,7 @@ components: example: us-east-1 type: string destination_prefix: - description: Optional object key prefix for inventory files. Use `/` or omit for the entire bucket. + description: Object key prefix where inventory reports are written. Omit or set to `/` when reports are written at the bucket root. example: logs/ type: string required: @@ -12698,7 +12698,7 @@ components: - destination_bucket_region type: object CloudInventorySyncConfigAttributes: - description: Attributes for a cloud inventory sync configuration. Values beyond `id` may be omitted immediately after upsert. + description: Attributes for a Storage Management configuration. Fields other than `id` may be empty in the response immediately after a create or update; subsequent reads return the full configuration. properties: aws_account_id: description: AWS account ID for the inventory bucket. @@ -12753,7 +12753,7 @@ components: example: reader@my-gcp-project.iam.gserviceaccount.com type: string prefix: - description: Object key prefix or `/` when the entire bucket is synced. + description: Object key prefix where inventory reports are written. Returns `/` when reports are written at the bucket root. example: logs/ readOnly: true type: string @@ -12834,7 +12834,7 @@ components: - service_account_email type: object CloudInventorySyncConfigResourceType: - description: JSON:API type for sync configuration resources. + description: Always `sync_configs`. enum: - sync_configs example: sync_configs @@ -12842,7 +12842,7 @@ components: x-enum-varnames: - SYNC_CONFIGS CloudInventorySyncConfigResponse: - description: Response containing the upserted sync configuration. Additional read-only fields appear on list and get. + description: Storage Management configuration returned after a create or update. Additional read-only fields appear on list and get responses. properties: data: $ref: "#/components/schemas/CloudInventorySyncConfigResponseData" @@ -12850,12 +12850,12 @@ components: - data type: object CloudInventorySyncConfigResponseData: - description: JSON:API data object for a sync configuration. + description: Storage Management configuration data. properties: attributes: $ref: "#/components/schemas/CloudInventorySyncConfigAttributes" id: - description: Unique identifier for the recurring sync configuration. + description: Unique identifier for this Storage Management configuration. example: abc123 type: string type: @@ -81037,7 +81037,7 @@ components: type: object UpsertCloudInventorySyncConfigRequestAttributes: description: |- - Provider-specific configuration. Include the object that matches `data.id` (`aws`, `gcp`, or `azure`). + Settings for the cloud provider specified in `data.id`. Include only the matching provider object (`aws`, `gcp`, or `azure`). properties: aws: $ref: "#/components/schemas/CloudInventorySyncConfigAWSRequestAttributes" @@ -81047,7 +81047,7 @@ components: $ref: "#/components/schemas/CloudInventorySyncConfigGCPRequestAttributes" type: object UpsertCloudInventorySyncConfigRequestData: - description: JSON:API data envelope for an upsert sync configuration request. + description: Storage Management configuration data for the create or update request. properties: attributes: $ref: "#/components/schemas/UpsertCloudInventorySyncConfigRequestAttributes" @@ -91978,8 +91978,7 @@ paths: /api/v2/cloudinventoryservice/syncconfigs: put: description: |- - Create or update a cloud inventory sync configuration. Specify the cloud provider in `data.id` - and provider-specific settings under `data.attributes`. This endpoint uses an upsert model. + Enable Storage Management for an S3 bucket, GCS bucket, or Azure container by registering the destination that holds its inventory reports. Set `data.id` to the cloud provider (`aws`, `gcp`, or `azure`) and provide the matching settings under data.attributes. Calling this endpoint with the same provider replaces the existing configuration. operationId: UpsertSyncConfig requestBody: content: @@ -92017,7 +92016,7 @@ paths: $ref: "#/components/responses/ForbiddenResponse" "429": $ref: "#/components/responses/TooManyRequestsResponse" - summary: Create or update a sync configuration + summary: Enable Storage Management for a bucket tags: - Cloud Inventory Sync Configs x-codegen-request-body-name: body @@ -135346,7 +135345,7 @@ tags: The Cloud Cost Management API allows you to set up, edit, and delete Cloud Cost Management accounts for AWS, Azure, and Google Cloud. You can query your cost data by using the [Metrics endpoint](https://docs.datadoghq.com/api/latest/metrics/#query-timeseries-data-across-multiple-products) and the `cloud_cost` data source. For more information, see the [Cloud Cost Management documentation](https://docs.datadoghq.com/cloud_cost_management/). name: Cloud Cost Management - description: |- - Configure cloud inventory file synchronization from your cloud storage to Datadog. + Enable Storage Management for S3 buckets, GCS buckets, and Azure containers. Each configuration registers the destination that holds inventory reports for the storage being monitored. name: Cloud Inventory Sync Configs - description: |- The Cloud Network Monitoring API allows you to fetch aggregated connections and DNS traffic with their attributes. See the [Cloud Network Monitoring page](https://docs.datadoghq.com/network_monitoring/cloud_network_monitoring/) and [DNS Monitoring page](https://docs.datadoghq.com/network_monitoring/dns/) for more information. diff --git a/examples/v2/cloud-inventory-sync-configs/UpsertSyncConfig.py b/examples/v2/cloud-inventory-sync-configs/UpsertSyncConfig.py index 5a9968038d..d38a24b56b 100644 --- a/examples/v2/cloud-inventory-sync-configs/UpsertSyncConfig.py +++ b/examples/v2/cloud-inventory-sync-configs/UpsertSyncConfig.py @@ -1,5 +1,5 @@ """ -Create or update a sync configuration returns "OK" response +Enable Storage Management for a bucket returns "OK" response """ from datadog_api_client import ApiClient, Configuration diff --git a/src/datadog_api_client/v2/api/cloud_inventory_sync_configs_api.py b/src/datadog_api_client/v2/api/cloud_inventory_sync_configs_api.py index af49b9cc2d..f47d9f5e89 100644 --- a/src/datadog_api_client/v2/api/cloud_inventory_sync_configs_api.py +++ b/src/datadog_api_client/v2/api/cloud_inventory_sync_configs_api.py @@ -13,7 +13,7 @@ class CloudInventorySyncConfigsApi: """ - Configure cloud inventory file synchronization from your cloud storage to Datadog. + Enable Storage Management for S3 buckets, GCS buckets, and Azure containers. Each configuration registers the destination that holds inventory reports for the storage being monitored. """ def __init__(self, api_client=None): @@ -45,10 +45,9 @@ def upsert_sync_config( self, body: UpsertCloudInventorySyncConfigRequest, ) -> CloudInventorySyncConfigResponse: - """Create or update a sync configuration. + """Enable Storage Management for a bucket. - Create or update a cloud inventory sync configuration. Specify the cloud provider in ``data.id`` - and provider-specific settings under ``data.attributes``. This endpoint uses an upsert model. + Enable Storage Management for an S3 bucket, GCS bucket, or Azure container by registering the destination that holds its inventory reports. Set ``data.id`` to the cloud provider ( ``aws`` , ``gcp`` , or ``azure`` ) and provide the matching settings under data.attributes. Calling this endpoint with the same provider replaces the existing configuration. :type body: UpsertCloudInventorySyncConfigRequest :rtype: CloudInventorySyncConfigResponse diff --git a/src/datadog_api_client/v2/model/cloud_inventory_cloud_provider_request_type.py b/src/datadog_api_client/v2/model/cloud_inventory_cloud_provider_request_type.py index f38b1c2fec..0ae3b37b6c 100644 --- a/src/datadog_api_client/v2/model/cloud_inventory_cloud_provider_request_type.py +++ b/src/datadog_api_client/v2/model/cloud_inventory_cloud_provider_request_type.py @@ -14,7 +14,7 @@ class CloudInventoryCloudProviderRequestType(ModelSimple): """ - JSON:API type for upsert sync configuration requests. + Always `cloud_provider`. :param value: If omitted defaults to "cloud_provider". Must be one of ["cloud_provider"]. :type value: str diff --git a/src/datadog_api_client/v2/model/cloud_inventory_sync_config_attributes.py b/src/datadog_api_client/v2/model/cloud_inventory_sync_config_attributes.py index f4c1b5b224..7f90eee6a4 100644 --- a/src/datadog_api_client/v2/model/cloud_inventory_sync_config_attributes.py +++ b/src/datadog_api_client/v2/model/cloud_inventory_sync_config_attributes.py @@ -78,7 +78,7 @@ def __init__( **kwargs, ): """ - Attributes for a cloud inventory sync configuration. Values beyond ``id`` may be omitted immediately after upsert. + Attributes for a Storage Management configuration. Fields other than ``id`` may be empty in the response immediately after a create or update; subsequent reads return the full configuration. :param aws_account_id: AWS account ID for the inventory bucket. :type aws_account_id: str @@ -119,7 +119,7 @@ def __init__( :param gcp_service_account_email: Service account email for bucket access. :type gcp_service_account_email: str - :param prefix: Object key prefix or ``/`` when the entire bucket is synced. + :param prefix: Object key prefix where inventory reports are written. Returns ``/`` when reports are written at the bucket root. :type prefix: str """ super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/cloud_inventory_sync_config_aws_request_attributes.py b/src/datadog_api_client/v2/model/cloud_inventory_sync_config_aws_request_attributes.py index 70bdf34f8b..08e1eff20f 100644 --- a/src/datadog_api_client/v2/model/cloud_inventory_sync_config_aws_request_attributes.py +++ b/src/datadog_api_client/v2/model/cloud_inventory_sync_config_aws_request_attributes.py @@ -39,7 +39,7 @@ def __init__( **kwargs, ): """ - AWS settings for the customer bucket that stores inventory reports. + AWS settings for the S3 bucket Storage Management reads inventory reports from. :param aws_account_id: AWS account ID that owns the inventory bucket. :type aws_account_id: str @@ -50,7 +50,7 @@ def __init__( :param destination_bucket_region: AWS Region of the inventory bucket. :type destination_bucket_region: str - :param destination_prefix: Optional object key prefix for inventory files. Use ``/`` or omit for the entire bucket. + :param destination_prefix: Object key prefix where inventory reports are written. Omit or set to ``/`` when reports are written at the bucket root. :type destination_prefix: str, optional """ if destination_prefix is not unset: diff --git a/src/datadog_api_client/v2/model/cloud_inventory_sync_config_resource_type.py b/src/datadog_api_client/v2/model/cloud_inventory_sync_config_resource_type.py index 73d3d8eed1..f201bb24b4 100644 --- a/src/datadog_api_client/v2/model/cloud_inventory_sync_config_resource_type.py +++ b/src/datadog_api_client/v2/model/cloud_inventory_sync_config_resource_type.py @@ -14,7 +14,7 @@ class CloudInventorySyncConfigResourceType(ModelSimple): """ - JSON:API type for sync configuration resources. + Always `sync_configs`. :param value: If omitted defaults to "sync_configs". Must be one of ["sync_configs"]. :type value: str diff --git a/src/datadog_api_client/v2/model/cloud_inventory_sync_config_response.py b/src/datadog_api_client/v2/model/cloud_inventory_sync_config_response.py index 14b0f7848e..14250f6172 100644 --- a/src/datadog_api_client/v2/model/cloud_inventory_sync_config_response.py +++ b/src/datadog_api_client/v2/model/cloud_inventory_sync_config_response.py @@ -34,9 +34,9 @@ def openapi_types(_): def __init__(self_, data: CloudInventorySyncConfigResponseData, **kwargs): """ - Response containing the upserted sync configuration. Additional read-only fields appear on list and get. + Storage Management configuration returned after a create or update. Additional read-only fields appear on list and get responses. - :param data: JSON:API data object for a sync configuration. + :param data: Storage Management configuration data. :type data: CloudInventorySyncConfigResponseData """ super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/cloud_inventory_sync_config_response_data.py b/src/datadog_api_client/v2/model/cloud_inventory_sync_config_response_data.py index 58f9644441..b6e90fbe00 100644 --- a/src/datadog_api_client/v2/model/cloud_inventory_sync_config_response_data.py +++ b/src/datadog_api_client/v2/model/cloud_inventory_sync_config_response_data.py @@ -48,15 +48,15 @@ def __init__( **kwargs, ): """ - JSON:API data object for a sync configuration. + Storage Management configuration data. - :param attributes: Attributes for a cloud inventory sync configuration. Values beyond ``id`` may be omitted immediately after upsert. + :param attributes: Attributes for a Storage Management configuration. Fields other than ``id`` may be empty in the response immediately after a create or update; subsequent reads return the full configuration. :type attributes: CloudInventorySyncConfigAttributes - :param id: Unique identifier for the recurring sync configuration. + :param id: Unique identifier for this Storage Management configuration. :type id: str - :param type: JSON:API type for sync configuration resources. + :param type: Always ``sync_configs``. :type type: CloudInventorySyncConfigResourceType """ super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/upsert_cloud_inventory_sync_config_request.py b/src/datadog_api_client/v2/model/upsert_cloud_inventory_sync_config_request.py index 86f3f114c4..5cc6f4f158 100644 --- a/src/datadog_api_client/v2/model/upsert_cloud_inventory_sync_config_request.py +++ b/src/datadog_api_client/v2/model/upsert_cloud_inventory_sync_config_request.py @@ -36,7 +36,7 @@ def __init__(self_, data: UpsertCloudInventorySyncConfigRequestData, **kwargs): """ Request body for creating or updating a cloud inventory sync configuration. - :param data: JSON:API data envelope for an upsert sync configuration request. + :param data: Storage Management configuration data for the create or update request. :type data: UpsertCloudInventorySyncConfigRequestData """ super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/upsert_cloud_inventory_sync_config_request_attributes.py b/src/datadog_api_client/v2/model/upsert_cloud_inventory_sync_config_request_attributes.py index 107527ac59..76e8c9b4d1 100644 --- a/src/datadog_api_client/v2/model/upsert_cloud_inventory_sync_config_request_attributes.py +++ b/src/datadog_api_client/v2/model/upsert_cloud_inventory_sync_config_request_attributes.py @@ -58,9 +58,9 @@ def __init__( **kwargs, ): """ - Provider-specific configuration. Include the object that matches ``data.id`` ( ``aws`` , ``gcp`` , or ``azure`` ). + Settings for the cloud provider specified in ``data.id``. Include only the matching provider object ( ``aws`` , ``gcp`` , or ``azure`` ). - :param aws: AWS settings for the customer bucket that stores inventory reports. + :param aws: AWS settings for the S3 bucket Storage Management reads inventory reports from. :type aws: CloudInventorySyncConfigAWSRequestAttributes, optional :param azure: Azure settings for the storage account and container with inventory data. diff --git a/src/datadog_api_client/v2/model/upsert_cloud_inventory_sync_config_request_data.py b/src/datadog_api_client/v2/model/upsert_cloud_inventory_sync_config_request_data.py index 87e41c0723..2ce55664cd 100644 --- a/src/datadog_api_client/v2/model/upsert_cloud_inventory_sync_config_request_data.py +++ b/src/datadog_api_client/v2/model/upsert_cloud_inventory_sync_config_request_data.py @@ -52,15 +52,15 @@ def __init__( **kwargs, ): """ - JSON:API data envelope for an upsert sync configuration request. + Storage Management configuration data for the create or update request. - :param attributes: Provider-specific configuration. Include the object that matches ``data.id`` ( ``aws`` , ``gcp`` , or ``azure`` ). + :param attributes: Settings for the cloud provider specified in ``data.id``. Include only the matching provider object ( ``aws`` , ``gcp`` , or ``azure`` ). :type attributes: UpsertCloudInventorySyncConfigRequestAttributes :param id: Cloud provider for this sync configuration ( ``aws`` , ``gcp`` , or ``azure`` ). For requests, must match the provider block supplied under ``attributes``. :type id: CloudInventoryCloudProviderId - :param type: JSON:API type for upsert sync configuration requests. + :param type: Always ``cloud_provider``. :type type: CloudInventoryCloudProviderRequestType """ super().__init__(kwargs) diff --git a/tests/v2/features/cloud_inventory_sync_configs.feature b/tests/v2/features/cloud_inventory_sync_configs.feature index 32a7d292ef..198b67a9d7 100644 --- a/tests/v2/features/cloud_inventory_sync_configs.feature +++ b/tests/v2/features/cloud_inventory_sync_configs.feature @@ -1,7 +1,8 @@ @endpoint(cloud-inventory-sync-configs) @endpoint(cloud-inventory-sync-configs-v2) Feature: Cloud Inventory Sync Configs - Configure cloud inventory file synchronization from your cloud storage to - Datadog. + Enable Storage Management for S3 buckets, GCS buckets, and Azure + containers. Each configuration registers the destination that holds + inventory reports for the storage being monitored. Background: Given a valid "apiKeyAuth" key in the system @@ -12,11 +13,11 @@ Feature: Cloud Inventory Sync Configs And body with value {"data": {"attributes": {"aws": {"aws_account_id": "123456789012", "destination_bucket_name": "my-inventory-bucket", "destination_bucket_region": "us-east-1", "destination_prefix": "logs/"}, "azure": {"client_id": "11111111-1111-1111-1111-111111111111", "container": "inventory-container", "resource_group": "my-resource-group", "storage_account": "mystorageaccount", "subscription_id": "33333333-3333-3333-3333-333333333333", "tenant_id": "22222222-2222-2222-2222-222222222222"}, "gcp": {"destination_bucket_name": "my-inventory-reports", "project_id": "my-gcp-project", "service_account_email": "reader@my-gcp-project.iam.gserviceaccount.com", "source_bucket_name": "my-monitored-bucket"}}, "id": "aws", "type": "cloud_provider"}} @generated @skip @team:DataDog/storage-management - Scenario: Create or update a sync configuration returns "Bad Request" response + Scenario: Enable Storage Management for a bucket returns "Bad Request" response When the request is sent Then the response status is 400 Bad Request @generated @skip @team:DataDog/storage-management - Scenario: Create or update a sync configuration returns "OK" response + Scenario: Enable Storage Management for a bucket returns "OK" response When the request is sent Then the response status is 200 OK