CreateListener - Amazon VPC Lattice

CreateListener

Creates a listener for a service. Before you start using your Amazon VPC Lattice service, you must add one or more listeners. A listener is a process that checks for connection requests to your services. For more information, see Listeners in the Amazon VPC Lattice User Guide.

Request Syntax

POST /services/serviceIdentifier/listeners HTTP/1.1 Content-type: application/json { "clientToken": "string", "defaultAction": { ... }, "name": "string", "port": number, "protocol": "string", "tags": { "string" : "string" } }

URI Request Parameters

The request uses the following URI parameters.

serviceIdentifier

The ID or Amazon Resource Name (ARN) of the service.

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

Pattern: ^((svc-[0-9a-z]{17})|(arn:[a-z0-9\-]+:vpc-lattice:[a-zA-Z0-9\-]+:\d{12}:service/svc-[0-9a-z]{17}))$

Required: Yes

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

defaultAction

The action for the default rule. Each listener has a default rule. The default rule is used if no other rules match.

Type: RuleAction object

Note: This object is a Union. Only one member of this object can be specified or returned.

Required: Yes

name

The name of the listener. A listener name must be unique within a service. 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 63.

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

Required: Yes

port

The listener port. You can specify a value from 1 to 65535. For HTTP, the default is 80. For HTTPS, the default is 443.

Type: Integer

Valid Range: Minimum value of 1. Maximum value of 65535.

Required: No

protocol

The listener protocol.

Type: String

Valid Values: HTTP | HTTPS

Required: Yes

tags

The tags for the listener.

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

Response Syntax

HTTP/1.1 201 Content-type: application/json { "arn": "string", "defaultAction": { ... }, "id": "string", "name": "string", "port": number, "protocol": "string", "serviceArn": "string", "serviceId": "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 listener.

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}:service/svc-[0-9a-z]{17}/listener/listener-[0-9a-z]{17}$

defaultAction

The action for the default rule.

Type: RuleAction object

Note: This object is a Union. Only one member of this object can be specified or returned.

id

The ID of the listener.

Type: String

Length Constraints: Fixed length of 26.

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

name

The name of the listener.

Type: String

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

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

port

The port number of the listener.

Type: Integer

Valid Range: Minimum value of 1. Maximum value of 65535.

protocol

The protocol of the listener.

Type: String

Valid Values: HTTP | HTTPS

serviceArn

The Amazon Resource Name (ARN) of the service.

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}:service/svc-[0-9a-z]{17}$

serviceId

The ID of the service.

Type: String

Length Constraints: Fixed length of 21.

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

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: