@aws-solutions-constructs/core
Version:
Core CDK Construct for patterns library
55 lines • 6.64 kB
JavaScript
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
* with the License. A copy of the License is located at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildSecretsManagerSecret = buildSecretsManagerSecret;
exports.CheckSecretsManagerProps = CheckSecretsManagerProps;
/*
* The functions found here in the core library are for internal use and can be changed
* or removed outside of a major release. We recommend against calling them directly from client code.
*/
const secrets = require("aws-cdk-lib/aws-secretsmanager");
const secretsmanager_defaults_1 = require("./secretsmanager-defaults");
const utils_1 = require("./utils");
/**
* @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
*
* Method to build the default AWS Secrets Manager Secret
*
* @param scope
* @param id
* @param secretProps
*/
function buildSecretsManagerSecret(scope, id, secretProps) {
const secret = new secrets.Secret(scope, id, (0, utils_1.consolidateProps)(secretsmanager_defaults_1.defaultSecretProps, secretProps));
// suppress warning on build
(0, utils_1.addCfnSuppressRules)(secret, [
{
id: 'W77',
reason: `We allow the use of the AWS account default key aws/secretsmanager for secret encryption.`
}
]);
return secret;
}
function CheckSecretsManagerProps(propsObject) {
let errorMessages = '';
let errorFound = false;
if (propsObject.existingSecretObj && propsObject.secretProps) {
errorMessages += 'Error - Either provide secretProps or existingSecretObj, but not both.\n';
errorFound = true;
}
if (errorFound) {
throw new Error(errorMessages);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0c21hbmFnZXItaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2VjcmV0c21hbmFnZXItaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFzQkgsOERBWUM7QUFPRCw0REFZQztBQW5ERDs7O0dBR0c7QUFFSCwwREFBMEQ7QUFHMUQsdUVBQStEO0FBQy9ELG1DQUFnRTtBQUVoRTs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLHlCQUF5QixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFdBQWlDO0lBQ3ZHLE1BQU0sTUFBTSxHQUFtQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFBLHdCQUFnQixFQUFDLDRDQUFrQixFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFFaEgsNEJBQTRCO0lBQzVCLElBQUEsMkJBQW1CLEVBQUMsTUFBTSxFQUFFO1FBQzFCO1lBQ0UsRUFBRSxFQUFFLEtBQUs7WUFDVCxNQUFNLEVBQUUsMkZBQTJGO1NBQ3BHO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQU9ELFNBQWdCLHdCQUF3QixDQUFDLFdBQXNDO0lBQzdFLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUN2QixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFdkIsSUFBSSxXQUFXLENBQUMsaUJBQWlCLElBQUksV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdELGFBQWEsSUFBSSwwRUFBMEUsQ0FBQztRQUM1RixVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqQyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qXG4gKiAgVGhlIGZ1bmN0aW9ucyBmb3VuZCBoZXJlIGluIHRoZSBjb3JlIGxpYnJhcnkgYXJlIGZvciBpbnRlcm5hbCB1c2UgYW5kIGNhbiBiZSBjaGFuZ2VkXG4gKiAgb3IgcmVtb3ZlZCBvdXRzaWRlIG9mIGEgbWFqb3IgcmVsZWFzZS4gV2UgcmVjb21tZW5kIGFnYWluc3QgY2FsbGluZyB0aGVtIGRpcmVjdGx5IGZyb20gY2xpZW50IGNvZGUuXG4gKi9cblxuaW1wb3J0ICogYXMgc2VjcmV0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXInO1xuLy8gTm90ZTogVG8gZW5zdXJlIENES3YyIGNvbXBhdGliaWxpdHksIGtlZXAgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZm9yIENvbnN0cnVjdCBzZXBhcmF0ZVxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBkZWZhdWx0U2VjcmV0UHJvcHMgfSBmcm9tICcuL3NlY3JldHNtYW5hZ2VyLWRlZmF1bHRzJztcbmltcG9ydCB7IGNvbnNvbGlkYXRlUHJvcHMsIGFkZENmblN1cHByZXNzUnVsZXMgfSBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICpcbiAqIE1ldGhvZCB0byBidWlsZCB0aGUgZGVmYXVsdCBBV1MgU2VjcmV0cyBNYW5hZ2VyIFNlY3JldFxuICpcbiAqIEBwYXJhbSBzY29wZVxuICogQHBhcmFtIGlkXG4gKiBAcGFyYW0gc2VjcmV0UHJvcHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkU2VjcmV0c01hbmFnZXJTZWNyZXQoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgc2VjcmV0UHJvcHM/OiBzZWNyZXRzLlNlY3JldFByb3BzKTogc2VjcmV0cy5TZWNyZXQge1xuICBjb25zdCBzZWNyZXQ6IHNlY3JldHMuU2VjcmV0ID0gbmV3IHNlY3JldHMuU2VjcmV0KHNjb3BlLCBpZCwgY29uc29saWRhdGVQcm9wcyhkZWZhdWx0U2VjcmV0UHJvcHMsIHNlY3JldFByb3BzKSk7XG5cbiAgLy8gc3VwcHJlc3Mgd2FybmluZyBvbiBidWlsZFxuICBhZGRDZm5TdXBwcmVzc1J1bGVzKHNlY3JldCwgW1xuICAgIHtcbiAgICAgIGlkOiAnVzc3JyxcbiAgICAgIHJlYXNvbjogYFdlIGFsbG93IHRoZSB1c2Ugb2YgdGhlIEFXUyBhY2NvdW50IGRlZmF1bHQga2V5IGF3cy9zZWNyZXRzbWFuYWdlciBmb3Igc2VjcmV0IGVuY3J5cHRpb24uYFxuICAgIH1cbiAgXSk7XG5cbiAgcmV0dXJuIHNlY3JldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWNyZXRzTWFuYWdlclByb3BzIHtcbiAgcmVhZG9ubHkgZXhpc3RpbmdTZWNyZXRPYmo/OiBzZWNyZXRzLlNlY3JldDtcbiAgcmVhZG9ubHkgc2VjcmV0UHJvcHM/OiBzZWNyZXRzLlNlY3JldFByb3BzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ2hlY2tTZWNyZXRzTWFuYWdlclByb3BzKHByb3BzT2JqZWN0OiBTZWNyZXRzTWFuYWdlclByb3BzIHwgYW55KSB7XG4gIGxldCBlcnJvck1lc3NhZ2VzID0gJyc7XG4gIGxldCBlcnJvckZvdW5kID0gZmFsc2U7XG5cbiAgaWYgKHByb3BzT2JqZWN0LmV4aXN0aW5nU2VjcmV0T2JqICYmIHByb3BzT2JqZWN0LnNlY3JldFByb3BzKSB7XG4gICAgZXJyb3JNZXNzYWdlcyArPSAnRXJyb3IgLSBFaXRoZXIgcHJvdmlkZSBzZWNyZXRQcm9wcyBvciBleGlzdGluZ1NlY3JldE9iaiwgYnV0IG5vdCBib3RoLlxcbic7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gIH1cblxuICBpZiAoZXJyb3JGb3VuZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2VzKTtcbiAgfVxufVxuIl19
;