UNPKG

@codefresh-io/yaml-validator

Version:

An NPM module/CLI for validating the Codefresh YAML

58 lines (47 loc) 1.82 kB
/** * Defines the push step schema */ 'use strict'; //------------------------------------------------------------------------------ // Requirements //------------------------------------------------------------------------------ const Joi = require('joi'); const BaseSchema = require('./../base-schema'); const registryValidation = require('../validations/registry'); class Push extends BaseSchema { //------------------------------------------------------------------------------ // Public Interface //------------------------------------------------------------------------------ static getType() { return 'push'; } getSchema() { const pushTagsProperties = { type: Joi.string().valid(Push.getType()), provider: Joi.string().regex(/^standard|docker|ecr$/), candidate: Joi.string().required(), registry: Joi.string(), credentials: BaseSchema._getCredentialsSchema(), tag: Joi.string(), tags: Joi.array().items(Joi.string()), image_name: Joi.string(), accessKeyId: Joi.string(), secretAccessKey: Joi.string(), region: Joi.string(), registry_context: Joi.string(), role_arn: Joi.string(), aws_session_name: Joi.string(), aws_duration_seconds: Joi.number(), }; return this._createSchema(pushTagsProperties); } static validateStep(step, yaml, name, context, { ignoreValidation }) { return registryValidation.validate(step, yaml, name, context, { handleIfNoRegistriesOnAccount: true, handleIfNoRegistryExcplicitlyDefined: true, ignoreValidation }); } } // Exported objects/methods module.exports = Push;