github.com/Foodji/aws-lambda-go@v1.20.2/events/codepipeline_job.go (about)

     1  // Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     2  
     3  package events
     4  
     5  // CodePipelineEvent contains data from an event sent from AWS Codepipeline
     6  type CodePipelineEvent struct {
     7  	CodePipelineJob CodePipelineJob `json:"CodePipeline.job"`
     8  }
     9  
    10  // CodePipelineJob represents a job from an AWS CodePipeline event
    11  type CodePipelineJob struct {
    12  	ID        string           `json:"id"`
    13  	AccountID string           `json:"accountId"`
    14  	Data      CodePipelineData `json:"data"`
    15  }
    16  
    17  // CodePipelineData represents a job from an AWS CodePipeline event
    18  type CodePipelineData struct {
    19  	ActionConfiguration CodePipelineActionConfiguration `json:"actionConfiguration"`
    20  	InputArtifacts      []CodePipelineInputArtifact     `json:"inputArtifacts"`
    21  	OutPutArtifacts     []CodePipelineOutputArtifact    `json:"outputArtifacts"`
    22  	ArtifactCredentials CodePipelineArtifactCredentials `json:"artifactCredentials"`
    23  	ContinuationToken   string                          `json:"continuationToken"`
    24  }
    25  
    26  // CodePipelineActionConfiguration represents an Action Configuration
    27  type CodePipelineActionConfiguration struct {
    28  	Configuration CodePipelineConfiguration `json:"configuration"`
    29  }
    30  
    31  // CodePipelineConfiguration represents a configuration for an Action Configuration
    32  type CodePipelineConfiguration struct {
    33  	FunctionName   string `json:"FunctionName"`
    34  	UserParameters string `json:"UserParameters"`
    35  }
    36  
    37  // CodePipelineInputArtifact represents an input artifact
    38  type CodePipelineInputArtifact struct {
    39  	Location CodePipelineInputLocation `json:"location"`
    40  	Revision *string                   `json:"revision"`
    41  	Name     string                    `json:"name"`
    42  }
    43  
    44  // CodePipelineInputLocation represents a input location
    45  type CodePipelineInputLocation struct {
    46  	S3Location   CodePipelineS3Location `json:"s3Location"`
    47  	LocationType string                 `json:"type"`
    48  }
    49  
    50  // CodePipelineS3Location represents an s3 input location
    51  type CodePipelineS3Location struct {
    52  	BucketName string `json:"bucketName"`
    53  	ObjectKey  string `json:"objectKey"`
    54  }
    55  
    56  // CodePipelineOutputArtifact represents an output artifact
    57  type CodePipelineOutputArtifact struct {
    58  	Location CodePipelineInputLocation `json:"location"`
    59  	Revision *string                   `json:"revision"`
    60  	Name     string                    `json:"name"`
    61  }
    62  
    63  // CodePipelineOutputLocation represents a output location
    64  type CodePipelineOutputLocation struct {
    65  	S3Location   CodePipelineS3Location `json:"s3Location"`
    66  	LocationType string                 `json:"type"`
    67  }
    68  
    69  // CodePipelineArtifactCredentials represents CodePipeline artifact credentials
    70  type CodePipelineArtifactCredentials struct {
    71  	SecretAccessKey string `json:"secretAccessKey"`
    72  	SessionToken    string `json:"sessionToken"`
    73  	AccessKeyID     string `json:"accessKeyId"`
    74  }