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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions .generator/schemas/v1/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38007,6 +38007,15 @@ paths:
schema:
format: int64
type: integer
- description: |-
Whether to return only deleted service level objective objects.
example: true
in: query
name: is_deleted
required: false
schema:
default: false
type: boolean
responses:
"200":
content:
Expand Down
12 changes: 4 additions & 8 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1452,7 +1452,7 @@ components:
format: int64
type: integer
PageSize:
description: Size for a given page. The maximum allowed value is 100.
description: Number of items to return per page. The maximum allowed value is 100.
in: query
name: page[size]
required: false
Expand Down Expand Up @@ -7702,7 +7702,7 @@ components:
description: An arbitrary object value with additional properties.
type: object
AnyValueString:
description: A scalar string value.
description: A scalar value represented as a string.
type: string
ApiID:
description: API identifier.
Expand Down Expand Up @@ -204350,7 +204350,7 @@ paths:
- status_pages_incident_write
/api/v2/statuspages/{page_id}/publish:
post:
description: Publishes a status page. For pages of type `public`, makes the status page available on the public internet and requires the `status_pages_public_page_publish` permission. For pages of type `internal`, makes the status page available under the `status-pages/$domain_prefix/view` route within the Datadog organization and requires the `status_pages_internal_page_publish` permission. The `status_pages_settings_write` permission is temporarily honored as we migrate publishing functionality from the update status page endpoint to the publish status page endpoint.
description: Publishes a status page. For pages of type `public`, makes the status page available on the public internet and requires the `status_pages_public_page_publish` permission. For pages of type `internal`, makes the status page available under the `status-pages/$domain_prefix/view` route within the Datadog organization and requires the `status_pages_internal_page_publish` permission.
operationId: PublishStatusPage
parameters:
- description: The ID of the status page.
Expand All @@ -204371,19 +204371,17 @@ paths:
- AuthZ:
- status_pages_internal_page_publish
- status_pages_public_page_publish
- status_pages_settings_write
summary: Publish status page
tags:
- Status Pages
x-permission:
operator: OR
permissions:
- status_pages_settings_write
- status_pages_public_page_publish
- status_pages_internal_page_publish
/api/v2/statuspages/{page_id}/unpublish:
post:
description: Unpublishes a status page. For pages of type `public`, removes the status page from the public internet and requires the `status_pages_public_page_publish` permission. For pages of type `internal`, removes the `status-pages/$domain_prefix/view` route from the Datadog organization and requires the `status_pages_internal_page_publish` permission. The `status_pages_settings_write` permission is temporarily honored as we migrate unpublishing functionality from the update status page endpoint to the unpublish status page endpoint.
description: Unpublishes a status page. For pages of type `public`, removes the status page from the public internet and requires the `status_pages_public_page_publish` permission. For pages of type `internal`, removes the `status-pages/$domain_prefix/view` route from the Datadog organization and requires the `status_pages_internal_page_publish` permission.
operationId: UnpublishStatusPage
parameters:
- description: The ID of the status page.
Expand All @@ -204404,14 +204402,12 @@ paths:
- AuthZ:
- status_pages_internal_page_publish
- status_pages_public_page_publish
- status_pages_settings_write
summary: Unpublish status page
tags:
- Status Pages
x-permission:
operator: OR
permissions:
- status_pages_settings_write
- status_pages_public_page_publish
- status_pages_internal_page_publish
/api/v2/stegadography/get-widgets:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
@endpoint(authentication) @endpoint(authentication-v1)
Feature: Authentication
All requests to Datadog’s API must be authenticated. Requests that write
data require reporting access and require an `API key`. Requests that read
data require full access and also require an `application key`. **Note:**
All Datadog API clients are configured by default to consume Datadog US
site APIs. If you are on the Datadog EU site, set the environment variable
`DATADOG_HOST` to `https://api.datadoghq.eu` or override this value
directly when creating your client. [Manage your account’s API and
application keys](https://app.datadoghq.com/organization-settings/) in
Datadog, and see the [API and Application Keys
page](https://docs.datadoghq.com/account_management/api-app-keys/) in the
documentation.

Background:
Given an instance of "Authentication" API
And new "Validate" request

@skip-validation @team:DataDog/credentials-management
Scenario: Validate API key returns "Forbidden" response
When the request is sent
Then the response status is 403 OK

@team:DataDog/credentials-management
Scenario: Validate API key returns "OK" response
Given a valid "apiKeyAuth" key in the system
When the request is sent
Then the response status is 200 OK
And the response "valid" is equal to true
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
@endpoint(aws-integration) @endpoint(aws-integration-v1)
Feature: AWS Integration
Configure your Datadog-AWS integration directly through the Datadog API.
For more information, see the [AWS integration
page](https://docs.datadoghq.com/integrations/amazon_web_services).

Background:
Given a valid "apiKeyAuth" key in the system
And a valid "appKeyAuth" key in the system
And an instance of "AWSIntegration" API

@generated @skip @team:DataDog/aws-integrations
Scenario: Create an AWS integration returns "Bad Request" response
Given new "CreateAWSAccount" request
And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"}
When the request is sent
Then the response status is 400 Bad Request

@generated @skip @team:DataDog/aws-integrations
Scenario: Create an AWS integration returns "Conflict Error" response
Given new "CreateAWSAccount" request
And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"}
When the request is sent
Then the response status is 409 Conflict Error

@team:DataDog/aws-integrations
Scenario: Create an AWS integration returns "OK" response
Given new "CreateAWSAccount" request
And body with value {"account_id": "{{ timestamp("now") }}00", "account_specific_namespace_rules": {"auto_scaling": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "role_name": "DatadogAWSIntegrationRole"}
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/aws-integrations
Scenario: Create an Amazon EventBridge source returns "Bad Request" response
Given new "CreateAWSEventBridgeSource" request
And body with value {"account_id": "123456789012", "create_event_bus": true, "event_generator_name": "app-alerts", "region": "us-east-1"}
When the request is sent
Then the response status is 400 Bad Request

@generated @skip @team:DataDog/aws-integrations
Scenario: Create an Amazon EventBridge source returns "OK" response
Given new "CreateAWSEventBridgeSource" request
And body with value {"account_id": "123456789012", "create_event_bus": true, "event_generator_name": "app-alerts", "region": "us-east-1"}
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/aws-integrations
Scenario: Delete a tag filtering entry returns "Bad Request" response
Given new "DeleteAWSTagFilter" request
And body with value {"account_id": "FAKEAC0FAKEAC2FAKEAC", "namespace": "elb"}
When the request is sent
Then the response status is 400 Bad Request

@generated @skip @team:DataDog/aws-integrations
Scenario: Delete a tag filtering entry returns "OK" response
Given new "DeleteAWSTagFilter" request
And body with value {"account_id": "FAKEAC0FAKEAC2FAKEAC", "namespace": "elb"}
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/aws-integrations
Scenario: Delete an AWS integration returns "Bad Request" response
Given new "DeleteAWSAccount" request
And body with value {"account_id": "123456789012", "role_name": "DatadogAWSIntegrationRole"}
When the request is sent
Then the response status is 400 Bad Request

@generated @skip @team:DataDog/aws-integrations
Scenario: Delete an AWS integration returns "Conflict Error" response
Given new "DeleteAWSAccount" request
And body with value {"account_id": "123456789012", "role_name": "DatadogAWSIntegrationRole"}
When the request is sent
Then the response status is 409 Conflict Error

@team:DataDog/aws-integrations
Scenario: Delete an AWS integration returns "OK" response
Given there is a valid "aws_account" in the system
And new "DeleteAWSAccount" request
And body with value {"account_id": "{{ timestamp("now") }}00", "role_name": "DatadogAWSIntegrationRole"}
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/aws-integrations
Scenario: Delete an Amazon EventBridge source returns "Bad Request" response
Given new "DeleteAWSEventBridgeSource" request
And body with value {"account_id": "123456789012", "event_generator_name": "app-alerts-zyxw3210", "region": "us-east-1"}
When the request is sent
Then the response status is 400 Bad Request

@generated @skip @team:DataDog/aws-integrations
Scenario: Delete an Amazon EventBridge source returns "OK" response
Given new "DeleteAWSEventBridgeSource" request
And body with value {"account_id": "123456789012", "event_generator_name": "app-alerts-zyxw3210", "region": "us-east-1"}
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/aws-integrations
Scenario: Generate a new external ID returns "Bad Request" response
Given new "CreateNewAWSExternalID" request
And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"}
When the request is sent
Then the response status is 400 Bad Request

@generated @skip @team:DataDog/aws-integrations
Scenario: Generate a new external ID returns "OK" response
Given new "CreateNewAWSExternalID" request
And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"}
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/aws-integrations
Scenario: Get all AWS tag filters returns "Bad Request" response
Given new "ListAWSTagFilters" request
And request contains "account_id" parameter from "REPLACE.ME"
When the request is sent
Then the response status is 400 Bad Request

@generated @skip @team:DataDog/aws-integrations
Scenario: Get all AWS tag filters returns "OK" response
Given new "ListAWSTagFilters" request
And request contains "account_id" parameter from "REPLACE.ME"
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/aws-integrations
Scenario: Get all Amazon EventBridge sources returns "Bad Request" response
Given new "ListAWSEventBridgeSources" request
When the request is sent
Then the response status is 400 Bad Request

@generated @skip @team:DataDog/aws-integrations
Scenario: Get all Amazon EventBridge sources returns "OK" response
Given new "ListAWSEventBridgeSources" request
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/aws-integrations
Scenario: List all AWS integrations returns "Bad Request" response
Given new "ListAWSAccounts" request
When the request is sent
Then the response status is 400 Bad Request

@generated @skip @team:DataDog/aws-integrations
Scenario: List all AWS integrations returns "OK" response
Given new "ListAWSAccounts" request
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/aws-integrations
Scenario: List namespace rules returns "OK" response
Given new "ListAvailableAWSNamespaces" request
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/aws-integrations
Scenario: Set an AWS tag filter returns "Bad Request" response
Given new "CreateAWSTagFilter" request
And body with value {"account_id": "123456789012", "namespace": "elb", "tag_filter_str": "prod*"}
When the request is sent
Then the response status is 400 Bad Request

@generated @skip @team:DataDog/aws-integrations
Scenario: Set an AWS tag filter returns "OK" response
Given new "CreateAWSTagFilter" request
And body with value {"account_id": "123456789012", "namespace": "elb", "tag_filter_str": "prod*"}
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/aws-integrations
Scenario: Update an AWS integration returns "Bad Request" response
Given new "UpdateAWSAccount" request
And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"}
When the request is sent
Then the response status is 400 Bad Request

@generated @skip @team:DataDog/aws-integrations
Scenario: Update an AWS integration returns "Conflict Error" response
Given new "UpdateAWSAccount" request
And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"}
When the request is sent
Then the response status is 409 Conflict Error

@team:DataDog/aws-integrations
Scenario: Update an AWS integration returns "OK" response
Given there is a valid "aws_account" in the system
And new "UpdateAWSAccount" request
And body with value {"account_id": "{{ timestamp("now") }}00", "account_specific_namespace_rules": {"auto_scaling": false}, "cspm_resource_collection_enabled": false, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"}
And request contains "account_id" parameter with value "{{ timestamp("now") }}00"
And request contains "role_name" parameter with value "DatadogAWSIntegrationRole"
When the request is sent
Then the response status is 200 OK
Loading
Loading