in packages/constructs/L2/construct/lib/construct.ts [61:91]
constructor(scope: Construct, props: MdaaParamAndOutputProps, legacyScope?: Construct) {
super(MdaaParamAndOutput.determineScope(scope, legacyScope), MdaaParamAndOutput.createId(props));
const ssmPath = props.resourceId
? `${props.resourceType}/${props.resourceId}/${props.name}`
: `${props.resourceType}/${props.name}`;
this.paramName = props.naming.ssmPath(ssmPath);
const skipCreateParamsContextString = this.node.tryGetContext(MdaaParamAndOutput.SKIP_CREATE_PARAMS);
const skipCreateParamsContext =
skipCreateParamsContextString != undefined ? /true/i.test(skipCreateParamsContextString) : undefined;
const createParamsProps =
props.createParams == undefined || (props.createParams != undefined && props.createParams.valueOf());
const createParams = skipCreateParamsContext == undefined || !skipCreateParamsContext ? createParamsProps : false;
if (createParams) {
console.log(`Creating SSM Param: ${this.paramName}`);
this.param = new StringParameter(this, `ssm`, {
parameterName: this.paramName,
stringValue: props.value,
simpleName: Token.isUnresolved(this.paramName),
tier: props.tier,
});
}
if (props.createOutputs == undefined || (props.createOutputs != undefined && props.createOutputs.valueOf())) {
const exportName = props.resourceId
? `${props.resourceType}:${props.resourceId.replace(/\W/g, '').replace(/_/g, '-')}:${props.name}`
: `${props.resourceType}:${props.name}`;
new CfnOutput(this, `out`, { value: props.value, exportName: props.naming.exportName(exportName) });
}
}