Class: AWSCDK::Route53::CfnKeySigningKeyProps

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

Overview

Properties for defining a CfnKeySigningKey.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(hosted_zone_id:, key_management_service_arn:, name:, status:) ⇒ CfnKeySigningKeyProps

Returns a new instance of CfnKeySigningKeyProps.

Parameters:

  • hosted_zone_id (String)

    The unique string (ID) that is used to identify a hosted zone.

  • key_management_service_arn (String)

    The Amazon resource name (ARN) for a customer managed customer master key (CMK) in AWS Key Management Service ( AWS ).

  • name (String)

    A string used to identify a key-signing key (KSK).

  • status (String)

    A string that represents the current key-signing key (KSK) status.



13
14
15
16
17
18
19
20
21
22
# File 'route53/cfn_key_signing_key_props.rb', line 13

def initialize(hosted_zone_id:, key_management_service_arn:, name:, status:)
  @hosted_zone_id = hosted_zone_id
  Jsii::Type.check_type(@hosted_zone_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "hostedZoneId")
  @key_management_service_arn = key_management_service_arn
  Jsii::Type.check_type(@key_management_service_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "keyManagementServiceArn")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @status = status
  Jsii::Type.check_type(@status, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "status")
end

Instance Attribute Details

#hosted_zone_idString (readonly)

The unique string (ID) that is used to identify a hosted zone.

For example: Z00001111A1ABCaaABC11 .



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

def hosted_zone_id
  @hosted_zone_id
end

#key_management_service_arnString (readonly)

The Amazon resource name (ARN) for a customer managed customer master key (CMK) in AWS Key Management Service ( AWS ).

The KeyManagementServiceArn must be unique for each key-signing key (KSK) in a single hosted zone. For example: arn:aws:kms:us-east-1:111122223333:key/111a2222-a11b-1ab1-2ab2-1ab21a2b3a111 .



37
38
39
# File 'route53/cfn_key_signing_key_props.rb', line 37

def key_management_service_arn
  @key_management_service_arn
end

#nameString (readonly)

A string used to identify a key-signing key (KSK).

Name can include numbers, letters, and underscores (_). Name must be unique for each key-signing key in the same hosted zone.



44
45
46
# File 'route53/cfn_key_signing_key_props.rb', line 44

def name
  @name
end

#statusString (readonly)

A string that represents the current key-signing key (KSK) status.

Status can have one of the following values:

  • ACTIVE - The KSK is being used for signing.
  • INACTIVE - The KSK is not being used for signing.
  • DELETING - The KSK is in the process of being deleted.
  • ACTION_NEEDED - There is a problem with the KSK that requires you to take action to resolve. For example, the customer managed key might have been deleted, or the permissions for the customer managed key might have been changed.
  • INTERNAL_FAILURE - There was an error during a request. Before you can continue to work with DNSSEC signing, including actions that involve this KSK, you must correct the problem. For example, you may need to activate or deactivate the KSK.


57
58
59
# File 'route53/cfn_key_signing_key_props.rb', line 57

def status
  @status
end

Class Method Details

.jsii_propertiesObject



59
60
61
62
63
64
65
66
# File 'route53/cfn_key_signing_key_props.rb', line 59

def self.jsii_properties
  {
    :hosted_zone_id => "hostedZoneId",
    :key_management_service_arn => "keyManagementServiceArn",
    :name => "name",
    :status => "status",
  }
end

Instance Method Details

#to_jsiiObject



68
69
70
71
72
73
74
75
76
77
# File 'route53/cfn_key_signing_key_props.rb', line 68

def to_jsii
  result = {}
  result.merge!({
    "hostedZoneId" => @hosted_zone_id,
    "keyManagementServiceArn" => @key_management_service_arn,
    "name" => @name,
    "status" => @status,
  })
  result.compact
end