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.
-
(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
-
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.
-
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: