@aws/cloudfront-hosting-toolkit
Version:
CloudFront Hosting Toolkit offers the convenience of a managed frontend hosting service while retaining full control over the hosting and deployment infrastructure to make it your own.
51 lines • 7.71 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.addCfnCondition = exports.addCfnSuppressRules = void 0;
/*********************************************************************************************************************
* 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. *
*********************************************************************************************************************/
const aws_cdk_lib_1 = require("aws-cdk-lib");
/**
* Adds CFN NAG suppress rules to the CDK resource.
* @param resource The CDK resource.
* @param rules The CFN NAG suppress rules.
*/
function addCfnSuppressRules(resource, rules) {
var _a, _b;
if (typeof resource === "undefined")
return;
if (resource instanceof aws_cdk_lib_1.Resource) {
resource = resource.node.defaultChild;
}
if ((_b = (_a = resource.cfnOptions.metadata) === null || _a === void 0 ? void 0 : _a.cfn_nag) === null || _b === void 0 ? void 0 : _b.rules_to_suppress) {
resource.cfnOptions.metadata.cfn_nag.rules_to_suppress.push(...rules);
}
else {
resource.addMetadata("cfn_nag", { rules_to_suppress: rules });
}
}
exports.addCfnSuppressRules = addCfnSuppressRules;
/**
* Adds CDK condition to the CDK resource.
* @param resource The CDK resource.
* @param condition The CDK condition.
*/
function addCfnCondition(resource, condition) {
if (typeof resource === "undefined")
return;
if (resource instanceof aws_cdk_lib_1.Resource) {
resource = resource.node.defaultChild;
}
resource.cfnOptions.condition = condition;
}
exports.addCfnCondition = addCfnCondition;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuX25hZ191dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNmbl9uYWdfdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7Ozs7O3VIQVd1SDtBQUN2SCw2Q0FBa0U7QUFPbEU7Ozs7R0FJRztBQUNILFNBQWdCLG1CQUFtQixDQUNqQyxRQUE0QyxFQUM1QyxLQUEyQjs7SUFFM0IsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXO1FBQUUsT0FBTztJQUU1QyxJQUFJLFFBQVEsWUFBWSxzQkFBUSxFQUFFLENBQUM7UUFDakMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBMkIsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxNQUFBLE1BQUEsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLDBDQUFFLE9BQU8sMENBQUUsaUJBQWlCLEVBQUUsQ0FBQztRQUM3RCxRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDeEUsQ0FBQztTQUFNLENBQUM7UUFDTixRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztBQUNILENBQUM7QUFmRCxrREFlQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixlQUFlLENBQzdCLFFBQTRDLEVBQzVDLFNBQXVCO0lBRXZCLElBQUksT0FBTyxRQUFRLEtBQUssV0FBVztRQUFFLE9BQU87SUFFNUMsSUFBSSxRQUFRLFlBQVksc0JBQVEsRUFBRSxDQUFDO1FBQ2pDLFFBQVEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQTJCLENBQUM7SUFDdkQsQ0FBQztJQUVBLFFBQXdCLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7QUFDN0QsQ0FBQztBQVhELDBDQVdDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2UgICAgKlxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyAqXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgICAgKlxuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5pbXBvcnQgeyBDZm5Db25kaXRpb24sIENmblJlc291cmNlLCBSZXNvdXJjZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG5pbnRlcmZhY2UgQ2ZuTmFnU3VwcHJlc3NSdWxlIHtcbiAgaWQ6IHN0cmluZztcbiAgcmVhc29uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQWRkcyBDRk4gTkFHIHN1cHByZXNzIHJ1bGVzIHRvIHRoZSBDREsgcmVzb3VyY2UuXG4gKiBAcGFyYW0gcmVzb3VyY2UgVGhlIENESyByZXNvdXJjZS5cbiAqIEBwYXJhbSBydWxlcyBUaGUgQ0ZOIE5BRyBzdXBwcmVzcyBydWxlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZENmblN1cHByZXNzUnVsZXMoXG4gIHJlc291cmNlOiBSZXNvdXJjZSB8IENmblJlc291cmNlIHwgdW5kZWZpbmVkLFxuICBydWxlczogQ2ZuTmFnU3VwcHJlc3NSdWxlW11cbikge1xuICBpZiAodHlwZW9mIHJlc291cmNlID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm47XG5cbiAgaWYgKHJlc291cmNlIGluc3RhbmNlb2YgUmVzb3VyY2UpIHtcbiAgICByZXNvdXJjZSA9IHJlc291cmNlLm5vZGUuZGVmYXVsdENoaWxkIGFzIENmblJlc291cmNlO1xuICB9XG5cbiAgaWYgKHJlc291cmNlLmNmbk9wdGlvbnMubWV0YWRhdGE/LmNmbl9uYWc/LnJ1bGVzX3RvX3N1cHByZXNzKSB7XG4gICAgcmVzb3VyY2UuY2ZuT3B0aW9ucy5tZXRhZGF0YS5jZm5fbmFnLnJ1bGVzX3RvX3N1cHByZXNzLnB1c2goLi4ucnVsZXMpO1xuICB9IGVsc2Uge1xuICAgIHJlc291cmNlLmFkZE1ldGFkYXRhKFwiY2ZuX25hZ1wiLCB7IHJ1bGVzX3RvX3N1cHByZXNzOiBydWxlcyB9KTtcbiAgfVxufVxuXG4vKipcbiAqIEFkZHMgQ0RLIGNvbmRpdGlvbiB0byB0aGUgQ0RLIHJlc291cmNlLlxuICogQHBhcmFtIHJlc291cmNlIFRoZSBDREsgcmVzb3VyY2UuXG4gKiBAcGFyYW0gY29uZGl0aW9uIFRoZSBDREsgY29uZGl0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkQ2ZuQ29uZGl0aW9uKFxuICByZXNvdXJjZTogUmVzb3VyY2UgfCBDZm5SZXNvdXJjZSB8IHVuZGVmaW5lZCxcbiAgY29uZGl0aW9uOiBDZm5Db25kaXRpb25cbikge1xuICBpZiAodHlwZW9mIHJlc291cmNlID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm47XG5cbiAgaWYgKHJlc291cmNlIGluc3RhbmNlb2YgUmVzb3VyY2UpIHtcbiAgICByZXNvdXJjZSA9IHJlc291cmNlLm5vZGUuZGVmYXVsdENoaWxkIGFzIENmblJlc291cmNlO1xuICB9XG5cbiAgKHJlc291cmNlIGFzIENmblJlc291cmNlKS5jZm5PcHRpb25zLmNvbmRpdGlvbiA9IGNvbmRpdGlvbjtcbn1cbiJdfQ==