Class: AWSCDK::Route53::PublicHostedZoneProps

Inherits:
CommonHostedZoneProps
  • Object
show all
Defined in:
route53/public_hosted_zone_props.rb

Overview

Construction properties for a PublicHostedZone.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(zone_name:, add_trailing_dot: nil, comment: nil, query_logs_log_group_arn: nil, accelerated_recovery_enabled: nil, caa_amazon: nil, cross_account_zone_delegation_principal: nil, cross_account_zone_delegation_role_name: nil) ⇒ PublicHostedZoneProps

Returns a new instance of PublicHostedZoneProps.

Parameters:

  • zone_name (String)

    The name of the domain.

  • add_trailing_dot (Boolean, nil) (defaults to: nil)

    Whether to add a trailing dot to the zone name.

  • comment (String, nil) (defaults to: nil)

    Any comments that you want to include about the hosted zone.

  • query_logs_log_group_arn (String, nil) (defaults to: nil)

    The Amazon Resource Name (ARN) for the log group that you want Amazon Route 53 to send query logs to.

  • accelerated_recovery_enabled (Boolean, nil) (defaults to: nil)

    Whether to enable accelerated recovery for this hosted zone.

  • caa_amazon (Boolean, nil) (defaults to: nil)

    Whether to create a CAA record to restrict certificate authorities allowed to issue certificates for this domain to Amazon only.

  • cross_account_zone_delegation_principal (AWSCDK::IAM::IPrincipal, nil) (defaults to: nil)

    A principal which is trusted to assume a role for zone delegation.

  • cross_account_zone_delegation_role_name (String, nil) (defaults to: nil)

    The name of the role created for cross account delegation.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'route53/public_hosted_zone_props.rb', line 15

