CreateTargetGroup - Amazon VPC Lattice

CreateTargetGroup

Creates a target group. A target group is a collection of targets, or compute resources, that run your application or service. A target group can only be used by a single service.

For more information, see Target groups in the Amazon VPC Lattice User Guide.

Request Syntax

POST /targetgroups HTTP/1.1 Content-type: application/json { "clientToken": "string", "config": { "healthCheck": { "enabled": boolean, "healthCheckIntervalSeconds": number, "healthCheckTimeoutSeconds": number, "healthyThresholdCount": number, "matcher": { ... }, "path": "string", "port": number, "protocol": "string", "protocolVersion": "string", "unhealthyThresholdCount": number }, "ipAddressType": "string", "lambdaEventStructureVersion": "string", "port": number, "protocol": "string", "protocolVersion": "string", "vpcIdentifier": "string" }, "name": "string", "tags": { "string" : "string" }, "type": "string" }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

clientToken

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [!-~]+

Required: No

config

The target group configuration.

Type: TargetGroupConfig object

Required: No

name

The name of the target group. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

Type: String

Length Constraints: Minimum length of 3. Maximum length of 128.

Pattern: ^(?!tg-)(?![-])(?!.*[-]$)(?!.*[-]{2})[a-z0-9-]+$

Required: Yes

tags

The tags for the target group.

Type: String to string map

Map Entries: Minimum number of 0 items. Maximum number of 200 items.

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Value Length Constraints: Minimum length of 0. Maximum length of 256.

Required: No

type

The type of target group.

Type: String

Valid Values: IP | LAMBDA | INSTANCE | ALB

Required: Yes

Response Syntax

HTTP/1.1 201 Content-type: application/json { "arn": "string", "config": { "healthCheck": { "enabled": boolean, "healthCheckIntervalSeconds": number, "healthCheckTimeoutSeconds": number, "healthyThresholdCount": number, "matcher": { ... }, "path": "string", "port": number, "protocol": "string", "protocolVersion": "string", "unhealthyThresholdCount": number }, "ipAddressType": "string", "lambdaEventStructureVersion": "string", "port": number, "protocol": "string", "protocolVersion": "string", "vpcIdentifier": "string" }, "id": "string", "name": "string", "status": "string", "type": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 201 response.

The following data is returned in JSON format by the service.

arn

The Amazon Resource Name (ARN) of the target group.

Type: String

Length Constraints: Minimum length of 20. Maximum length of 2048.

Pattern: ^arn:[a-z0-9\-]+:vpc-lattice:[a-zA-Z0-9\-]+:\d{12}:targetgroup/tg-[0-9a-z]{17}$

config

The target group configuration.

Type: TargetGroupConfig object

id

The ID of the target group.

Type: String

Length Constraints: Fixed length of 20.

Pattern: ^tg-[0-9a-z]{17}$

name

The name of the target group.

Type: String

Length Constraints: Minimum length of 3. Maximum length of 128.

Pattern: ^(?!tg-)(?![-])(?!.*[-]$)(?!.*[-]{2})[a-z0-9-]+$

status

The status. You can retry the operation if the status is CREATE_FAILED. However, if you retry it while the status is CREATE_IN_PROGRESS, there is no change in the status.

Type: String

Valid Values: CREATE_IN_PROGRESS | ACTIVE | DELETE_IN_PROGRESS | CREATE_FAILED | DELETE_FAILED

type

The type of target group.

Type: String

Valid Values: IP | LAMBDA | INSTANCE | ALB

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

The user does not have sufficient access to perform this action.

HTTP Status Code: 403

ConflictException

The request conflicts with the current state of the resource. Updating or deleting a resource can cause an inconsistent state.

HTTP Status Code: 409

InternalServerException

An unexpected error occurred while processing the request.

HTTP Status Code: 500

ResourceNotFoundException

The request references a resource that does not exist.

HTTP Status Code: 404

ServiceQuotaExceededException

The request would cause a service quota to be exceeded.

HTTP Status Code: 402

ThrottlingException

The limit on the number of requests per second was exceeded.

HTTP Status Code: 429

ValidationException

The input does not satisfy the constraints specified by an AWS service.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: