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 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 | TLS_PASSTHROUGH
Required: Yes
-
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 | TLS_PASSTHROUGH
- 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: