UNPKG

@aws-cdk/aws-codepipeline

Version:

Better interface to AWS Code Pipeline

905 lines 317 kB
"use strict"; var _a, _b, _c; Object.defineProperty(exports, "__esModule", { value: true }); exports.CfnWebhook = exports.CfnPipeline = exports.CfnCustomActionType = void 0; const jsiiDeprecationWarnings = require("../.warnings.jsii.js"); const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); // Copyright 2012-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. // Generated from the AWS CloudFormation Resource Specification // See: docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-resource-specification.html // @cfn2ts:meta@ {"generated":"2023-06-19T15:14:34.049Z","fingerprint":"qqDrGFPKl/Frg2a3s5A8JAMi3aFhu436QcIcSDKD6eA="} /* eslint-disable max-len */ // This is generated code - line lengths are difficult to control const cdk = require("@aws-cdk/core"); const cfn_parse = require("@aws-cdk/core/lib/helpers-internal"); /** * Determine whether the given properties match those of a `CfnCustomActionTypeProps` * * @param properties - the TypeScript properties of a `CfnCustomActionTypeProps` * * @returns the result of the validation. */ function CfnCustomActionTypePropsValidator(properties) { if (!cdk.canInspect(properties)) { return cdk.VALIDATION_SUCCESS; } const errors = new cdk.ValidationResults(); if (typeof properties !== 'object') { errors.collect(new cdk.ValidationResult('Expected an object, but received: ' + JSON.stringify(properties))); } errors.collect(cdk.propertyValidator('category', cdk.requiredValidator)(properties.category)); errors.collect(cdk.propertyValidator('category', cdk.validateString)(properties.category)); errors.collect(cdk.propertyValidator('configurationProperties', cdk.listValidator(CfnCustomActionType_ConfigurationPropertiesPropertyValidator))(properties.configurationProperties)); errors.collect(cdk.propertyValidator('inputArtifactDetails', cdk.requiredValidator)(properties.inputArtifactDetails)); errors.collect(cdk.propertyValidator('inputArtifactDetails', CfnCustomActionType_ArtifactDetailsPropertyValidator)(properties.inputArtifactDetails)); errors.collect(cdk.propertyValidator('outputArtifactDetails', cdk.requiredValidator)(properties.outputArtifactDetails)); errors.collect(cdk.propertyValidator('outputArtifactDetails', CfnCustomActionType_ArtifactDetailsPropertyValidator)(properties.outputArtifactDetails)); errors.collect(cdk.propertyValidator('provider', cdk.requiredValidator)(properties.provider)); errors.collect(cdk.propertyValidator('provider', cdk.validateString)(properties.provider)); errors.collect(cdk.propertyValidator('settings', CfnCustomActionType_SettingsPropertyValidator)(properties.settings)); errors.collect(cdk.propertyValidator('tags', cdk.listValidator(cdk.validateCfnTag))(properties.tags)); errors.collect(cdk.propertyValidator('version', cdk.requiredValidator)(properties.version)); errors.collect(cdk.propertyValidator('version', cdk.validateString)(properties.version)); return errors.wrap('supplied properties not correct for "CfnCustomActionTypeProps"'); } /** * Renders the AWS CloudFormation properties of an `AWS::CodePipeline::CustomActionType` resource * * @param properties - the TypeScript properties of a `CfnCustomActionTypeProps` * * @returns the AWS CloudFormation properties of an `AWS::CodePipeline::CustomActionType` resource. */ // @ts-ignore TS6133 function cfnCustomActionTypePropsToCloudFormation(properties) { if (!cdk.canInspect(properties)) { return properties; } CfnCustomActionTypePropsValidator(properties).assertSuccess(); return { Category: cdk.stringToCloudFormation(properties.category), InputArtifactDetails: cfnCustomActionTypeArtifactDetailsPropertyToCloudFormation(properties.inputArtifactDetails), OutputArtifactDetails: cfnCustomActionTypeArtifactDetailsPropertyToCloudFormation(properties.outputArtifactDetails), Provider: cdk.stringToCloudFormation(properties.provider), Version: cdk.stringToCloudFormation(properties.version), ConfigurationProperties: cdk.listMapper(cfnCustomActionTypeConfigurationPropertiesPropertyToCloudFormation)(properties.configurationProperties), Settings: cfnCustomActionTypeSettingsPropertyToCloudFormation(properties.settings), Tags: cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags), }; } // @ts-ignore TS6133 function CfnCustomActionTypePropsFromCloudFormation(properties) { properties = properties == null ? {} : properties; if (typeof properties !== 'object') { return new cfn_parse.FromCloudFormationResult(properties); } const ret = new cfn_parse.FromCloudFormationPropertyObject(); ret.addPropertyResult('category', 'Category', cfn_parse.FromCloudFormation.getString(properties.Category)); ret.addPropertyResult('inputArtifactDetails', 'InputArtifactDetails', CfnCustomActionTypeArtifactDetailsPropertyFromCloudFormation(properties.InputArtifactDetails)); ret.addPropertyResult('outputArtifactDetails', 'OutputArtifactDetails', CfnCustomActionTypeArtifactDetailsPropertyFromCloudFormation(properties.OutputArtifactDetails)); ret.addPropertyResult('provider', 'Provider', cfn_parse.FromCloudFormation.getString(properties.Provider)); ret.addPropertyResult('version', 'Version', cfn_parse.FromCloudFormation.getString(properties.Version)); ret.addPropertyResult('configurationProperties', 'ConfigurationProperties', properties.ConfigurationProperties != null ? cfn_parse.FromCloudFormation.getArray(CfnCustomActionTypeConfigurationPropertiesPropertyFromCloudFormation)(properties.ConfigurationProperties) : undefined); ret.addPropertyResult('settings', 'Settings', properties.Settings != null ? CfnCustomActionTypeSettingsPropertyFromCloudFormation(properties.Settings) : undefined); ret.addPropertyResult('tags', 'Tags', properties.Tags != null ? cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags) : undefined); ret.addUnrecognizedPropertiesAsExtra(properties); return ret; } /** * A CloudFormation `AWS::CodePipeline::CustomActionType` * * The `AWS::CodePipeline::CustomActionType` resource creates a custom action for activities that aren't included in the CodePipeline default actions, such as running an internally developed build process or a test suite. You can use these custom actions in the stage of a pipeline. For more information, see [Create and Add a Custom Action in AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-create-custom-action.html) in the *AWS CodePipeline User Guide* . * * @cloudformationResource AWS::CodePipeline::CustomActionType * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html */ class CfnCustomActionType extends cdk.CfnResource { /** * Create a new `AWS::CodePipeline::CustomActionType`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope, id, props) { super(scope, id, { type: CfnCustomActionType.CFN_RESOURCE_TYPE_NAME, properties: props }); try { jsiiDeprecationWarnings._aws_cdk_aws_codepipeline_CfnCustomActionTypeProps(props); } catch (error) { if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { Error.captureStackTrace(error, CfnCustomActionType); } throw error; } cdk.requireProperty(props, 'category', this); cdk.requireProperty(props, 'inputArtifactDetails', this); cdk.requireProperty(props, 'outputArtifactDetails', this); cdk.requireProperty(props, 'provider', this); cdk.requireProperty(props, 'version', this); this.attrId = cdk.Token.asString(this.getAtt('Id')); this.category = props.category; this.inputArtifactDetails = props.inputArtifactDetails; this.outputArtifactDetails = props.outputArtifactDetails; this.provider = props.provider; this.version = props.version; this.configurationProperties = props.configurationProperties; this.settings = props.settings; this.tags = new cdk.TagManager(cdk.TagType.STANDARD, "AWS::CodePipeline::CustomActionType", props.tags, { tagPropertyName: 'tags' }); } /** * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope, id, resourceAttributes, options) { resourceAttributes = resourceAttributes || {}; const resourceProperties = options.parser.parseValue(resourceAttributes.Properties); const propsResult = CfnCustomActionTypePropsFromCloudFormation(resourceProperties); const ret = new CfnCustomActionType(scope, id, propsResult.value); for (const [propKey, propVal] of Object.entries(propsResult.extraProperties)) { ret.addPropertyOverride(propKey, propVal); } options.parser.handleAttributes(ret, resourceAttributes, id); return ret; } /** * Examines the CloudFormation resource and discloses attributes. * * @param inspector - tree inspector to collect and process attributes * */ inspect(inspector) { inspector.addAttribute("aws:cdk:cloudformation:type", CfnCustomActionType.CFN_RESOURCE_TYPE_NAME); inspector.addAttribute("aws:cdk:cloudformation:props", this.cfnProperties); } get cfnProperties() { return { category: this.category, inputArtifactDetails: this.inputArtifactDetails, outputArtifactDetails: this.outputArtifactDetails, provider: this.provider, version: this.version, configurationProperties: this.configurationProperties, settings: this.settings, tags: this.tags.renderTags(), }; } renderProperties(props) { return cfnCustomActionTypePropsToCloudFormation(props); } } exports.CfnCustomActionType = CfnCustomActionType; _a = JSII_RTTI_SYMBOL_1; CfnCustomActionType[_a] = { fqn: "@aws-cdk/aws-codepipeline.CfnCustomActionType", version: "1.204.0" }; /** * The CloudFormation resource type name for this resource class. */ CfnCustomActionType.CFN_RESOURCE_TYPE_NAME = "AWS::CodePipeline::CustomActionType"; /** * Determine whether the given properties match those of a `ArtifactDetailsProperty` * * @param properties - the TypeScript properties of a `ArtifactDetailsProperty` * * @returns the result of the validation. */ function CfnCustomActionType_ArtifactDetailsPropertyValidator(properties) { if (!cdk.canInspect(properties)) { return cdk.VALIDATION_SUCCESS; } const errors = new cdk.ValidationResults(); if (typeof properties !== 'object') { errors.collect(new cdk.ValidationResult('Expected an object, but received: ' + JSON.stringify(properties))); } errors.collect(cdk.propertyValidator('maximumCount', cdk.requiredValidator)(properties.maximumCount)); errors.collect(cdk.propertyValidator('maximumCount', cdk.validateNumber)(properties.maximumCount)); errors.collect(cdk.propertyValidator('minimumCount', cdk.requiredValidator)(properties.minimumCount)); errors.collect(cdk.propertyValidator('minimumCount', cdk.validateNumber)(properties.minimumCount)); return errors.wrap('supplied properties not correct for "ArtifactDetailsProperty"'); } /** * Renders the AWS CloudFormation properties of an `AWS::CodePipeline::CustomActionType.ArtifactDetails` resource * * @param properties - the TypeScript properties of a `ArtifactDetailsProperty` * * @returns the AWS CloudFormation properties of an `AWS::CodePipeline::CustomActionType.ArtifactDetails` resource. */ // @ts-ignore TS6133 function cfnCustomActionTypeArtifactDetailsPropertyToCloudFormation(properties) { if (!cdk.canInspect(properties)) { return properties; } CfnCustomActionType_ArtifactDetailsPropertyValidator(properties).assertSuccess(); return { MaximumCount: cdk.numberToCloudFormation(properties.maximumCount), MinimumCount: cdk.numberToCloudFormation(properties.minimumCount), }; } // @ts-ignore TS6133 function CfnCustomActionTypeArtifactDetailsPropertyFromCloudFormation(properties) { if (cdk.isResolvableObject(properties)) { return new cfn_parse.FromCloudFormationResult(properties); } properties = properties == null ? {} : properties; if (typeof properties !== 'object') { return new cfn_parse.FromCloudFormationResult(properties); } const ret = new cfn_parse.FromCloudFormationPropertyObject(); ret.addPropertyResult('maximumCount', 'MaximumCount', cfn_parse.FromCloudFormation.getNumber(properties.MaximumCount)); ret.addPropertyResult('minimumCount', 'MinimumCount', cfn_parse.FromCloudFormation.getNumber(properties.MinimumCount)); ret.addUnrecognizedPropertiesAsExtra(properties); return ret; } /** * Determine whether the given properties match those of a `ConfigurationPropertiesProperty` * * @param properties - the TypeScript properties of a `ConfigurationPropertiesProperty` * * @returns the result of the validation. */ function CfnCustomActionType_ConfigurationPropertiesPropertyValidator(properties) { if (!cdk.canInspect(properties)) { return cdk.VALIDATION_SUCCESS; } const errors = new cdk.ValidationResults(); if (typeof properties !== 'object') { errors.collect(new cdk.ValidationResult('Expected an object, but received: ' + JSON.stringify(properties))); } errors.collect(cdk.propertyValidator('description', cdk.validateString)(properties.description)); errors.collect(cdk.propertyValidator('key', cdk.requiredValidator)(properties.key)); errors.collect(cdk.propertyValidator('key', cdk.validateBoolean)(properties.key)); errors.collect(cdk.propertyValidator('name', cdk.requiredValidator)(properties.name)); errors.collect(cdk.propertyValidator('name', cdk.validateString)(properties.name)); errors.collect(cdk.propertyValidator('queryable', cdk.validateBoolean)(properties.queryable)); errors.collect(cdk.propertyValidator('required', cdk.requiredValidator)(properties.required)); errors.collect(cdk.propertyValidator('required', cdk.validateBoolean)(properties.required)); errors.collect(cdk.propertyValidator('secret', cdk.requiredValidator)(properties.secret)); errors.collect(cdk.propertyValidator('secret', cdk.validateBoolean)(properties.secret)); errors.collect(cdk.propertyValidator('type', cdk.validateString)(properties.type)); return errors.wrap('supplied properties not correct for "ConfigurationPropertiesProperty"'); } /** * Renders the AWS CloudFormation properties of an `AWS::CodePipeline::CustomActionType.ConfigurationProperties` resource * * @param properties - the TypeScript properties of a `ConfigurationPropertiesProperty` * * @returns the AWS CloudFormation properties of an `AWS::CodePipeline::CustomActionType.ConfigurationProperties` resource. */ // @ts-ignore TS6133 function cfnCustomActionTypeConfigurationPropertiesPropertyToCloudFormation(properties) { if (!cdk.canInspect(properties)) { return properties; } CfnCustomActionType_ConfigurationPropertiesPropertyValidator(properties).assertSuccess(); return { Description: cdk.stringToCloudFormation(properties.description), Key: cdk.booleanToCloudFormation(properties.key), Name: cdk.stringToCloudFormation(properties.name), Queryable: cdk.booleanToCloudFormation(properties.queryable), Required: cdk.booleanToCloudFormation(properties.required), Secret: cdk.booleanToCloudFormation(properties.secret), Type: cdk.stringToCloudFormation(properties.type), }; } // @ts-ignore TS6133 function CfnCustomActionTypeConfigurationPropertiesPropertyFromCloudFormation(properties) { if (cdk.isResolvableObject(properties)) { return new cfn_parse.FromCloudFormationResult(properties); } properties = properties == null ? {} : properties; if (typeof properties !== 'object') { return new cfn_parse.FromCloudFormationResult(properties); } const ret = new cfn_parse.FromCloudFormationPropertyObject(); ret.addPropertyResult('description', 'Description', properties.Description != null ? cfn_parse.FromCloudFormation.getString(properties.Description) : undefined); ret.addPropertyResult('key', 'Key', cfn_parse.FromCloudFormation.getBoolean(properties.Key)); ret.addPropertyResult('name', 'Name', cfn_parse.FromCloudFormation.getString(properties.Name)); ret.addPropertyResult('queryable', 'Queryable', properties.Queryable != null ? cfn_parse.FromCloudFormation.getBoolean(properties.Queryable) : undefined); ret.addPropertyResult('required', 'Required', cfn_parse.FromCloudFormation.getBoolean(properties.Required)); ret.addPropertyResult('secret', 'Secret', cfn_parse.FromCloudFormation.getBoolean(properties.Secret)); ret.addPropertyResult('type', 'Type', properties.Type != null ? cfn_parse.FromCloudFormation.getString(properties.Type) : undefined); ret.addUnrecognizedPropertiesAsExtra(properties); return ret; } /** * Determine whether the given properties match those of a `SettingsProperty` * * @param properties - the TypeScript properties of a `SettingsProperty` * * @returns the result of the validation. */ function CfnCustomActionType_SettingsPropertyValidator(properties) { if (!cdk.canInspect(properties)) { return cdk.VALIDATION_SUCCESS; } const errors = new cdk.ValidationResults(); if (typeof properties !== 'object') { errors.collect(new cdk.ValidationResult('Expected an object, but received: ' + JSON.stringify(properties))); } errors.collect(cdk.propertyValidator('entityUrlTemplate', cdk.validateString)(properties.entityUrlTemplate)); errors.collect(cdk.propertyValidator('executionUrlTemplate', cdk.validateString)(properties.executionUrlTemplate)); errors.collect(cdk.propertyValidator('revisionUrlTemplate', cdk.validateString)(properties.revisionUrlTemplate)); errors.collect(cdk.propertyValidator('thirdPartyConfigurationUrl', cdk.validateString)(properties.thirdPartyConfigurationUrl)); return errors.wrap('supplied properties not correct for "SettingsProperty"'); } /** * Renders the AWS CloudFormation properties of an `AWS::CodePipeline::CustomActionType.Settings` resource * * @param properties - the TypeScript properties of a `SettingsProperty` * * @returns the AWS CloudFormation properties of an `AWS::CodePipeline::CustomActionType.Settings` resource. */ // @ts-ignore TS6133 function cfnCustomActionTypeSettingsPropertyToCloudFormation(properties) { if (!cdk.canInspect(properties)) { return properties; } CfnCustomActionType_SettingsPropertyValidator(properties).assertSuccess(); return { EntityUrlTemplate: cdk.stringToCloudFormation(properties.entityUrlTemplate), ExecutionUrlTemplate: cdk.stringToCloudFormation(properties.executionUrlTemplate), RevisionUrlTemplate: cdk.stringToCloudFormation(properties.revisionUrlTemplate), ThirdPartyConfigurationUrl: cdk.stringToCloudFormation(properties.thirdPartyConfigurationUrl), }; } // @ts-ignore TS6133 function CfnCustomActionTypeSettingsPropertyFromCloudFormation(properties) { if (cdk.isResolvableObject(properties)) { return new cfn_parse.FromCloudFormationResult(properties); } properties = properties == null ? {} : properties; if (typeof properties !== 'object') { return new cfn_parse.FromCloudFormationResult(properties); } const ret = new cfn_parse.FromCloudFormationPropertyObject(); ret.addPropertyResult('entityUrlTemplate', 'EntityUrlTemplate', properties.EntityUrlTemplate != null ? cfn_parse.FromCloudFormation.getString(properties.EntityUrlTemplate) : undefined); ret.addPropertyResult('executionUrlTemplate', 'ExecutionUrlTemplate', properties.ExecutionUrlTemplate != null ? cfn_parse.FromCloudFormation.getString(properties.ExecutionUrlTemplate) : undefined); ret.addPropertyResult('revisionUrlTemplate', 'RevisionUrlTemplate', properties.RevisionUrlTemplate != null ? cfn_parse.FromCloudFormation.getString(properties.RevisionUrlTemplate) : undefined); ret.addPropertyResult('thirdPartyConfigurationUrl', 'ThirdPartyConfigurationUrl', properties.ThirdPartyConfigurationUrl != null ? cfn_parse.FromCloudFormation.getString(properties.ThirdPartyConfigurationUrl) : undefined); ret.addUnrecognizedPropertiesAsExtra(properties); return ret; } /** * Determine whether the given properties match those of a `CfnPipelineProps` * * @param properties - the TypeScript properties of a `CfnPipelineProps` * * @returns the result of the validation. */ function CfnPipelinePropsValidator(properties) { if (!cdk.canInspect(properties)) { return cdk.VALIDATION_SUCCESS; } const errors = new cdk.ValidationResults(); if (typeof properties !== 'object') { errors.collect(new cdk.ValidationResult('Expected an object, but received: ' + JSON.stringify(properties))); } errors.collect(cdk.propertyValidator('artifactStore', CfnPipeline_ArtifactStorePropertyValidator)(properties.artifactStore)); errors.collect(cdk.propertyValidator('artifactStores', cdk.listValidator(CfnPipeline_ArtifactStoreMapPropertyValidator))(properties.artifactStores)); errors.collect(cdk.propertyValidator('disableInboundStageTransitions', cdk.listValidator(CfnPipeline_StageTransitionPropertyValidator))(properties.disableInboundStageTransitions)); errors.collect(cdk.propertyValidator('name', cdk.validateString)(properties.name)); errors.collect(cdk.propertyValidator('restartExecutionOnUpdate', cdk.validateBoolean)(properties.restartExecutionOnUpdate)); errors.collect(cdk.propertyValidator('roleArn', cdk.requiredValidator)(properties.roleArn)); errors.collect(cdk.propertyValidator('roleArn', cdk.validateString)(properties.roleArn)); errors.collect(cdk.propertyValidator('stages', cdk.requiredValidator)(properties.stages)); errors.collect(cdk.propertyValidator('stages', cdk.listValidator(CfnPipeline_StageDeclarationPropertyValidator))(properties.stages)); errors.collect(cdk.propertyValidator('tags', cdk.listValidator(cdk.validateCfnTag))(properties.tags)); return errors.wrap('supplied properties not correct for "CfnPipelineProps"'); } /** * Renders the AWS CloudFormation properties of an `AWS::CodePipeline::Pipeline` resource * * @param properties - the TypeScript properties of a `CfnPipelineProps` * * @returns the AWS CloudFormation properties of an `AWS::CodePipeline::Pipeline` resource. */ // @ts-ignore TS6133 function cfnPipelinePropsToCloudFormation(properties) { if (!cdk.canInspect(properties)) { return properties; } CfnPipelinePropsValidator(properties).assertSuccess(); return { RoleArn: cdk.stringToCloudFormation(properties.roleArn), Stages: cdk.listMapper(cfnPipelineStageDeclarationPropertyToCloudFormation)(properties.stages), ArtifactStore: cfnPipelineArtifactStorePropertyToCloudFormation(properties.artifactStore), ArtifactStores: cdk.listMapper(cfnPipelineArtifactStoreMapPropertyToCloudFormation)(properties.artifactStores), DisableInboundStageTransitions: cdk.listMapper(cfnPipelineStageTransitionPropertyToCloudFormation)(properties.disableInboundStageTransitions), Name: cdk.stringToCloudFormation(properties.name), RestartExecutionOnUpdate: cdk.booleanToCloudFormation(properties.restartExecutionOnUpdate), Tags: cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags), }; } // @ts-ignore TS6133 function CfnPipelinePropsFromCloudFormation(properties) { properties = properties == null ? {} : properties; if (typeof properties !== 'object') { return new cfn_parse.FromCloudFormationResult(properties); } const ret = new cfn_parse.FromCloudFormationPropertyObject(); ret.addPropertyResult('roleArn', 'RoleArn', cfn_parse.FromCloudFormation.getString(properties.RoleArn)); ret.addPropertyResult('stages', 'Stages', cfn_parse.FromCloudFormation.getArray(CfnPipelineStageDeclarationPropertyFromCloudFormation)(properties.Stages)); ret.addPropertyResult('artifactStore', 'ArtifactStore', properties.ArtifactStore != null ? CfnPipelineArtifactStorePropertyFromCloudFormation(properties.ArtifactStore) : undefined); ret.addPropertyResult('artifactStores', 'ArtifactStores', properties.ArtifactStores != null ? cfn_parse.FromCloudFormation.getArray(CfnPipelineArtifactStoreMapPropertyFromCloudFormation)(properties.ArtifactStores) : undefined); ret.addPropertyResult('disableInboundStageTransitions', 'DisableInboundStageTransitions', properties.DisableInboundStageTransitions != null ? cfn_parse.FromCloudFormation.getArray(CfnPipelineStageTransitionPropertyFromCloudFormation)(properties.DisableInboundStageTransitions) : undefined); ret.addPropertyResult('name', 'Name', properties.Name != null ? cfn_parse.FromCloudFormation.getString(properties.Name) : undefined); ret.addPropertyResult('restartExecutionOnUpdate', 'RestartExecutionOnUpdate', properties.RestartExecutionOnUpdate != null ? cfn_parse.FromCloudFormation.getBoolean(properties.RestartExecutionOnUpdate) : undefined); ret.addPropertyResult('tags', 'Tags', properties.Tags != null ? cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags) : undefined); ret.addUnrecognizedPropertiesAsExtra(properties); return ret; } /** * A CloudFormation `AWS::CodePipeline::Pipeline` * * The `AWS::CodePipeline::Pipeline` resource creates a CodePipeline pipeline that describes how software changes go through a release process. For more information, see [What Is CodePipeline?](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) in the *AWS CodePipeline User Guide* . * * @cloudformationResource AWS::CodePipeline::Pipeline * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html */ class CfnPipeline extends cdk.CfnResource { /** * Create a new `AWS::CodePipeline::Pipeline`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope, id, props) { super(scope, id, { type: CfnPipeline.CFN_RESOURCE_TYPE_NAME, properties: props }); try { jsiiDeprecationWarnings._aws_cdk_aws_codepipeline_CfnPipelineProps(props); } catch (error) { if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { Error.captureStackTrace(error, CfnPipeline); } throw error; } cdk.requireProperty(props, 'roleArn', this); cdk.requireProperty(props, 'stages', this); this.attrVersion = cdk.Token.asString(this.getAtt('Version')); this.roleArn = props.roleArn; this.stages = props.stages; this.artifactStore = props.artifactStore; this.artifactStores = props.artifactStores; this.disableInboundStageTransitions = props.disableInboundStageTransitions; this.name = props.name; this.restartExecutionOnUpdate = props.restartExecutionOnUpdate; this.tags = new cdk.TagManager(cdk.TagType.STANDARD, "AWS::CodePipeline::Pipeline", props.tags, { tagPropertyName: 'tags' }); } /** * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope, id, resourceAttributes, options) { resourceAttributes = resourceAttributes || {}; const resourceProperties = options.parser.parseValue(resourceAttributes.Properties); const propsResult = CfnPipelinePropsFromCloudFormation(resourceProperties); const ret = new CfnPipeline(scope, id, propsResult.value); for (const [propKey, propVal] of Object.entries(propsResult.extraProperties)) { ret.addPropertyOverride(propKey, propVal); } options.parser.handleAttributes(ret, resourceAttributes, id); return ret; } /** * Examines the CloudFormation resource and discloses attributes. * * @param inspector - tree inspector to collect and process attributes * */ inspect(inspector) { inspector.addAttribute("aws:cdk:cloudformation:type", CfnPipeline.CFN_RESOURCE_TYPE_NAME); inspector.addAttribute("aws:cdk:cloudformation:props", this.cfnProperties); } get cfnProperties() { return { roleArn: this.roleArn, stages: this.stages, artifactStore: this.artifactStore, artifactStores: this.artifactStores, disableInboundStageTransitions: this.disableInboundStageTransitions, name: this.name, restartExecutionOnUpdate: this.restartExecutionOnUpdate, tags: this.tags.renderTags(), }; } renderProperties(props) { return cfnPipelinePropsToCloudFormation(props); } } exports.CfnPipeline = CfnPipeline; _b = JSII_RTTI_SYMBOL_1; CfnPipeline[_b] = { fqn: "@aws-cdk/aws-codepipeline.CfnPipeline", version: "1.204.0" }; /** * The CloudFormation resource type name for this resource class. */ CfnPipeline.CFN_RESOURCE_TYPE_NAME = "AWS::CodePipeline::Pipeline"; /** * Determine whether the given properties match those of a `ActionDeclarationProperty` * * @param properties - the TypeScript properties of a `ActionDeclarationProperty` * * @returns the result of the validation. */ function CfnPipeline_ActionDeclarationPropertyValidator(properties) { if (!cdk.canInspect(properties)) { return cdk.VALIDATION_SUCCESS; } const errors = new cdk.ValidationResults(); if (typeof properties !== 'object') { errors.collect(new cdk.ValidationResult('Expected an object, but received: ' + JSON.stringify(properties))); } errors.collect(cdk.propertyValidator('actionTypeId', cdk.requiredValidator)(properties.actionTypeId)); errors.collect(cdk.propertyValidator('actionTypeId', CfnPipeline_ActionTypeIdPropertyValidator)(properties.actionTypeId)); errors.collect(cdk.propertyValidator('configuration', cdk.validateObject)(properties.configuration)); errors.collect(cdk.propertyValidator('inputArtifacts', cdk.listValidator(CfnPipeline_InputArtifactPropertyValidator))(properties.inputArtifacts)); errors.collect(cdk.propertyValidator('name', cdk.requiredValidator)(properties.name)); errors.collect(cdk.propertyValidator('name', cdk.validateString)(properties.name)); errors.collect(cdk.propertyValidator('namespace', cdk.validateString)(properties.namespace)); errors.collect(cdk.propertyValidator('outputArtifacts', cdk.listValidator(CfnPipeline_OutputArtifactPropertyValidator))(properties.outputArtifacts)); errors.collect(cdk.propertyValidator('region', cdk.validateString)(properties.region)); errors.collect(cdk.propertyValidator('roleArn', cdk.validateString)(properties.roleArn)); errors.collect(cdk.propertyValidator('runOrder', cdk.validateNumber)(properties.runOrder)); return errors.wrap('supplied properties not correct for "ActionDeclarationProperty"'); } /** * Renders the AWS CloudFormation properties of an `AWS::CodePipeline::Pipeline.ActionDeclaration` resource * * @param properties - the TypeScript properties of a `ActionDeclarationProperty` * * @returns the AWS CloudFormation properties of an `AWS::CodePipeline::Pipeline.ActionDeclaration` resource. */ // @ts-ignore TS6133 function cfnPipelineActionDeclarationPropertyToCloudFormation(properties) { if (!cdk.canInspect(properties)) { return properties; } CfnPipeline_ActionDeclarationPropertyValidator(properties).assertSuccess(); return { ActionTypeId: cfnPipelineActionTypeIdPropertyToCloudFormation(properties.actionTypeId), Configuration: cdk.objectToCloudFormation(properties.configuration), InputArtifacts: cdk.listMapper(cfnPipelineInputArtifactPropertyToCloudFormation)(properties.inputArtifacts), Name: cdk.stringToCloudFormation(properties.name), Namespace: cdk.stringToCloudFormation(properties.namespace), OutputArtifacts: cdk.listMapper(cfnPipelineOutputArtifactPropertyToCloudFormation)(properties.outputArtifacts), Region: cdk.stringToCloudFormation(properties.region), RoleArn: cdk.stringToCloudFormation(properties.roleArn), RunOrder: cdk.numberToCloudFormation(properties.runOrder), }; } // @ts-ignore TS6133 function CfnPipelineActionDeclarationPropertyFromCloudFormation(properties) { if (cdk.isResolvableObject(properties)) { return new cfn_parse.FromCloudFormationResult(properties); } properties = properties == null ? {} : properties; if (typeof properties !== 'object') { return new cfn_parse.FromCloudFormationResult(properties); } const ret = new cfn_parse.FromCloudFormationPropertyObject(); ret.addPropertyResult('actionTypeId', 'ActionTypeId', CfnPipelineActionTypeIdPropertyFromCloudFormation(properties.ActionTypeId)); ret.addPropertyResult('configuration', 'Configuration', properties.Configuration != null ? cfn_parse.FromCloudFormation.getAny(properties.Configuration) : undefined); ret.addPropertyResult('inputArtifacts', 'InputArtifacts', properties.InputArtifacts != null ? cfn_parse.FromCloudFormation.getArray(CfnPipelineInputArtifactPropertyFromCloudFormation)(properties.InputArtifacts) : undefined); ret.addPropertyResult('name', 'Name', cfn_parse.FromCloudFormation.getString(properties.Name)); ret.addPropertyResult('namespace', 'Namespace', properties.Namespace != null ? cfn_parse.FromCloudFormation.getString(properties.Namespace) : undefined); ret.addPropertyResult('outputArtifacts', 'OutputArtifacts', properties.OutputArtifacts != null ? cfn_parse.FromCloudFormation.getArray(CfnPipelineOutputArtifactPropertyFromCloudFormation)(properties.OutputArtifacts) : undefined); ret.addPropertyResult('region', 'Region', properties.Region != null ? cfn_parse.FromCloudFormation.getString(properties.Region) : undefined); ret.addPropertyResult('roleArn', 'RoleArn', properties.RoleArn != null ? cfn_parse.FromCloudFormation.getString(properties.RoleArn) : undefined); ret.addPropertyResult('runOrder', 'RunOrder', properties.RunOrder != null ? cfn_parse.FromCloudFormation.getNumber(properties.RunOrder) : undefined); ret.addUnrecognizedPropertiesAsExtra(properties); return ret; } /** * Determine whether the given properties match those of a `ActionTypeIdProperty` * * @param properties - the TypeScript properties of a `ActionTypeIdProperty` * * @returns the result of the validation. */ function CfnPipeline_ActionTypeIdPropertyValidator(properties) { if (!cdk.canInspect(properties)) { return cdk.VALIDATION_SUCCESS; } const errors = new cdk.ValidationResults(); if (typeof properties !== 'object') { errors.collect(new cdk.ValidationResult('Expected an object, but received: ' + JSON.stringify(properties))); } errors.collect(cdk.propertyValidator('category', cdk.requiredValidator)(properties.category)); errors.collect(cdk.propertyValidator('category', cdk.validateString)(properties.category)); errors.collect(cdk.propertyValidator('owner', cdk.requiredValidator)(properties.owner)); errors.collect(cdk.propertyValidator('owner', cdk.validateString)(properties.owner)); errors.collect(cdk.propertyValidator('provider', cdk.requiredValidator)(properties.provider)); errors.collect(cdk.propertyValidator('provider', cdk.validateString)(properties.provider)); errors.collect(cdk.propertyValidator('version', cdk.requiredValidator)(properties.version)); errors.collect(cdk.propertyValidator('version', cdk.validateString)(properties.version)); return errors.wrap('supplied properties not correct for "ActionTypeIdProperty"'); } /** * Renders the AWS CloudFormation properties of an `AWS::CodePipeline::Pipeline.ActionTypeId` resource * * @param properties - the TypeScript properties of a `ActionTypeIdProperty` * * @returns the AWS CloudFormation properties of an `AWS::CodePipeline::Pipeline.ActionTypeId` resource. */ // @ts-ignore TS6133 function cfnPipelineActionTypeIdPropertyToCloudFormation(properties) { if (!cdk.canInspect(properties)) { return properties; } CfnPipeline_ActionTypeIdPropertyValidator(properties).assertSuccess(); return { Category: cdk.stringToCloudFormation(properties.category), Owner: cdk.stringToCloudFormation(properties.owner), Provider: cdk.stringToCloudFormation(properties.provider), Version: cdk.stringToCloudFormation(properties.version), }; } // @ts-ignore TS6133 function CfnPipelineActionTypeIdPropertyFromCloudFormation(properties) { if (cdk.isResolvableObject(properties)) { return new cfn_parse.FromCloudFormationResult(properties); } properties = properties == null ? {} : properties; if (typeof properties !== 'object') { return new cfn_parse.FromCloudFormationResult(properties); } const ret = new cfn_parse.FromCloudFormationPropertyObject(); ret.addPropertyResult('category', 'Category', cfn_parse.FromCloudFormation.getString(properties.Category)); ret.addPropertyResult('owner', 'Owner', cfn_parse.FromCloudFormation.getString(properties.Owner)); ret.addPropertyResult('provider', 'Provider', cfn_parse.FromCloudFormation.getString(properties.Provider)); ret.addPropertyResult('version', 'Version', cfn_parse.FromCloudFormation.getString(properties.Version)); ret.addUnrecognizedPropertiesAsExtra(properties); return ret; } /** * Determine whether the given properties match those of a `ArtifactStoreProperty` * * @param properties - the TypeScript properties of a `ArtifactStoreProperty` * * @returns the result of the validation. */ function CfnPipeline_ArtifactStorePropertyValidator(properties) { if (!cdk.canInspect(properties)) { return cdk.VALIDATION_SUCCESS; } const errors = new cdk.ValidationResults(); if (typeof properties !== 'object') { errors.collect(new cdk.ValidationResult('Expected an object, but received: ' + JSON.stringify(properties))); } errors.collect(cdk.propertyValidator('encryptionKey', CfnPipeline_EncryptionKeyPropertyValidator)(properties.encryptionKey)); errors.collect(cdk.propertyValidator('location', cdk.requiredValidator)(properties.location)); errors.collect(cdk.propertyValidator('location', cdk.validateString)(properties.location)); errors.collect(cdk.propertyValidator('type', cdk.requiredValidator)(properties.type)); errors.collect(cdk.propertyValidator('type', cdk.validateString)(properties.type)); return errors.wrap('supplied properties not correct for "ArtifactStoreProperty"'); } /** * Renders the AWS CloudFormation properties of an `AWS::CodePipeline::Pipeline.ArtifactStore` resource * * @param properties - the TypeScript properties of a `ArtifactStoreProperty` * * @returns the AWS CloudFormation properties of an `AWS::CodePipeline::Pipeline.ArtifactStore` resource. */ // @ts-ignore TS6133 function cfnPipelineArtifactStorePropertyToCloudFormation(properties) { if (!cdk.canInspect(properties)) { return properties; } CfnPipeline_ArtifactStorePropertyValidator(properties).assertSuccess(); return { EncryptionKey: cfnPipelineEncryptionKeyPropertyToCloudFormation(properties.encryptionKey), Location: cdk.stringToCloudFormation(properties.location), Type: cdk.stringToCloudFormation(properties.type), }; } // @ts-ignore TS6133 function CfnPipelineArtifactStorePropertyFromCloudFormation(properties) { if (cdk.isResolvableObject(properties)) { return new cfn_parse.FromCloudFormationResult(properties); } properties = properties == null ? {} : properties; if (typeof properties !== 'object') { return new cfn_parse.FromCloudFormationResult(properties); } const ret = new cfn_parse.FromCloudFormationPropertyObject(); ret.addPropertyResult('encryptionKey', 'EncryptionKey', properties.EncryptionKey != null ? CfnPipelineEncryptionKeyPropertyFromCloudFormation(properties.EncryptionKey) : undefined); ret.addPropertyResult('location', 'Location', cfn_parse.FromCloudFormation.getString(properties.Location)); ret.addPropertyResult('type', 'Type', cfn_parse.FromCloudFormation.getString(properties.Type)); ret.addUnrecognizedPropertiesAsExtra(properties); return ret; } /** * Determine whether the given properties match those of a `ArtifactStoreMapProperty` * * @param properties - the TypeScript properties of a `ArtifactStoreMapProperty` * * @returns the result of the validation. */ function CfnPipeline_ArtifactStoreMapPropertyValidator(properties) { if (!cdk.canInspect(properties)) { return cdk.VALIDATION_SUCCESS; } const errors = new cdk.ValidationResults(); if (typeof properties !== 'object') { errors.collect(new cdk.ValidationResult('Expected an object, but received: ' + JSON.stringify(properties))); } errors.collect(cdk.propertyValidator('artifactStore', cdk.requiredValidator)(properties.artifactStore)); errors.collect(cdk.propertyValidator('artifactStore', CfnPipeline_ArtifactStorePropertyValidator)(properties.artifactStore)); errors.collect(cdk.propertyValidator('region', cdk.requiredValidator)(properties.region)); errors.collect(cdk.propertyValidator('region', cdk.validateString)(properties.region)); return errors.wrap('supplied properties not correct for "ArtifactStoreMapProperty"'); } /** * Renders the AWS CloudFormation properties of an `AWS::CodePipeline::Pipeline.ArtifactStoreMap` resource * * @param properties - the TypeScript properties of a `ArtifactStoreMapProperty` * * @returns the AWS CloudFormation properties of an `AWS::CodePipeline::Pipeline.ArtifactStoreMap` resource. */ // @ts-ignore TS6133 function cfnPipelineArtifactStoreMapPropertyToCloudFormation(properties) { if (!cdk.canInspect(properties)) { return properties; } CfnPipeline_ArtifactStoreMapPropertyValidator(properties).assertSuccess(); return { ArtifactStore: cfnPipelineArtifactStorePropertyToCloudFormation(properties.artifactStore), Region: cdk.stringToCloudFormation(properties.region), }; } // @ts-ignore TS6133 function CfnPipelineArtifactStoreMapPropertyFromCloudFormation(properties) { if (cdk.isResolvableObject(properties)) { return new cfn_parse.FromCloudFormationResult(properties); } properties = properties == null ? {} : properties; if (typeof properties !== 'object') { return new cfn_parse.FromCloudFormationResult(properties); } const ret = new cfn_parse.FromCloudFormationPropertyObject(); ret.addPropertyResult('artifactStore', 'ArtifactStore', CfnPipelineArtifactStorePropertyFromCloudFormation(properties.ArtifactStore)); ret.addPropertyResult('region', 'Region', cfn_parse.FromCloudFormation.getString(properties.Region)); ret.addUnrecognizedPropertiesAsExtra(properties); return ret; } /** * Determine whether the given properties match those of a `BlockerDeclarationProperty` * * @param properties - the TypeScript properties of a `BlockerDeclarationProperty` * * @returns the result of the validation. */ function CfnPipeline_BlockerDeclarationPropertyValidator(properties) { if (!cdk.canInspect(properties)) { return cdk.VALIDATION_SUCCESS; } const errors = new cdk.ValidationResults(); if (typeof properties !== 'object') { errors.collect(new cdk.ValidationResult('Expected an object, but received: ' + JSON.stringify(properties))); } errors.collect(cdk.propertyValidator('name', cdk.requiredValidator)(properties.name)); errors.collect(cdk.propertyValidator('name', cdk.validateString)(properties.name)); errors.collect(cdk.propertyValidator('type', cdk.requiredValidator)(properties.type)); errors.collect(cdk.propertyValidator('type', cdk.validateString)(properties.type)); return errors.wrap('supplied properties not correct for "BlockerDeclarationProperty"'); } /** * Renders the AWS CloudFormation properties of an `AWS::CodePipeline::Pipeline.BlockerDeclaration` resource * * @param properties - the TypeScript properties of a `BlockerDeclarationProperty` * * @returns the AWS CloudFormation properties of an `AWS::CodePipeline::Pipeline.BlockerDeclaration` resource. */ // @ts-ignore TS6133 function cfnPipelineBlockerDeclarationPropertyToCloudFormation(properties) { if (!cdk.canInspect(properties)) { return properties; } CfnPipeline_BlockerDeclarationPropertyValidator(properties).assertSuccess(); return { Name: cdk.stringToCloudFormation(properties.name), Type: cdk.stringToCloudFormation(properties.type), }; } // @ts-ignore TS6133 function CfnPipelineBlockerDeclarationPropertyFromCloudFormation(properties) { if (cdk.isResolvableObject(properties)) { return new cfn_parse.FromCloudFormationResult(properties); } properties = properties == null ? {} : properties; if (typeof properties !== 'object') { return new cfn_parse.FromCloudFormationResult(properties); } const ret = new cfn_parse.FromCloudFormationPropertyObject(); ret.addPropertyResult('name', 'Name', cfn_parse.FromCloudFormation.getString(properties.Name)); ret.addPropertyResult('type', 'Type', cfn_parse.FromCloudFormation.getString(properties.Type)); ret.addUnrecognizedPropertiesAsExtra(properties); return ret; } /** * Determine whether the given properties match those of a `EncryptionKeyProperty` * * @param properties - the TypeScript properties of a `EncryptionKeyProperty` * * @returns the result of the validation. */ function CfnPipeline_EncryptionKeyPropertyValidator(properties) { if (!cdk.canInspect(properties)) { return cdk.VALIDATION_SUCCESS; } const errors = new cdk.ValidationResults(); if (typeof properties !== 'object') { errors.collect(new cdk.ValidationResult('Expected an object, but received: ' + JSON.stringify(properties))); } errors.collect(cdk.propertyValidator('id', cdk.requiredValidator)(properties.id)); errors.collect(cdk.propertyValidator('id', cdk.validateString)(properties.id)); errors.collect(cdk.propertyValidator('type', cdk.requiredValidator)(properties.type)); errors.collect(cdk.propertyValidator('type', cdk.validateString)(properties.type)); return errors.wrap('supplied properties not correct for "EncryptionKeyProperty"'); } /** * Renders the AWS CloudFormation properties of an `AWS::CodePipeline::Pipeline.EncryptionKey` resource * * @param properties - the TypeScript properties of a `EncryptionKeyProperty` * * @returns the AWS CloudFormation properties of an `AWS::CodePipeline::Pipeline.EncryptionKey` resource. */ // @ts-ignore TS6133 function cfnPipelineEncryptionKeyPropertyToCloudFormation(properties) { if (!cdk.canInspect(properties)) { return properties; } CfnPipeline_EncryptionKeyPropertyValidator(properties).assertSuccess(); return { Id: cdk.stringToCloudFormation(properties.id), Type: cdk.stringToCloudFormation(properties.type), }; } // @ts-ignore TS6133 function CfnPipelineEncryptionKeyPropertyFromCloudFormation(properties) { if (cdk.isResolvableObject(properties)) { return new cfn_parse.FromCloudFormationResult(properties); } properties = properties == null ? {} : properties; if (typeof properties !== 'object') { return new cfn_parse.FromCloudFormationResult(properties); } const ret = new cfn_parse.FromCloudFormationPropertyObject(); ret.addPropertyResult('id', 'Id', cfn_parse.FromCloudFormation.getString(properties.Id)); ret.addPropertyResult('type', 'Type', cfn_parse.FromCloudFormation.getString(properties.Type)); ret.addUnrecognizedPropertiesAsExtra(properties); return ret; } /** * Determine whether the given properties match those of a `InputArtifactProperty` * * @param properties - the TypeScript properties of a `InputArtifactProperty` * * @returns the result of the validation. */ function CfnPipeline_InputArtifactPropertyValidator(properties) { if (!cdk.canInspect(properties)) { return cdk.VALIDATION_SUCCESS; } const errors = new cdk.ValidationResults(); if (typeof properties !== 'object') { errors.collect(new cdk.ValidationResult('Expected an object, but received: ' + JSON.stringify(properties))); } errors.collect(cdk.propertyValidator('name', cdk.requiredValidator)(properties.name)); errors.collect(cdk.propertyValidator('name', cdk.validateString)(properties.name)); return errors.wrap('supplied properties not correct for "InputArtifactProperty"'); } /** * Renders the AWS CloudFormation properties of an `AWS::CodePipeline::Pipeline.InputArtifact` resource * * @param properties - the TypeScript properties of a `InputArtifactProperty` * * @returns the AWS CloudFormation properties of an `AWS::CodePipeline::Pipeline.InputArtifa