Class: AWSCDK::Route53::ZoneSigningOptions

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

Overview

Options for enabling key signing from a hosted zone.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(kms_key:, key_signing_key_name: nil) ⇒ ZoneSigningOptions

Returns a new instance of ZoneSigningOptions.

Parameters:

  • kms_key (AWSCDK::KMS::IKey)

    The customer-managed KMS key that will be used to sign the records.

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

    The name for the key signing key.



9
10
11
12
13
14
# File 'route53/zone_signing_options.rb', line 9

def initialize(kms_key:, key_signing_key_name: nil)
  @kms_key = kms_key
  Jsii::Type.check_type(@kms_key, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa21zLklLZXkifQ==")), "kmsKey")
  @key_signing_key_name = key_signing_key_name
  Jsii::Type.check_type(@key_signing_key_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "keySigningKeyName") unless @key_signing_key_name.nil?
end

Instance Attribute Details

#key_signing_key_nameString? (readonly)

Note:

Default: an autogenerated name

The name for the key signing key.

This name must be unique within a hosted zone.

Returns:

  • (String, nil)


30
31
32
# File 'route53/zone_signing_options.rb', line 30

def key_signing_key_name
  @key_signing_key_name
end

#kms_keyAWSCDK::KMS::IKey (readonly)

The customer-managed KMS key 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.



23
24
25
# File 'route53/zone_signing_options.rb', line 23

def kms_key
  @kms_key
end

Class Method Details

.jsii_propertiesObject



32
33
34
35
36
37
# File 'route53/zone_signing_options.rb', line 32

def self.jsii_properties
  {
    :kms_key => "kmsKey",
    :key_signing_key_name => "keySigningKeyName",
  }
end

Instance Method Details

#to_jsiiObject



39
40
41
42
43
44
45
46
# File 'route53/zone_signing_options.rb', line 39

def to_jsii
  result = {}
  result.merge!({
    "kmsKey" => @kms_key,
    "keySigningKeyName" => @key_signing_key_name,
  })
  result.compact
end