UNPKG

@renovosolutions/cdk-library-aws-sso

Version:
55 lines 7.72 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 = 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 { 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}`); } } constructor(scope, id, props) { super(scope, id); if (props.targetType === TargetTypes.AWS_ACCOUNT || props.targetType === undefined) { Assignment.validateAwsAccountTargetId(props.targetId); } (0, principal_common_1.validatePrincipal)(props.principal); (0, 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, }); } } exports.Assignment = Assignment; _a = JSII_RTTI_SYMBOL_1; Assignment[_a] = { fqn: "@renovosolutions/cdk-library-aws-sso.Assignment", version: "0.1.151" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWdubWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hc3NpZ25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBS3FCO0FBSXJCLHlFQUEwRTtBQUMxRSxpRUFBK0Q7QUFFL0QsSUFBWSxXQUVYO0FBRkQsV0FBWSxXQUFXO0lBQ3JCLDBDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFGVyxXQUFXLDJCQUFYLFdBQVcsUUFFdEI7QUFTRDs7Ozs7O0dBTUc7QUFDSCxNQUFlLGNBQWUsU0FBUSxzQkFBUTtDQUEwQjtBQUFBLENBQUM7QUF1Q3pFOzs7O0dBSUc7QUFDSCxNQUFhLFVBQVcsU0FBUSxjQUFjO0lBQ3BDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxRQUFnQjtRQUN4RCxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDL0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMvRSxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDOUQsS0FBSyxDQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVsQixJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssV0FBVyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25GLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUNELElBQUEsb0NBQWlCLEVBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLElBQUEsK0NBQXdCLEVBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRS9ELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksV0FBVyxDQUFDLFdBQVcsQ0FBQztRQUUvRCxJQUFJLHFCQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDeEMsV0FBVyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsY0FBYztZQUMvQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLGdCQUFnQjtZQUN0RCxXQUFXLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXO1lBQ3hDLGFBQWEsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLGFBQWE7WUFDNUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLFVBQVU7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDOztBQTFCSCxnQ0EyQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhd3Nfc3NvIGFzIHNzbyxcbiAgSVJlc291cmNlLFxuICBSZXNvdXJjZSxcbiAgVG9rZW4sXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSVBlcm1pc3Npb25TZXQgfSBmcm9tICcuL3Blcm1pc3Npb25zZXQnO1xuaW1wb3J0IHsgUHJpbmNpcGFsUHJvcGVydHkgfSBmcm9tICcuL3ByaW5jaXBhbCc7XG5pbXBvcnQgeyB2YWxpZGF0ZVBlcm1pc3Npb25TZXRBcm4gfSBmcm9tICcuL3ByaXZhdGUvcGVybWlzc2lvbnNldC1jb21tb24nO1xuaW1wb3J0IHsgdmFsaWRhdGVQcmluY2lwYWwgfSBmcm9tICcuL3ByaXZhdGUvcHJpbmNpcGFsLWNvbW1vbic7XG5cbmV4cG9ydCBlbnVtIFRhcmdldFR5cGVzIHtcbiAgQVdTX0FDQ09VTlQgPSAnQVdTX0FDQ09VTlQnLFxufVxuXG4vKipcbiAqIFRoZSByZXNvdXJjZSBpbnRlcmZhY2UgZm9yIGFuIEFXUyBTU08gYXNzaWdubWVudC5cbiAqXG4gKiBUaGlzIGludGVyZmFjZSBoYXMgbm8gYXR0cmlidXRlcyBiZWNhdXNlIHRoZSByZXN1bHRpbmcgcmVzb3VyY2UgaGFzIG5vbmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFzc2lnbm1lbnQgZXh0ZW5kcyBJUmVzb3VyY2Uge31cblxuLyoqXG4gKiBUaGUgYmFzZSBhc3NpZ25tZW50IGNsYXNzXG4gKlxuICogQ3VycmVudGx5IHRoaXMgaXMgbW9zdGx5IGVtcHR5LiBUaGVyZSBpc24ndCBhbnlcbiAqIHZhbHVhYmxlIG1ldGhvZHMgdG8gYXBwbHkgaGVyZSBvciBhbnkgcmVzdWx0aW5nXG4gKiBhdHRyaWJ1dGVzIHRvIGRlZmluZS5cbiAqL1xuYWJzdHJhY3QgY2xhc3MgQXNzaWdubWVudEJhc2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElBc3NpZ25tZW50IHt9O1xuXG4vKipcbiAqIEF0dHJpYnV0ZXMgZm9yIGFuIGFzc2lnbm1lbnQgb2Ygd2hpY2ggdGhlcmUgYXJlIG5vbmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaWdubWVudEF0dHJpYnV0ZXMge31cblxuLyoqXG4gKiBUaGUgb3B0aW9ucyBmb3IgY3JlYXRpbmcgYW4gYXNzaWdubWVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBc3NpZ25tZW50T3B0aW9ucyB7XG4gIC8qKlxuICAqIFRoZSBwcmluY2lwYWwgdG8gYXNzaWduIHRoZSBwZXJtaXNzaW9uIHNldCB0b1xuICAqL1xuICByZWFkb25seSBwcmluY2lwYWw6IFByaW5jaXBhbFByb3BlcnR5O1xuXG4gIC8qKlxuICAqIFRoZSB0YXJnZXQgaWQgdGhlIHBlcm1pc3Npb24gc2V0IHdpbGwgYmUgYXNzaWduZWQgdG9cbiAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0SWQ6IHN0cmluZztcblxuICAvKipcbiAgKiBUaGUgZW50aXR5IHR5cGUgZm9yIHdoaWNoIHRoZSBhc3NpZ25tZW50IHdpbGwgYmUgY3JlYXRlZC5cbiAgKlxuICAqIEBkZWZhdWx0IFRhcmdldFR5cGVzLkFXU19BQ0NPVU5UXG4gICovXG4gIHJlYWRvbmx5IHRhcmdldFR5cGU/OiBUYXJnZXRUeXBlcztcbn1cblxuLyoqXG4gKiBUaGUgcHJvcGVydGllcyBvZiBhIG5ldyBhc3NpZ25tZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFzc2lnbm1lbnRQcm9wcyBleHRlbmRzIEFzc2lnbm1lbnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBwZXJtaXNzaW9uIHNldCB0byBhc3NpZ24gdG8gdGhlIHByaW5jaXBhbFxuICAgKi9cbiAgcmVhZG9ubHkgcGVybWlzc2lvblNldDogSVBlcm1pc3Npb25TZXQ7XG59XG5cbi8qKlxuICogVGhlIGFzc2lnbm1lbnQgY29uc3RydWN0LlxuICpcbiAqIEhhcyBubyBpbXBvcnQgbWV0aG9kIGJlY2F1c2UgdGhlcmUgaXMgbm8gYXR0cmlidXRlcyB0byBpbXBvcnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBBc3NpZ25tZW50IGV4dGVuZHMgQXNzaWdubWVudEJhc2Uge1xuICBwcml2YXRlIHN0YXRpYyB2YWxpZGF0ZUF3c0FjY291bnRUYXJnZXRJZCh0YXJnZXRJZDogc3RyaW5nKSB7XG4gICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQodGFyZ2V0SWQpICYmICF0YXJnZXRJZC5tYXRjaCgvXFxkezEyfS8pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHRhcmdldElkIHNob3VsZCBiZSBhIDEyIGRpZ2l0IEFXUyBhY2NvdW50IGlkOiAke3RhcmdldElkfWApO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBc3NpZ25tZW50UHJvcHMpIHtcbiAgICBzdXBlciAoc2NvcGUsIGlkKTtcblxuICAgIGlmIChwcm9wcy50YXJnZXRUeXBlID09PSBUYXJnZXRUeXBlcy5BV1NfQUNDT1VOVCB8fCBwcm9wcy50YXJnZXRUeXBlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIEFzc2lnbm1lbnQudmFsaWRhdGVBd3NBY2NvdW50VGFyZ2V0SWQocHJvcHMudGFyZ2V0SWQpO1xuICAgIH1cbiAgICB2YWxpZGF0ZVByaW5jaXBhbChwcm9wcy5wcmluY2lwYWwpO1xuICAgIHZhbGlkYXRlUGVybWlzc2lvblNldEFybihwcm9wcy5wZXJtaXNzaW9uU2V0LnBlcm1pc3Npb25TZXRBcm4pO1xuXG4gICAgY29uc3QgdGFyZ2V0VHlwZSA9IHByb3BzLnRhcmdldFR5cGUgPz8gVGFyZ2V0VHlwZXMuQVdTX0FDQ09VTlQ7XG5cbiAgICBuZXcgc3NvLkNmbkFzc2lnbm1lbnQodGhpcywgJ2Fzc2lnbm1lbnQnLCB7XG4gICAgICBpbnN0YW5jZUFybjogcHJvcHMucGVybWlzc2lvblNldC5zc29JbnN0YW5jZUFybixcbiAgICAgIHBlcm1pc3Npb25TZXRBcm46IHByb3BzLnBlcm1pc3Npb25TZXQucGVybWlzc2lvblNldEFybixcbiAgICAgIHByaW5jaXBhbElkOiBwcm9wcy5wcmluY2lwYWwucHJpbmNpcGFsSWQsXG4gICAgICBwcmluY2lwYWxUeXBlOiBwcm9wcy5wcmluY2lwYWwucHJpbmNpcGFsVHlwZSxcbiAgICAgIHRhcmdldElkOiBwcm9wcy50YXJnZXRJZCxcbiAgICAgIHRhcmdldFR5cGUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==