UNPKG

@renovosolutions/cdk-library-aws-sso

Version:
55 lines 7.69 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.Assignment = exports.TargetTypes = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const aws_cdk_lib_1 = require("aws-cdk-lib"); const permissionset_common_1 = require("./private/permissionset-common"); const principal_common_1 = require("./private/principal-common"); var TargetTypes; (function (TargetTypes) { TargetTypes["AWS_ACCOUNT"] = "AWS_ACCOUNT"; })(TargetTypes = exports.TargetTypes || (exports.TargetTypes = {})); /** * The base assignment class * * Currently this is mostly empty. There isn't any * valuable methods to apply here or any resulting * attributes to define. */ class AssignmentBase extends aws_cdk_lib_1.Resource { } ; /** * The assignment construct. * * Has no import method because there is no attributes to import. */ class Assignment extends AssignmentBase { constructor(scope, id, props) { super(scope, id); if (props.targetType === TargetTypes.AWS_ACCOUNT || props.targetType === undefined) { Assignment.validateAwsAccountTargetId(props.targetId); } principal_common_1.validatePrincipal(props.principal); permissionset_common_1.validatePermissionSetArn(props.permissionSet.permissionSetArn); const targetType = props.targetType ?? TargetTypes.AWS_ACCOUNT; new aws_cdk_lib_1.aws_sso.CfnAssignment(this, 'assignment', { instanceArn: props.permissionSet.ssoInstanceArn, permissionSetArn: props.permissionSet.permissionSetArn, principalId: props.principal.principalId, principalType: props.principal.principalType, targetId: props.targetId, targetType, }); } static validateAwsAccountTargetId(targetId) { if (!aws_cdk_lib_1.Token.isUnresolved(targetId) && !targetId.match(/\d{12}/)) { throw new Error(`targetId should be a 12 digit AWS account id: ${targetId}`); } } } exports.Assignment = Assignment; _a = JSII_RTTI_SYMBOL_1; Assignment[_a] = { fqn: "@renovosolutions/cdk-library-aws-sso.Assignment", version: "0.1.150" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWdubWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hc3NpZ25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBS3FCO0FBSXJCLHlFQUEwRTtBQUMxRSxpRUFBK0Q7QUFFL0QsSUFBWSxXQUVYO0FBRkQsV0FBWSxXQUFXO0lBQ3JCLDBDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFGVyxXQUFXLEdBQVgsbUJBQVcsS0FBWCxtQkFBVyxRQUV0QjtBQVNEOzs7Ozs7R0FNRztBQUNILE1BQWUsY0FBZSxTQUFRLHNCQUFRO0NBQTBCO0FBQUEsQ0FBQztBQXVDekU7Ozs7R0FJRztBQUNILE1BQWEsVUFBVyxTQUFRLGNBQWM7SUFPNUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxCLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxXQUFXLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQ2xGLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdkQ7UUFDRCxvQ0FBaUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkMsK0NBQXdCLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRS9ELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksV0FBVyxDQUFDLFdBQVcsQ0FBQztRQUUvRCxJQUFJLHFCQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDeEMsV0FBVyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsY0FBYztZQUMvQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLGdCQUFnQjtZQUN0RCxXQUFXLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXO1lBQ3hDLGFBQWEsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLGFBQWE7WUFDNUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLFVBQVU7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBekJPLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxRQUFnQjtRQUN4RCxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzlELE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDOUU7SUFDSCxDQUFDOztBQUxILGdDQTJCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGF3c19zc28gYXMgc3NvLFxuICBJUmVzb3VyY2UsXG4gIFJlc291cmNlLFxuICBUb2tlbixcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJUGVybWlzc2lvblNldCB9IGZyb20gJy4vcGVybWlzc2lvbnNldCc7XG5pbXBvcnQgeyBQcmluY2lwYWxQcm9wZXJ0eSB9IGZyb20gJy4vcHJpbmNpcGFsJztcbmltcG9ydCB7IHZhbGlkYXRlUGVybWlzc2lvblNldEFybiB9IGZyb20gJy4vcHJpdmF0ZS9wZXJtaXNzaW9uc2V0LWNvbW1vbic7XG5pbXBvcnQgeyB2YWxpZGF0ZVByaW5jaXBhbCB9IGZyb20gJy4vcHJpdmF0ZS9wcmluY2lwYWwtY29tbW9uJztcblxuZXhwb3J0IGVudW0gVGFyZ2V0VHlwZXMge1xuICBBV1NfQUNDT1VOVCA9ICdBV1NfQUNDT1VOVCcsXG59XG5cbi8qKlxuICogVGhlIHJlc291cmNlIGludGVyZmFjZSBmb3IgYW4gQVdTIFNTTyBhc3NpZ25tZW50LlxuICpcbiAqIFRoaXMgaW50ZXJmYWNlIGhhcyBubyBhdHRyaWJ1dGVzIGJlY2F1c2UgdGhlIHJlc3VsdGluZyByZXNvdXJjZSBoYXMgbm9uZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQXNzaWdubWVudCBleHRlbmRzIElSZXNvdXJjZSB7fVxuXG4vKipcbiAqIFRoZSBiYXNlIGFzc2lnbm1lbnQgY2xhc3NcbiAqXG4gKiBDdXJyZW50bHkgdGhpcyBpcyBtb3N0bHkgZW1wdHkuIFRoZXJlIGlzbid0IGFueVxuICogdmFsdWFibGUgbWV0aG9kcyB0byBhcHBseSBoZXJlIG9yIGFueSByZXN1bHRpbmdcbiAqIGF0dHJpYnV0ZXMgdG8gZGVmaW5lLlxuICovXG5hYnN0cmFjdCBjbGFzcyBBc3NpZ25tZW50QmFzZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSUFzc2lnbm1lbnQge307XG5cbi8qKlxuICogQXR0cmlidXRlcyBmb3IgYW4gYXNzaWdubWVudCBvZiB3aGljaCB0aGVyZSBhcmUgbm9uZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBc3NpZ25tZW50QXR0cmlidXRlcyB7fVxuXG4vKipcbiAqIFRoZSBvcHRpb25zIGZvciBjcmVhdGluZyBhbiBhc3NpZ25tZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFzc2lnbm1lbnRPcHRpb25zIHtcbiAgLyoqXG4gICogVGhlIHByaW5jaXBhbCB0byBhc3NpZ24gdGhlIHBlcm1pc3Npb24gc2V0IHRvXG4gICovXG4gIHJlYWRvbmx5IHByaW5jaXBhbDogUHJpbmNpcGFsUHJvcGVydHk7XG5cbiAgLyoqXG4gICogVGhlIHRhcmdldCBpZCB0aGUgcGVybWlzc2lvbiBzZXQgd2lsbCBiZSBhc3NpZ25lZCB0b1xuICAqL1xuICByZWFkb25seSB0YXJnZXRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAqIFRoZSBlbnRpdHkgdHlwZSBmb3Igd2hpY2ggdGhlIGFzc2lnbm1lbnQgd2lsbCBiZSBjcmVhdGVkLlxuICAqXG4gICogQGRlZmF1bHQgVGFyZ2V0VHlwZXMuQVdTX0FDQ09VTlRcbiAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0VHlwZT86IFRhcmdldFR5cGVzO1xufVxuXG4vKipcbiAqIFRoZSBwcm9wZXJ0aWVzIG9mIGEgbmV3IGFzc2lnbm1lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaWdubWVudFByb3BzIGV4dGVuZHMgQXNzaWdubWVudE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHBlcm1pc3Npb24gc2V0IHRvIGFzc2lnbiB0byB0aGUgcHJpbmNpcGFsXG4gICAqL1xuICByZWFkb25seSBwZXJtaXNzaW9uU2V0OiBJUGVybWlzc2lvblNldDtcbn1cblxuLyoqXG4gKiBUaGUgYXNzaWdubWVudCBjb25zdHJ1Y3QuXG4gKlxuICogSGFzIG5vIGltcG9ydCBtZXRob2QgYmVjYXVzZSB0aGVyZSBpcyBubyBhdHRyaWJ1dGVzIHRvIGltcG9ydC5cbiAqL1xuZXhwb3J0IGNsYXNzIEFzc2lnbm1lbnQgZXh0ZW5kcyBBc3NpZ25tZW50QmFzZSB7XG4gIHByaXZhdGUgc3RhdGljIHZhbGlkYXRlQXdzQWNjb3VudFRhcmdldElkKHRhcmdldElkOiBzdHJpbmcpIHtcbiAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZCh0YXJnZXRJZCkgJiYgIXRhcmdldElkLm1hdGNoKC9cXGR7MTJ9LykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdGFyZ2V0SWQgc2hvdWxkIGJlIGEgMTIgZGlnaXQgQVdTIGFjY291bnQgaWQ6ICR7dGFyZ2V0SWR9YCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFzc2lnbm1lbnRQcm9wcykge1xuICAgIHN1cGVyIChzY29wZSwgaWQpO1xuXG4gICAgaWYgKHByb3BzLnRhcmdldFR5cGUgPT09IFRhcmdldFR5cGVzLkFXU19BQ0NPVU5UIHx8IHByb3BzLnRhcmdldFR5cGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgQXNzaWdubWVudC52YWxpZGF0ZUF3c0FjY291bnRUYXJnZXRJZChwcm9wcy50YXJnZXRJZCk7XG4gICAgfVxuICAgIHZhbGlkYXRlUHJpbmNpcGFsKHByb3BzLnByaW5jaXBhbCk7XG4gICAgdmFsaWRhdGVQZXJtaXNzaW9uU2V0QXJuKHByb3BzLnBlcm1pc3Npb25TZXQucGVybWlzc2lvblNldEFybik7XG5cbiAgICBjb25zdCB0YXJnZXRUeXBlID0gcHJvcHMudGFyZ2V0VHlwZSA/PyBUYXJnZXRUeXBlcy5BV1NfQUNDT1VOVDtcblxuICAgIG5ldyBzc28uQ2ZuQXNzaWdubWVudCh0aGlzLCAnYXNzaWdubWVudCcsIHtcbiAgICAgIGluc3RhbmNlQXJuOiBwcm9wcy5wZXJtaXNzaW9uU2V0LnNzb0luc3RhbmNlQXJuLFxuICAgICAgcGVybWlzc2lvblNldEFybjogcHJvcHMucGVybWlzc2lvblNldC5wZXJtaXNzaW9uU2V0QXJuLFxuICAgICAgcHJpbmNpcGFsSWQ6IHByb3BzLnByaW5jaXBhbC5wcmluY2lwYWxJZCxcbiAgICAgIHByaW5jaXBhbFR5cGU6IHByb3BzLnByaW5jaXBhbC5wcmluY2lwYWxUeXBlLFxuICAgICAgdGFyZ2V0SWQ6IHByb3BzLnRhcmdldElkLFxuICAgICAgdGFyZ2V0VHlwZSxcbiAgICB9KTtcbiAgfVxufVxuIl19