Class: AWSCDK::Route53::KeySigningKeyProps

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

Overview

Properties for constructing a Key Signing Key.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(hosted_zone:, kms_key:, key_signing_key_name: nil, status: nil) ⇒ KeySigningKeyProps

Returns a new instance of KeySigningKeyProps.

Parameters:



11
12
13
14
15
16
17
18
19
20
# File 'route53/key_signing_key_props.rb', line 11

def initialize(hosted_zone:, kms_key:, key_signing_key_name: nil, status: nil)
  @hosted_zone = hosted_zone
  Jsii::Type.check_type(@hosted_zone, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfcm91dGU1My5JSG9zdGVkWm9uZSJ9")), "hostedZone")
  @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?
  @status = status
  Jsii::Type.check_type(@status, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfcm91dGU1My5LZXlTaWduaW5nS2V5U3RhdHVzIn0=")), "status") unless @status.nil?
end

Instance Attribute Details

#hosted_zoneAWSCDK::Route53::IHostedZone (readonly)

The hosted zone that this key will be used to sign.



25
26
27
# File 'route53/key_signing_key_props.rb', line 25

def hosted_zone
  @hosted_zone
end

#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)


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

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.



33
34
35
# File 'route53/key_signing_key_props.rb', line 33

def kms_key
  @kms_key
end

#statusAWSCDK::Route53::KeySigningKeyStatus? (readonly)

Note:

Default: ACTIVE

The status of the key signing key.



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

def status
  @status
end

Class Method Details

.jsii_propertiesObject



47
48
49
50
51
52
53
54
# File 'route53/key_signing_key_props.rb', line 47

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

Instance Method Details

#to_jsiiObject



56
57
58
59
60
61
62
63
64
65
# File 'route53/key_signing_key_props.rb', line 56

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