CreateResourceConfiguration - Amazon VPC Lattice

CreateResourceConfiguration

Creates a resource configuration. A resource configuration defines a specific resource. You can associate a resource configuration with a service network or a VPC endpoint.

Request Syntax

POST /resourceconfigurations HTTP/1.1 Content-type: application/json { "allowAssociationToShareableServiceNetwork": boolean, "clientToken": "string", "name": "string", "portRanges": [ "string" ], "protocol": "string", "resourceConfigurationDefinition": { ... }, "resourceConfigurationGroupIdentifier": "string", "resourceGatewayIdentifier": "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.

allowAssociationToShareableServiceNetwork

(SINGLE, GROUP, ARN) Specifies whether the resource configuration can be associated with a sharable service network. The default is false.

Type: Boolean

Required: No

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

name

The name of the resource configuration. 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 40.

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

Required: Yes

portRanges

(SINGLE, GROUP, CHILD) The TCP port ranges that a consumer can use to access a resource configuration (for example: 1-65535). You can separate port ranges using commas (for example: 1,2,22-30).

Type: Array of strings

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

Pattern: ^((\d{1,5}\-\d{1,5})|(\d+))$

Required: No

protocol

(SINGLE, GROUP) The protocol accepted by the resource configuration.

Type: String

Valid Values: TCP

Required: No

resourceConfigurationDefinition

Identifies the resource configuration in one of the following ways:

  • Amazon Resource Name (ARN) - Supported resource-types that are provisioned by AWS services, such as RDS databases, can be identified by their ARN.

  • Domain name - Any domain name that is publicly resolvable.

  • IP address - For IPv4 and IPv6, only IP addresses in the VPC are supported.

Type: ResourceConfigurationDefinition object

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

Required: No

resourceConfigurationGroupIdentifier

(CHILD) The ID or ARN of the parent resource configuration of type GROUP. This is used to associate a child resource configuration with a group resource configuration.

Type: String

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

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

Required: No

resourceGatewayIdentifier

(SINGLE, GROUP, ARN) The ID or ARN of the resource gateway used to connect to the resource configuration. For a child resource configuration, this value is inherited from the parent resource configuration.

Type: String

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

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

Required: No

tags

The tags for the resource configuration.

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 resource configuration. A resource configuration can be one of the following types:

  • SINGLE - A single resource.

  • GROUP - A group of resources. You must create a group resource configuration before you create a child resource configuration.

  • CHILD - A single resource that is part of a group resource configuration.

  • ARN - An AWS resource.

Type: String

Valid Values: GROUP | CHILD | SINGLE | ARN

Required: Yes

Response Syntax

HTTP/1.1 201 Content-type: application/json { "allowAssociationToShareableServiceNetwork": boolean, "arn": "string", "createdAt": "string", "failureReason": "string", "id": "string", "name": "string", "portRanges": [ "string" ], "protocol": "string", "resourceConfigurationDefinition": { ... }, "resourceConfigurationGroupId": "string", "resourceGatewayId": "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.

allowAssociationToShareableServiceNetwork

Specifies whether the resource configuration can be associated with a sharable service network.

Type: Boolean

arn

The Amazon Resource Name (ARN) of the resource configuration.

Type: String

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

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

createdAt

The date and time that the resource configuration was created, in ISO-8601 format.

Type: Timestamp

failureReason

The reason that the request failed.

Type: String

id

The ID of the resource configuration.

Type: String

Length Constraints: Fixed length of 22.

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

name

The name of the resource configuration.

Type: String

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

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

portRanges

The port range.

Type: Array of strings

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

Pattern: ^((\d{1,5}\-\d{1,5})|(\d+))$

protocol

The protocol.

Type: String

Valid Values: TCP

resourceConfigurationDefinition

Identifies the resource configuration in one of the following ways:

  • Amazon Resource Name (ARN) - Supported resource-types that are provisioned by AWS services, such as RDS databases, can be identified by their ARN.

  • Domain name - Any domain name that is publicly resolvable.

  • IP address - For IPv4 and IPv6, only IP addresses in the VPC are supported.

Type: ResourceConfigurationDefinition object

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

resourceConfigurationGroupId

The ID of the parent resource configuration of type GROUP.

Type: String

Length Constraints: Fixed length of 22.

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

resourceGatewayId

The ID of the resource gateway associated with the resource configuration.

Type: String

Length Constraints: Fixed length of 21.

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

status

The current status of the resource configuration.

Type: String

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

type

The type of resource configuration. A resource configuration can be one of the following types:

  • SINGLE - A single resource.

  • GROUP - A group of resources. You must create a group resource configuration before you create a child resource configuration.

  • CHILD - A single resource that is part of a group resource configuration.

  • ARN - An AWS resource.

Type: String

Valid Values: GROUP | CHILD | SINGLE | ARN

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: