@altostra/core
Version:
Core library for shared types and logic
1 lines • 1.81 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.isRelationalDBInstance=exports.isInitialStorage=exports.MIN_INIT_STORAGE=exports.getInstanceFamily=exports.validInstanceClasses=exports.validInstanceVersionsByEngine=void 0;const Numerics_1=require("../../../common/CustomTypes/Numerics"),type_validations_1=require("@altostra/type-validations"),primitives_1=require("@altostra/type-validations/lib/primitives"),common_1=require("./common"),ValidDBEngineSpecs_1=require("./ValidDBEngineSpecs");function validInstanceVersionsByEngine(e){const i=ValidDBEngineSpecs_1.validInstanceDBEngineSpecs[e];return new Set((0,common_1.getValidVersions)(i))}function validInstanceClasses(e,i){var n;return new Set(null===(n=ValidDBEngineSpecs_1.validInstanceDBEngineSpecs[e][i])||void 0===n?void 0:n.validInstances)}function getInstanceFamily(e){var i;if(!e)return;const{engine:n,engineVersion:s}=e;return null===(i=ValidDBEngineSpecs_1.validInstanceDBEngineSpecs[n][s])||void 0===i?void 0:i.family}function isInitialStorage(e){return(0,Numerics_1.isNaturalNumber)(e)&&e>=exports.MIN_INIT_STORAGE}exports.validInstanceVersionsByEngine=validInstanceVersionsByEngine,exports.validInstanceClasses=validInstanceClasses,exports.getInstanceFamily=getInstanceFamily,exports.MIN_INIT_STORAGE=20,exports.isInitialStorage=isInitialStorage,exports.isRelationalDBInstance=(0,type_validations_1.allOf)((0,type_validations_1.objectOf)(Object.assign(Object.assign({},common_1.relationalDBNonServerlessResourceBaseValidations),{type:(0,type_validations_1.is)("resource.rdb.instance"),initialStorage:isInitialStorage,maximumStorage:(0,type_validations_1.maybe)(Numerics_1.isNaturalNumber),characterSetName:primitives_1.maybeString})),(function(e){const{initialStorage:i,maximumStorage:n}=e;return void 0===n||n>i}));