Skip to content
Open

testing #3170

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
64 changes: 31 additions & 33 deletions .generator/schemas/v1/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4180,14 +4180,14 @@ components:
type: boolean
type: object
HostTags:
description: Set of tags to associate with your host.
description: Host name and an array of its tags
properties:
host:
description: Your host name.
example: test.host
type: string
tags:
description: A list of tags to apply to the host.
description: A list of tags attached to a given host.
items:
description: A given tag in a list.
example: environment:production
Expand Down Expand Up @@ -18689,18 +18689,18 @@ components:
- match
type: object
TagToHosts:
description: In this object, the key is the tag, the value is a list of host
names that are reporting that tag.
description: In this object, the key is the tag, and the value is a list of
host names that are reporting that tag.
properties:
tags:
additionalProperties:
description: A list of additional properties for tags.
description: A list of host names which contain this tag
items:
description: A given tag in a list.
example: test.metric.host
type: string
type: array
description: A list of tags to apply to the host.
description: A mapping of tags to host names
type: object
type: object
TargetFormatType:
Expand Down Expand Up @@ -35712,11 +35712,13 @@ paths:
- synthetics_global_variable_write
/api/v1/tags/hosts:
get:
description: Return a mapping of tags to hosts for your whole infrastructure.
description: Returns a mapping of tags to hosts. For each tag, the response
returns a list of host names that contain this tag. There is a restriction
of 10k total host names from the org that can be attached to tags and returned.
operationId: ListHostTags
parameters:
- description: When specified, filters host list to those tags with the specified
source.
- description: Source to filter. [Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value).
Use "user" source for custom-defined tags.
in: query
name: source
required: false
Expand Down Expand Up @@ -35747,29 +35749,28 @@ paths:
- apiKeyAuth: []
appKeyAuth: []
- AuthZ: []
summary: Get Tags
summary: Get All Host Tags
tags:
- Tags
x-permission:
operator: OPEN
permissions: []
/api/v1/tags/hosts/{host_name}:
delete:
description: 'This endpoint allows you to remove all user-assigned tags
description: 'This endpoint allows you to remove all tags

for a single host.'
for a single host. If no source is specified, only deletes tags with no source.'
operationId: DeleteHostTags
parameters:
- description: This endpoint allows you to remove all user-assigned tags for
a single host.
- description: Specified host name to delete tags
in: path
name: host_name
required: true
schema:
type: string
- description: 'The source of the tags (for example chef, puppet).

[Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value).'
- description: Source of the tags to be deleted. [Complete list of source attribute
values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value).
Use "user" source for custom-defined tags.
in: query
name: source
required: false
Expand Down Expand Up @@ -35799,14 +35800,14 @@ paths:
description: Return the list of tags that apply to a given host.
operationId: GetHostTags
parameters:
- description: When specified, filters list of tags to those tags with the specified
source.
- description: Name of the host to retrieve tags for
in: path
name: host_name
required: true
schema:
type: string
- description: Source to filter.
- description: Source to filter. [Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value).
Use "user" source for custom-defined tags.
in: query
name: source
required: false
Expand All @@ -35833,25 +35834,23 @@ paths:
description: Not Found
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
summary: Get host tags
summary: Get Host Tags
tags:
- Tags
post:
description: 'This endpoint allows you to add new tags to a host,

optionally specifying where these tags come from.'
optionally specifying what source these tags come from.'
operationId: CreateHostTags
parameters:
- description: This endpoint allows you to add new tags to a host, optionally
specifying where the tags came from.
- description: Specified host name to add new tags
in: path
name: host_name
required: true
schema:
type: string
- description: 'The source of the tags.

[Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value).'
- description: Source to filter. [Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value).
Use "user" source for custom-defined tags.
example: chef
in: query
name: source
Expand Down Expand Up @@ -35896,16 +35895,14 @@ paths:
an integration source with those supplied in the request.'
operationId: UpdateHostTags
parameters:
- description: This endpoint allows you to update/replace all in an integration
source with those supplied in the request.
- description: Specified host name to change tags
in: path
name: host_name
required: true
schema:
type: string
- description: 'The source of the tags (for example chef, puppet).

[Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value)'
- description: Source to filter. [Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value).
Use "user" source for custom-defined tags.
in: query
name: source
required: false
Expand Down Expand Up @@ -38918,7 +38915,8 @@ tags:

by a source. For example, some valid sources include nagios, hudson, jenkins,

users, feed, chef, puppet, git, bitbucket, fabric, capistrano, etc.
users, feed, chef, puppet, git, bitbucket, fabric, capistrano, etc. Find a complete
list of source type names under [API Source Attributes](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value).


