JSPM

  • Created
  • Published
  • Downloads 7
  • Score
    100M100P100Q73710F
  • License Apache-2.0

AWS CDK Construct Library to manage specific AWS Organization resources

Package Exports

  • @renovosolutions/cdk-library-aws-organization
  • @renovosolutions/cdk-library-aws-organization/lib/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@renovosolutions/cdk-library-aws-organization) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

cdk-library-aws-organization

This CDK library is a WIP and not ready for production use.

Key challenges with Organizations

  • Accounts aren't like AWS resources and the removal process isn't a simple delete. Therefore the constructs contained in this library do not have the goal to delete accounts.
  • CloudFormation doesn't support Organizations directly so the constructs in this library use CloudFormation custom resources that utilize Python and Boto3

Testing the custom provider code with SAM CLI

  • Create a test project that utilizes this library
  • Create a test stack
  • Synthesize the test stack with cdk synth --no-staging > template.yml
  • Get the function name from the template
  • Run sam local start-lambda -t template.yml
  • Run the handler_tests python files with pytest like follows:
LAMBDA_FUNCTION_NAME='<name you noted earlier>' pytest ./handler_tests/<handler>/test.py -rA --capture=sys
  • The test.py also looks up the root org id to run tests so you'll need to have AWS creds set up to accomodate that behavior.
  • You can run the provided tests against the real lambda function by getting the deployed function name from AWS and setting the RUN_LOCALLY env variable
RUN_LOCALLY='false' LAMBDA_FUNCTION_NAME='<name from AWS>' pytest ./handler_tests/<handler>/test.py -rA --capture=sys