raindancers-network
Version:
Extensions to the ec2.Vpc Constructs
55 lines • 7.49 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 || (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) {
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 (!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: "raindancers-network.sso.Assignment", version: "1.29.3" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWdubWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zc28vYXNzaWdubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUlxQjtBQUlyQix5RUFBMEU7QUFDMUUsaUVBQStEO0FBRS9ELElBQVksV0FFWDtBQUZELFdBQVksV0FBVztJQUNyQiwwQ0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBRlcsV0FBVyxHQUFYLG1CQUFXLEtBQVgsbUJBQVcsUUFFdEI7QUFTRDs7Ozs7O0tBTUs7QUFDTCxNQUFlLGNBQWUsU0FBUSxzQkFBUTtDQUEwQjtBQUFBLENBQUM7QUF1Q3pFOzs7O0tBSUs7QUFDTCxNQUFhLFVBQVcsU0FBUSxjQUFjO0lBTzVDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDL0QsS0FBSyxDQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVsQixJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssV0FBVyxDQUFDLFdBQVcsRUFBRTtZQUMvQyxVQUFVLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0Qsb0NBQWlCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLCtDQUF3QixDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUUvRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxJQUFJLFdBQVcsQ0FBQyxXQUFXLENBQUM7UUFFL0QsSUFBSSxxQkFBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ3ZDLFdBQVcsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLGNBQWM7WUFDL0MsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0I7WUFDdEQsV0FBVyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVztZQUN4QyxhQUFhLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxhQUFhO1lBQzVDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixVQUFVO1NBQ1osQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQXpCTyxNQUFNLENBQUMsMEJBQTBCLENBQUMsUUFBZ0I7UUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUMvRTtJQUNGLENBQUM7O0FBTEgsZ0NBMkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXdzX3NzbyBhcyBzc28sXG4gIElSZXNvdXJjZSxcbiAgUmVzb3VyY2UsXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSVBlcm1pc3Npb25TZXQgfSBmcm9tICcuL3Blcm1pc3Npb25zZXQnO1xuaW1wb3J0IHsgUHJpbmNpcGFsUHJvcGVydHkgfSBmcm9tICcuL3ByaW5jaXBhbCc7XG5pbXBvcnQgeyB2YWxpZGF0ZVBlcm1pc3Npb25TZXRBcm4gfSBmcm9tICcuL3ByaXZhdGUvcGVybWlzc2lvbnNldC1jb21tb24nO1xuaW1wb3J0IHsgdmFsaWRhdGVQcmluY2lwYWwgfSBmcm9tICcuL3ByaXZhdGUvcHJpbmNpcGFsLWNvbW1vbic7XG5cbmV4cG9ydCBlbnVtIFRhcmdldFR5cGVzIHtcbiAgQVdTX0FDQ09VTlQgPSAnQVdTX0FDQ09VTlQnLFxufVxuXG4vKipcbiAgICogVGhlIHJlc291cmNlIGludGVyZmFjZSBmb3IgYW4gQVdTIFNTTyBhc3NpZ25tZW50LlxuICAgKlxuICAgKiBUaGlzIGludGVyZmFjZSBoYXMgbm8gYXR0cmlidXRlcyBiZWNhdXNlIHRoZSByZXN1bHRpbmcgcmVzb3VyY2UgaGFzIG5vbmUuXG4gICAqL1xuZXhwb3J0IGludGVyZmFjZSBJQXNzaWdubWVudCBleHRlbmRzIElSZXNvdXJjZSB7fVxuXG4vKipcbiAgICogVGhlIGJhc2UgYXNzaWdubWVudCBjbGFzc1xuICAgKlxuICAgKiBDdXJyZW50bHkgdGhpcyBpcyBtb3N0bHkgZW1wdHkuIFRoZXJlIGlzbid0IGFueVxuICAgKiB2YWx1YWJsZSBtZXRob2RzIHRvIGFwcGx5IGhlcmUgb3IgYW55IHJlc3VsdGluZ1xuICAgKiBhdHRyaWJ1dGVzIHRvIGRlZmluZS5cbiAgICovXG5hYnN0cmFjdCBjbGFzcyBBc3NpZ25tZW50QmFzZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSUFzc2lnbm1lbnQge307XG5cbi8qKlxuICAgKiBBdHRyaWJ1dGVzIGZvciBhbiBhc3NpZ25tZW50IG9mIHdoaWNoIHRoZXJlIGFyZSBub25lLlxuICAgKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaWdubWVudEF0dHJpYnV0ZXMge31cblxuLyoqXG4gICAqIFRoZSBvcHRpb25zIGZvciBjcmVhdGluZyBhbiBhc3NpZ25tZW50LlxuICAgKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaWdubWVudE9wdGlvbnMge1xuICAvKipcblx0KiBUaGUgcHJpbmNpcGFsIHRvIGFzc2lnbiB0aGUgcGVybWlzc2lvbiBzZXQgdG9cblx0Ki9cbiAgcmVhZG9ubHkgcHJpbmNpcGFsOiBQcmluY2lwYWxQcm9wZXJ0eTtcblxuICAvKipcblx0KiBUaGUgdGFyZ2V0IGlkIHRoZSBwZXJtaXNzaW9uIHNldCB3aWxsIGJlIGFzc2lnbmVkIHRvXG5cdCovXG4gIHJlYWRvbmx5IHRhcmdldElkOiBzdHJpbmc7XG5cbiAgLyoqXG5cdCogVGhlIGVudGl0eSB0eXBlIGZvciB3aGljaCB0aGUgYXNzaWdubWVudCB3aWxsIGJlIGNyZWF0ZWQuXG5cdCpcblx0KiBAZGVmYXVsdCBUYXJnZXRUeXBlcy5BV1NfQUNDT1VOVFxuXHQqL1xuICByZWFkb25seSB0YXJnZXRUeXBlPzogVGFyZ2V0VHlwZXM7XG59XG5cbi8qKlxuICAgKiBUaGUgcHJvcGVydGllcyBvZiBhIG5ldyBhc3NpZ25tZW50LlxuICAgKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaWdubWVudFByb3BzIGV4dGVuZHMgQXNzaWdubWVudE9wdGlvbnMge1xuICAvKipcblx0ICogVGhlIHBlcm1pc3Npb24gc2V0IHRvIGFzc2lnbiB0byB0aGUgcHJpbmNpcGFsXG5cdCAqL1xuICByZWFkb25seSBwZXJtaXNzaW9uU2V0OiBJUGVybWlzc2lvblNldDtcbn1cblxuLyoqXG4gICAqIFRoZSBhc3NpZ25tZW50IGNvbnN0cnVjdC5cbiAgICpcbiAgICogSGFzIG5vIGltcG9ydCBtZXRob2QgYmVjYXVzZSB0aGVyZSBpcyBubyBhdHRyaWJ1dGVzIHRvIGltcG9ydC5cbiAgICovXG5leHBvcnQgY2xhc3MgQXNzaWdubWVudCBleHRlbmRzIEFzc2lnbm1lbnRCYXNlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgdmFsaWRhdGVBd3NBY2NvdW50VGFyZ2V0SWQodGFyZ2V0SWQ6IHN0cmluZykge1xuXHQgIGlmICghdGFyZ2V0SWQubWF0Y2goL1xcZHsxMn0vKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB0YXJnZXRJZCBzaG91bGQgYmUgYSAxMiBkaWdpdCBBV1MgYWNjb3VudCBpZDogJHt0YXJnZXRJZH1gKTtcblx0ICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQXNzaWdubWVudFByb3BzKSB7XG5cdCAgc3VwZXIgKHNjb3BlLCBpZCk7XG5cblx0ICBpZiAocHJvcHMudGFyZ2V0VHlwZSA9PT0gVGFyZ2V0VHlwZXMuQVdTX0FDQ09VTlQpIHtcbiAgICAgIEFzc2lnbm1lbnQudmFsaWRhdGVBd3NBY2NvdW50VGFyZ2V0SWQocHJvcHMudGFyZ2V0SWQpO1xuXHQgIH1cblx0ICB2YWxpZGF0ZVByaW5jaXBhbChwcm9wcy5wcmluY2lwYWwpO1xuXHQgIHZhbGlkYXRlUGVybWlzc2lvblNldEFybihwcm9wcy5wZXJtaXNzaW9uU2V0LnBlcm1pc3Npb25TZXRBcm4pO1xuXG5cdCAgY29uc3QgdGFyZ2V0VHlwZSA9IHByb3BzLnRhcmdldFR5cGUgPz8gVGFyZ2V0VHlwZXMuQVdTX0FDQ09VTlQ7XG5cblx0ICBuZXcgc3NvLkNmbkFzc2lnbm1lbnQodGhpcywgJ2Fzc2lnbm1lbnQnLCB7XG4gICAgICBpbnN0YW5jZUFybjogcHJvcHMucGVybWlzc2lvblNldC5zc29JbnN0YW5jZUFybixcbiAgICAgIHBlcm1pc3Npb25TZXRBcm46IHByb3BzLnBlcm1pc3Npb25TZXQucGVybWlzc2lvblNldEFybixcbiAgICAgIHByaW5jaXBhbElkOiBwcm9wcy5wcmluY2lwYWwucHJpbmNpcGFsSWQsXG4gICAgICBwcmluY2lwYWxUeXBlOiBwcm9wcy5wcmluY2lwYWwucHJpbmNpcGFsVHlwZSxcbiAgICAgIHRhcmdldElkOiBwcm9wcy50YXJnZXRJZCxcbiAgICAgIHRhcmdldFR5cGUsXG5cdCAgfSk7XG4gIH1cbn1cbiJdfQ==