Read more about tags on [Getting Started with Tags](https://docs.datadoghq.com/getting_started/tagging/).'
Expand Down
15 changes: 9 additions & 6 deletions features/v1/tags.feature
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,11 @@ Feature: Tags
tags to a particular host. The component of your infrastructure
responsible for a tag is identified by a source. For example, some valid
sources include nagios, hudson, jenkins, users, feed, chef, puppet, git,
bitbucket, fabric, capistrano, etc. Read more about tags on [Getting
Started with Tags](https://docs.datadoghq.com/getting_started/tagging/).
bitbucket, fabric, capistrano, etc. Find a complete list of source type
names under [API Source
Attributes](https://docs.datadoghq.com/integrations/faq/list-of-api-
source-attribute-value). Read more about tags on [Getting Started with
Tags](https://docs.datadoghq.com/getting_started/tagging/).

Background:
Given a valid "apiKeyAuth" key in the system
Expand All @@ -31,26 +34,26 @@ Feature: Tags
Then the response status is 404 Not Found

@generated @skip @team:DataDog/core-index
Scenario: Get Tags returns "Not Found" response
Scenario: Get All Host Tags returns "Not Found" response
Given new "ListHostTags" request
When the request is sent
Then the response status is 404 Not Found

@generated @skip @team:DataDog/core-index
Scenario: Get Tags returns "OK" response
Scenario: Get All Host Tags returns "OK" response
Given new "ListHostTags" request
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/core-index
Scenario: Get host tags returns "Not Found" response
Scenario: Get Host Tags returns "Not Found" response
Given new "GetHostTags" request
And request contains "host_name" parameter from "REPLACE.ME"
When the request is sent
Then the response status is 404 Not Found

@generated @skip @team:DataDog/core-index
Scenario: Get host tags returns "OK" response
Scenario: Get Host Tags returns "OK" response
Given new "GetHostTags" request
And request contains "host_name" parameter from "REPLACE.ME"
When the request is sent
Expand Down
2 changes: 1 addition & 1 deletion services/tags/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ tags to a particular host.

The component of your infrastructure responsible for a tag is identified
by a source. For example, some valid sources include nagios, hudson, jenkins,
users, feed, chef, puppet, git, bitbucket, fabric, capistrano, etc.
users, feed, chef, puppet, git, bitbucket, fabric, capistrano, etc. Find a complete list of source type names under [API Source Attributes](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value).

Read more about tags on [Getting Started with Tags](https://docs.datadoghq.com/getting_started/tagging/).

Expand Down
29 changes: 13 additions & 16 deletions services/tags/src/v1/TagsApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -612,7 +612,7 @@ export class TagsApiResponseProcessor {

export interface TagsApiCreateHostTagsRequest {
/**
* This endpoint allows you to add new tags to a host, optionally specifying where the tags came from.
* Specified host name to add new tags
* @type string
*/
hostName: string;
Expand All @@ -622,51 +622,49 @@ export interface TagsApiCreateHostTagsRequest {
*/
body: HostTags;
/**
* The source of the tags.
* [Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value).
* Source to filter. [Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value). Use "user" source for custom-defined tags.
* @type string
*/
source?: string;
}

export interface TagsApiDeleteHostTagsRequest {
/**
* This endpoint allows you to remove all user-assigned tags for a single host.
* Specified host name to delete tags
* @type string
*/
hostName: string;
/**
* The source of the tags (for example chef, puppet).
* [Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value).
* Source of the tags to be deleted. [Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value). Use "user" source for custom-defined tags.
* @type string
*/
source?: string;
}

export interface TagsApiGetHostTagsRequest {
/**
* When specified, filters list of tags to those tags with the specified source.
* Name of the host to retrieve tags for
* @type string
*/
hostName: string;
/**
* Source to filter.
* Source to filter. [Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value). Use "user" source for custom-defined tags.
* @type string
*/
source?: string;
}

export interface TagsApiListHostTagsRequest {
/**
* When specified, filters host list to those tags with the specified source.
* Source to filter. [Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value). Use "user" source for custom-defined tags.
* @type string
*/
source?: string;
}

export interface TagsApiUpdateHostTagsRequest {
/**
* This endpoint allows you to update/replace all in an integration source with those supplied in the request.
* Specified host name to change tags
* @type string
*/
hostName: string;
Expand All @@ -676,8 +674,7 @@ export interface TagsApiUpdateHostTagsRequest {
*/
body: HostTags;
/**
* The source of the tags (for example chef, puppet).
* [Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value)
* Source to filter. [Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value). Use "user" source for custom-defined tags.
* @type string
*/
source?: string;
Expand All @@ -704,7 +701,7 @@ export class TagsApi {

/**
* This endpoint allows you to add new tags to a host,
* optionally specifying where these tags come from.
* optionally specifying what source these tags come from.
* @param param The request object
*/
public createHostTags(
Expand All @@ -727,8 +724,8 @@ export class TagsApi {
}

/**
* This endpoint allows you to remove all user-assigned tags
* for a single host.
* This endpoint allows you to remove all tags
* for a single host. If no source is specified, only deletes tags with no source.
* @param param The request object
*/
public deleteHostTags(
Expand Down Expand Up @@ -772,7 +769,7 @@ export class TagsApi {
}

/**
* Return a mapping of tags to hosts for your whole infrastructure.
* Returns a mapping of tags to hosts. For each tag, the response returns a list of host names that contain this tag. There is a restriction of 10k total host names from the org that can be attached to tags and returned.
* @param param The request object
*/
public listHostTags(
Expand Down
4 changes: 2 additions & 2 deletions services/tags/src/v1/models/HostTags.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { AttributeTypeMap } from "@datadog/datadog-api-client";

/**
* Set of tags to associate with your host.
* Host name and an array of its tags
*/
export class HostTags {
/**
* Your host name.
*/
"host"?: string;
/**
* A list of tags to apply to the host.
* A list of tags attached to a given host.
*/
"tags"?: Array<string>;
/**
Expand Down
4 changes: 2 additions & 2 deletions services/tags/src/v1/models/TagToHosts.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { AttributeTypeMap } from "@datadog/datadog-api-client";

/**
* In this object, the key is the tag, the value is a list of host names that are reporting that tag.
* In this object, the key is the tag, and the value is a list of host names that are reporting that tag.
*/
export class TagToHosts {
/**
* A list of tags to apply to the host.
* A mapping of tags to host names
*/
"tags"?: { [key: string]: Array<string> };
/**
Expand Down