Class: AWSCDK::Route53::CrossAccountZoneDelegationRecordProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
route53/cross_account_zone_delegation_record_props.rb

Overview

Construction properties for a CrossAccountZoneDelegationRecord.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(delegated_zone:, delegation_role:, assume_role_region: nil, parent_hosted_zone_id: nil, parent_hosted_zone_name: nil, removal_policy: nil, ttl: nil) ⇒ CrossAccountZoneDelegationRecordProps

Returns a new instance of CrossAccountZoneDelegationRecordProps.

Parameters:

  • delegated_zone (AWSCDK::Route53::IHostedZone)

    The zone to be delegated.

  • delegation_role (AWSCDK::Interfaces::AWSIAM::IRoleRef)

    The delegation role in the parent account.

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

    Region from which to obtain temporary credentials.

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

    The hosted zone id in the parent account.

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

    The hosted zone name in the parent account.

  • removal_policy (AWSCDK::RemovalPolicy, nil) (defaults to: nil)

    The removal policy to apply to the record set.

  • ttl (AWSCDK::Duration, nil) (defaults to: nil)

    The resource record cache time to live (TTL).



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

def initialize(delegated_zone:, delegation_role:, assume_role_region: nil, parent_hosted_zone_id: nil, parent_hosted_zone_name: nil, removal_policy: nil, ttl: nil)
  @delegated_zone = delegated_zone
  Jsii::Type.check_type(@delegated_zone, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfcm91dGU1My5JSG9zdGVkWm9uZSJ9")), "delegatedZone")
  @delegation_role = delegation_role
  Jsii::Type.check_type(@delegation_role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifQ==")), "delegationRole")
  @assume_role_region = assume_role_region
  Jsii::Type.check_type(@assume_role_region, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "assumeRoleRegion") unless @assume_role_region.nil?
  @parent_hosted_zone_id = parent_hosted_zone_id
  Jsii::Type.check_type(@parent_hosted_zone_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "parentHostedZoneId") unless @parent_hosted_zone_id.nil?
  @parent_hosted_zone_name = parent_hosted_zone_name
  Jsii::Type.check_type(@parent_hosted_zone_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "parentHostedZoneName") unless @parent_hosted_zone_name.nil?
  @removal_policy = removal_policy
  Jsii::Type.check_type(@removal_policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5In0=")), "removalPolicy") unless @removal_policy.nil?
  @ttl = ttl
  Jsii::Type.check_type(@ttl, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "ttl") unless @ttl.nil?
end

Instance Attribute Details

#assume_role_regionString? (readonly)

Note:

Default: - the Route53 signing region in the current partition

Region from which to obtain temporary credentials.

Returns:

  • (String, nil)


43
44
45
# File 'route53/cross_account_zone_delegation_record_props.rb', line 43

def assume_role_region
  @assume_role_region
end

#delegated_zoneAWSCDK::Route53::IHostedZone (readonly)

The zone to be delegated.



34
35
36
# File 'route53/cross_account_zone_delegation_record_props.rb', line 34

def delegated_zone
  @delegated_zone
end

#delegation_roleAWSCDK::Interfaces::AWSIAM::IRoleRef (readonly)

The delegation role in the parent account.



38
39
40
# File 'route53/cross_account_zone_delegation_record_props.rb', line 38

def delegation_role
  @delegation_role
end

#parent_hosted_zone_idString? (readonly)

Note:

Default: - no zone id

The hosted zone id in the parent account.

Returns:

  • (String, nil)


48
49
50
# File 'route53/cross_account_zone_delegation_record_props.rb', line 48

def parent_hosted_zone_id
  @parent_hosted_zone_id
end

#parent_hosted_zone_nameString? (readonly)

Note:

Default: - no zone name

The hosted zone name in the parent account.

Returns:

  • (String, nil)


53
54
55
# File 'route53/cross_account_zone_delegation_record_props.rb', line 53

def parent_hosted_zone_name
  @parent_hosted_zone_name
end

#removal_policyAWSCDK::RemovalPolicy? (readonly)

Note:

Default: RemovalPolicy.DESTROY

The removal policy to apply to the record set.

Returns:



58
59
60
# File 'route53/cross_account_zone_delegation_record_props.rb', line 58

def removal_policy
  @removal_policy
end

#ttlAWSCDK::Duration? (readonly)

Note:

Default: Duration.days(2)

The resource record cache time to live (TTL).

Returns:



63
64
65
# File 'route53/cross_account_zone_delegation_record_props.rb', line 63

def ttl
  @ttl
end

Class Method Details

.jsii_propertiesObject



65
66
67
68
69
70
71
72
73
74
75
# File 'route53/cross_account_zone_delegation_record_props.rb', line 65

def self.jsii_properties
  {
    :delegated_zone => "delegatedZone",
    :delegation_role => "delegationRole",
    :assume_role_region => "assumeRoleRegion",
    :parent_hosted_zone_id => "parentHostedZoneId",
    :parent_hosted_zone_name => "parentHostedZoneName",
    :removal_policy => "removalPolicy",
    :ttl => "ttl",
  }
end

Instance Method Details

#to_jsiiObject



77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'route53/cross_account_zone_delegation_record_props.rb', line 77

def to_jsii
  result = {}
  result.merge!({
    "delegatedZone" => @delegated_zone,
    "delegationRole" => @delegation_role,
    "assumeRoleRegion" => @assume_role_region,
    "parentHostedZoneId" => @parent_hosted_zone_id,
    "parentHostedZoneName" => @parent_hosted_zone_name,
    "removalPolicy" => @removal_policy,
    "ttl" => @ttl,
  })
  result.compact
end