@renovosolutions/cdk-library-aws-sso
Version:
AWS CDK Construct Library for AWS SSO
55 lines • 7.72 kB
JavaScript
;
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==