Class: AWSCDK::KMS::CfnKey
- Inherits:
-
CfnResource
- Object
- CfnResource
- AWSCDK::KMS::CfnKey
- Includes:
- IInspectable, ITaggable, Interfaces::AWSKMS::IKeyRef
- Defined in:
- kms/cfn_key.rb
Overview
The AWS::KMS::Key resource specifies an KMS key in AWS Key Management Service . You can use this resource to create symmetric encryption KMS keys, asymmetric KMS keys for encryption or signing, and symmetric HMAC KMS keys. You can use AWS::KMS::Key to create multi-Region primary keys of all supported types. To replicate a multi-Region key, use the AWS::KMS::ReplicaKey resource.
If you change the value of the
KeySpec,KeyUsage,Origin, orMultiRegionproperties of an existing KMS key, the update request fails, regardless of the value of theUpdateReplacePolicyattribute . This prevents you from accidentally deleting a KMS key by changing any of its immutable property values. > AWS replaced the term customer master key (CMK) with AWS KMS key and KMS key . The concept has not changed. To prevent breaking changes, AWS is keeping some variations of this term.
You can use symmetric encryption KMS keys to encrypt and decrypt small amounts of data, but they are more commonly used to generate data keys and data key pairs. You can also use a symmetric encryption KMS key to encrypt data stored in AWS services that are integrated with AWS . For more information, see Symmetric encryption KMS keys in the AWS Key Management Service Developer Guide .
You can use asymmetric KMS keys to encrypt and decrypt data or sign messages and verify signatures. To create an asymmetric key, you must specify an asymmetric KeySpec value and a KeyUsage value. For details, see Asymmetric keys in AWS in the AWS Key Management Service Developer Guide .
You can use HMAC KMS keys (which are also symmetric keys) to generate and verify hash-based message authentication codes. To create an HMAC key, you must specify an HMAC KeySpec value and a KeyUsage value of GENERATE_VERIFY_MAC . For details, see HMAC keys in AWS in the AWS Key Management Service Developer Guide .
You can also create symmetric encryption, asymmetric, and HMAC multi-Region primary keys. To create a multi-Region primary key, set the MultiRegion property to true . For information about multi-Region keys, see Multi-Region keys in AWS in the AWS Key Management Service Developer Guide .
You cannot use the AWS::KMS::Key resource to specify a KMS key with imported key material or a KMS key in a custom key store .
Regions
AWS CloudFormation resources are available in all Regions in which AWS and CloudFormation are supported. You can use the AWS::KMS::Key resource to create and manage all KMS key types that are supported in a Region.
Class Method Summary collapse
- .arn_for_key(resource) ⇒ String
-
.CFN_RESOURCE_TYPE_NAME ⇒ String
The CloudFormation resource type name for this resource class.
-
.from_key_arn(scope, id, arn) ⇒ AWSCDK::Interfaces::AWSKMS::IKeyRef
Creates a new IKeyRef from an ARN.
-
.from_key_id(scope, id, key_id) ⇒ AWSCDK::Interfaces::AWSKMS::IKeyRef
Creates a new IKeyRef from a keyId.
-
.is_cfn_key(x) ⇒ Boolean
Checks whether the given object is a CfnKey.
- .jsii_overridable_methods ⇒ Object
Instance Method Summary collapse
-
#add_deletion_override(path) ⇒ void
Syntactic sugar for
addOverride(path, undefined). -
#add_dependency(target) ⇒ void
Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
-
#add_depends_on(target) ⇒ void
deprecated
Deprecated.
use addDependency
-
#add_metadata(key, value) ⇒ void
Add a value to the CloudFormation Resource Metadata.
-
#add_override(path, value) ⇒ void
Adds an override to the synthesized CloudFormation resource.
-
#add_property_deletion_override(property_path) ⇒ void
Adds an override that deletes the value of a property from the resource definition.
-
#add_property_override(property_path, value) ⇒ void
Adds an override to a resource property.
-
#apply_cross_stack_reference_strength(strength) ⇒ void
Sets the cross-stack reference strength for this resource.
-
#apply_removal_policy(policy = nil, options = nil) ⇒ void
Sets the deletion policy of the resource based on the removal policy specified.
-
#attr_arn ⇒ String
The Amazon Resource Name (ARN) of the KMS key, such as
arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. -
#attr_key_id ⇒ String
The key ID of the KMS key, such as
1234abcd-12ab-34cd-56ef-1234567890ab. -
#bypass_policy_lockout_safety_check ⇒ Boolean, ...
Skips ("bypasses") the key policy lockout safety check.
- #bypass_policy_lockout_safety_check=(value) ⇒ Object
-
#cfn_options ⇒ AWSCDK::ICfnResourceOptions
Options for this resource, such as condition, update policy etc.
- #cfn_properties ⇒ Hash{String => Object}
- #cfn_property_name(cdk_property_name) ⇒ String?
- #cfn_property_names ⇒ Hash{String => String}
-
#cfn_resource_type ⇒ String
AWS resource type.
- #creation_stack ⇒ Array<String>
-
#description ⇒ String?
A description of the KMS key.
- #description=(value) ⇒ Object
-
#enable_key_rotation ⇒ Boolean, ...
Enables automatic rotation of the key material for the specified KMS key.
- #enable_key_rotation=(value) ⇒ Object
-
#enabled ⇒ Boolean, ...
Specifies whether the KMS key is enabled.
- #enabled=(value) ⇒ Object
- #env ⇒ AWSCDK::Interfaces::ResourceEnvironment
-
#get_att(attribute_name, type_hint = nil) ⇒ AWSCDK::Reference
Returns a token for an runtime attribute of this resource.
-
#get_metadata(key) ⇒ Object
Retrieve a value value from the CloudFormation Resource Metadata.
-
#initialize(scope, id, props = nil) ⇒ CfnKey
constructor
Create a new
AWS::KMS::Key. -
#inspect(inspector) ⇒ void
Examines the CloudFormation resource and discloses attributes.
-
#key_policy ⇒ Object
The key policy to attach to the KMS key.
- #key_policy=(value) ⇒ Object
-
#key_ref ⇒ AWSCDK::Interfaces::AWSKMS::KeyReference
A reference to a Key resource.
-
#key_spec ⇒ String?
Specifies the type of KMS key to create.
- #key_spec=(value) ⇒ Object
-
#key_usage ⇒ String?
Determines the cryptographic operations for which you can use the KMS key.
- #key_usage=(value) ⇒ Object
-
#logical_id ⇒ String
The logical ID for this CloudFormation stack element.
-
#multi_region ⇒ Boolean, ...
Creates a multi-Region primary key that you can replicate in other AWS Regions .
- #multi_region=(value) ⇒ Object
-
#node ⇒ Constructs::Node
The tree node.
-
#obtain_dependencies ⇒ Array<AWSCDK::CfnResource, AWSCDK::Stack>
Retrieves an array of resources this resource depends on.
-
#obtain_resource_dependencies ⇒ Array<AWSCDK::CfnResource>
Get a shallow copy of dependencies between this resource and other resources in the same stack.
-
#origin ⇒ String?
The source of the key material for the KMS key.
- #origin=(value) ⇒ Object
-
#override_logical_id(new_logical_id) ⇒ void
Overrides the auto-generated logical ID with a specific ID.
-
#pending_window_in_days ⇒ Numeric?
Specifies the number of days in the waiting period before AWS deletes a KMS key that has been removed from a CloudFormation stack.
- #pending_window_in_days=(value) ⇒ Object
-
#ref ⇒ String
Return a string that will be resolved to a CloudFormation
{ Ref }for this element. -
#remove_dependency(target) ⇒ void
Indicates that this resource no longer depends on another resource.
- #render_properties(props) ⇒ Hash{String => Object}
-
#replace_dependency(target, new_target) ⇒ void
Replaces one dependency with another.
-
#rotation_period_in_days ⇒ Numeric?
Specifies a custom period of time between each rotation date.
- #rotation_period_in_days=(value) ⇒ Object
-
#should_synthesize ⇒ Boolean
Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
-
#stack ⇒ AWSCDK::Stack
The stack in which this element is defined.
-
#tags ⇒ AWSCDK::TagManager
Tag Manager which manages the tags for this resource.
-
#tags_raw ⇒ Array<AWSCDK::CfnTag>?
Assigns one or more tags to the replica key.
- #tags_raw=(value) ⇒ Object
-
#to_string ⇒ String
Returns a string representation of this construct.
-
#updated_properites ⇒ Hash{String => Object}
deprecated
Deprecated.
use
updatedPropertiesReturn properties modified after initiation Resources that expose mutable properties should override this function to collect and return the properties object for this resource. -
#updated_properties ⇒ Hash{String => Object}
Return properties modified after initiation.
- #validate_properties(_properties) ⇒ void
-
#with(*mixins) ⇒ Constructs::IConstruct
Applies one or more mixins to this construct.
Constructor Details
#initialize(scope, id, props = nil) ⇒ CfnKey
Create a new AWS::KMS::Key.
34 35 36 37 38 39 40 |
# File 'kms/cfn_key.rb', line 34 def initialize(scope, id, props = nil) props = props.is_a?(Hash) ? ::AWSCDK::KMS::CfnKeyProps.new(**props.transform_keys(&:to_sym)) : props Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope") Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id") Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa21zLkNmbktleVByb3BzIn0=")), "props") unless props.nil? Jsii::Object.instance_method(:initialize).bind(self).call(scope, id, props) end |
Class Method Details
.arn_for_key(resource) ⇒ String
100 101 102 103 |
# File 'kms/cfn_key.rb', line 100 def self.arn_for_key(resource) Jsii::Type.check_type(resource, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19rbXMuSUtleVJlZiJ9")), "resource") Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_kms.CfnKey", "arnForKey", [resource]) end |
.CFN_RESOURCE_TYPE_NAME ⇒ String
The CloudFormation resource type name for this resource class.
233 234 235 |
# File 'kms/cfn_key.rb', line 233 def self.CFN_RESOURCE_TYPE_NAME() Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_kms.CfnKey", "CFN_RESOURCE_TYPE_NAME") end |
.from_key_arn(scope, id, arn) ⇒ AWSCDK::Interfaces::AWSKMS::IKeyRef
Creates a new IKeyRef from an ARN.
111 112 113 114 115 116 |
# File 'kms/cfn_key.rb', line 111 def self.from_key_arn(scope, id, arn) Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope") Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id") Jsii::Type.check_type(arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "arn") Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_kms.CfnKey", "fromKeyArn", [scope, id, arn]) end |
.from_key_id(scope, id, key_id) ⇒ AWSCDK::Interfaces::AWSKMS::IKeyRef
Creates a new IKeyRef from a keyId.
124 125 126 127 128 129 |
# File 'kms/cfn_key.rb', line 124 def self.from_key_id(scope, id, key_id) Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope") Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id") Jsii::Type.check_type(key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "keyId") Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_kms.CfnKey", "fromKeyId", [scope, id, key_id]) end |
.is_cfn_key(x) ⇒ Boolean
Checks whether the given object is a CfnKey.
135 136 137 138 |
# File 'kms/cfn_key.rb', line 135 def self.is_cfn_key(x) Jsii::Type.check_type(x, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "x") Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_kms.CfnKey", "isCfnKey", [x]) end |
.jsii_overridable_methods ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'kms/cfn_key.rb', line 42 def self.jsii_overridable_methods { :node => { kind: :property, name: "node", is_optional: false }, :creation_stack => { kind: :property, name: "creationStack", is_optional: false }, :logical_id => { kind: :property, name: "logicalId", is_optional: false }, :stack => { kind: :property, name: "stack", is_optional: false }, :ref => { kind: :property, name: "ref", is_optional: false }, :cfn_options => { kind: :property, name: "cfnOptions", is_optional: false }, :cfn_properties => { kind: :property, name: "cfnProperties", is_optional: false }, :cfn_property_names => { kind: :property, name: "cfnPropertyNames", is_optional: false }, :cfn_resource_type => { kind: :property, name: "cfnResourceType", is_optional: false }, :env => { kind: :property, name: "env", is_optional: false }, :updated_properites => { kind: :property, name: "updatedProperites", is_optional: false }, :updated_properties => { kind: :property, name: "updatedProperties", is_optional: false }, :attr_arn => { kind: :property, name: "attrArn", is_optional: false }, :attr_key_id => { kind: :property, name: "attrKeyId", is_optional: false }, :key_ref => { kind: :property, name: "keyRef", is_optional: false }, :tags => { kind: :property, name: "tags", is_optional: false }, :key_policy => { kind: :property, name: "keyPolicy", is_optional: false }, :bypass_policy_lockout_safety_check => { kind: :property, name: "bypassPolicyLockoutSafetyCheck", is_optional: true }, :description => { kind: :property, name: "description", is_optional: true }, :enabled => { kind: :property, name: "enabled", is_optional: true }, :enable_key_rotation => { kind: :property, name: "enableKeyRotation", is_optional: true }, :key_spec => { kind: :property, name: "keySpec", is_optional: true }, :key_usage => { kind: :property, name: "keyUsage", is_optional: true }, :multi_region => { kind: :property, name: "multiRegion", is_optional: true }, :origin => { kind: :property, name: "origin", is_optional: true }, :pending_window_in_days => { kind: :property, name: "pendingWindowInDays", is_optional: true }, :rotation_period_in_days => { kind: :property, name: "rotationPeriodInDays", is_optional: true }, :tags_raw => { kind: :property, name: "tagsRaw", is_optional: true }, :to_string => { kind: :method, name: "toString", is_optional: false }, :with => { kind: :method, name: "with", is_optional: false }, :override_logical_id => { kind: :method, name: "overrideLogicalId", is_optional: false }, :add_deletion_override => { kind: :method, name: "addDeletionOverride", is_optional: false }, :add_dependency => { kind: :method, name: "addDependency", is_optional: false }, :add_depends_on => { kind: :method, name: "addDependsOn", is_optional: false }, :add_metadata => { kind: :method, name: "addMetadata", is_optional: false }, :add_override => { kind: :method, name: "addOverride", is_optional: false }, :add_property_deletion_override => { kind: :method, name: "addPropertyDeletionOverride", is_optional: false }, :add_property_override => { kind: :method, name: "addPropertyOverride", is_optional: false }, :apply_cross_stack_reference_strength => { kind: :method, name: "applyCrossStackReferenceStrength", is_optional: false }, :apply_removal_policy => { kind: :method, name: "applyRemovalPolicy", is_optional: false }, :cfn_property_name => { kind: :method, name: "cfnPropertyName", is_optional: false }, :get_att => { kind: :method, name: "getAtt", is_optional: false }, :get_metadata => { kind: :method, name: "getMetadata", is_optional: false }, :obtain_dependencies => { kind: :method, name: "obtainDependencies", is_optional: false }, :obtain_resource_dependencies => { kind: :method, name: "obtainResourceDependencies", is_optional: false }, :remove_dependency => { kind: :method, name: "removeDependency", is_optional: false }, :render_properties => { kind: :method, name: "renderProperties", is_optional: false }, :replace_dependency => { kind: :method, name: "replaceDependency", is_optional: false }, :should_synthesize => { kind: :method, name: "shouldSynthesize", is_optional: false }, :validate_properties => { kind: :method, name: "validateProperties", is_optional: false }, :inspect => { kind: :method, name: "inspect", is_optional: false }, } end |
Instance Method Details
#add_deletion_override(path) ⇒ void
This method returns an undefined value.
Syntactic sugar for addOverride(path, undefined).
454 455 456 457 |
# File 'kms/cfn_key.rb', line 454 def add_deletion_override(path) Jsii::Type.check_type(path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "path") jsii_call_method("addDeletionOverride", [path]) end |
#add_dependency(target) ⇒ void
This method returns an undefined value.
Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.
466 467 468 469 |
# File 'kms/cfn_key.rb', line 466 def add_dependency(target) Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target") jsii_call_method("addDependency", [target]) end |
#add_depends_on(target) ⇒ void
use addDependency
This method returns an undefined value.
Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
476 477 478 479 |
# File 'kms/cfn_key.rb', line 476 def add_depends_on(target) Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target") jsii_call_method("addDependsOn", [target]) end |
#add_metadata(key, value) ⇒ void
This method returns an undefined value.
Add a value to the CloudFormation Resource Metadata.
487 488 489 490 491 |
# File 'kms/cfn_key.rb', line 487 def (key, value) Jsii::Type.check_type(key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key") Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value") jsii_call_method("addMetadata", [key, value]) end |
#add_override(path, value) ⇒ void
This method returns an undefined value.
Adds an override to the synthesized CloudFormation resource.
To add a
property override, either use add_property_override or prefix path with
"Properties." (i.e. Properties.TopicName).
If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.
To include a literal . in the property name, prefix with a \. In most
programming languages you will need to write this as "\\." because the
\ itself will need to be escaped.
For example,
# Example automatically generated from non-compiling source. May contain errors.
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes", ["myattribute"])
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.1.ProjectionType", "INCLUDE")
would add the overrides
"Properties": {
"GlobalSecondaryIndexes": [
{
"Projection": {
"NonKeyAttributes": [ "myattribute" ]
...
}
...
},
{
"ProjectionType": "INCLUDE"
...
},
]
...
}
The value argument to add_override will not be processed or translated
in any way. Pass raw JSON values in here with the correct capitalization
for CloudFormation. If you pass CDK classes or structs, they will be
rendered with lowercased key names, and CloudFormation will reject the
template.
544 545 546 547 548 |
# File 'kms/cfn_key.rb', line 544 def add_override(path, value) Jsii::Type.check_type(path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "path") Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value") jsii_call_method("addOverride", [path, value]) end |
#add_property_deletion_override(property_path) ⇒ void
This method returns an undefined value.
Adds an override that deletes the value of a property from the resource definition.
554 555 556 557 |
# File 'kms/cfn_key.rb', line 554 def add_property_deletion_override(property_path) Jsii::Type.check_type(property_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "propertyPath") jsii_call_method("addPropertyDeletionOverride", [property_path]) end |
#add_property_override(property_path, value) ⇒ void
This method returns an undefined value.
Adds an override to a resource property.
Syntactic sugar for addOverride("Properties.<...>", value).
566 567 568 569 570 |
# File 'kms/cfn_key.rb', line 566 def add_property_override(property_path, value) Jsii::Type.check_type(property_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "propertyPath") Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value") jsii_call_method("addPropertyOverride", [property_path, value]) end |
#apply_cross_stack_reference_strength(strength) ⇒ void
This method returns an undefined value.
Sets the cross-stack reference strength for this resource.
When set, any cross-stack reference to this resource will use the specified strength instead of the global default from the consuming stack's context.
579 580 581 582 |
# File 'kms/cfn_key.rb', line 579 def apply_cross_stack_reference_strength(strength) Jsii::Type.check_type(strength, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZWZlcmVuY2VTdHJlbmd0aCJ9")), "strength") jsii_call_method("applyCrossStackReferenceStrength", [strength]) end |
#apply_removal_policy(policy = nil, options = nil) ⇒ void
This method returns an undefined value.
Sets the deletion policy of the resource based on the removal policy specified.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.
The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS
account for data recovery and cleanup later (RemovalPolicy.RETAIN). In some
cases, a snapshot can be taken of the resource prior to deletion
(RemovalPolicy.SNAPSHOT). A list of resources that support this policy
can be found in the following link:
601 602 603 604 605 606 |
# File 'kms/cfn_key.rb', line 601 def apply_removal_policy(policy = nil, = nil) Jsii::Type.check_type(policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5In0=")), "policy") unless policy.nil? = .is_a?(Hash) ? ::AWSCDK::RemovalPolicyOptions.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5T3B0aW9ucyJ9")), "options") unless .nil? jsii_call_method("applyRemovalPolicy", [policy, ]) end |
#attr_arn ⇒ String
The Amazon Resource Name (ARN) of the KMS key, such as arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab .
For information about the key ARN of a KMS key, see Key ARN in the AWS Key Management Service Developer Guide .
242 243 244 |
# File 'kms/cfn_key.rb', line 242 def attr_arn() jsii_get_property("attrArn") end |
#attr_key_id ⇒ String
The key ID of the KMS key, such as 1234abcd-12ab-34cd-56ef-1234567890ab .
For information about the key ID of a KMS key, see Key ID in the AWS Key Management Service Developer Guide .
251 252 253 |
# File 'kms/cfn_key.rb', line 251 def attr_key_id() jsii_get_property("attrKeyId") end |
#bypass_policy_lockout_safety_check ⇒ Boolean, ...
Skips ("bypasses") the key policy lockout safety check.
The default value is false.
286 287 288 |
# File 'kms/cfn_key.rb', line 286 def bypass_policy_lockout_safety_check() jsii_get_property("bypassPolicyLockoutSafetyCheck") end |
#bypass_policy_lockout_safety_check=(value) ⇒ Object
290 291 292 293 |
# File 'kms/cfn_key.rb', line 290 def bypass_policy_lockout_safety_check=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "bypassPolicyLockoutSafetyCheck") unless value.nil? jsii_set_property("bypassPolicyLockoutSafetyCheck", value) end |
#cfn_options ⇒ AWSCDK::ICfnResourceOptions
Options for this resource, such as condition, update policy etc.
186 187 188 |
# File 'kms/cfn_key.rb', line 186 def () jsii_get_property("cfnOptions") end |
#cfn_properties ⇒ Hash{String => Object}
191 192 193 |
# File 'kms/cfn_key.rb', line 191 def cfn_properties() jsii_get_property("cfnProperties") end |
#cfn_property_name(cdk_property_name) ⇒ String?
610 611 612 613 |
# File 'kms/cfn_key.rb', line 610 def cfn_property_name(cdk_property_name) Jsii::Type.check_type(cdk_property_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cdkPropertyName") jsii_call_method("cfnPropertyName", [cdk_property_name]) end |
#cfn_property_names ⇒ Hash{String => String}
196 197 198 |
# File 'kms/cfn_key.rb', line 196 def cfn_property_names() jsii_get_property("cfnPropertyNames") end |
#cfn_resource_type ⇒ String
AWS resource type.
203 204 205 |
# File 'kms/cfn_key.rb', line 203 def cfn_resource_type() jsii_get_property("cfnResourceType") end |
#creation_stack ⇒ Array<String>
148 149 150 |
# File 'kms/cfn_key.rb', line 148 def creation_stack() jsii_get_property("creationStack") end |
#description ⇒ String?
A description of the KMS key.
298 299 300 |
# File 'kms/cfn_key.rb', line 298 def description() jsii_get_property("description") end |
#description=(value) ⇒ Object
302 303 304 305 |
# File 'kms/cfn_key.rb', line 302 def description=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless value.nil? jsii_set_property("description", value) end |
#enable_key_rotation ⇒ Boolean, ...
Enables automatic rotation of the key material for the specified KMS key.
324 325 326 |
# File 'kms/cfn_key.rb', line 324 def enable_key_rotation() jsii_get_property("enableKeyRotation") end |
#enable_key_rotation=(value) ⇒ Object
328 329 330 331 |
# File 'kms/cfn_key.rb', line 328 def enable_key_rotation=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enableKeyRotation") unless value.nil? jsii_set_property("enableKeyRotation", value) end |
#enabled ⇒ Boolean, ...
Specifies whether the KMS key is enabled.
Disabled KMS keys cannot be used in cryptographic operations.
312 313 314 |
# File 'kms/cfn_key.rb', line 312 def enabled() jsii_get_property("enabled") end |
#enabled=(value) ⇒ Object
316 317 318 319 |
# File 'kms/cfn_key.rb', line 316 def enabled=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enabled") unless value.nil? jsii_set_property("enabled", value) end |
#env ⇒ AWSCDK::Interfaces::ResourceEnvironment
208 209 210 |
# File 'kms/cfn_key.rb', line 208 def env() jsii_get_property("env") end |
#get_att(attribute_name, type_hint = nil) ⇒ AWSCDK::Reference
Returns a token for an runtime attribute of this resource.
Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility
in case there is no generated attribute.
623 624 625 626 627 |
# File 'kms/cfn_key.rb', line 623 def get_att(attribute_name, type_hint = nil) Jsii::Type.check_type(attribute_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "attributeName") Jsii::Type.check_type(type_hint, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZXNvbHV0aW9uVHlwZUhpbnQifQ==")), "typeHint") unless type_hint.nil? jsii_call_method("getAtt", [attribute_name, type_hint]) end |
#get_metadata(key) ⇒ Object
Retrieve a value value from the CloudFormation Resource Metadata.
634 635 636 637 |
# File 'kms/cfn_key.rb', line 634 def (key) Jsii::Type.check_type(key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key") jsii_call_method("getMetadata", [key]) end |
#inspect(inspector) ⇒ void
This method returns an undefined value.
Examines the CloudFormation resource and discloses attributes.
704 705 706 707 |
# File 'kms/cfn_key.rb', line 704 def inspect(inspector) Jsii::Type.check_type(inspector, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5UcmVlSW5zcGVjdG9yIn0=")), "inspector") jsii_call_method("inspect", [inspector]) end |
#key_policy ⇒ Object
The key policy to attach to the KMS key.
272 273 274 |
# File 'kms/cfn_key.rb', line 272 def key_policy() jsii_get_property("keyPolicy") end |
#key_policy=(value) ⇒ Object
276 277 278 279 |
# File 'kms/cfn_key.rb', line 276 def key_policy=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "keyPolicy") jsii_set_property("keyPolicy", value) end |
#key_ref ⇒ AWSCDK::Interfaces::AWSKMS::KeyReference
A reference to a Key resource.
258 259 260 |
# File 'kms/cfn_key.rb', line 258 def key_ref() jsii_get_property("keyRef") end |
#key_spec ⇒ String?
Specifies the type of KMS key to create.
336 337 338 |
# File 'kms/cfn_key.rb', line 336 def key_spec() jsii_get_property("keySpec") end |
#key_spec=(value) ⇒ Object
340 341 342 343 |
# File 'kms/cfn_key.rb', line 340 def key_spec=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "keySpec") unless value.nil? jsii_set_property("keySpec", value) end |
#key_usage ⇒ String?
Determines the cryptographic operations for which you can use the KMS key. The default value is ENCRYPT_DECRYPT . This property is required for asymmetric KMS keys and HMAC KMS keys. You can't change the KeyUsage value after the KMS key is created.
348 349 350 |
# File 'kms/cfn_key.rb', line 348 def key_usage() jsii_get_property("keyUsage") end |
#key_usage=(value) ⇒ Object
352 353 354 355 |
# File 'kms/cfn_key.rb', line 352 def key_usage=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "keyUsage") unless value.nil? jsii_set_property("keyUsage", value) end |
#logical_id ⇒ String
The logical ID for this CloudFormation stack element.
The logical ID of the element is calculated from the path of the resource node in the construct tree.
To override this value, use override_logical_id(new_logical_id).
160 161 162 |
# File 'kms/cfn_key.rb', line 160 def logical_id() jsii_get_property("logicalId") end |
#multi_region ⇒ Boolean, ...
Creates a multi-Region primary key that you can replicate in other AWS Regions .
360 361 362 |
# File 'kms/cfn_key.rb', line 360 def multi_region() jsii_get_property("multiRegion") end |
#multi_region=(value) ⇒ Object
364 365 366 367 |
# File 'kms/cfn_key.rb', line 364 def multi_region=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "multiRegion") unless value.nil? jsii_set_property("multiRegion", value) end |
#node ⇒ Constructs::Node
The tree node.
143 144 145 |
# File 'kms/cfn_key.rb', line 143 def node() jsii_get_property("node") end |
#obtain_dependencies ⇒ Array<AWSCDK::CfnResource, AWSCDK::Stack>
Retrieves an array of resources this resource depends on.
This assembles dependencies on resources across stacks (including nested stacks) automatically.
645 646 647 |
# File 'kms/cfn_key.rb', line 645 def obtain_dependencies() jsii_call_method("obtainDependencies", []) end |
#obtain_resource_dependencies ⇒ Array<AWSCDK::CfnResource>
Get a shallow copy of dependencies between this resource and other resources in the same stack.
652 653 654 |
# File 'kms/cfn_key.rb', line 652 def obtain_resource_dependencies() jsii_call_method("obtainResourceDependencies", []) end |
#origin ⇒ String?
The source of the key material for the KMS key.
372 373 374 |
# File 'kms/cfn_key.rb', line 372 def origin() jsii_get_property("origin") end |
#origin=(value) ⇒ Object
376 377 378 379 |
# File 'kms/cfn_key.rb', line 376 def origin=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "origin") unless value.nil? jsii_set_property("origin", value) end |
#override_logical_id(new_logical_id) ⇒ void
This method returns an undefined value.
Overrides the auto-generated logical ID with a specific ID.
445 446 447 448 |
# File 'kms/cfn_key.rb', line 445 def override_logical_id(new_logical_id) Jsii::Type.check_type(new_logical_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "newLogicalId") jsii_call_method("overrideLogicalId", [new_logical_id]) end |
#pending_window_in_days ⇒ Numeric?
Specifies the number of days in the waiting period before AWS deletes a KMS key that has been removed from a CloudFormation stack.
384 385 386 |
# File 'kms/cfn_key.rb', line 384 def pending_window_in_days() jsii_get_property("pendingWindowInDays") end |
#pending_window_in_days=(value) ⇒ Object
388 389 390 391 |
# File 'kms/cfn_key.rb', line 388 def pending_window_in_days=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "pendingWindowInDays") unless value.nil? jsii_set_property("pendingWindowInDays", value) end |
#ref ⇒ String
Return a string that will be resolved to a CloudFormation { Ref } for this element.
If, by any chance, the intrinsic reference of a resource is not a string, you could
coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).
179 180 181 |
# File 'kms/cfn_key.rb', line 179 def ref() jsii_get_property("ref") end |
#remove_dependency(target) ⇒ void
This method returns an undefined value.
Indicates that this resource no longer depends on another resource.
This can be used for resources across stacks (including nested stacks) and the dependency will automatically be removed from the relevant scope.
663 664 665 666 |
# File 'kms/cfn_key.rb', line 663 def remove_dependency(target) Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target") jsii_call_method("removeDependency", [target]) end |
#render_properties(props) ⇒ Hash{String => Object}
670 671 672 673 |
# File 'kms/cfn_key.rb', line 670 def render_properties(props) Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "props") jsii_call_method("renderProperties", [props]) end |
#replace_dependency(target, new_target) ⇒ void
This method returns an undefined value.
Replaces one dependency with another.
680 681 682 683 684 |
# File 'kms/cfn_key.rb', line 680 def replace_dependency(target, new_target) Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target") Jsii::Type.check_type(new_target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "newTarget") jsii_call_method("replaceDependency", [target, new_target]) end |
#rotation_period_in_days ⇒ Numeric?
Specifies a custom period of time between each rotation date.
396 397 398 |
# File 'kms/cfn_key.rb', line 396 def rotation_period_in_days() jsii_get_property("rotationPeriodInDays") end |
#rotation_period_in_days=(value) ⇒ Object
400 401 402 403 |
# File 'kms/cfn_key.rb', line 400 def rotation_period_in_days=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "rotationPeriodInDays") unless value.nil? jsii_set_property("rotationPeriodInDays", value) end |
#should_synthesize ⇒ Boolean
Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
689 690 691 |
# File 'kms/cfn_key.rb', line 689 def should_synthesize() jsii_call_method("shouldSynthesize", []) end |
#stack ⇒ AWSCDK::Stack
The stack in which this element is defined.
CfnElements must be defined within a stack scope (directly or indirectly).
169 170 171 |
# File 'kms/cfn_key.rb', line 169 def stack() jsii_get_property("stack") end |
#tags ⇒ AWSCDK::TagManager
Tag Manager which manages the tags for this resource.
265 266 267 |
# File 'kms/cfn_key.rb', line 265 def () jsii_get_property("tags") end |
#tags_raw ⇒ Array<AWSCDK::CfnTag>?
Assigns one or more tags to the replica key.
408 409 410 |
# File 'kms/cfn_key.rb', line 408 def () jsii_get_property("tagsRaw") end |
#tags_raw=(value) ⇒ Object
412 413 414 415 416 |
# File 'kms/cfn_key.rb', line 412 def (value) value = value.is_a?(Array) ? value.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : value Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tagsRaw") unless value.nil? jsii_set_property("tagsRaw", value) end |
#to_string ⇒ String
Returns a string representation of this construct.
421 422 423 |
# File 'kms/cfn_key.rb', line 421 def to_string() jsii_call_method("toString", []) end |
#updated_properites ⇒ Hash{String => Object}
use updatedProperties Return properties modified after initiation Resources that expose mutable properties should override this function to collect and return the properties object for this resource.
Deprecated.
216 217 218 |
# File 'kms/cfn_key.rb', line 216 def updated_properites() jsii_get_property("updatedProperites") end |
#updated_properties ⇒ Hash{String => Object}
Return properties modified after initiation.
Resources that expose mutable properties should override this function to collect and return the properties object for this resource.
226 227 228 |
# File 'kms/cfn_key.rb', line 226 def updated_properties() jsii_get_property("updatedProperties") end |
#validate_properties(_properties) ⇒ void
This method returns an undefined value.
695 696 697 698 |
# File 'kms/cfn_key.rb', line 695 def validate_properties(_properties) Jsii::Type.check_type(_properties, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "_properties") jsii_call_method("validateProperties", [_properties]) end |
#with(*mixins) ⇒ Constructs::IConstruct
Applies one or more mixins to this construct.
Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple with() calls if subsequent mixins should apply to added
constructs.
434 435 436 437 438 439 |
# File 'kms/cfn_key.rb', line 434 def with(*mixins) mixins.each_with_index do |item, index| Jsii::Type.check_type(item, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLklNaXhpbiJ9")), "mixins[#{index}]") end jsii_call_method("with", [*mixins]) end |