def initialize(zone_name:, add_trailing_dot: nil, comment: nil, query_logs_log_group_arn: nil, accelerated_recovery_enabled: nil, caa_amazon: nil, cross_account_zone_delegation_principal: nil, cross_account_zone_delegation_role_name: nil)
  @zone_name = zone_name
  Jsii::Type.check_type(@zone_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "zoneName")
  @add_trailing_dot = add_trailing_dot
  Jsii::Type.check_type(@add_trailing_dot, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "addTrailingDot") unless @add_trailing_dot.nil?
  @comment = comment
  Jsii::Type.check_type(@comment, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "comment") unless @comment.nil?
  @query_logs_log_group_arn = query_logs_log_group_arn
  Jsii::Type.check_type(@query_logs_log_group_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "queryLogsLogGroupArn") unless @query_logs_log_group_arn.nil?
  @accelerated_recovery_enabled = accelerated_recovery_enabled
  Jsii::Type.check_type(@accelerated_recovery_enabled, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "acceleratedRecoveryEnabled") unless @accelerated_recovery_enabled.nil?
  @caa_amazon = caa_amazon
  Jsii::Type.check_type(@caa_amazon, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "caaAmazon") unless @caa_amazon.nil?
  @cross_account_zone_delegation_principal = 
  Jsii::Type.check_type(@cross_account_zone_delegation_principal, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklQcmluY2lwYWwifQ==")), "crossAccountZoneDelegationPrincipal") unless @cross_account_zone_delegation_principal.nil?
  @cross_account_zone_delegation_role_name = 
  Jsii::Type.check_type(@cross_account_zone_delegation_role_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "crossAccountZoneDelegationRoleName") unless @cross_account_zone_delegation_role_name.nil?
end

Instance Attribute Details

#accelerated_recovery_enabledBoolean? (readonly)

Note:

Default: - no accelerated recovery

Whether to enable accelerated recovery for this hosted zone.

Accelerated recovery reduces the time to recovery when a hosted zone becomes unavailable due to DNS resolution issues.

This feature is only available for public hosted zones.



66
67
68
# File 'route53/public_hosted_zone_props.rb', line 66

def accelerated_recovery_enabled
  @accelerated_recovery_enabled
end

#add_trailing_dotBoolean? (readonly)

Note:

Default: true

Whether to add a trailing dot to the zone name.

Returns:

  • (Boolean, nil)


45
46
47
# File 'route53/public_hosted_zone_props.rb', line 45

def add_trailing_dot
  @add_trailing_dot
end

#caa_amazonBoolean? (readonly)

Note:

Default: false

Whether to create a CAA record to restrict certificate authorities allowed to issue certificates for this domain to Amazon only.

Returns:

  • (Boolean, nil)


71
72
73
# File 'route53/public_hosted_zone_props.rb', line 71

def caa_amazon
  @caa_amazon
end

#commentString? (readonly)

Note:

Default: none

Any comments that you want to include about the hosted zone.

Returns:

  • (String, nil)


50
51
52
# File 'route53/public_hosted_zone_props.rb', line 50

def comment
  @comment
end

#cross_account_zone_delegation_principalAWSCDK::IAM::IPrincipal? (readonly)

Deprecated.

Create the Role yourself and call hostedZone.grantDelegation().

Note:

Default: - No delegation configuration

A principal which is trusted to assume a role for zone delegation.

If supplied, this will create a Role in the same account as the Hosted Zone, which can be assumed by the CrossAccountZoneDelegationRecord to create a delegation record to a zone in a different account.

Be sure to indicate the account(s) that you trust to create delegation records, using either iam.AccountPrincipal or iam.OrganizationPrincipal.

If you are planning to use iam.ServicePrincipals here, be sure to include region-specific service principals for every opt-in region you are going to be delegating to; or don't use this feature and create separate roles with appropriate permissions for every opt-in region instead.

Returns:



89
90
91
# File 'route53/public_hosted_zone_props.rb', line 89

def 
  @cross_account_zone_delegation_principal
end

#cross_account_zone_delegation_role_nameString? (readonly)

Deprecated.

Create the Role yourself and call hostedZone.grantDelegation().

Note:

Default: - A role name is generated automatically

The name of the role created for cross account delegation.

Returns:

  • (String, nil)


95
96
97
# File 'route53/public_hosted_zone_props.rb', line 95

def 
  @cross_account_zone_delegation_role_name
end

#query_logs_log_group_arnString? (readonly)

Note:

Default: disabled

The Amazon Resource Name (ARN) for the log group that you want Amazon Route 53 to send query logs to.

Returns:

  • (String, nil)


55
56
57
# File 'route53/public_hosted_zone_props.rb', line 55

def query_logs_log_group_arn
  @query_logs_log_group_arn
end

#zone_nameString (readonly)

The name of the domain.

For resource record types that include a domain name, specify a fully qualified domain name.

Returns:

  • (String)


40
41
42
# File 'route53/public_hosted_zone_props.rb', line 40

def zone_name
  @zone_name
end

Class Method Details

.jsii_propertiesObject



97
98
99
100
101
102
103
104
105
106
107
108
# File 'route53/public_hosted_zone_props.rb', line 97

def self.jsii_properties
  {
    :zone_name => "zoneName",
    :add_trailing_dot => "addTrailingDot",
    :comment => "comment",
    :query_logs_log_group_arn => "queryLogsLogGroupArn",
    :accelerated_recovery_enabled => "acceleratedRecoveryEnabled",
    :caa_amazon => "caaAmazon",
    :cross_account_zone_delegation_principal => "crossAccountZoneDelegationPrincipal",
    :cross_account_zone_delegation_role_name => "crossAccountZoneDelegationRoleName",
  }
end

Instance Method Details

#to_jsiiObject



110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# File 'route53/public_hosted_zone_props.rb', line 110

def to_jsii
  result = {}
  result.merge!(super)
  result.merge!({
    "zoneName" => @zone_name,
    "addTrailingDot" => @add_trailing_dot,
    "comment" => @comment,
    "queryLogsLogGroupArn" => @query_logs_log_group_arn,
    "acceleratedRecoveryEnabled" => @accelerated_recovery_enabled,
    "caaAmazon" => @caa_amazon,
    "crossAccountZoneDelegationPrincipal" => @cross_account_zone_delegation_principal,
    "crossAccountZoneDelegationRoleName" => @cross_account_zone_delegation_role_name,
  })
  result.compact
end