awscdk-resources-mongodbatlas
Version:
MongoDB Atlas CDK Construct Library for AWS CloudFormation Resources
57 lines • 9.52 kB
JavaScript
;
// 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.
Object.defineProperty(exports, "__esModule", { value: true });
exports.AtlasBasicServerlessPrivateEndpoint = void 0;
const constructs_1 = require("constructs");
const index_1 = require("../../index");
const atlas_serverless_basic_1 = require("../atlas-serverless-basic");
/**
* @description
* @export
* @class AtlasBasicPrivateEndpoint
* @extends {Construct}
*/
class AtlasBasicServerlessPrivateEndpoint extends constructs_1.Construct {
/**
* Creates an instance of AtlasBasicServerlessPrivateEndpoint.
* @param {Construct} scope
* @param {string} id
* @param {AtlasServerlessBasicPrivateEndpointProps} props
* @memberof AtlasBasicServerlessPrivateEndpoint
*/
constructor(scope, id, props) {
super(scope, id);
validate(props);
// Validation for atlas basic would be delegated to the library
this.atlasServerlessBasic = new atlas_serverless_basic_1.AtlasServerlessBasic(this, "atlas-basic-serverless-".concat(id), {
profile: props.profile,
...props.atlasServerlessBasicProps,
});
this.serverlessPrivateEndpoint = new index_1.CfnServerlessPrivateEndpoint(this, "serverless-private-endpoint-".concat(id), {
profile: props.profile,
instanceName: props.instanceName,
projectId: this.atlasServerlessBasic.mProject.attrId,
...props.serverlessPrivateEndpointProps,
});
this.serverlessPrivateEndpoint.addDependency(this.atlasServerlessBasic.mserverless);
}
}
exports.AtlasBasicServerlessPrivateEndpoint = AtlasBasicServerlessPrivateEndpoint;
const validate = (props) => {
if (!props.atlasServerlessBasicProps.projectProps.orgId) {
throw Error("Validation error: orgId is not defined");
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbDMtcmVzb3VyY2VzL2F0bGFzLWJhc2ljLXNlcnZlcmxlc3MtcHJpdmF0ZS1lbmRwb2ludC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsNkJBQTZCO0FBQzdCLEVBQUU7QUFDRixrRUFBa0U7QUFDbEUsbUVBQW1FO0FBQ25FLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysa0RBQWtEO0FBQ2xELEVBQUU7QUFDRixzRUFBc0U7QUFDdEUsb0VBQW9FO0FBQ3BFLDJFQUEyRTtBQUMzRSxzRUFBc0U7QUFDdEUsaUNBQWlDOzs7QUFFakMsMkNBQXVDO0FBQ3ZDLHVDQUdxQjtBQUNyQixzRUFBaUU7QUFHakU7Ozs7O0dBS0c7QUFDSCxNQUFhLG1DQUFvQyxTQUFRLHNCQUFTO0lBSWhFOzs7Ozs7T0FNRztJQUNILFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQStDO1FBRS9DLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hCLCtEQUErRDtRQUMvRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSw2Q0FBb0IsQ0FDbEQsSUFBSSxFQUNKLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFDcEM7WUFDRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsR0FBRyxLQUFLLENBQUMseUJBQXlCO1NBQ25DLENBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLG9DQUE0QixDQUMvRCxJQUFJLEVBQ0osOEJBQThCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUN6QztZQUNFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDaEMsU0FBUyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsTUFBTTtZQUNwRCxHQUFHLEtBQUssQ0FBQyw4QkFBOEI7U0FDeEMsQ0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsQ0FDMUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FDdEMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXpDRCxrRkF5Q0M7QUFFRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQStDLEVBQUUsRUFBRTtJQUNuRSxJQUFJLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4RCxNQUFNLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO0lBQ3hELENBQUM7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyMyBNb25nb0RCIEluY1xuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4vLyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4vLyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbi8vXG4vLyAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuLy9cbi8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbi8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbi8vIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBDZm5TZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50LFxuICBBd3NQcml2YXRlRW5kcG9pbnRDb25maWcsXG59IGZyb20gXCIuLi8uLi9pbmRleFwiO1xuaW1wb3J0IHsgQXRsYXNTZXJ2ZXJsZXNzQmFzaWMgfSBmcm9tIFwiLi4vYXRsYXMtc2VydmVybGVzcy1iYXNpY1wiO1xuaW1wb3J0IHsgQXRsYXNTZXJ2ZXJsZXNzQmFzaWNQcm9wcyB9IGZyb20gXCIuLi9jb21tb24vcHJvcHNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBBdGxhc0Jhc2ljUHJpdmF0ZUVuZHBvaW50XG4gKiBAZXh0ZW5kcyB7Q29uc3RydWN0fVxuICovXG5leHBvcnQgY2xhc3MgQXRsYXNCYXNpY1NlcnZlcmxlc3NQcml2YXRlRW5kcG9pbnQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICByZWFkb25seSBhdGxhc1NlcnZlcmxlc3NCYXNpYzogQXRsYXNTZXJ2ZXJsZXNzQmFzaWM7XG4gIHJlYWRvbmx5IHNlcnZlcmxlc3NQcml2YXRlRW5kcG9pbnQ6IENmblNlcnZlcmxlc3NQcml2YXRlRW5kcG9pbnQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgQXRsYXNCYXNpY1NlcnZlcmxlc3NQcml2YXRlRW5kcG9pbnQuXG4gICAqIEBwYXJhbSB7Q29uc3RydWN0fSBzY29wZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWRcbiAgICogQHBhcmFtIHtBdGxhc1NlcnZlcmxlc3NCYXNpY1ByaXZhdGVFbmRwb2ludFByb3BzfSBwcm9wc1xuICAgKiBAbWVtYmVyb2YgQXRsYXNCYXNpY1NlcnZlcmxlc3NQcml2YXRlRW5kcG9pbnRcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogQXRsYXNTZXJ2ZXJsZXNzQmFzaWNQcml2YXRlRW5kcG9pbnRQcm9wc1xuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHZhbGlkYXRlKHByb3BzKTtcbiAgICAvLyBWYWxpZGF0aW9uIGZvciBhdGxhcyBiYXNpYyB3b3VsZCBiZSBkZWxlZ2F0ZWQgdG8gdGhlIGxpYnJhcnlcbiAgICB0aGlzLmF0bGFzU2VydmVybGVzc0Jhc2ljID0gbmV3IEF0bGFzU2VydmVybGVzc0Jhc2ljKFxuICAgICAgdGhpcyxcbiAgICAgIFwiYXRsYXMtYmFzaWMtc2VydmVybGVzcy1cIi5jb25jYXQoaWQpLFxuICAgICAge1xuICAgICAgICBwcm9maWxlOiBwcm9wcy5wcm9maWxlLFxuICAgICAgICAuLi5wcm9wcy5hdGxhc1NlcnZlcmxlc3NCYXNpY1Byb3BzLFxuICAgICAgfVxuICAgICk7XG4gICAgdGhpcy5zZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50ID0gbmV3IENmblNlcnZlcmxlc3NQcml2YXRlRW5kcG9pbnQoXG4gICAgICB0aGlzLFxuICAgICAgXCJzZXJ2ZXJsZXNzLXByaXZhdGUtZW5kcG9pbnQtXCIuY29uY2F0KGlkKSxcbiAgICAgIHtcbiAgICAgICAgcHJvZmlsZTogcHJvcHMucHJvZmlsZSxcbiAgICAgICAgaW5zdGFuY2VOYW1lOiBwcm9wcy5pbnN0YW5jZU5hbWUsXG4gICAgICAgIHByb2plY3RJZDogdGhpcy5hdGxhc1NlcnZlcmxlc3NCYXNpYy5tUHJvamVjdC5hdHRySWQsXG4gICAgICAgIC4uLnByb3BzLnNlcnZlcmxlc3NQcml2YXRlRW5kcG9pbnRQcm9wcyxcbiAgICAgIH1cbiAgICApO1xuICAgIHRoaXMuc2VydmVybGVzc1ByaXZhdGVFbmRwb2ludC5hZGREZXBlbmRlbmN5KFxuICAgICAgdGhpcy5hdGxhc1NlcnZlcmxlc3NCYXNpYy5tc2VydmVybGVzc1xuICAgICk7XG4gIH1cbn1cblxuY29uc3QgdmFsaWRhdGUgPSAocHJvcHM6IEF0bGFzU2VydmVybGVzc0Jhc2ljUHJpdmF0ZUVuZHBvaW50UHJvcHMpID0+IHtcbiAgaWYgKCFwcm9wcy5hdGxhc1NlcnZlcmxlc3NCYXNpY1Byb3BzLnByb2plY3RQcm9wcy5vcmdJZCkge1xuICAgIHRocm93IEVycm9yKFwiVmFsaWRhdGlvbiBlcnJvcjogb3JnSWQgaXMgbm90IGRlZmluZWRcIik7XG4gIH1cbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBAZXhwb3J0XG4gKiBAaW50ZXJmYWNlIEF0bGFzU2VydmVybGVzc0Jhc2ljUHJpdmF0ZUVuZHBvaW50UHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdGxhc1NlcnZlcmxlc3NCYXNpY1ByaXZhdGVFbmRwb2ludFByb3BzIHtcbiAgcmVhZG9ubHkgcHJvZmlsZT86IHN0cmluZztcbiAgcmVhZG9ubHkgaW5zdGFuY2VOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQVdTIFJlZ2lvblxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVmYXVsdCB1cy1lYXN0LTFcbiAgICogQG1lbWJlcm9mIEF0bGFzU2VydmVybGVzc1ByaXZhdGVFbmRwb2ludFByb3BzXG4gICAqL1xuICByZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQHR5cGUge0F0bGFzQmFzaWNQcm9wc31cbiAgICogQG1lbWJlcm9mIEF0bGFzU2VydmVybGVzc1ByaXZhdGVFbmRwb2ludFByb3BzXG4gICAqL1xuICByZWFkb25seSBhdGxhc1NlcnZlcmxlc3NCYXNpY1Byb3BzOiBBdGxhc1NlcnZlcmxlc3NCYXNpY1Byb3BzO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEB0eXBlIHtDZm5TZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50UHJvcHN9XG4gICAqIEBtZW1iZXJvZiBBdGxhc1NlcnZlcmxlc3NQcml2YXRlRW5kcG9pbnRQcm9wc1xuICAgKi9cbiAgcmVhZG9ubHkgc2VydmVybGVzc1ByaXZhdGVFbmRwb2ludFByb3BzOiBTZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50UHJvcHM7XG59XG5cbi8qKlxuICogQHNjaGVtYSBQcml2YXRlRW5kcG9pbnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50UHJvcHMge1xuICAvKipcbiAgICogc3RyaW5nIHRvIHJlcHJlc2VudCB0aGUgY29tbWVudFxuICAgKiBAc2NoZW1hIFByaXZhdGVFbmRwb2ludCNjb21tZW50XG4gICAqL1xuICByZWFkb25seSBjb21tZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlIHRoZSByZXNvdXJjZSB3aWxsIGNyZWF0ZSB0aGUgYXdzIHByaXZhdGUgZW5kcG9pbnQgYW5kIGFzc2lnbiB0aGUgRW5kcG9pbnQgSURcbiAgICpcbiAgICogQHNjaGVtYSBDZm5TZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50UHJvcHMjQ3JlYXRlQW5kQXNzaWduQVdTUHJpdmF0ZUVuZHBvaW50XG4gICAqL1xuICByZWFkb25seSBjcmVhdGVBbmRBc3NpZ25Bd3NQcml2YXRlRW5kcG9pbnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQcm9wZXJ0aWVzIHVzZWQgdG8gY29uZmlndXJlIEF3cyBwcml2YXRlIGVuZHBvaW50XG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuU2VydmVybGVzc1ByaXZhdGVFbmRwb2ludFByb3BzI0F3c1ByaXZhdGVFbmRwb2ludENvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzXG4gICAqL1xuICByZWFkb25seSBhd3NQcml2YXRlRW5kcG9pbnRDb25maWd1cmF0aW9uUHJvcGVydGllcz86IEF3c1ByaXZhdGVFbmRwb2ludENvbmZpZztcbn1cbiJdfQ==