Skip to content

Creates a resource configuration

Description

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.

Usage

vpclattice_create_resource_configuration(name, type, portRanges,
  protocol, resourceGatewayIdentifier,
  resourceConfigurationGroupIdentifier, resourceConfigurationDefinition,
  allowAssociationToShareableServiceNetwork, customDomainName,
  groupDomain, domainVerificationIdentifier, clientToken, tags)

Arguments

  • name

[required] 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

[required] 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 Amazon Web Services resource.
  • CIDR - A network segment, expressed as a range of IP addresses (a CIDR block). Use this type to share a portion of your network rather than an individual resource. A consumer accesses the resources within the CIDR range through a Tunnel VPC endpoint. You can't add a CIDR resource configuration to a service network. A CIDR resource configuration must be associated with a resource gateway whose DNS resolution is set to IN_VPC.

  • portRanges

(SINGLE, GROUP, CHILD, CIDR) The 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). To resolve DNS through a CIDR resource configuration, include port 53 in the port ranges.

  • protocol

(SINGLE, GROUP, CIDR) The protocol accepted by the resource configuration. The default is TCP. TCP_UDP is supported only for CIDR resource configurations; specify it for a CIDR resource configuration to allow DNS resolution, which uses UDP.

  • resourceGatewayIdentifier

(SINGLE, GROUP, ARN, CIDR) 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. For a CIDR resource configuration, the associated resource gateway must have its DNS resolution set to IN_VPC so that DNS queries resolve in the context of your VPC.

  • 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.

  • resourceConfigurationDefinition

Identifies the resource configuration in one of the following ways:

  • Amazon Resource Name (ARN) - Supported resource-types that are provisioned by Amazon Web Services 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.
  • CIDR range - For a resource configuration of type CIDR, specify a cidrResource with one or more cidrRanges (for example, 10.0.0.0/16) that cover the IP addresses of the resources you want to make accessible. You can specify up to 10 ranges, using IPv4, IPv6, or both, and each range must include a prefix length. To represent your entire network, specify 0.0.0.0/0 (IPv4) or ::/0 (IPv6) as the only range. You can't use reserved ranges such as 169.254.0.0/16, 100.64.0.0/10, 224.0.0.0/4, fe80::/10, or ff00::/8.

  • allowAssociationToShareableServiceNetwork

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

  • customDomainName

A custom domain name for your resource configuration. Additionally, provide a DomainVerificationID to prove your ownership of a domain.

  • groupDomain

(GROUP) The group domain for a group resource configuration. Any domains that you create for the child resource are subdomains of the group domain. Child resources inherit the verification status of the domain.

  • domainVerificationIdentifier

The domain verification ID of your verified custom domain name. If you don't provide an ID, you must configure the DNS settings yourself.

  • 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.

  • tags

The tags for the resource configuration.

Value

A list with the following syntax:

list(
  id = "string",
  name = "string",
  arn = "string",
  resourceGatewayId = "string",
  resourceConfigurationGroupId = "string",
  type = "GROUP"|"CHILD"|"SINGLE"|"ARN"|"CIDR",
  portRanges = list(
    "string"
  ),
  protocol = "TCP"|"TCP_UDP",
  status = "ACTIVE"|"CREATE_IN_PROGRESS"|"UPDATE_IN_PROGRESS"|"DELETE_IN_PROGRESS"|"CREATE_FAILED"|"UPDATE_FAILED"|"DELETE_FAILED",
  resourceConfigurationDefinition = list(
    dnsResource = list(
      domainName = "string",
      ipAddressType = "IPV4"|"IPV6"|"DUALSTACK"
    ),
    ipResource = list(
      ipAddress = "string"
    ),
    arnResource = list(
      arn = "string"
    ),
    cidrResource = list(
      cidrRanges = list(
        "string"
      )
    )
  ),
  allowAssociationToShareableServiceNetwork = TRUE|FALSE,
  createdAt = as.POSIXct(
    "2015-01-01"
  ),
  failureReason = "string",
  customDomainName = "string",
  domainVerificationId = "string",
  groupDomain = "string",
  domainVerificationArn = "string"
)

Request syntax

svc$create_resource_configuration(
  name = "string",
  type = "GROUP"|"CHILD"|"SINGLE"|"ARN"|"CIDR",
  portRanges = list(
    "string"
  ),
  protocol = "TCP"|"TCP_UDP",
  resourceGatewayIdentifier = "string",
  resourceConfigurationGroupIdentifier = "string",
  resourceConfigurationDefinition = list(
    dnsResource = list(
      domainName = "string",
      ipAddressType = "IPV4"|"IPV6"|"DUALSTACK"
    ),
    ipResource = list(
      ipAddress = "string"
    ),
    arnResource = list(
      arn = "string"
    ),
    cidrResource = list(
      cidrRanges = list(
        "string"
      )
    )
  ),
  allowAssociationToShareableServiceNetwork = TRUE|FALSE,
  customDomainName = "string",
  groupDomain = "string",
  domainVerificationIdentifier = "string",
  clientToken = "string",
  tags = list(
    "string"
  )
)