Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(cdk): aspect framework and tag implementation #1451

Merged
merged 41 commits into from
Feb 6, 2019

Commits on Jan 16, 2019

  1. feat(cdk): Add support for Aspects (aws#1451)

     * The base Aspect class is added and is an idempotent propagating visitor, that
     recurses during the visit action
     * The first aspects are for tags
     * TagManager has been re-implemented to only handle setting removing
     and formatting tags
     * Tags can be included or excluded based on Resource Type, this
     replaces the the need for all previous tag properties
     * VPC, Security Group, KMS Keys, and AutoScaling are updated to use tags
     * Tag Aspects overwrite tags passed into the L1 during initialization
    moofish32 committed Jan 16, 2019
    Configuration menu
    Copy the full SHA
    9a8c82b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    419a701 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0a0d010 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0109956 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    2188764 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ce95e64 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    f3a7e37 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    6cc19db View commit details
    Browse the repository at this point in the history
  9. test stack cleanup for kms

    moofish32 committed Jan 16, 2019
    Configuration menu
    Copy the full SHA
    67a738b View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    068726a View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2019

  1. Configuration menu
    Copy the full SHA
    6389574 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    12be7ad View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2019

  1. Configuration menu
    Copy the full SHA
    257a15f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    522e08c View commit details
    Browse the repository at this point in the history
  3. reverting TestStack

    moofish32 committed Jan 19, 2019
    Configuration menu
    Copy the full SHA
    2467a5e View commit details
    Browse the repository at this point in the history
  4. linter fixes

    moofish32 committed Jan 19, 2019
    Configuration menu
    Copy the full SHA
    fdae887 View commit details
    Browse the repository at this point in the history

Commits on Jan 21, 2019

  1. adding an aspect readme

    moofish32 committed Jan 21, 2019
    Configuration menu
    Copy the full SHA
    7409e5f View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2019

  1. refactoring to add tag priorities and minor readme updates, plus name…

    … changes from code review
    moofish32 committed Jan 27, 2019
    Configuration menu
    Copy the full SHA
    4ffbd55 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    46e2f70 View commit details
    Browse the repository at this point in the history
  3. removing multiple aspects

    moofish32 committed Jan 27, 2019
    Configuration menu
    Copy the full SHA
    69401f1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5514650 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2019

  1. Configuration menu
    Copy the full SHA
    25b4427 View commit details
    Browse the repository at this point in the history
  2. feat(cdk): aspects and tagging aws#1451

    Aspect framework is added. Aspects can be used to affect the construct tree without
    modifying the class hierarchy.
    
    Tagging has been reimplemented to leverage the Aspect framework and simplify the original
    tag design. Tag Manager still exists, but is no longer intended for use by L2
    construct authors. There are two new classes `cdk.Tag` and `cdk.RemoveTag`.
    
    Code generation has been modified to add tag support to any CloudFormation Resource that
    supports tagging, by creating a Tag Manager for that resource as a `tags` attribute.
    
    Breaking Change: if you are using TagManager the API for this object has completely changed.
    You should no longer use TagManager directly, but instead replace this with Tag Aspects.
    `cdk.Tag` has been renamed to `cdk.CfnTag` to enable `cdk.Tag` to be the Tag Aspect.
    
    Fixes aws#1136.
    moofish32 committed Feb 2, 2019
    Configuration menu
    Copy the full SHA
    02fb644 View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2019

  1. Merge branch 'master' into f-tags-aspects

    Elad Ben-Israel authored Feb 4, 2019
    Configuration menu
    Copy the full SHA
    3ddfe99 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2019

  1. Configuration menu
    Copy the full SHA
    12cfe19 View commit details
    Browse the repository at this point in the history
  2. feat(aws-ecs): add support for Event Targets (aws#1571)

    EC2 task definitions can now be used as CloudWatch event targets.
    
    ALSO IN THIS COMMIT
    
    * Improve hash calculation of Docker images.
    * Add `grantPassRole()` method to iam.Role
    
    Fixes aws#1370.
    rix0rrr authored and moofish32 committed Feb 5, 2019
    Configuration menu
    Copy the full SHA
    dcc5303 View commit details
    Browse the repository at this point in the history
  3. feat(app): add source map support to TS app template (aws#1581)

    Add source map support to the TypeScript app entry point template.
    This won't retroactively fix existing CDK apps, but it will ensure
    that apps generated in the future via `cdk init --app` will have
    it enabled.
    
    Fixes aws#1579
    otterley authored and moofish32 committed Feb 5, 2019
    Configuration menu
    Copy the full SHA
    2cbd2c0 View commit details
    Browse the repository at this point in the history
  4. fix(apig): Move 'selectionPattern to integrationResponses` (aws#1636)

    The property was modeled in the wrong place, rendering it unusable.
    Moved it to the correct location instead, and added a validation test.
    
    Fixes aws#1608
    RomainMuller authored and moofish32 committed Feb 5, 2019
    Configuration menu
    Copy the full SHA
    e3f5ad3 View commit details
    Browse the repository at this point in the history
  5. feat(core): generalization of dependencies (aws#1583)

    Constructs can now take a dependency on any other construct.
    
    Before, only `Resource`s could take dependencies, and they would depend
    on `IDependable` which had to be implemented explicitly. In this change
    we generalize the concept of dependencies from construct trees to other
    construct trees; all constructs now take dependencies and also implement
    `IDependable`.  The semantics are that any resource in the depending
    tree will depend on all resources in the depended tree.
    
    Dependencies are cross-stack aware
    
    If you take a dependency on a construct in another stack, the dependency
    does not get rendered in the template, but is instead added as a
    dependency between stacks.
    
    Fixes aws#1568, fixes aws#95.
    
    BREAKING CHANGE: `resource.addDependency()` has been moved onto
    `ConstructNode`. You now write `resource.node.addDependency()`. VPC's
    `internetDependency` has been moved to the subnets as
    `internetConnectivityEstablished`. Target Group's
    `loadBalancerAssociationDependencies` has been renamed to
    `loadBalancerAttached`.
    rix0rrr authored and moofish32 committed Feb 5, 2019
    Configuration menu
    Copy the full SHA
    f706c3d View commit details
    Browse the repository at this point in the history
  6. v0.23.0 (aws#1665)

    See CHANGELOG
    RomainMuller authored and moofish32 committed Feb 5, 2019
    Configuration menu
    Copy the full SHA
    fec19b6 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    3bc66f2 View commit details
    Browse the repository at this point in the history
  8. feat(codedeploy) lambda application and deployment groups (aws#1628)

    Adds `LambdaApplication` and `LambdaDeploymentGroup` such that an `Alias` to a Lambda `Function` can be deployed via CodeDeploy; supports pre/post hook functions, traffic-shifting and alarm monitoring and rollback.
    Sam Goodwin authored and moofish32 committed Feb 5, 2019
    Configuration menu
    Copy the full SHA
    aeb24f1 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    db75215 View commit details
    Browse the repository at this point in the history
  10. feat(aws-s3): add option to specify block public access settings (aws…

    …#1664)
    
    Adds option to enable all block public access settings on the bucket (`blockPublicAccess`). Also throws an error when trying to use grantPublicAccess if blockPublicAccess is set to true.
    
    https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
    jogold authored and moofish32 committed Feb 5, 2019
    Configuration menu
    Copy the full SHA
    fc16433 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    a91a4f1 View commit details
    Browse the repository at this point in the history
  12. feat(cdk): aspect framework and tag implementation aws#1451

    A generalized aspect framework is added. Aspects can be used to affect the construct tree without modifying the class hierarchy. This framework is designed to be generic for future use cases. Tagging is the first implementation.
    
    Tagging has been reimplemented to leverage the aspect framework and simplify the original tag design. Tag Manager still exists, but is no longer intended for use by L2 construct authors. There are two new classes `cdk.Tag` and `cdk.RemoveTag`. As new resources are added tag support will be automatic as long as they implement one of the existing tag specifications. All L2 constructs have removed the TagManager.
    
    Code generation has been modified to add tag support to any CloudFormation Resource with a matching specification, by creating a Tag Manager for that resource as a `tags` attribute. The schema code now includes the ability to detect 3 forms of tags which include the current CloudFormation Resources.
    
    BREAKING CHANGE: if you are using TagManager the API for this object has completely changed. You should no longer use TagManager directly, but instead replace this with Tag Aspects. `cdk.Tag` has been renamed to `cdk.CfnTag` to enable `cdk.Tag` to be the Tag Aspect.
    
    Fixes aws#1136.
    moofish32 committed Feb 5, 2019
    Configuration menu
    Copy the full SHA
    5970c0b View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    395a83f View commit details
    Browse the repository at this point in the history
  14. minor fix to the example

    moofish32 committed Feb 5, 2019
    Configuration menu
    Copy the full SHA
    bafff0f View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    fd94030 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    3bfa467 View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2019

  1. Configuration menu
    Copy the full SHA
    d0fd751 View commit details
    Browse the repository at this point in the history