@almamedia-open-source/cdk-project-context
Advanced tools
Comparing version 0.0.5 to 0.0.6
15
API.md
@@ -436,2 +436,3 @@ # API Reference <a name="API Reference" id="api-reference"></a> | ||
| [`getDefaultRegion`](#almamediaopensourcecdkprojectcontextprojectcontextgetdefaultregion) | *No description.* | | ||
| [`getEnvironment`](#almamediaopensourcecdkprojectcontextprojectcontextgetenvironment) | *No description.* | | ||
| [`getName`](#almamediaopensourcecdkprojectcontextprojectcontextgetname) | *No description.* | | ||
@@ -545,2 +546,16 @@ | ||
##### `getEnvironment` <a name="@almamedia-open-source/cdk-project-context.ProjectContext.getEnvironment" id="almamediaopensourcecdkprojectcontextprojectcontextgetenvironment"></a> | ||
```typescript | ||
import { ProjectContext } from '@almamedia-open-source/cdk-project-context' | ||
ProjectContext.getEnvironment(scope: Construct) | ||
``` | ||
###### `scope`<sup>Required</sup> <a name="@almamedia-open-source/cdk-project-context.ProjectContext.parameter.scope" id="almamediaopensourcecdkprojectcontextprojectcontextparameterscope"></a> | ||
- *Type:* [`constructs.Construct`](#constructs.Construct) | ||
--- | ||
##### `getName` <a name="@almamedia-open-source/cdk-project-context.ProjectContext.getName" id="almamediaopensourcecdkprojectcontextprojectcontextgetname"></a> | ||
@@ -547,0 +562,0 @@ |
@@ -38,4 +38,8 @@ import { Construct } from 'constructs'; | ||
static getAuthorEmail(scope: Construct): string | undefined; | ||
/** | ||
* @experimental | ||
*/ | ||
static getEnvironment(scope: Construct): string; | ||
private static getProjectContext; | ||
private static getProjectAccountContext; | ||
} |
@@ -17,7 +17,6 @@ "use strict"; | ||
const type = (scope.node.tryGetContext('account-type') || | ||
scope.node.tryGetContext('account') || | ||
scope.node.tryGetContext('a')); | ||
scope.node.tryGetContext('account')); | ||
if (typeof type !== 'string') { | ||
// TODO decide if add annotation or throw? | ||
aws_cdk_lib_1.Annotations.of(scope).addError('Account Type not specified! Provide account type as context argument for CDK CLI, for example: --context account=dev'); | ||
aws_cdk_lib_1.Annotations.of(scope).addError('Account Type not specified! Provide account type as context argument for CDK CLI, for example: --context account-type=dev'); | ||
} | ||
@@ -76,2 +75,15 @@ return type; | ||
} | ||
/** | ||
* @experimental | ||
*/ | ||
static getEnvironment(scope) { | ||
const environment = (scope.node.tryGetContext('environment-type') || | ||
scope.node.tryGetContext('environment') || | ||
scope.node.tryGetContext('env')); | ||
if (typeof environment !== 'string') { | ||
// TODO decide if add annotation or throw? | ||
aws_cdk_lib_1.Annotations.of(scope).addError('Environment Type not specified! Provide environment type as context argument for CDK CLI, for example: --context environment-type=staging'); | ||
} | ||
return environment; | ||
} | ||
static getProjectContext(scope) { | ||
@@ -89,3 +101,3 @@ const projectContext = scope.node.tryGetContext(project_1.Project.CONTEXT_SCOPE); | ||
_a = JSII_RTTI_SYMBOL_1; | ||
ProjectContext[_a] = { fqn: "@almamedia-open-source/cdk-project-context.ProjectContext", version: "0.0.5" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb2plY3QtY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUEwQztBQUcxQyx1Q0FBb0M7Ozs7QUFHcEMsTUFBYSxjQUFjOzs7O0lBRXpCLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0I7UUFDcEMsTUFBTSxJQUFJLEdBQUcsQ0FDWCxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUM7WUFDeEMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1lBQ25DLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUM5QixDQUFDO1FBRUYsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDNUIsMENBQTBDO1lBQzFDLHlCQUFXLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxzSEFBc0gsQ0FBQyxDQUFDO1NBQ3hKO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7O0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFnQjtRQUNsQyxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0QsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDO0lBQ3BCLENBQUM7Ozs7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBZ0IsRUFBRSxHQUFXOztRQUNuRCxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0QsYUFBTyxPQUFPLENBQUMsTUFBTSwwQ0FBRyxHQUFHLEVBQUU7SUFDL0IsQ0FBQzs7OztJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFnQjtRQUN0QyxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0QsT0FBTyxjQUFjLENBQUMsYUFBYyxDQUFDO0lBQ3ZDLENBQUM7Ozs7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQWdCO1FBQzdCLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQzs7OztJQUVELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFnQjtRQUMzQyxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0QsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUM1QyxDQUFDOzs7O0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFnQjtRQUNuQyxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0QsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNwQyxDQUFDOzs7O0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQjtRQUNwQyxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0QsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQWdCO1FBQy9DLE1BQU0sY0FBYyxHQUF5QixLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdGLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxNQUFNLENBQUMsd0JBQXdCLENBQUMsS0FBZ0I7UUFDdEQsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0QsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7O0FBN0RILHdDQWdFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFubm90YXRpb25zIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBBY2NvdW50LCBQcm9qZWN0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi9wcm9qZWN0JztcblxuXG5leHBvcnQgY2xhc3MgUHJvamVjdENvbnRleHQge1xuXG4gIHN0YXRpYyBnZXRBY2NvdW50VHlwZShzY29wZTogQ29uc3RydWN0KTogc3RyaW5nIHtcbiAgICBjb25zdCB0eXBlID0gKFxuICAgICAgc2NvcGUubm9kZS50cnlHZXRDb250ZXh0KCdhY2NvdW50LXR5cGUnKSB8fFxuICAgICAgc2NvcGUubm9kZS50cnlHZXRDb250ZXh0KCdhY2NvdW50JykgfHxcbiAgICAgIHNjb3BlLm5vZGUudHJ5R2V0Q29udGV4dCgnYScpXG4gICAgKTtcblxuICAgIGlmICh0eXBlb2YgdHlwZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFRPRE8gZGVjaWRlIGlmIGFkZCBhbm5vdGF0aW9uIG9yIHRocm93P1xuICAgICAgQW5ub3RhdGlvbnMub2Yoc2NvcGUpLmFkZEVycm9yKCdBY2NvdW50IFR5cGUgbm90IHNwZWNpZmllZCEgUHJvdmlkZSBhY2NvdW50IHR5cGUgYXMgY29udGV4dCBhcmd1bWVudCBmb3IgQ0RLIENMSSwgZm9yIGV4YW1wbGU6IC0tY29udGV4dCBhY2NvdW50PWRldicpO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3RhdGljIGdldEFjY291bnRJZChzY29wZTogQ29uc3RydWN0KTogc3RyaW5nIHtcbiAgICBjb25zdCBhY2NvdW50ID0gUHJvamVjdENvbnRleHQuZ2V0UHJvamVjdEFjY291bnRDb250ZXh0KHNjb3BlKTtcbiAgICByZXR1cm4gYWNjb3VudC5pZDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRBY2NvdW50Q29uZmlnKHNjb3BlOiBDb25zdHJ1Y3QsIGtleTogc3RyaW5nKTogYW55IHtcbiAgICBjb25zdCBhY2NvdW50ID0gUHJvamVjdENvbnRleHQuZ2V0UHJvamVjdEFjY291bnRDb250ZXh0KHNjb3BlKTtcbiAgICByZXR1cm4gYWNjb3VudC5jb25maWc/LltrZXldO1xuICB9XG5cbiAgc3RhdGljIGdldERlZmF1bHRSZWdpb24oc2NvcGU6IENvbnN0cnVjdCk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJvamVjdENvbnRleHQgPSBQcm9qZWN0Q29udGV4dC5nZXRQcm9qZWN0Q29udGV4dChzY29wZSk7XG4gICAgcmV0dXJuIHByb2plY3RDb250ZXh0LmRlZmF1bHRSZWdpb24hO1xuICB9XG5cbiAgc3RhdGljIGdldE5hbWUoc2NvcGU6IENvbnN0cnVjdCk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJvamVjdENvbnRleHQgPSBQcm9qZWN0Q29udGV4dC5nZXRQcm9qZWN0Q29udGV4dChzY29wZSk7XG4gICAgcmV0dXJuIHByb2plY3RDb250ZXh0Lm5hbWU7XG4gIH1cblxuICBzdGF0aWMgZ2V0QXV0aG9yT3JnYW5pemF0aW9uKHNjb3BlOiBDb25zdHJ1Y3QpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHByb2plY3RDb250ZXh0ID0gUHJvamVjdENvbnRleHQuZ2V0UHJvamVjdENvbnRleHQoc2NvcGUpO1xuICAgIHJldHVybiBwcm9qZWN0Q29udGV4dC5hdXRob3Iub3JnYW5pemF0aW9uO1xuICB9XG5cbiAgc3RhdGljIGdldEF1dGhvck5hbWUoc2NvcGU6IENvbnN0cnVjdCk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJvamVjdENvbnRleHQgPSBQcm9qZWN0Q29udGV4dC5nZXRQcm9qZWN0Q29udGV4dChzY29wZSk7XG4gICAgcmV0dXJuIHByb2plY3RDb250ZXh0LmF1dGhvci5uYW1lO1xuICB9XG5cbiAgc3RhdGljIGdldEF1dGhvckVtYWlsKHNjb3BlOiBDb25zdHJ1Y3QpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHByb2plY3RDb250ZXh0ID0gUHJvamVjdENvbnRleHQuZ2V0UHJvamVjdENvbnRleHQoc2NvcGUpO1xuICAgIHJldHVybiBwcm9qZWN0Q29udGV4dC5hdXRob3IuZW1haWw7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRQcm9qZWN0Q29udGV4dChzY29wZTogQ29uc3RydWN0KTogUHJvamVjdENvbmZpZ3VyYXRpb24ge1xuICAgIGNvbnN0IHByb2plY3RDb250ZXh0ID0gPFByb2plY3RDb25maWd1cmF0aW9uPnNjb3BlLm5vZGUudHJ5R2V0Q29udGV4dChQcm9qZWN0LkNPTlRFWFRfU0NPUEUpO1xuICAgIHJldHVybiBwcm9qZWN0Q29udGV4dDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFByb2plY3RBY2NvdW50Q29udGV4dChzY29wZTogQ29uc3RydWN0KTogQWNjb3VudCB7XG4gICAgY29uc3QgYWNjb3VudFR5cGUgPSBQcm9qZWN0Q29udGV4dC5nZXRBY2NvdW50VHlwZShzY29wZSk7XG4gICAgY29uc3QgcHJvamVjdENvbnRleHQgPSBQcm9qZWN0Q29udGV4dC5nZXRQcm9qZWN0Q29udGV4dChzY29wZSk7XG4gICAgcmV0dXJuIHByb2plY3RDb250ZXh0LmFjY291bnRzW2FjY291bnRUeXBlXTtcbiAgfVxuXG5cbn1cbiJdfQ== | ||
ProjectContext[_a] = { fqn: "@almamedia-open-source/cdk-project-context.ProjectContext", version: "0.0.6" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb2plY3QtY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUEwQztBQUcxQyx1Q0FBb0M7Ozs7QUFHcEMsTUFBYSxjQUFjOzs7O0lBRXpCLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0I7UUFDcEMsTUFBTSxJQUFJLEdBQUcsQ0FDWCxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUM7WUFDeEMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQ3BDLENBQUM7UUFFRixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUM1QiwwQ0FBMEM7WUFDMUMseUJBQVcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLDJIQUEySCxDQUFDLENBQUM7U0FDN0o7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQWdCO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxPQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7OztJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFnQixFQUFFLEdBQVc7O1FBQ25ELE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxhQUFPLE9BQU8sQ0FBQyxNQUFNLDBDQUFHLEdBQUcsRUFBRTtJQUMvQixDQUFDOzs7O0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQWdCO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxPQUFPLGNBQWMsQ0FBQyxhQUFjLENBQUM7SUFDdkMsQ0FBQzs7OztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBZ0I7UUFDN0IsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9ELE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDOzs7O0lBRUQsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEtBQWdCO1FBQzNDLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQzVDLENBQUM7Ozs7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQWdCO1FBQ25DLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ3BDLENBQUM7Ozs7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCO1FBQ3BDLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ3JDLENBQUM7Ozs7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCO1FBQ3BDLE1BQU0sV0FBVyxHQUFHLENBQ2xCLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDO1lBQzVDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztZQUN2QyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FDaEMsQ0FBQztRQUVGLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxFQUFFO1lBQ25DLDBDQUEwQztZQUMxQyx5QkFBVyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsMklBQTJJLENBQUMsQ0FBQztTQUM3SztRQUVELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFTyxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBZ0I7UUFDL0MsTUFBTSxjQUFjLEdBQXlCLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0YsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxLQUFnQjtRQUN0RCxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxPQUFPLGNBQWMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7QUEzRUgsd0NBOEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5ub3RhdGlvbnMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEFjY291bnQsIFByb2plY3RDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tICcuL3Byb2plY3QnO1xuXG5cbmV4cG9ydCBjbGFzcyBQcm9qZWN0Q29udGV4dCB7XG5cbiAgc3RhdGljIGdldEFjY291bnRUeXBlKHNjb3BlOiBDb25zdHJ1Y3QpOiBzdHJpbmcge1xuICAgIGNvbnN0IHR5cGUgPSAoXG4gICAgICBzY29wZS5ub2RlLnRyeUdldENvbnRleHQoJ2FjY291bnQtdHlwZScpIHx8XG4gICAgICBzY29wZS5ub2RlLnRyeUdldENvbnRleHQoJ2FjY291bnQnKVxuICAgICk7XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBUT0RPIGRlY2lkZSBpZiBhZGQgYW5ub3RhdGlvbiBvciB0aHJvdz9cbiAgICAgIEFubm90YXRpb25zLm9mKHNjb3BlKS5hZGRFcnJvcignQWNjb3VudCBUeXBlIG5vdCBzcGVjaWZpZWQhIFByb3ZpZGUgYWNjb3VudCB0eXBlIGFzIGNvbnRleHQgYXJndW1lbnQgZm9yIENESyBDTEksIGZvciBleGFtcGxlOiAtLWNvbnRleHQgYWNjb3VudC10eXBlPWRldicpO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3RhdGljIGdldEFjY291bnRJZChzY29wZTogQ29uc3RydWN0KTogc3RyaW5nIHtcbiAgICBjb25zdCBhY2NvdW50ID0gUHJvamVjdENvbnRleHQuZ2V0UHJvamVjdEFjY291bnRDb250ZXh0KHNjb3BlKTtcbiAgICByZXR1cm4gYWNjb3VudC5pZDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRBY2NvdW50Q29uZmlnKHNjb3BlOiBDb25zdHJ1Y3QsIGtleTogc3RyaW5nKTogYW55IHtcbiAgICBjb25zdCBhY2NvdW50ID0gUHJvamVjdENvbnRleHQuZ2V0UHJvamVjdEFjY291bnRDb250ZXh0KHNjb3BlKTtcbiAgICByZXR1cm4gYWNjb3VudC5jb25maWc/LltrZXldO1xuICB9XG5cbiAgc3RhdGljIGdldERlZmF1bHRSZWdpb24oc2NvcGU6IENvbnN0cnVjdCk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJvamVjdENvbnRleHQgPSBQcm9qZWN0Q29udGV4dC5nZXRQcm9qZWN0Q29udGV4dChzY29wZSk7XG4gICAgcmV0dXJuIHByb2plY3RDb250ZXh0LmRlZmF1bHRSZWdpb24hO1xuICB9XG5cbiAgc3RhdGljIGdldE5hbWUoc2NvcGU6IENvbnN0cnVjdCk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJvamVjdENvbnRleHQgPSBQcm9qZWN0Q29udGV4dC5nZXRQcm9qZWN0Q29udGV4dChzY29wZSk7XG4gICAgcmV0dXJuIHByb2plY3RDb250ZXh0Lm5hbWU7XG4gIH1cblxuICBzdGF0aWMgZ2V0QXV0aG9yT3JnYW5pemF0aW9uKHNjb3BlOiBDb25zdHJ1Y3QpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHByb2plY3RDb250ZXh0ID0gUHJvamVjdENvbnRleHQuZ2V0UHJvamVjdENvbnRleHQoc2NvcGUpO1xuICAgIHJldHVybiBwcm9qZWN0Q29udGV4dC5hdXRob3Iub3JnYW5pemF0aW9uO1xuICB9XG5cbiAgc3RhdGljIGdldEF1dGhvck5hbWUoc2NvcGU6IENvbnN0cnVjdCk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJvamVjdENvbnRleHQgPSBQcm9qZWN0Q29udGV4dC5nZXRQcm9qZWN0Q29udGV4dChzY29wZSk7XG4gICAgcmV0dXJuIHByb2plY3RDb250ZXh0LmF1dGhvci5uYW1lO1xuICB9XG5cbiAgc3RhdGljIGdldEF1dGhvckVtYWlsKHNjb3BlOiBDb25zdHJ1Y3QpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHByb2plY3RDb250ZXh0ID0gUHJvamVjdENvbnRleHQuZ2V0UHJvamVjdENvbnRleHQoc2NvcGUpO1xuICAgIHJldHVybiBwcm9qZWN0Q29udGV4dC5hdXRob3IuZW1haWw7XG4gIH1cblxuICBzdGF0aWMgZ2V0RW52aXJvbm1lbnQoc2NvcGU6IENvbnN0cnVjdCk6IHN0cmluZyB7XG4gICAgY29uc3QgZW52aXJvbm1lbnQgPSAoXG4gICAgICBzY29wZS5ub2RlLnRyeUdldENvbnRleHQoJ2Vudmlyb25tZW50LXR5cGUnKSB8fFxuICAgICAgc2NvcGUubm9kZS50cnlHZXRDb250ZXh0KCdlbnZpcm9ubWVudCcpIHx8XG4gICAgICBzY29wZS5ub2RlLnRyeUdldENvbnRleHQoJ2VudicpXG4gICAgKTtcblxuICAgIGlmICh0eXBlb2YgZW52aXJvbm1lbnQgIT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBUT0RPIGRlY2lkZSBpZiBhZGQgYW5ub3RhdGlvbiBvciB0aHJvdz9cbiAgICAgIEFubm90YXRpb25zLm9mKHNjb3BlKS5hZGRFcnJvcignRW52aXJvbm1lbnQgVHlwZSBub3Qgc3BlY2lmaWVkISBQcm92aWRlIGVudmlyb25tZW50IHR5cGUgYXMgY29udGV4dCBhcmd1bWVudCBmb3IgQ0RLIENMSSwgZm9yIGV4YW1wbGU6IC0tY29udGV4dCBlbnZpcm9ubWVudC10eXBlPXN0YWdpbmcnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZW52aXJvbm1lbnQ7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRQcm9qZWN0Q29udGV4dChzY29wZTogQ29uc3RydWN0KTogUHJvamVjdENvbmZpZ3VyYXRpb24ge1xuICAgIGNvbnN0IHByb2plY3RDb250ZXh0ID0gPFByb2plY3RDb25maWd1cmF0aW9uPnNjb3BlLm5vZGUudHJ5R2V0Q29udGV4dChQcm9qZWN0LkNPTlRFWFRfU0NPUEUpO1xuICAgIHJldHVybiBwcm9qZWN0Q29udGV4dDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFByb2plY3RBY2NvdW50Q29udGV4dChzY29wZTogQ29uc3RydWN0KTogQWNjb3VudCB7XG4gICAgY29uc3QgYWNjb3VudFR5cGUgPSBQcm9qZWN0Q29udGV4dC5nZXRBY2NvdW50VHlwZShzY29wZSk7XG4gICAgY29uc3QgcHJvamVjdENvbnRleHQgPSBQcm9qZWN0Q29udGV4dC5nZXRQcm9qZWN0Q29udGV4dChzY29wZSk7XG4gICAgcmV0dXJuIHByb2plY3RDb250ZXh0LmFjY291bnRzW2FjY291bnRUeXBlXTtcbiAgfVxuXG5cbn1cbiJdfQ== |
@@ -66,3 +66,3 @@ "use strict"; | ||
_a = JSII_RTTI_SYMBOL_1; | ||
Project[_a] = { fqn: "@almamedia-open-source/cdk-project-context.Project", version: "0.0.5" }; | ||
Project[_a] = { fqn: "@almamedia-open-source/cdk-project-context.Project", version: "0.0.6" }; | ||
/** | ||
@@ -69,0 +69,0 @@ * (experimental) Namespace/key how this tool internally keeps track of the project configuration. |
@@ -80,3 +80,3 @@ { | ||
}, | ||
"version": "0.0.5", | ||
"version": "0.0.6", | ||
"jest": { | ||
@@ -83,0 +83,0 @@ "testMatch": [ |
@@ -95,3 +95,3 @@ # AWS CDK Project Context | ||
3. Run CDK commands with `account` CLI context flag to **_select_ the desired account configuration**: | ||
3. Run CDK commands with `account-type` (or shorthand: `account`) CLI context flag to **_select_ the desired account configuration**: | ||
```shell | ||
@@ -112,1 +112,33 @@ npx cdk deploy --context account=dev | ||
| AccountBaseDomain | `example.net` | | ||
### Application Environment Retrieval | ||
Often you may want to deploy multiple different application environments – “isolated copies” of your CDK application such as feature environments – into same AWS account. To manage that, you need some kind of "modifier" which selects the target application environment. | ||
You may use this utility to retrieve application _environment_ information. In the context of this utility, _environment_ is just a string value such as `staging` or `production` – not to be confused with [CDK environments](https://docs.aws.amazon.com/cdk/v2/guide/environments.html) (which instead define the target AWS Account & Region configuration for a stack). | ||
1. Somewhere in your stacks you may use static method `ProjectContext.getEnvironment(scope)`: | ||
```ts | ||
import { Stack, StackProps, CfnOutput } from 'aws-cdk-lib'; | ||
import { PC } from '@almamedia-open-source/cdk-project-context'; // Using the PC shorthand here | ||
export class MyStack extends Stack { | ||
constructor(scope: Construct, id: string, props?: StackProps) { | ||
super(scope, id, props); | ||
// Get the default region for this project | ||
new CfnOutput(this, 'Environment', { value: PC.getEnvironment(this) }); | ||
} | ||
} | ||
``` | ||
2. Specify `environment-type` (or shorthand: `environment` or `env`) CLI context flag to **_select_ the desired environment**: | ||
```shell | ||
npx cdk deploy --context account=dev --context environment=staging | ||
``` | ||
3. You'll get the following CloudFormation outputs: | ||
| Name | Example Value | | ||
| :---------- | :------------ | | ||
| Environment | `staging` | |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
179142
456
143