Metadata-Version: 2.1
Name: aws-cdk.aws-kms
Version: 1.2.0
Summary: CDK Constructs for AWS KMS
Home-page: https://github.com/aws/aws-cdk
Author: Amazon Web Services
License: UNKNOWN
Project-URL: Source, https://github.com/aws/aws-cdk.git
Description: ## AWS Key Management Service Construct Library
        <!--BEGIN STABILITY BANNER-->
        
        ---
        
        ![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge)
        
        
        ---
        <!--END STABILITY BANNER-->
        
        Define a KMS key:
        
        ```ts
        import kms = require('@aws-cdk/aws-kms');
        
        new kms.Key(this, 'MyKey', {
            enableKeyRotation: true
        });
        ```
        
        Add a couple of aliases:
        
        ```ts
        const key = new kms.Key(this, 'MyKey');
        key.addAlias('alias/foo');
        key.addAlias('alias/bar');
        ```
        
        ### Sharing keys between stacks
        
        To use a KMS key in a different stack in the same CDK application,
        pass the construct to the other stack:
        
        ```ts
        
        /**
         * Stack that defines the key
         */
        class KeyStack extends cdk.Stack {
          public readonly key: kms.Key;
        
          constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
            super(scope, id, props);
            this.key = new kms.Key(this, 'MyKey', { removalPolicy: RemovalPolicy.DESTROY });
          }
        }
        
        interface UseStackProps extends cdk.StackProps {
          key: kms.IKey; // Use IKey here
        }
        
        /**
         * Stack that uses the key
         */
        class UseStack extends cdk.Stack {
          constructor(scope: cdk.App, id: string, props: UseStackProps) {
            super(scope, id, props);
        
            // Use the IKey object here.
            props.key.addAlias('alias/foo');
          }
        }
        
        const keyStack = new KeyStack(app, 'KeyStack');
        new UseStack(app, 'UseStack', { key: keyStack.key });
        ```
        
        
        ### Importing existing keys
        
        To use a KMS key that is not defined in this CDK app, but is created through other means, use
        `Key.fromKeyArn(parent, name, ref)`:
        
        ```ts
        const myKeyImported = kms.Key.fromKeyArn(this, 'MyImportedKey', 'arn:aws:...');
        
        // you can do stuff with this imported key.
        myKeyImported.addAlias('alias/foo');
        ```
        
        Note that a call to `.addToPolicy(statement)` on `myKeyImported` will not have
        an affect on the key's policy because it is not owned by your stack. The call
        will be a no-op.
        
        
Platform: UNKNOWN
Requires-Python: >=3.6
Description-Content-Type: text/markdown
