UNPKG

@aws-cdk/core

Version:

AWS Cloud Development Kit Core Library

73 lines 8.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const cfn_reference_1 = require("./private/cfn-reference"); const token_1 = require("./token"); const AWS_ACCOUNTID = 'AWS::AccountId'; const AWS_URLSUFFIX = 'AWS::URLSuffix'; const AWS_NOTIFICATIONARNS = 'AWS::NotificationARNs'; const AWS_PARTITION = 'AWS::Partition'; const AWS_REGION = 'AWS::Region'; const AWS_STACKID = 'AWS::StackId'; const AWS_STACKNAME = 'AWS::StackName'; const AWS_NOVALUE = 'AWS::NoValue'; /** * Accessor for pseudo parameters * * Since pseudo parameters need to be anchored to a stack somewhere in the * construct tree, this class takes an scope parameter; the pseudo parameter * values can be obtained as properties from an scoped object. */ class Aws { constructor() { } } exports.Aws = Aws; Aws.ACCOUNT_ID = pseudoString(AWS_ACCOUNTID); Aws.URL_SUFFIX = pseudoString(AWS_URLSUFFIX); Aws.NOTIFICATION_ARNS = token_1.Token.asList({ Ref: AWS_NOTIFICATIONARNS }, { displayHint: AWS_NOTIFICATIONARNS }); Aws.PARTITION = pseudoString(AWS_PARTITION); Aws.REGION = pseudoString(AWS_REGION); Aws.STACK_ID = pseudoString(AWS_STACKID); Aws.STACK_NAME = pseudoString(AWS_STACKNAME); Aws.NO_VALUE = pseudoString(AWS_NOVALUE); /** * Accessor for scoped pseudo parameters * * These pseudo parameters are anchored to a stack somewhere in the construct * tree, and their values will be exported automatically. */ class ScopedAws { constructor(scope) { this.scope = scope; } get accountId() { return this.asString(AWS_ACCOUNTID); } get urlSuffix() { return this.asString(AWS_URLSUFFIX); } get notificationArns() { return token_1.Token.asList(cfn_reference_1.CfnReference.forPseudo(AWS_NOTIFICATIONARNS, this.scope), { displayHint: AWS_NOTIFICATIONARNS }); } get partition() { return this.asString(AWS_PARTITION); } get region() { return this.asString(AWS_REGION); } get stackId() { return this.asString(AWS_STACKID); } get stackName() { return this.asString(AWS_STACKNAME); } asString(name) { return token_1.Token.asString(cfn_reference_1.CfnReference.forPseudo(name, this.scope), { displayHint: name }); } } exports.ScopedAws = ScopedAws; function pseudoString(name) { return token_1.Token.asString({ Ref: name }, { displayHint: name }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXBzZXVkby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNmbi1wc2V1ZG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSwyREFBdUQ7QUFDdkQsbUNBQWdDO0FBRWhDLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDO0FBQ3ZDLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDO0FBQ3ZDLE1BQU0sb0JBQW9CLEdBQUcsdUJBQXVCLENBQUM7QUFDckQsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFDdkMsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDO0FBQ2pDLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQztBQUNuQyxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQztBQUN2QyxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUM7QUFFbkM7Ozs7OztHQU1HO0FBQ0gsTUFBYSxHQUFHO0lBVWQsZ0JBQXdCLENBQUM7O0FBVjNCLGtCQVdDO0FBVndCLGNBQVUsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDekMsY0FBVSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUN6QyxxQkFBaUIsR0FBRyxhQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZHLGFBQVMsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDeEMsVUFBTSxHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNsQyxZQUFRLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3JDLGNBQVUsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDekMsWUFBUSxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUs5RDs7Ozs7R0FLRztBQUNILE1BQWEsU0FBUztJQUNwQixZQUE2QixLQUFnQjtRQUFoQixVQUFLLEdBQUwsS0FBSyxDQUFXO0lBQzdDLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLGFBQUssQ0FBQyxNQUFNLENBQUMsNEJBQVksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVFLFdBQVcsRUFBRSxvQkFBb0I7U0FDbEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8sUUFBUSxDQUFDLElBQVk7UUFDM0IsT0FBTyxhQUFLLENBQUMsUUFBUSxDQUFDLDRCQUFZLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN6RixDQUFDO0NBQ0Y7QUFyQ0QsOEJBcUNDO0FBRUQsU0FBUyxZQUFZLENBQUMsSUFBWTtJQUNoQyxPQUFPLGFBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUM5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnLi9jb25zdHJ1Y3QtY29tcGF0JztcbmltcG9ydCB7IENmblJlZmVyZW5jZSB9IGZyb20gJy4vcHJpdmF0ZS9jZm4tcmVmZXJlbmNlJztcbmltcG9ydCB7IFRva2VuIH0gZnJvbSAnLi90b2tlbic7XG5cbmNvbnN0IEFXU19BQ0NPVU5USUQgPSAnQVdTOjpBY2NvdW50SWQnO1xuY29uc3QgQVdTX1VSTFNVRkZJWCA9ICdBV1M6OlVSTFN1ZmZpeCc7XG5jb25zdCBBV1NfTk9USUZJQ0FUSU9OQVJOUyA9ICdBV1M6Ok5vdGlmaWNhdGlvbkFSTnMnO1xuY29uc3QgQVdTX1BBUlRJVElPTiA9ICdBV1M6OlBhcnRpdGlvbic7XG5jb25zdCBBV1NfUkVHSU9OID0gJ0FXUzo6UmVnaW9uJztcbmNvbnN0IEFXU19TVEFDS0lEID0gJ0FXUzo6U3RhY2tJZCc7XG5jb25zdCBBV1NfU1RBQ0tOQU1FID0gJ0FXUzo6U3RhY2tOYW1lJztcbmNvbnN0IEFXU19OT1ZBTFVFID0gJ0FXUzo6Tm9WYWx1ZSc7XG5cbi8qKlxuICogQWNjZXNzb3IgZm9yIHBzZXVkbyBwYXJhbWV0ZXJzXG4gKlxuICogU2luY2UgcHNldWRvIHBhcmFtZXRlcnMgbmVlZCB0byBiZSBhbmNob3JlZCB0byBhIHN0YWNrIHNvbWV3aGVyZSBpbiB0aGVcbiAqIGNvbnN0cnVjdCB0cmVlLCB0aGlzIGNsYXNzIHRha2VzIGFuIHNjb3BlIHBhcmFtZXRlcjsgdGhlIHBzZXVkbyBwYXJhbWV0ZXJcbiAqIHZhbHVlcyBjYW4gYmUgb2J0YWluZWQgYXMgcHJvcGVydGllcyBmcm9tIGFuIHNjb3BlZCBvYmplY3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBBd3Mge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEFDQ09VTlRfSUQgPSBwc2V1ZG9TdHJpbmcoQVdTX0FDQ09VTlRJRCk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVVJMX1NVRkZJWCA9IHBzZXVkb1N0cmluZyhBV1NfVVJMU1VGRklYKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOT1RJRklDQVRJT05fQVJOUyA9IFRva2VuLmFzTGlzdCh7IFJlZjogQVdTX05PVElGSUNBVElPTkFSTlMgfSwgeyBkaXNwbGF5SGludDogQVdTX05PVElGSUNBVElPTkFSTlMgfSk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSVElUSU9OID0gcHNldWRvU3RyaW5nKEFXU19QQVJUSVRJT04pO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJFR0lPTiA9IHBzZXVkb1N0cmluZyhBV1NfUkVHSU9OKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTVEFDS19JRCA9IHBzZXVkb1N0cmluZyhBV1NfU1RBQ0tJRCk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU1RBQ0tfTkFNRSA9IHBzZXVkb1N0cmluZyhBV1NfU1RBQ0tOQU1FKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOT19WQUxVRSA9IHBzZXVkb1N0cmluZyhBV1NfTk9WQUxVRSk7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHsgfVxufVxuXG4vKipcbiAqIEFjY2Vzc29yIGZvciBzY29wZWQgcHNldWRvIHBhcmFtZXRlcnNcbiAqXG4gKiBUaGVzZSBwc2V1ZG8gcGFyYW1ldGVycyBhcmUgYW5jaG9yZWQgdG8gYSBzdGFjayBzb21ld2hlcmUgaW4gdGhlIGNvbnN0cnVjdFxuICogdHJlZSwgYW5kIHRoZWlyIHZhbHVlcyB3aWxsIGJlIGV4cG9ydGVkIGF1dG9tYXRpY2FsbHkuXG4gKi9cbmV4cG9ydCBjbGFzcyBTY29wZWRBd3Mge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWNjb3VudElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXNTdHJpbmcoQVdTX0FDQ09VTlRJRCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVybFN1ZmZpeCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFzU3RyaW5nKEFXU19VUkxTVUZGSVgpO1xuICB9XG5cbiAgcHVibGljIGdldCBub3RpZmljYXRpb25Bcm5zKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gVG9rZW4uYXNMaXN0KENmblJlZmVyZW5jZS5mb3JQc2V1ZG8oQVdTX05PVElGSUNBVElPTkFSTlMsIHRoaXMuc2NvcGUpLCB7XG4gICAgICBkaXNwbGF5SGludDogQVdTX05PVElGSUNBVElPTkFSTlNcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGFydGl0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXNTdHJpbmcoQVdTX1BBUlRJVElPTik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlZ2lvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFzU3RyaW5nKEFXU19SRUdJT04pO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGFja0lkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXNTdHJpbmcoQVdTX1NUQUNLSUQpO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGFja05hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hc1N0cmluZyhBV1NfU1RBQ0tOQU1FKTtcbiAgfVxuXG4gIHByaXZhdGUgYXNTdHJpbmcobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKENmblJlZmVyZW5jZS5mb3JQc2V1ZG8obmFtZSwgdGhpcy5zY29wZSksIHsgZGlzcGxheUhpbnQ6IG5hbWUgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHNldWRvU3RyaW5nKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBUb2tlbi5hc1N0cmluZyh7IFJlZjogbmFtZSB9LCB7IGRpc3BsYXlIaW50OiBuYW1lIH0pO1xufVxuIl19