HostedZone

class aws_cdk.aws_route53.HostedZone(scope, id, *, vpcs=None, zone_name, add_trailing_dot=None, comment=None, query_logs_log_group_arn=None)

Bases: Resource

Container for records, and records contain information about how to route traffic for a specific domain, such as example.com and its subdomains (acme.example.com, zenith.example.com).

ExampleMetadata:

infused

Example:

kms_key = kms.Key(self, "KmsCMK",
    key_spec=kms.KeySpec.ECC_NIST_P256,
    key_usage=kms.KeyUsage.SIGN_VERIFY
)
hosted_zone = route53.HostedZone(self, "HostedZone",
    zone_name="example.com"
)
# Enable DNSSEC signing for the zone
hosted_zone.enable_dnssec(kms_key=kms_key)
Parameters:
  • scope (Construct) –

  • id (str) –

  • vpcs (Optional[Sequence[IVpc]]) – A VPC that you want to associate with this hosted zone. When you specify this property, a private hosted zone will be created. You can associate additional VPCs to this private zone using addVpc(vpc). Default: public (no VPCs associated)

  • zone_name (str) – The name of the domain. For resource record types that include a domain name, specify a fully qualified domain name.

  • add_trailing_dot (Optional[bool]) – Whether to add a trailing dot to the zone name. Default: true

  • comment (Optional[str]) – Any comments that you want to include about the hosted zone. Default: none

  • query_logs_log_group_arn (Optional[str]) – The Amazon Resource Name (ARN) for the log group that you want Amazon Route 53 to send query logs to. Default: disabled

Methods

add_vpc(vpc)

Add another VPC to this private hosted zone.

Parameters:

vpc (IVpc) – the other VPC to add.

Return type:

None

apply_removal_policy(policy)

Apply the given removal policy to this resource.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).

Parameters:

policy (RemovalPolicy) –

Return type:

None

enable_dnssec(*, kms_key, key_signing_key_name=None)

Enable DNSSEC for this hosted zone.

This will create a key signing key with the given options and enable DNSSEC signing for the hosted zone.

Parameters:
  • kms_key (IKey) – The customer-managed KMS key that that will be used to sign the records. The KMS Key must be unique for each KSK within a hosted zone. Additionally, the KMS key must be an asymetric customer-managed key using the ECC_NIST_P256 algorithm.

  • key_signing_key_name (Optional[str]) – The name for the key signing key. This name must be unique within a hosted zone. Default: an autogenerated name

Return type:

IKeySigningKey

grant_delegation(grantee)

Grant permissions to add delegation records to this zone.

Parameters:

grantee (IGrantable) –

Return type:

Grant

to_string()

Returns a string representation of this construct.

Return type:

str

Attributes

env

The environment this resource belongs to.

For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.

hosted_zone_arn

route53:::hostedzone/${Id}.

Type:

ARN of this hosted zone, such as arn

Type:

${Partition}

hosted_zone_id

ID of this hosted zone, such as “Z23ABC4XYZL05B”.

hosted_zone_name_servers

ns1.example.com.

This attribute will be undefined for private hosted zones or hosted zones imported from another stack.

Type:

Returns the set of name servers for the specific hosted zone. For example

node

The tree node.

stack

The stack in which this resource is defined.

zone_name

FQDN of this hosted zone.

Static Methods

classmethod from_hosted_zone_attributes(scope, id, *, hosted_zone_id, zone_name)

Imports a hosted zone from another stack.

Use when both hosted zone ID and hosted zone name are known.

Parameters:
  • scope (Construct) – the parent Construct for this Construct.

  • id (str) – the logical name of this Construct.

  • hosted_zone_id (str) – Identifier of the hosted zone.

  • zone_name (str) – Name of the hosted zone.

Return type:

IHostedZone

classmethod from_hosted_zone_id(scope, id, hosted_zone_id)

Import a Route 53 hosted zone defined either outside the CDK, or in a different CDK stack.

Use when hosted zone ID is known. If a HostedZone is imported with this method the zoneName cannot be referenced. If the zoneName is needed then the HostedZone should be imported with fromHostedZoneAttributes() or fromLookup()

Parameters:
  • scope (Construct) – the parent Construct for this Construct.

  • id (str) – the logical name of this Construct.

  • hosted_zone_id (str) – the ID of the hosted zone to import.

Return type:

IHostedZone

classmethod from_lookup(scope, id, *, domain_name, private_zone=None, vpc_id=None)

Lookup a hosted zone in the current account/region based on query parameters.

Requires environment, you must specify env for the stack.

Use to easily query hosted zones.

Parameters:
  • scope (Construct) –

  • id (str) –

  • domain_name (str) – The zone domain e.g. example.com.

  • private_zone (Optional[bool]) – Whether the zone that is being looked up is a private hosted zone. Default: false

  • vpc_id (Optional[str]) – Specifies the ID of the VPC associated with a private hosted zone. If a VPC ID is provided and privateZone is false, no results will be returned and an error will be raised Default: - No VPC ID

See:

https://docs.aws.amazon.com/cdk/latest/guide/environments.html

Return type:

IHostedZone

classmethod is_construct(x)

Checks if x is a construct.

Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

Parameters:

x (Any) – Any object.

Return type:

bool

Returns:

true if x is an object created from a class which extends Construct.

classmethod is_owned_resource(construct)

Returns true if the construct was created by CDK, and false otherwise.

Parameters:

construct (IConstruct) –

Return type:

bool

classmethod is_resource(construct)

Check whether the given construct is a Resource.

Parameters:

construct (IConstruct) –

Return type:

bool