UNPKG

serverless-fargate

Version:

Maintain long-running Fargate ECS tasks within your Serverless project

111 lines (110 loc) 3.67 kB
module.exports = { type: 'object', additionalProperties: false, properties: { clusterName: { type: 'string' }, containerInsights: { type: 'boolean' }, memory: { type: 'string' }, cpu: { type: 'integer', enum: [256, 512, 1024, 2048, 4096] }, architecture: { type: 'string', enum: ['X86_64', 'ARM64'] }, environment: { type: 'object' }, executionRoleArn: { anyOf: [{ type: 'object' }, { type: 'string' }] }, taskRoleArn: { anyOf: [{ type: 'object' }, { type: 'string' }] }, logGroupName: { type: 'string' }, logRetentionInDays: { type: 'integer', enum: [ 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 2192, 2557, 2922, 3288, 3653, ], }, iamRoleStatements: { type: 'array' }, iamManagedPolicies: { type: 'array', items: { type: 'string' } }, vpc: { type: 'object', properties: { securityGroupIds: { type: 'array', items: { anyOf: [{ type: 'object' }, { type: 'string' }] }, }, subnetIds: { type: 'array', items: { anyOf: [{ type: 'object' }, { type: 'string' }] }, }, assignPublicIp: { type: 'boolean' }, }, }, tags: { type: 'object', patternProperties: { '^.+$': { type: 'string' }, }, }, cloudFormationResource: { type: 'object', properties: { task: { type: 'object' }, container: { type: 'object' }, additionalContainers: { type: 'array' }, service: { type: 'object' }, }, }, tasks: { type: 'object', patternProperties: { '^[a-zA-Z0-9-]+$': { type: 'object', properties: { name: { type: 'string' }, image: { type: 'string' }, executionRoleArn: { anyOf: [{ type: 'object' }, { type: 'string' }], }, taskRoleArn: { anyOf: [{ type: 'object' }, { type: 'string' }] }, vpc: { type: 'object', properties: { securityGroupIds: { type: 'array', items: { anyOf: [{ type: 'object' }, { type: 'string' }] }, }, subnetIds: { type: 'array', items: { anyOf: [{ type: 'object' }, { type: 'string' }] }, }, assignPublicIp: { type: 'boolean' }, }, }, command: { type: 'array', items: { type: 'string' } }, entryPoint: { type: 'array', items: { type: 'string' } }, memory: { type: 'string' }, cpu: { type: 'integer', enum: [256, 512, 1024, 2048, 4096] }, architecture: { type: 'string', enum: ['X86_64', 'ARM64'] }, environment: { type: 'object' }, tags: { type: 'object' }, dependsOn: { type: 'array', items: { type: 'string' } }, service: { type: 'object', properties: { desiredCount: { type: 'integer' }, maximumPercent: { type: 'integer' }, minimumHealthyPercent: { type: 'integer' }, spot: { type: 'boolean' }, }, }, schedule: { type: 'string' }, cloudFormationResource: { type: 'object', properties: { task: { type: 'object' }, container: { type: 'object' }, service: { type: 'object' }, }, }, }, additionalProperties: false, }, }, }, }, };