Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 14 additions & 15 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12666,15 +12666,15 @@ components:
- GCP
- AZURE
CloudInventoryCloudProviderRequestType:
description: JSON:API type for upsert sync configuration requests.
description: Always `cloud_provider`.
enum:
- cloud_provider
example: cloud_provider
type: string
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.
Expand All @@ -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:
Expand All @@ -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.
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -12834,28 +12834,28 @@ 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
type: string
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"
required:
- 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:
Expand Down Expand Up @@ -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"
Expand All @@ -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"
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Create or update a sync configuration returns "OK" response
# Enable Storage Management for a bucket returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
Expand Down
9 changes: 5 additions & 4 deletions features/v2/cloud_inventory_sync_configs.feature
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,17 @@ def initialize(api_client = DatadogAPIClient::APIClient.default)
@api_client = api_client
end

# Create or update a sync configuration.
# Enable Storage Management for a bucket.
#
# @see #upsert_sync_config_with_http_info
def upsert_sync_config(body, opts = {})
data, _status_code, _headers = upsert_sync_config_with_http_info(body, opts)
data
end

# 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.
#
# @param body [UpsertCloudInventorySyncConfigRequest]
# @param opts [Hash] the optional parameters
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
require 'time'

module DatadogAPIClient::V2
# JSON:API type for upsert sync configuration requests.
# Always `cloud_provider`.
class CloudInventoryCloudProviderRequestType
include BaseEnumModel

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
require 'time'

module DatadogAPIClient::V2
# 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.
class CloudInventorySyncConfigAttributes
include BaseGenericModel

Expand Down Expand Up @@ -60,7 +60,7 @@ class CloudInventorySyncConfigAttributes
# Service account email for bucket access.
attr_reader :gcp_service_account_email

# Object key prefix or `/` when the entire bucket is synced.
# Object key prefix where inventory reports are written. Returns `/` when reports are written at the bucket root.
attr_reader :prefix

attr_accessor :additional_properties
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
require 'time'

module DatadogAPIClient::V2
# AWS settings for the customer bucket that stores inventory reports.
# AWS settings for the S3 bucket Storage Management reads inventory reports from.
class CloudInventorySyncConfigAWSRequestAttributes
include BaseGenericModel

Expand All @@ -30,7 +30,7 @@ class CloudInventorySyncConfigAWSRequestAttributes
# AWS Region of the inventory bucket.
attr_reader :destination_bucket_region

# Optional object key prefix for inventory files. Use `/` or omit for the entire bucket.
# Object key prefix where inventory reports are written. Omit or set to `/` when reports are written at the bucket root.
attr_accessor :destination_prefix

attr_accessor :additional_properties
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
require 'time'

module DatadogAPIClient::V2
# JSON:API type for sync configuration resources.
# Always `sync_configs`.
class CloudInventorySyncConfigResourceType
include BaseEnumModel

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
require 'time'

module DatadogAPIClient::V2
# 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.
class CloudInventorySyncConfigResponse
include BaseGenericModel

# JSON:API data object for a sync configuration.
# Storage Management configuration data.
attr_reader :data

attr_accessor :additional_properties
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,17 @@
require 'time'

module DatadogAPIClient::V2
# JSON:API data object for a sync configuration.
# Storage Management configuration data.
class CloudInventorySyncConfigResponseData
include BaseGenericModel

# 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.
attr_reader :attributes

# Unique identifier for the recurring sync configuration.
# Unique identifier for this Storage Management configuration.
attr_reader :id

# JSON:API type for sync configuration resources.
# Always `sync_configs`.
attr_reader :type

attr_accessor :additional_properties
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ module DatadogAPIClient::V2
class UpsertCloudInventorySyncConfigRequest
include BaseGenericModel

# JSON:API data envelope for an upsert sync configuration request.
# Storage Management configuration data for the create or update request.
attr_reader :data

attr_accessor :additional_properties
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
require 'time'

module DatadogAPIClient::V2
# 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`).
class UpsertCloudInventorySyncConfigRequestAttributes
include BaseGenericModel

# AWS settings for the customer bucket that stores inventory reports.
# AWS settings for the S3 bucket Storage Management reads inventory reports from.
attr_accessor :aws

# Azure settings for the storage account and container with inventory data.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,17 @@
require 'time'

module DatadogAPIClient::V2
# JSON:API data envelope for an upsert sync configuration request.
# Storage Management configuration data for the create or update request.
class UpsertCloudInventorySyncConfigRequestData
include BaseGenericModel

# 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`).
attr_reader :attributes

# Cloud provider for this sync configuration (`aws`, `gcp`, or `azure`). For requests, must match the provider block supplied under `attributes`.
attr_reader :id

# JSON:API type for upsert sync configuration requests.
# Always `cloud_provider`.
attr_reader :type

attr_accessor :additional_properties
Expand Down
Loading