UNPKG

@altostra/core

Version:

Core library for shared types and logic

1 lines 1.59 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isRelationalDBServerless=exports.isScalingConfiguration=exports.validServerlessInstanceClasses=exports.validServerlessVersionsByEngine=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 validServerlessVersionsByEngine(e){const s=ValidDBEngineSpecs_1.validServerlessDBEngineSpecs[e];return new Set((0,common_1.getValidVersions)(s))}function validServerlessInstanceClasses(e,s){var i;return new Set(null===(i=ValidDBEngineSpecs_1.validServerlessDBEngineSpecs[e][s])||void 0===i?void 0:i.validInstances)}exports.validServerlessVersionsByEngine=validServerlessVersionsByEngine,exports.validServerlessInstanceClasses=validServerlessInstanceClasses,exports.isScalingConfiguration=(0,type_validations_1.objectOf)({autoPause:primitives_1.maybeBoolean,minCapacity:(0,type_validations_1.maybe)(Numerics_1.isNaturalNumber),maxCapacity:(0,type_validations_1.maybe)(Numerics_1.isNaturalNumber),secondsUntilAutoPause:(0,type_validations_1.maybe)(Numerics_1.isNaturalNumber)}),exports.isRelationalDBServerless=(0,type_validations_1.objectOf)(Object.assign(Object.assign({},common_1.relationalDBResourceBaseValidations),{type:(0,type_validations_1.is)("resource.rdb.serverless"),httpApi:primitives_1.boolean,scalingConfiguration:(0,type_validations_1.maybe)(exports.isScalingConfiguration)}));