associate_vpc_with_hosted_zone

Route53.Client.associate_vpc_with_hosted_zone(**kwargs)

Associates an Amazon VPC with a private hosted zone.

Warning

To perform the association, the VPC and the private hosted zone must already exist. You can't convert a public hosted zone into a private hosted zone.

Note

If you want to associate a VPC that was created by using one Amazon Web Services account with a private hosted zone that was created by using a different account, the Amazon Web Services account that created the private hosted zone must first submit a CreateVPCAssociationAuthorization request. Then the account that created the VPC must submit an AssociateVPCWithHostedZone request.

Note

When granting access, the hosted zone and the Amazon VPC must belong to the same partition. A partition is a group of Amazon Web Services Regions. Each Amazon Web Services account is scoped to one partition.

The following are the supported partitions:

  • aws - Amazon Web Services Regions
  • aws-cn - China Regions
  • aws-us-gov - Amazon Web Services GovCloud (US) Region

For more information, see Access Management in the Amazon Web Services General Reference .

See also: AWS API Documentation

Request Syntax

response = client.associate_vpc_with_hosted_zone(
    HostedZoneId='string',
    VPC={
        'VPCRegion': 'us-east-1'|'us-east-2'|'us-west-1'|'us-west-2'|'eu-west-1'|'eu-west-2'|'eu-west-3'|'eu-central-1'|'eu-central-2'|'ap-east-1'|'me-south-1'|'us-gov-west-1'|'us-gov-east-1'|'us-iso-east-1'|'us-iso-west-1'|'us-isob-east-1'|'me-central-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-southeast-3'|'ap-south-1'|'ap-south-2'|'ap-northeast-1'|'ap-northeast-2'|'ap-northeast-3'|'eu-north-1'|'sa-east-1'|'ca-central-1'|'cn-north-1'|'af-south-1'|'eu-south-1'|'eu-south-2'|'ap-southeast-4',
        'VPCId': 'string'
    },
    Comment='string'
)
Parameters
  • HostedZoneId (string) --

    [REQUIRED]

    The ID of the private hosted zone that you want to associate an Amazon VPC with.

    Note that you can't associate a VPC with a hosted zone that doesn't have an existing VPC association.

  • VPC (dict) --

    [REQUIRED]

    A complex type that contains information about the VPC that you want to associate with a private hosted zone.

    • VPCRegion (string) --

      (Private hosted zones only) The region that an Amazon VPC was created in.

    • VPCId (string) --

      (Private hosted zones only) The ID of an Amazon VPC.

  • Comment (string) -- Optional: A comment about the association request.
Return type

dict

Returns

Response Syntax

{
    'ChangeInfo': {
        'Id': 'string',
        'Status': 'PENDING'|'INSYNC',
        'SubmittedAt': datetime(2015, 1, 1),
        'Comment': 'string'
    }
}

Response Structure

  • (dict) --

    A complex type that contains the response information for the AssociateVPCWithHostedZone request.

    • ChangeInfo (dict) --

      A complex type that describes the changes made to your hosted zone.

      • Id (string) --

        This element contains an ID that you use when performing a GetChange action to get detailed information about the change.

      • Status (string) --

        The current state of the request. PENDING indicates that this request has not yet been applied to all Amazon Route 53 DNS servers.

      • SubmittedAt (datetime) --

        The date and time that the change request was submitted in ISO 8601 format and Coordinated Universal Time (UTC). For example, the value 2017-03-27T17:48:16.751Z represents March 27, 2017 at 17:48:16.751 UTC.

      • Comment (string) --

        A comment you can provide.

Exceptions

  • Route53.Client.exceptions.NoSuchHostedZone
  • Route53.Client.exceptions.NotAuthorizedException
  • Route53.Client.exceptions.InvalidVPCId
  • Route53.Client.exceptions.InvalidInput
  • Route53.Client.exceptions.PublicZoneVPCAssociation
  • Route53.Client.exceptions.ConflictingDomainExists
  • Route53.Client.exceptions.LimitsExceeded
  • Route53.Client.exceptions.PriorRequestNotComplete

Examples

The following example associates the VPC with ID vpc-1a2b3c4d with the hosted zone with ID Z3M3LMPEXAMPLE.

response = client.associate_vpc_with_hosted_zone(
    Comment='',
    HostedZoneId='Z3M3LMPEXAMPLE',
    VPC={
        'VPCId': 'vpc-1a2b3c4d',
        'VPCRegion': 'us-east-2',
    },
)

print(response)

Expected Output:

{
    'ChangeInfo': {
        'Comment': '',
        'Id': '/change/C3HC6WDB2UANE2',
        'Status': 'INSYNC',
        'SubmittedAt': datetime(2017, 1, 31, 1, 36, 41, 1, 31, 0),
    },
    'ResponseMetadata': {
        '...': '...',
    },
}