UNPKG

cdk-eks-karpenter

Version:

CDK construct library that allows you install Karpenter in an AWS EKS cluster

38 lines 3.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Utils = void 0; /** * Utils should only contain static methods. */ class Utils { /** * Check whether a string conforms to the lowercase RFC 1123. If not, Kubernetes will throw * an error saying that the name must conform with regex used for validation, which is: * \'[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\')\n' * * @param s string to validate * * @returns boolean */ static validateKubernetesNameConformance(s) { let regex = new RegExp('^(?![0-9]+$)(?!.*-$)(?!-)[a-z0-9-]{1,63}$'); return regex.test(s); } /** * Checks the object to ensure that all required keys are present, or throws an error. * * @param obj object to check * @param required list of strings to ensure presence * * @returns boolean */ static hasRequiredKeys(obj, required) { for (let key of required) { if (!obj.hasOwnProperty(key)) { throw new Error(`Missing required key: ${key}, full object: ${JSON.stringify(obj)}`); } } } } exports.Utils = Utils; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCxNQUFhLEtBQUs7SUFDaEI7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsaUNBQWlDLENBQUMsQ0FBUztRQUN2RCxJQUFJLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQ3BFLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBd0IsRUFBRSxRQUFrQjtRQUN4RSxLQUFLLElBQUksR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLEdBQUcsa0JBQWtCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZGLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBOUJELHNCQThCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXRpbHMgc2hvdWxkIG9ubHkgY29udGFpbiBzdGF0aWMgbWV0aG9kcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFV0aWxzIHtcbiAgLyoqXG4gICAqIENoZWNrIHdoZXRoZXIgYSBzdHJpbmcgY29uZm9ybXMgdG8gdGhlIGxvd2VyY2FzZSBSRkMgMTEyMy4gSWYgbm90LCBLdWJlcm5ldGVzIHdpbGwgdGhyb3dcbiAgICogYW4gZXJyb3Igc2F5aW5nIHRoYXQgdGhlIG5hbWUgbXVzdCBjb25mb3JtIHdpdGggcmVnZXggdXNlZCBmb3IgdmFsaWRhdGlvbiwgd2hpY2ggaXM6XG4gICAqIFxcJ1thLXowLTldKFstYS16MC05XSpbYS16MC05XSk/KFxcXFwuW2EtejAtOV0oWy1hLXowLTldKlthLXowLTldKT8pKlxcJylcXG4nXG4gICAqXG4gICAqIEBwYXJhbSBzIHN0cmluZyB0byB2YWxpZGF0ZVxuICAgKlxuICAgKiBAcmV0dXJucyBib29sZWFuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHZhbGlkYXRlS3ViZXJuZXRlc05hbWVDb25mb3JtYW5jZShzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBsZXQgcmVnZXggPSBuZXcgUmVnRXhwKCdeKD8hWzAtOV0rJCkoPyEuKi0kKSg/IS0pW2EtejAtOS1dezEsNjN9JCcpO1xuICAgIHJldHVybiByZWdleC50ZXN0KHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB0aGUgb2JqZWN0IHRvIGVuc3VyZSB0aGF0IGFsbCByZXF1aXJlZCBrZXlzIGFyZSBwcmVzZW50LCBvciB0aHJvd3MgYW4gZXJyb3IuXG4gICAqXG4gICAqIEBwYXJhbSBvYmogb2JqZWN0IHRvIGNoZWNrXG4gICAqIEBwYXJhbSByZXF1aXJlZCBsaXN0IG9mIHN0cmluZ3MgdG8gZW5zdXJlIHByZXNlbmNlXG4gICAqXG4gICAqIEByZXR1cm5zIGJvb2xlYW5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaGFzUmVxdWlyZWRLZXlzKG9iajogUmVjb3JkPHN0cmluZywgYW55PiwgcmVxdWlyZWQ6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgZm9yIChsZXQga2V5IG9mIHJlcXVpcmVkKSB7XG4gICAgICBpZiAoIW9iai5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyByZXF1aXJlZCBrZXk6ICR7a2V5fSwgZnVsbCBvYmplY3Q6ICR7SlNPTi5zdHJpbmdpZnkob2JqKX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==