1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #!/usr/bin/env python3
- """
- Copyright (c) Contributors to the Open 3D Engine Project.
- For complete copyright and license terms please see the LICENSE at the root of this distribution.
- SPDX-License-Identifier: Apache-2.0 OR MIT
- """
- import os
- from aws_cdk import (
- App, Environment
- )
- from constants import Constants
- from core.aws_core import AWSCore
- from example.example_resources_stack import ExampleResources
- """Configuration"""
- REGION = os.environ.get('O3DE_AWS_DEPLOY_REGION', os.environ.get('CDK_DEFAULT_REGION'))
- ACCOUNT = os.environ.get('O3DE_AWS_DEPLOY_ACCOUNT', os.environ.get('CDK_DEFAULT_ACCOUNT'))
- # Set the common prefix to group stacks in a project together.
- PROJECT_NAME = os.environ.get('O3DE_AWS_PROJECT_NAME', f'O3DE-AWS-PROJECT').upper()
- # The name of this feature
- FEATURE_NAME = 'AWSCore'
- # The name of this CDK application
- PROJECT_FEATURE_NAME = f'{PROJECT_NAME}-{FEATURE_NAME}'
- """End of Configuration"""
- # Set-up regions to deploy core stack to, or use default if not set
- env = Environment(account=ACCOUNT, region=REGION)
- app = App()
- core_construct = AWSCore(
- app,
- id_=f'{PROJECT_FEATURE_NAME}-Construct',
- project_name=PROJECT_NAME,
- feature_name=FEATURE_NAME,
- env=env
- )
- # Below is the Core example stack which is provided for working with AWSCore ScriptCanvas examples.
- # It also provided as an example how to reference resources across stacks via stack outputs.
- # See https://docs.aws.amazon.com/cdk/latest/guide/resources.html#resource_stack
- example_stack = ExampleResources(
- app,
- id_=f'{PROJECT_FEATURE_NAME}-Example-{env.region}',
- project_name=f'{PROJECT_NAME}',
- feature_name=FEATURE_NAME,
- tags={Constants.O3DE_PROJECT_TAG_NAME: PROJECT_NAME, Constants.O3DE_FEATURE_TAG_NAME: FEATURE_NAME},
- env=env
- )
- # Add the core stack as a dependency of the feature stack since the feature stack
- # requires the core stack outputs for deployment.
- example_stack.add_dependency(core_construct.common_stack)
- app.synth()
|