import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class OutputArtifact { Name ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class StageTransition { Reason ! : Value < string > ; StageName ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class InputArtifact { Name ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class BlockerDeclaration { Name ! : Value < string > ; Type ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ArtifactStoreMap { ArtifactStore ! : ArtifactStore ; Region ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EncryptionKey { Id ! : Value < string > ; Type ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ActionDeclaration { ActionTypeId ! : ActionTypeId ; Configuration ? : { [ key ] : any ; } ; InputArtifacts ? : List < InputArtifact > ; Name ! : Value < string > ; Namespace ? : Value < string > ; OutputArtifacts ? : List < OutputArtifact > ; Region ? : Value < string > ; RoleArn ? : Value < string > ; RunOrder ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class StageDeclaration { Actions ! : List < ActionDeclaration > ; Blockers ? : List < BlockerDeclaration > ; Name ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ArtifactStore { EncryptionKey ? : EncryptionKey ; Location ! : Value < string > ; Type ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ActionTypeId { Category ! : Value < string > ; Owner ! : Value < string > ; Provider ! : Value < string > ; Version ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface PipelineProperties { ArtifactStore ? : ArtifactStore ; ArtifactStores ? : List < ArtifactStoreMap > ; DisableInboundStageTransitions ? : List < StageTransition > ; Name ? : Value < string > ; RestartExecutionOnUpdate ? : Value < boolean > ; RoleArn : Value < string > ; Stages : List < StageDeclaration > ; Tags ? : List < ResourceTag > ; } export default class Pipeline extends ResourceBase < PipelineProperties > { static OutputArtifact = OutputArtifact ; static StageTransition = StageTransition ; static InputArtifact = InputArtifact ; static BlockerDeclaration = BlockerDeclaration ; static ArtifactStoreMap = ArtifactStoreMap ; static EncryptionKey = EncryptionKey ; static ActionDeclaration = ActionDeclaration ; static StageDeclaration = StageDeclaration ; static ArtifactStore = ArtifactStore ; static ActionTypeId = ActionTypeId ; constructor ( properties ) { super ( 'AWS::CodePipeline::Pipeline' , properties ) ; } }