UNPKG

@altostra/core

Version:

Core library for shared types and logic

1 lines 1.5 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isFargateServerlessService=void 0;const NonEmptyString_1=require("../../common/CustomTypes/NonEmptyString"),Numerics_1=require("../../common/CustomTypes/Numerics"),RootedPath_1=require("../../common/CustomTypes/RootedPath"),type_validations_1=require("@altostra/type-validations"),Common_1=require("./Common"),ComputeFunction_1=require("./ComputeFunction"),FargateServerlessContainer_1=require("./FargateServerlessContainer");exports.isFargateServerlessService=(0,type_validations_1.objectOf)(Object.assign(Object.assign({},Common_1.resourceBaseValidators),{type:(0,type_validations_1.is)("resource.compute.web-service"),requirements:(0,type_validations_1.objectOf)({vCPU:FargateServerlessContainer_1.isServerlessContainerCPU,memory:FargateServerlessContainer_1.isServerlessContainerMemory}),vpcConfig:(0,type_validations_1.objectOf)({vpcId:NonEmptyString_1.isNonEmptyString,securityGroupIds:ComputeFunction_1.isSecurityGroupIds,subnetIds:ComputeFunction_1.isSubnetIds}),scaling:(0,type_validations_1.objectOf)({instances:Numerics_1.isPositiveOrZero}),image:(0,type_validations_1.objectOf)({name:NonEmptyString_1.isNonEmptyString,uri:NonEmptyString_1.isNonEmptyString,port:Numerics_1.isNaturalNumber,healthCheckPath:RootedPath_1.isRootedPath}),environment:(0,type_validations_1.maybe)(ComputeFunction_1.isEnvironment),policies:(0,type_validations_1.maybe)((0,type_validations_1.singleOrArray)(ComputeFunction_1.isPolicyRef))}));