awscdk-resources-mongodbatlas
Version:
MongoDB Atlas CDK Construct Library for AWS CloudFormation Resources
80 lines • 12.4 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AtlasBasicPrivateEndpoint = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
// Copyright 2023 MongoDB Inc
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
const ec2 = require("aws-cdk-lib/aws-ec2");
const constructs_1 = require("constructs");
const index_1 = require("../../index");
const atlas_basic_1 = require("../atlas-basic");
/** @type {*} */
const privateEndpointDefaults = {
region: "us-east-1",
vpcEndpointType: "Interface",
cloudProvider: "AWS",
};
/**
* @description
* @export
* @class AtlasBasicPrivateEndpoint
* @extends {Construct}
*/
class AtlasBasicPrivateEndpoint extends constructs_1.Construct {
/**
* Creates an instance of AtlasBasicPrivateEndpoint.
* @param {Construct} scope
* @param {string} id
* @param {AtlasBasicPrivateEndpointProps} props
* @memberof AtlasBasicPrivateEndpoint
*/
constructor(scope, id, props) {
super(scope, id);
validate(props);
// Validation for atlas basic would be delegated to the library
this.atlasBasic = new atlas_basic_1.AtlasBasic(this, "atlas-basic-".concat(id), {
profile: props.profile,
...props.atlasBasicProps,
});
const region = props.region || privateEndpointDefaults.region;
this.privateEndpointService = new index_1.CfnPrivateEndpointService(this, "atlas-private-endpoint-service-".concat(id), {
projectId: this.atlasBasic.mProject.attrId,
region: region.toUpperCase().replace(/-/g, "_"),
cloudProvider: index_1.CfnPrivateEndpointServicePropsCloudProvider.AWS,
});
this.awsPrivateEndpoint = new ec2.CfnVPCEndpoint(this, "aws-private-endpoint-service-".concat(id), {
serviceName: this.privateEndpointService.attrEndpointServiceName,
subnetIds: [props.privateEndpointProps.awsSubnetId],
vpcEndpointType: privateEndpointDefaults.vpcEndpointType,
vpcId: props.privateEndpointProps.awsVpcId,
});
this.awsPrivateEndpoint.addDependency(this.privateEndpointService);
this.privateEndpointAws = new index_1.CfnPrivateEndpointAws(this, "atlas-private-endpoint-".concat(id), {
projectId: this.atlasBasic.mProject.attrId,
endpointServiceId: this.privateEndpointService.attrId,
id: this.awsPrivateEndpoint.ref,
});
this.privateEndpointAws.addDependency(this.awsPrivateEndpoint);
}
}
exports.AtlasBasicPrivateEndpoint = AtlasBasicPrivateEndpoint;
_a = JSII_RTTI_SYMBOL_1;
AtlasBasicPrivateEndpoint[_a] = { fqn: "awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint", version: "3.10.0" };
const validate = (props) => {
if (!props.atlasBasicProps.projectProps.orgId) {
throw Error("Validation error: orgId is not defined");
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbDMtcmVzb3VyY2VzL2F0bGFzLWJhc2ljLXByaXZhdGUtZW5kcG9pbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0IsRUFBRTtBQUNGLGtFQUFrRTtBQUNsRSxtRUFBbUU7QUFDbkUsMENBQTBDO0FBQzFDLEVBQUU7QUFDRixrREFBa0Q7QUFDbEQsRUFBRTtBQUNGLHNFQUFzRTtBQUN0RSxvRUFBb0U7QUFDcEUsMkVBQTJFO0FBQzNFLHNFQUFzRTtBQUN0RSxpQ0FBaUM7QUFFakMsMkNBQTJDO0FBQzNDLDJDQUF1QztBQUN2Qyx1Q0FJcUI7QUFDckIsZ0RBQTRDO0FBRzVDLGdCQUFnQjtBQUNoQixNQUFNLHVCQUF1QixHQUFHO0lBQzlCLE1BQU0sRUFBRSxXQUFXO0lBQ25CLGVBQWUsRUFBRSxXQUFXO0lBQzVCLGFBQWEsRUFBRSxLQUFLO0NBQ3JCLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILE1BQWEseUJBQTBCLFNBQVEsc0JBQVM7SUFNdEQ7Ozs7OztPQU1HO0lBQ0gsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBcUM7UUFFckMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEIsK0RBQStEO1FBQy9ELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSx3QkFBVSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ2hFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixHQUFHLEtBQUssQ0FBQyxlQUFlO1NBQ3pCLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksdUJBQXVCLENBQUMsTUFBTSxDQUFDO1FBRTlELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLGlDQUF5QixDQUN6RCxJQUFJLEVBQ0osaUNBQWlDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUM1QztZQUNFLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNO1lBQzFDLE1BQU0sRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7WUFDL0MsYUFBYSxFQUFFLG1EQUEyQyxDQUFDLEdBQUc7U0FDL0QsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FDOUMsSUFBSSxFQUNKLCtCQUErQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFDMUM7WUFDRSxXQUFXLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QjtZQUNoRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDO1lBQ25ELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxlQUFlO1lBQ3hELEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsUUFBUTtTQUMzQyxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRW5FLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLDZCQUFxQixDQUNqRCxJQUFJLEVBQ0oseUJBQXlCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUNwQztZQUNFLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNO1lBQzFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNO1lBQ3JELEVBQUUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRztTQUNoQyxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7O0FBOURILDhEQStEQzs7O0FBRUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFxQyxFQUFFLEVBQUU7SUFDekQsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlDLE1BQU0sS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDeEQsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDIzIE1vbmdvREIgSW5jXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbi8vIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbi8vIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuLy9cbi8vICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4vL1xuLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuLy8gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4vLyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4vLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cblxuaW1wb3J0ICogYXMgZWMyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQ2ZuUHJpdmF0ZUVuZHBvaW50QXdzLFxuICBDZm5Qcml2YXRlRW5kcG9pbnRTZXJ2aWNlLFxuICBDZm5Qcml2YXRlRW5kcG9pbnRTZXJ2aWNlUHJvcHNDbG91ZFByb3ZpZGVyLFxufSBmcm9tIFwiLi4vLi4vaW5kZXhcIjtcbmltcG9ydCB7IEF0bGFzQmFzaWMgfSBmcm9tIFwiLi4vYXRsYXMtYmFzaWNcIjtcbmltcG9ydCB7IEF0bGFzQmFzaWNQcm9wcyB9IGZyb20gXCIuLi9jb21tb24vcHJvcHNcIjtcblxuLyoqIEB0eXBlIHsqfSAqL1xuY29uc3QgcHJpdmF0ZUVuZHBvaW50RGVmYXVsdHMgPSB7XG4gIHJlZ2lvbjogXCJ1cy1lYXN0LTFcIixcbiAgdnBjRW5kcG9pbnRUeXBlOiBcIkludGVyZmFjZVwiLFxuICBjbG91ZFByb3ZpZGVyOiBcIkFXU1wiLFxufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBBdGxhc0Jhc2ljUHJpdmF0ZUVuZHBvaW50XG4gKiBAZXh0ZW5kcyB7Q29uc3RydWN0fVxuICovXG5leHBvcnQgY2xhc3MgQXRsYXNCYXNpY1ByaXZhdGVFbmRwb2ludCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IGF0bGFzQmFzaWM6IEF0bGFzQmFzaWM7XG4gIHJlYWRvbmx5IHByaXZhdGVFbmRwb2ludFNlcnZpY2U6IENmblByaXZhdGVFbmRwb2ludFNlcnZpY2U7XG4gIHJlYWRvbmx5IGF3c1ByaXZhdGVFbmRwb2ludDogZWMyLkNmblZQQ0VuZHBvaW50O1xuICByZWFkb25seSBwcml2YXRlRW5kcG9pbnRBd3M6IENmblByaXZhdGVFbmRwb2ludEF3cztcblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBBdGxhc0Jhc2ljUHJpdmF0ZUVuZHBvaW50LlxuICAgKiBAcGFyYW0ge0NvbnN0cnVjdH0gc2NvcGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGlkXG4gICAqIEBwYXJhbSB7QXRsYXNCYXNpY1ByaXZhdGVFbmRwb2ludFByb3BzfSBwcm9wc1xuICAgKiBAbWVtYmVyb2YgQXRsYXNCYXNpY1ByaXZhdGVFbmRwb2ludFxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBBdGxhc0Jhc2ljUHJpdmF0ZUVuZHBvaW50UHJvcHNcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB2YWxpZGF0ZShwcm9wcyk7XG4gICAgLy8gVmFsaWRhdGlvbiBmb3IgYXRsYXMgYmFzaWMgd291bGQgYmUgZGVsZWdhdGVkIHRvIHRoZSBsaWJyYXJ5XG4gICAgdGhpcy5hdGxhc0Jhc2ljID0gbmV3IEF0bGFzQmFzaWModGhpcywgXCJhdGxhcy1iYXNpYy1cIi5jb25jYXQoaWQpLCB7XG4gICAgICBwcm9maWxlOiBwcm9wcy5wcm9maWxlLFxuICAgICAgLi4ucHJvcHMuYXRsYXNCYXNpY1Byb3BzLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVnaW9uID0gcHJvcHMucmVnaW9uIHx8IHByaXZhdGVFbmRwb2ludERlZmF1bHRzLnJlZ2lvbjtcblxuICAgIHRoaXMucHJpdmF0ZUVuZHBvaW50U2VydmljZSA9IG5ldyBDZm5Qcml2YXRlRW5kcG9pbnRTZXJ2aWNlKFxuICAgICAgdGhpcyxcbiAgICAgIFwiYXRsYXMtcHJpdmF0ZS1lbmRwb2ludC1zZXJ2aWNlLVwiLmNvbmNhdChpZCksXG4gICAgICB7XG4gICAgICAgIHByb2plY3RJZDogdGhpcy5hdGxhc0Jhc2ljLm1Qcm9qZWN0LmF0dHJJZCxcbiAgICAgICAgcmVnaW9uOiByZWdpb24udG9VcHBlckNhc2UoKS5yZXBsYWNlKC8tL2csIFwiX1wiKSxcbiAgICAgICAgY2xvdWRQcm92aWRlcjogQ2ZuUHJpdmF0ZUVuZHBvaW50U2VydmljZVByb3BzQ2xvdWRQcm92aWRlci5BV1MsXG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuYXdzUHJpdmF0ZUVuZHBvaW50ID0gbmV3IGVjMi5DZm5WUENFbmRwb2ludChcbiAgICAgIHRoaXMsXG4gICAgICBcImF3cy1wcml2YXRlLWVuZHBvaW50LXNlcnZpY2UtXCIuY29uY2F0KGlkKSxcbiAgICAgIHtcbiAgICAgICAgc2VydmljZU5hbWU6IHRoaXMucHJpdmF0ZUVuZHBvaW50U2VydmljZS5hdHRyRW5kcG9pbnRTZXJ2aWNlTmFtZSxcbiAgICAgICAgc3VibmV0SWRzOiBbcHJvcHMucHJpdmF0ZUVuZHBvaW50UHJvcHMuYXdzU3VibmV0SWRdLFxuICAgICAgICB2cGNFbmRwb2ludFR5cGU6IHByaXZhdGVFbmRwb2ludERlZmF1bHRzLnZwY0VuZHBvaW50VHlwZSxcbiAgICAgICAgdnBjSWQ6IHByb3BzLnByaXZhdGVFbmRwb2ludFByb3BzLmF3c1ZwY0lkLFxuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLmF3c1ByaXZhdGVFbmRwb2ludC5hZGREZXBlbmRlbmN5KHRoaXMucHJpdmF0ZUVuZHBvaW50U2VydmljZSk7XG5cbiAgICB0aGlzLnByaXZhdGVFbmRwb2ludEF3cyA9IG5ldyBDZm5Qcml2YXRlRW5kcG9pbnRBd3MoXG4gICAgICB0aGlzLFxuICAgICAgXCJhdGxhcy1wcml2YXRlLWVuZHBvaW50LVwiLmNvbmNhdChpZCksXG4gICAgICB7XG4gICAgICAgIHByb2plY3RJZDogdGhpcy5hdGxhc0Jhc2ljLm1Qcm9qZWN0LmF0dHJJZCxcbiAgICAgICAgZW5kcG9pbnRTZXJ2aWNlSWQ6IHRoaXMucHJpdmF0ZUVuZHBvaW50U2VydmljZS5hdHRySWQsXG4gICAgICAgIGlkOiB0aGlzLmF3c1ByaXZhdGVFbmRwb2ludC5yZWYsXG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMucHJpdmF0ZUVuZHBvaW50QXdzLmFkZERlcGVuZGVuY3kodGhpcy5hd3NQcml2YXRlRW5kcG9pbnQpO1xuICB9XG59XG5cbmNvbnN0IHZhbGlkYXRlID0gKHByb3BzOiBBdGxhc0Jhc2ljUHJpdmF0ZUVuZHBvaW50UHJvcHMpID0+IHtcbiAgaWYgKCFwcm9wcy5hdGxhc0Jhc2ljUHJvcHMucHJvamVjdFByb3BzLm9yZ0lkKSB7XG4gICAgdGhyb3cgRXJyb3IoXCJWYWxpZGF0aW9uIGVycm9yOiBvcmdJZCBpcyBub3QgZGVmaW5lZFwiKTtcbiAgfVxufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEBleHBvcnRcbiAqIEBpbnRlcmZhY2UgQXRsYXNCYXNpY1ByaXZhdGVFbmRwb2ludFByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXRsYXNCYXNpY1ByaXZhdGVFbmRwb2ludFByb3BzIHtcbiAgcmVhZG9ubHkgcHJvZmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFXUyBSZWdpb25cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQGRlZmF1bHQgdXMtZWFzdC0xXG4gICAqIEBtZW1iZXJvZiBBdGxhc1ByaXZhdGVFbmRwb2ludFByb3BzXG4gICAqL1xuICByZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQHR5cGUge0F0bGFzQmFzaWNQcm9wc31cbiAgICogQG1lbWJlcm9mIEF0bGFzUHJpdmF0ZUVuZHBvaW50UHJvcHNcbiAgICovXG4gIHJlYWRvbmx5IGF0bGFzQmFzaWNQcm9wczogQXRsYXNCYXNpY1Byb3BzO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEB0eXBlIHtDZm5Qcml2YXRlRW5kcG9pbnRQcm9wc31cbiAgICogQG1lbWJlcm9mIEF0bGFzUHJpdmF0ZUVuZHBvaW50UHJvcHNcbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVFbmRwb2ludFByb3BzOiBQcml2YXRlRW5kcG9pbnRQcm9wcztcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEBleHBvcnRcbiAqIEBpbnRlcmZhY2UgUHJpdmF0ZUVuZHBvaW50UHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcml2YXRlRW5kcG9pbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQVdTIFZQQyBJRCAobGlrZTogdnBjLXh4eHh4eHh4eHh4eHh4eHgpIChVc2VkIEZvciBDcmVhdGluZyB0aGUgQVdTIFZQQyBFbmRwb2ludClcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIFByaXZhdGVFbmRwb2ludFByb3BzXG4gICAqL1xuICByZWFkb25seSBhd3NWcGNJZDogc3RyaW5nO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFXUyBWUEMgU3VibmV0IElEIChsaWtlOiBzdWJuZXQteHh4eHh4eHh4eHh4eHh4eHgpIChVc2VkIEZvciBDcmVhdGluZyB0aGUgQVdTIFZQQyBFbmRwb2ludClcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIFByaXZhdGVFbmRwb2ludFByb3BzXG4gICAqL1xuICByZWFkb25seSBhd3NTdWJuZXRJZDogc3RyaW5nO1xufVxuIl19