AWS CodePipeline

2015/08/25 - AWS CodePipeline - 6 updated api methods

CreatePipeline (updated) Link ¶
Changes (both)
{'pipeline': {'artifactStore': {'encryptionKey': {'id': 'string',
                                                  'type': 'KMS'}}}}

Creates a pipeline.

Request Syntax

client.create_pipeline(
    pipeline={
        'name': 'string',
        'roleArn': 'string',
        'artifactStore': {
            'type': 'S3',
            'location': 'string',
            'encryptionKey': {
                'id': 'string',
                'type': 'KMS'
            }
        },
        'stages': [
            {
                'name': 'string',
                'blockers': [
                    {
                        'name': 'string',
                        'type': 'Schedule'
                    },
                ],
                'actions': [
                    {
                        'name': 'string',
                        'actionTypeId': {
                            'category': 'Source'|'Build'|'Deploy'|'Test'|'Invoke',
                            'owner': 'AWS'|'ThirdParty'|'Custom',
                            'provider': 'string',
                            'version': 'string'
                        },
                        'runOrder': 123,
                        'configuration': {
                            'string': 'string'
                        },
                        'outputArtifacts': [
                            {
                                'name': 'string'
                            },
                        ],
                        'inputArtifacts': [
                            {
                                'name': 'string'
                            },
                        ],
                        'roleArn': 'string'
                    },
                ]
            },
        ],
        'version': 123
    }
)
type pipeline

dict

param pipeline

[REQUIRED]

Represents the structure of actions and stages to be performed in the pipeline.

  • name (string) -- [REQUIRED]

    The name of the action to be performed.

  • roleArn (string) -- [REQUIRED]

    The Amazon Resource Name (ARN) for AWS CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn.

  • artifactStore (dict) -- [REQUIRED]

    The Amazon S3 location where artifacts are stored for the pipeline. If this Amazon S3 bucket is created manually, it must meet the requirements for AWS CodePipeline. For more information, see the Concepts.

    • type (string) -- [REQUIRED]

      The type of the artifact store, such as S3.

    • location (string) -- [REQUIRED]

      The location for storing the artifacts for a pipeline, such as an S3 bucket or folder.

    • encryptionKey (dict) --

      The AWS Key Management Service (AWS KMS) key used to encrypt the data in the artifact store. If this is undefined, the default key for Amazon S3 is used.

      • id (string) -- [REQUIRED]

        The ID of the AWS KMS key.

      • type (string) -- [REQUIRED]

        The type of AWS KMS key, such as a customer master key.

  • stages (list) -- [REQUIRED]

    The stage in which to perform the action.

    • (dict) --

      Represents information about a stage and its definition.

      • name (string) -- [REQUIRED]

        The name of the stage.

      • blockers (list) --

        The gates included in a stage.

        • (dict) --

          Represents information about a gate declaration.

          • name (string) -- [REQUIRED]

            The name of the gate declaration.

          • type (string) -- [REQUIRED]

            The type of the gate declaration.

      • actions (list) -- [REQUIRED]

        The actions included in a stage.

        • (dict) --

          Represents information about an action declaration.

          • name (string) -- [REQUIRED]

            The action declaration's name.

          • actionTypeId (dict) -- [REQUIRED]

            The configuration information for the action type.

            • category (string) -- [REQUIRED]

              A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.

            • owner (string) -- [REQUIRED]

              The creator of the action being called.

            • provider (string) -- [REQUIRED]

              The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy.

            • version (string) -- [REQUIRED]

              A string that identifies the action type.

          • runOrder (integer) --

            The order in which actions are run.

          • configuration (dict) --

            The action declaration's configuration.

            • (string) --

              • (string) --

          • outputArtifacts (list) --

            The name or ID of the result of the action declaration, such as a test or build artifact.

            • (dict) --

              Represents information about the output of an action.

              • name (string) -- [REQUIRED]

                The name of the output of an artifact, such as "My App".

                The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.

                Output artifact names must be unique within a pipeline.

          • inputArtifacts (list) --

            The name or ID of the artifact consumed by the action, such as a test or build artifact.

            • (dict) --

              Represents information about an artifact to be worked on, such as a test or build artifact.

              • name (string) -- [REQUIRED]

                The name of the artifact to be worked on, for example, "My App".

                The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.

          • roleArn (string) --

            The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.

  • version (integer) --

    The version number of the pipeline. A new pipeline always has a version number of 1. This number is automatically incremented when a pipeline is updated.

rtype

dict

returns

Response Syntax

{
    'pipeline': {
        'name': 'string',
        'roleArn': 'string',
        'artifactStore': {
            'type': 'S3',
            'location': 'string',
            'encryptionKey': {
                'id': 'string',
                'type': 'KMS'
            }
        },
        'stages': [
            {
                'name': 'string',
                'blockers': [
                    {
                        'name': 'string',
                        'type': 'Schedule'
                    },
                ],
                'actions': [
                    {
                        'name': 'string',
                        'actionTypeId': {
                            'category': 'Source'|'Build'|'Deploy'|'Test'|'Invoke',
                            'owner': 'AWS'|'ThirdParty'|'Custom',
                            'provider': 'string',
                            'version': 'string'
                        },
                        'runOrder': 123,
                        'configuration': {
                            'string': 'string'
                        },
                        'outputArtifacts': [
                            {
                                'name': 'string'
                            },
                        ],
                        'inputArtifacts': [
                            {
                                'name': 'string'
                            },
                        ],
                        'roleArn': 'string'
                    },
                ]
            },
        ],
        'version': 123
    }
}

Response Structure

  • (dict) --

    Represents the output of a create pipeline action.

    • pipeline (dict) --

      Represents the structure of actions and stages to be performed in the pipeline.

      • name (string) --

        The name of the action to be performed.

      • roleArn (string) --

        The Amazon Resource Name (ARN) for AWS CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn.

      • artifactStore (dict) --

        The Amazon S3 location where artifacts are stored for the pipeline. If this Amazon S3 bucket is created manually, it must meet the requirements for AWS CodePipeline. For more information, see the Concepts.

        • type (string) --

          The type of the artifact store, such as S3.

        • location (string) --

          The location for storing the artifacts for a pipeline, such as an S3 bucket or folder.

        • encryptionKey (dict) --

          The AWS Key Management Service (AWS KMS) key used to encrypt the data in the artifact store. If this is undefined, the default key for Amazon S3 is used.

          • id (string) --

            The ID of the AWS KMS key.

          • type (string) --

            The type of AWS KMS key, such as a customer master key.

      • stages (list) --

        The stage in which to perform the action.

        • (dict) --

          Represents information about a stage and its definition.

          • name (string) --

            The name of the stage.

          • blockers (list) --

            The gates included in a stage.

            • (dict) --

              Represents information about a gate declaration.

              • name (string) --

                The name of the gate declaration.

              • type (string) --

                The type of the gate declaration.

          • actions (list) --

            The actions included in a stage.

            • (dict) --

              Represents information about an action declaration.

              • name (string) --

                The action declaration's name.

              • actionTypeId (dict) --

                The configuration information for the action type.

                • category (string) --

                  A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.

                • owner (string) --

                  The creator of the action being called.

                • provider (string) --

                  The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy.

                • version (string) --

                  A string that identifies the action type.

              • runOrder (integer) --

                The order in which actions are run.

              • configuration (dict) --

                The action declaration's configuration.

                • (string) --

                  • (string) --

              • outputArtifacts (list) --

                The name or ID of the result of the action declaration, such as a test or build artifact.

                • (dict) --

                  Represents information about the output of an action.

                  • name (string) --

                    The name of the output of an artifact, such as "My App".

                    The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.

                    Output artifact names must be unique within a pipeline.

              • inputArtifacts (list) --

                The name or ID of the artifact consumed by the action, such as a test or build artifact.

                • (dict) --

                  Represents information about an artifact to be worked on, such as a test or build artifact.

                  • name (string) --

                    The name of the artifact to be worked on, for example, "My App".

                    The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.

              • roleArn (string) --

                The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.

      • version (integer) --

        The version number of the pipeline. A new pipeline always has a version number of 1. This number is automatically incremented when a pipeline is updated.

GetJobDetails (updated) Link ¶
Changes (response)
{'jobDetails': {'data': {'encryptionKey': {'id': 'string', 'type': 'KMS'}}}}

Returns information about a job. Only used for custom actions.

Warning

When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.

Request Syntax

client.get_job_details(
    jobId='string'
)
type jobId

string

param jobId

[REQUIRED]

The unique system-generated ID for the job.

rtype

dict

returns

Response Syntax

{
    'jobDetails': {
        'id': 'string',
        'data': {
            'actionTypeId': {
                'category': 'Source'|'Build'|'Deploy'|'Test'|'Invoke',
                'owner': 'AWS'|'ThirdParty'|'Custom',
                'provider': 'string',
                'version': 'string'
            },
            'actionConfiguration': {
                'configuration': {
                    'string': 'string'
                }
            },
            'pipelineContext': {
                'pipelineName': 'string',
                'stage': {
                    'name': 'string'
                },
                'action': {
                    'name': 'string'
                }
            },
            'inputArtifacts': [
                {
                    'name': 'string',
                    'revision': 'string',
                    'location': {
                        'type': 'S3',
                        's3Location': {
                            'bucketName': 'string',
                            'objectKey': 'string'
                        }
                    }
                },
            ],
            'outputArtifacts': [
                {
                    'name': 'string',
                    'revision': 'string',
                    'location': {
                        'type': 'S3',
                        's3Location': {
                            'bucketName': 'string',
                            'objectKey': 'string'
                        }
                    }
                },
            ],
            'artifactCredentials': {
                'accessKeyId': 'string',
                'secretAccessKey': 'string',
                'sessionToken': 'string'
            },
            'continuationToken': 'string',
            'encryptionKey': {
                'id': 'string',
                'type': 'KMS'
            }
        },
        'accountId': 'string'
    }
}

Response Structure

  • (dict) --

    Represents the output of a get job details action.

    • jobDetails (dict) --

      The details of the job.

      Note

      If AWSSessionCredentials is used, a long-running job can call GetJobDetails again to obtain new credentials.

      • id (string) --

        The unique system-generated ID of the job.

      • data (dict) --

        Represents additional information about a job required for a job worker to complete the job.

        • actionTypeId (dict) --

          Represents information about an action type.

          • category (string) --

            A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.

          • owner (string) --

            The creator of the action being called.

          • provider (string) --

            The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy.

          • version (string) --

            A string that identifies the action type.

        • actionConfiguration (dict) --

          Represents information about an action configuration.

          • configuration (dict) --

            The configuration data for the action.

            • (string) --

              • (string) --

        • pipelineContext (dict) --

          Represents information about a pipeline to a job worker.

          • pipelineName (string) --

            The name of the pipeline. This is a user-specified value. Pipeline names must be unique across all pipeline names under an Amazon Web Services account.

          • stage (dict) --

            The stage of the pipeline.

            • name (string) --

              The name of the stage.

          • action (dict) --

            Represents the context of an action within the stage of a pipeline to a job worker.

            • name (string) --

              The name of the action within the context of a job.

        • inputArtifacts (list) --

          The artifact supplied to the job.

          • (dict) --

            Represents information about an artifact that will be worked upon by actions in the pipeline.

            • name (string) --

              The artifact's name.

            • revision (string) --

              The artifact's revision ID. Depending on the type of object, this could be a commit ID (GitHub) or a revision ID (Amazon S3).

            • location (dict) --

              The location of an artifact.

              • type (string) --

                The type of artifact in the location.

              • s3Location (dict) --

                The Amazon S3 bucket that contains the artifact.

                • bucketName (string) --

                  The name of the Amazon S3 bucket.

                • objectKey (string) --

                  The key of the object in the Amazon S3 bucket, which uniquely identifies the object in the bucket.

        • outputArtifacts (list) --

          The output of the job.

          • (dict) --

            Represents information about an artifact that will be worked upon by actions in the pipeline.

            • name (string) --

              The artifact's name.

            • revision (string) --

              The artifact's revision ID. Depending on the type of object, this could be a commit ID (GitHub) or a revision ID (Amazon S3).

            • location (dict) --

              The location of an artifact.

              • type (string) --

                The type of artifact in the location.

              • s3Location (dict) --

                The Amazon S3 bucket that contains the artifact.

                • bucketName (string) --

                  The name of the Amazon S3 bucket.

                • objectKey (string) --

                  The key of the object in the Amazon S3 bucket, which uniquely identifies the object in the bucket.

        • artifactCredentials (dict) --

          Represents an AWS session credentials object. These credentials are temporary credentials that are issued by AWS Secure Token Service (STS). They can be used to access input and output artifacts in the Amazon S3 bucket used to store artifact for the pipeline in AWS CodePipeline.

          • accessKeyId (string) --

            The access key for the session.

          • secretAccessKey (string) --

            The secret access key for the session.

          • sessionToken (string) --

            The token for the session.

        • continuationToken (string) --

          A system-generated token, such as a AWS CodeDeploy deployment ID, that a job requires in order to continue the job asynchronously.

        • encryptionKey (dict) --

          Represents information about the AWS Key Management Service (AWS KMS) key used to encrypt data in the artifact store.

          • id (string) --

            The ID of the AWS KMS key.

          • type (string) --

            The type of AWS KMS key, such as a customer master key.

      • accountId (string) --

        The AWS account ID associated with the job.

GetPipeline (updated) Link ¶
Changes (response)
{'pipeline': {'artifactStore': {'encryptionKey': {'id': 'string',
                                                  'type': 'KMS'}}}}

Returns the metadata, structure, stages, and actions of a pipeline. Can be used to return the entire structure of a pipeline in JSON format, which can then be modified and used to update the pipeline structure with UpdatePipeline.

Request Syntax

client.get_pipeline(
    name='string',
    version=123
)
type name

string

param name

[REQUIRED]

The name of the pipeline for which you want to get information. Pipeline names must be unique under an Amazon Web Services (AWS) user account.

type version

integer

param version

The version number of the pipeline. If you do not specify a version, defaults to the most current version.

rtype

dict

returns

Response Syntax

{
    'pipeline': {
        'name': 'string',
        'roleArn': 'string',
        'artifactStore': {
            'type': 'S3',
            'location': 'string',
            'encryptionKey': {
                'id': 'string',
                'type': 'KMS'
            }
        },
        'stages': [
            {
                'name': 'string',
                'blockers': [
                    {
                        'name': 'string',
                        'type': 'Schedule'
                    },
                ],
                'actions': [
                    {
                        'name': 'string',
                        'actionTypeId': {
                            'category': 'Source'|'Build'|'Deploy'|'Test'|'Invoke',
                            'owner': 'AWS'|'ThirdParty'|'Custom',
                            'provider': 'string',
                            'version': 'string'
                        },
                        'runOrder': 123,
                        'configuration': {
                            'string': 'string'
                        },
                        'outputArtifacts': [
                            {
                                'name': 'string'
                            },
                        ],
                        'inputArtifacts': [
                            {
                                'name': 'string'
                            },
                        ],
                        'roleArn': 'string'
                    },
                ]
            },
        ],
        'version': 123
    }
}

Response Structure

  • (dict) --

    Represents the output of a get pipeline action.

    • pipeline (dict) --

      Represents the structure of actions and stages to be performed in the pipeline.

      • name (string) --

        The name of the action to be performed.

      • roleArn (string) --

        The Amazon Resource Name (ARN) for AWS CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn.

      • artifactStore (dict) --

        The Amazon S3 location where artifacts are stored for the pipeline. If this Amazon S3 bucket is created manually, it must meet the requirements for AWS CodePipeline. For more information, see the Concepts.

        • type (string) --

          The type of the artifact store, such as S3.

        • location (string) --

          The location for storing the artifacts for a pipeline, such as an S3 bucket or folder.

        • encryptionKey (dict) --

          The AWS Key Management Service (AWS KMS) key used to encrypt the data in the artifact store. If this is undefined, the default key for Amazon S3 is used.

          • id (string) --

            The ID of the AWS KMS key.

          • type (string) --

            The type of AWS KMS key, such as a customer master key.

      • stages (list) --

        The stage in which to perform the action.

        • (dict) --

          Represents information about a stage and its definition.

          • name (string) --

            The name of the stage.

          • blockers (list) --

            The gates included in a stage.

            • (dict) --

              Represents information about a gate declaration.

              • name (string) --

                The name of the gate declaration.

              • type (string) --

                The type of the gate declaration.

          • actions (list) --

            The actions included in a stage.

            • (dict) --

              Represents information about an action declaration.

              • name (string) --

                The action declaration's name.

              • actionTypeId (dict) --

                The configuration information for the action type.

                • category (string) --

                  A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.

                • owner (string) --

                  The creator of the action being called.

                • provider (string) --

                  The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy.

                • version (string) --

                  A string that identifies the action type.

              • runOrder (integer) --

                The order in which actions are run.

              • configuration (dict) --

                The action declaration's configuration.

                • (string) --

                  • (string) --

              • outputArtifacts (list) --

                The name or ID of the result of the action declaration, such as a test or build artifact.

                • (dict) --

                  Represents information about the output of an action.

                  • name (string) --

                    The name of the output of an artifact, such as "My App".

                    The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.

                    Output artifact names must be unique within a pipeline.

              • inputArtifacts (list) --

                The name or ID of the artifact consumed by the action, such as a test or build artifact.

                • (dict) --

                  Represents information about an artifact to be worked on, such as a test or build artifact.

                  • name (string) --

                    The name of the artifact to be worked on, for example, "My App".

                    The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.

              • roleArn (string) --

                The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.

      • version (integer) --

        The version number of the pipeline. A new pipeline always has a version number of 1. This number is automatically incremented when a pipeline is updated.

GetThirdPartyJobDetails (updated) Link ¶
Changes (response)
{'jobDetails': {'data': {'encryptionKey': {'id': 'string', 'type': 'KMS'}}}}

Requests the details of a job for a third party action. Only used for partner actions.

Warning

When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.

Request Syntax

client.get_third_party_job_details(
    jobId='string',
    clientToken='string'
)
type jobId

string

param jobId

[REQUIRED]

The unique system-generated ID used for identifying the job.

type clientToken

string

param clientToken

[REQUIRED]

The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

rtype

dict

returns

Response Syntax

{
    'jobDetails': {
        'id': 'string',
        'data': {
            'actionTypeId': {
                'category': 'Source'|'Build'|'Deploy'|'Test'|'Invoke',
                'owner': 'AWS'|'ThirdParty'|'Custom',
                'provider': 'string',
                'version': 'string'
            },
            'actionConfiguration': {
                'configuration': {
                    'string': 'string'
                }
            },
            'pipelineContext': {
                'pipelineName': 'string',
                'stage': {
                    'name': 'string'
                },
                'action': {
                    'name': 'string'
                }
            },
            'inputArtifacts': [
                {
                    'name': 'string',
                    'revision': 'string',
                    'location': {
                        'type': 'S3',
                        's3Location': {
                            'bucketName': 'string',
                            'objectKey': 'string'
                        }
                    }
                },
            ],
            'outputArtifacts': [
                {
                    'name': 'string',
                    'revision': 'string',
                    'location': {
                        'type': 'S3',
                        's3Location': {
                            'bucketName': 'string',
                            'objectKey': 'string'
                        }
                    }
                },
            ],
            'artifactCredentials': {
                'accessKeyId': 'string',
                'secretAccessKey': 'string',
                'sessionToken': 'string'
            },
            'continuationToken': 'string',
            'encryptionKey': {
                'id': 'string',
                'type': 'KMS'
            }
        },
        'nonce': 'string'
    }
}

Response Structure

  • (dict) --

    Represents the output of a get third party job details action.

    • jobDetails (dict) --

      The details of the job, including any protected values defined for the job.

      • id (string) --

        The identifier used to identify the job details in AWS CodePipeline.

      • data (dict) --

        The data to be returned by the third party job worker.

        • actionTypeId (dict) --

          Represents information about an action type.

          • category (string) --

            A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.

          • owner (string) --

            The creator of the action being called.

          • provider (string) --

            The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy.

          • version (string) --

            A string that identifies the action type.

        • actionConfiguration (dict) --

          Represents information about an action configuration.

          • configuration (dict) --

            The configuration data for the action.

            • (string) --

              • (string) --

        • pipelineContext (dict) --

          Represents information about a pipeline to a job worker.

          • pipelineName (string) --

            The name of the pipeline. This is a user-specified value. Pipeline names must be unique across all pipeline names under an Amazon Web Services account.

          • stage (dict) --

            The stage of the pipeline.

            • name (string) --

              The name of the stage.

          • action (dict) --

            Represents the context of an action within the stage of a pipeline to a job worker.

            • name (string) --

              The name of the action within the context of a job.

        • inputArtifacts (list) --

          The name of the artifact that will be worked upon by the action, if any. This name might be system-generated, such as "MyApp", or might be defined by the user when the action is created. The input artifact name must match the name of an output artifact generated by an action in an earlier action or stage of the pipeline.

          • (dict) --

            Represents information about an artifact that will be worked upon by actions in the pipeline.

            • name (string) --

              The artifact's name.

            • revision (string) --

              The artifact's revision ID. Depending on the type of object, this could be a commit ID (GitHub) or a revision ID (Amazon S3).

            • location (dict) --

              The location of an artifact.

              • type (string) --

                The type of artifact in the location.

              • s3Location (dict) --

                The Amazon S3 bucket that contains the artifact.

                • bucketName (string) --

                  The name of the Amazon S3 bucket.

                • objectKey (string) --

                  The key of the object in the Amazon S3 bucket, which uniquely identifies the object in the bucket.

        • outputArtifacts (list) --

          The name of the artifact that will be the result of the action, if any. This name might be system-generated, such as "MyBuiltApp", or might be defined by the user when the action is created.

          • (dict) --

            Represents information about an artifact that will be worked upon by actions in the pipeline.

            • name (string) --

              The artifact's name.

            • revision (string) --

              The artifact's revision ID. Depending on the type of object, this could be a commit ID (GitHub) or a revision ID (Amazon S3).

            • location (dict) --

              The location of an artifact.

              • type (string) --

                The type of artifact in the location.

              • s3Location (dict) --

                The Amazon S3 bucket that contains the artifact.

                • bucketName (string) --

                  The name of the Amazon S3 bucket.

                • objectKey (string) --

                  The key of the object in the Amazon S3 bucket, which uniquely identifies the object in the bucket.

        • artifactCredentials (dict) --

          Represents an AWS session credentials object. These credentials are temporary credentials that are issued by AWS Secure Token Service (STS). They can be used to access input and output artifacts in the Amazon S3 bucket used to store artifact for the pipeline in AWS CodePipeline.

          • accessKeyId (string) --

            The access key for the session.

          • secretAccessKey (string) --

            The secret access key for the session.

          • sessionToken (string) --

            The token for the session.

        • continuationToken (string) --

          A system-generated token, such as a AWS CodeDeploy deployment ID, that a job requires in order to continue the job asynchronously.

        • encryptionKey (dict) --

          The AWS Key Management Service (AWS KMS) key used to encrypt and decrypt data in the artifact store for the pipeline.

          • id (string) --

            The ID of the AWS KMS key.

          • type (string) --

            The type of AWS KMS key, such as a customer master key.

      • nonce (string) --

        A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. This number must be returned in the response.

PollForJobs (updated) Link ¶
Changes (response)
{'jobs': {'data': {'encryptionKey': {'id': 'string', 'type': 'KMS'}}}}

Returns information about any jobs for AWS CodePipeline to act upon.

Warning

When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.

Request Syntax

client.poll_for_jobs(
    actionTypeId={
        'category': 'Source'|'Build'|'Deploy'|'Test'|'Invoke',
        'owner': 'AWS'|'ThirdParty'|'Custom',
        'provider': 'string',
        'version': 'string'
    },
    maxBatchSize=123,
    queryParam={
        'string': 'string'
    }
)
type actionTypeId

dict

param actionTypeId

[REQUIRED]

Represents information about an action type.

  • category (string) -- [REQUIRED]

    A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.

  • owner (string) -- [REQUIRED]

    The creator of the action being called.

  • provider (string) -- [REQUIRED]

    The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy.

  • version (string) -- [REQUIRED]

    A string that identifies the action type.

type maxBatchSize

integer

param maxBatchSize

The maximum number of jobs to return in a poll for jobs call.

type queryParam

dict

param queryParam

A map of property names and values. For an action type with no queryable properties, this value must be null or an empty map. For an action type with a queryable property, you must supply that property as a key in the map. Only jobs whose action configuration matches the mapped value will be returned.

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{
    'jobs': [
        {
            'id': 'string',
            'data': {
                'actionTypeId': {
                    'category': 'Source'|'Build'|'Deploy'|'Test'|'Invoke',
                    'owner': 'AWS'|'ThirdParty'|'Custom',
                    'provider': 'string',
                    'version': 'string'
                },
                'actionConfiguration': {
                    'configuration': {
                        'string': 'string'
                    }
                },
                'pipelineContext': {
                    'pipelineName': 'string',
                    'stage': {
                        'name': 'string'
                    },
                    'action': {
                        'name': 'string'
                    }
                },
                'inputArtifacts': [
                    {
                        'name': 'string',
                        'revision': 'string',
                        'location': {
                            'type': 'S3',
                            's3Location': {
                                'bucketName': 'string',
                                'objectKey': 'string'
                            }
                        }
                    },
                ],
                'outputArtifacts': [
                    {
                        'name': 'string',
                        'revision': 'string',
                        'location': {
                            'type': 'S3',
                            's3Location': {
                                'bucketName': 'string',
                                'objectKey': 'string'
                            }
                        }
                    },
                ],
                'artifactCredentials': {
                    'accessKeyId': 'string',
                    'secretAccessKey': 'string',
                    'sessionToken': 'string'
                },
                'continuationToken': 'string',
                'encryptionKey': {
                    'id': 'string',
                    'type': 'KMS'
                }
            },
            'nonce': 'string',
            'accountId': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    Represents the output of a poll for jobs action.

    • jobs (list) --

      Information about the jobs to take action on.

      • (dict) --

        Represents information about a job.

        • id (string) --

          The unique system-generated ID of the job.

        • data (dict) --

          Additional data about a job.

          • actionTypeId (dict) --

            Represents information about an action type.

            • category (string) --

              A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.

            • owner (string) --

              The creator of the action being called.

            • provider (string) --

              The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy.

            • version (string) --

              A string that identifies the action type.

          • actionConfiguration (dict) --

            Represents information about an action configuration.

            • configuration (dict) --

              The configuration data for the action.

              • (string) --

                • (string) --

          • pipelineContext (dict) --

            Represents information about a pipeline to a job worker.

            • pipelineName (string) --

              The name of the pipeline. This is a user-specified value. Pipeline names must be unique across all pipeline names under an Amazon Web Services account.

            • stage (dict) --

              The stage of the pipeline.

              • name (string) --

                The name of the stage.

            • action (dict) --

              Represents the context of an action within the stage of a pipeline to a job worker.

              • name (string) --

                The name of the action within the context of a job.

          • inputArtifacts (list) --

            The artifact supplied to the job.

            • (dict) --

              Represents information about an artifact that will be worked upon by actions in the pipeline.

              • name (string) --

                The artifact's name.

              • revision (string) --

                The artifact's revision ID. Depending on the type of object, this could be a commit ID (GitHub) or a revision ID (Amazon S3).

              • location (dict) --

                The location of an artifact.

                • type (string) --

                  The type of artifact in the location.

                • s3Location (dict) --

                  The Amazon S3 bucket that contains the artifact.

                  • bucketName (string) --

                    The name of the Amazon S3 bucket.

                  • objectKey (string) --

                    The key of the object in the Amazon S3 bucket, which uniquely identifies the object in the bucket.

          • outputArtifacts (list) --

            The output of the job.

            • (dict) --

              Represents information about an artifact that will be worked upon by actions in the pipeline.

              • name (string) --

                The artifact's name.

              • revision (string) --

                The artifact's revision ID. Depending on the type of object, this could be a commit ID (GitHub) or a revision ID (Amazon S3).

              • location (dict) --

                The location of an artifact.

                • type (string) --

                  The type of artifact in the location.

                • s3Location (dict) --

                  The Amazon S3 bucket that contains the artifact.

                  • bucketName (string) --

                    The name of the Amazon S3 bucket.

                  • objectKey (string) --

                    The key of the object in the Amazon S3 bucket, which uniquely identifies the object in the bucket.

          • artifactCredentials (dict) --

            Represents an AWS session credentials object. These credentials are temporary credentials that are issued by AWS Secure Token Service (STS). They can be used to access input and output artifacts in the Amazon S3 bucket used to store artifact for the pipeline in AWS CodePipeline.

            • accessKeyId (string) --

              The access key for the session.

            • secretAccessKey (string) --

              The secret access key for the session.

            • sessionToken (string) --

              The token for the session.

          • continuationToken (string) --

            A system-generated token, such as a AWS CodeDeploy deployment ID, that a job requires in order to continue the job asynchronously.

          • encryptionKey (dict) --

            Represents information about the AWS Key Management Service (AWS KMS) key used to encrypt data in the artifact store.

            • id (string) --

              The ID of the AWS KMS key.

            • type (string) --

              The type of AWS KMS key, such as a customer master key.

        • nonce (string) --

          A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. This number must be returned in the response.

        • accountId (string) --

          The ID of the AWS account to use when performing the job.

UpdatePipeline (updated) Link ¶
Changes (both)
{'pipeline': {'artifactStore': {'encryptionKey': {'id': 'string',
                                                  'type': 'KMS'}}}}

Updates a specified pipeline with edits or changes to its structure. Use a JSON file with the pipeline structure in conjunction with UpdatePipeline to provide the full structure of the pipeline. Updating the pipeline increases the version number of the pipeline by 1.

Request Syntax

client.update_pipeline(
    pipeline={
        'name': 'string',
        'roleArn': 'string',
        'artifactStore': {
            'type': 'S3',
            'location': 'string',
            'encryptionKey': {
                'id': 'string',
                'type': 'KMS'
            }
        },
        'stages': [
            {
                'name': 'string',
                'blockers': [
                    {
                        'name': 'string',
                        'type': 'Schedule'
                    },
                ],
                'actions': [
                    {
                        'name': 'string',
                        'actionTypeId': {
                            'category': 'Source'|'Build'|'Deploy'|'Test'|'Invoke',
                            'owner': 'AWS'|'ThirdParty'|'Custom',
                            'provider': 'string',
                            'version': 'string'
                        },
                        'runOrder': 123,
                        'configuration': {
                            'string': 'string'
                        },
                        'outputArtifacts': [
                            {
                                'name': 'string'
                            },
                        ],
                        'inputArtifacts': [
                            {
                                'name': 'string'
                            },
                        ],
                        'roleArn': 'string'
                    },
                ]
            },
        ],
        'version': 123
    }
)
type pipeline

dict

param pipeline

[REQUIRED]

The name of the pipeline to be updated.

  • name (string) -- [REQUIRED]

    The name of the action to be performed.

  • roleArn (string) -- [REQUIRED]

    The Amazon Resource Name (ARN) for AWS CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn.

  • artifactStore (dict) -- [REQUIRED]

    The Amazon S3 location where artifacts are stored for the pipeline. If this Amazon S3 bucket is created manually, it must meet the requirements for AWS CodePipeline. For more information, see the Concepts.

    • type (string) -- [REQUIRED]

      The type of the artifact store, such as S3.

    • location (string) -- [REQUIRED]

      The location for storing the artifacts for a pipeline, such as an S3 bucket or folder.

    • encryptionKey (dict) --

      The AWS Key Management Service (AWS KMS) key used to encrypt the data in the artifact store. If this is undefined, the default key for Amazon S3 is used.

      • id (string) -- [REQUIRED]

        The ID of the AWS KMS key.

      • type (string) -- [REQUIRED]

        The type of AWS KMS key, such as a customer master key.

  • stages (list) -- [REQUIRED]

    The stage in which to perform the action.

    • (dict) --

      Represents information about a stage and its definition.

      • name (string) -- [REQUIRED]

        The name of the stage.

      • blockers (list) --

        The gates included in a stage.

        • (dict) --

          Represents information about a gate declaration.

          • name (string) -- [REQUIRED]

            The name of the gate declaration.

          • type (string) -- [REQUIRED]

            The type of the gate declaration.

      • actions (list) -- [REQUIRED]

        The actions included in a stage.

        • (dict) --

          Represents information about an action declaration.

          • name (string) -- [REQUIRED]

            The action declaration's name.

          • actionTypeId (dict) -- [REQUIRED]

            The configuration information for the action type.

            • category (string) -- [REQUIRED]

              A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.

            • owner (string) -- [REQUIRED]

              The creator of the action being called.

            • provider (string) -- [REQUIRED]

              The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy.

            • version (string) -- [REQUIRED]

              A string that identifies the action type.

          • runOrder (integer) --

            The order in which actions are run.

          • configuration (dict) --

            The action declaration's configuration.

            • (string) --

              • (string) --

          • outputArtifacts (list) --

            The name or ID of the result of the action declaration, such as a test or build artifact.

            • (dict) --

              Represents information about the output of an action.

              • name (string) -- [REQUIRED]

                The name of the output of an artifact, such as "My App".

                The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.

                Output artifact names must be unique within a pipeline.

          • inputArtifacts (list) --

            The name or ID of the artifact consumed by the action, such as a test or build artifact.

            • (dict) --

              Represents information about an artifact to be worked on, such as a test or build artifact.

              • name (string) -- [REQUIRED]

                The name of the artifact to be worked on, for example, "My App".

                The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.

          • roleArn (string) --

            The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.

  • version (integer) --

    The version number of the pipeline. A new pipeline always has a version number of 1. This number is automatically incremented when a pipeline is updated.

rtype

dict

returns

Response Syntax

{
    'pipeline': {
        'name': 'string',
        'roleArn': 'string',
        'artifactStore': {
            'type': 'S3',
            'location': 'string',
            'encryptionKey': {
                'id': 'string',
                'type': 'KMS'
            }
        },
        'stages': [
            {
                'name': 'string',
                'blockers': [
                    {
                        'name': 'string',
                        'type': 'Schedule'
                    },
                ],
                'actions': [
                    {
                        'name': 'string',
                        'actionTypeId': {
                            'category': 'Source'|'Build'|'Deploy'|'Test'|'Invoke',
                            'owner': 'AWS'|'ThirdParty'|'Custom',
                            'provider': 'string',
                            'version': 'string'
                        },
                        'runOrder': 123,
                        'configuration': {
                            'string': 'string'
                        },
                        'outputArtifacts': [
                            {
                                'name': 'string'
                            },
                        ],
                        'inputArtifacts': [
                            {
                                'name': 'string'
                            },
                        ],
                        'roleArn': 'string'
                    },
                ]
            },
        ],
        'version': 123
    }
}

Response Structure

  • (dict) --

    Represents the output of an update pipeline action.

    • pipeline (dict) --

      The structure of the updated pipeline.

      • name (string) --

        The name of the action to be performed.

      • roleArn (string) --

        The Amazon Resource Name (ARN) for AWS CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn.

      • artifactStore (dict) --

        The Amazon S3 location where artifacts are stored for the pipeline. If this Amazon S3 bucket is created manually, it must meet the requirements for AWS CodePipeline. For more information, see the Concepts.

        • type (string) --

          The type of the artifact store, such as S3.

        • location (string) --

          The location for storing the artifacts for a pipeline, such as an S3 bucket or folder.

        • encryptionKey (dict) --

          The AWS Key Management Service (AWS KMS) key used to encrypt the data in the artifact store. If this is undefined, the default key for Amazon S3 is used.

          • id (string) --

            The ID of the AWS KMS key.

          • type (string) --

            The type of AWS KMS key, such as a customer master key.

      • stages (list) --

        The stage in which to perform the action.

        • (dict) --

          Represents information about a stage and its definition.

          • name (string) --

            The name of the stage.

          • blockers (list) --

            The gates included in a stage.

            • (dict) --

              Represents information about a gate declaration.

              • name (string) --

                The name of the gate declaration.

              • type (string) --

                The type of the gate declaration.

          • actions (list) --

            The actions included in a stage.

            • (dict) --

              Represents information about an action declaration.

              • name (string) --

                The action declaration's name.

              • actionTypeId (dict) --

                The configuration information for the action type.

                • category (string) --

                  A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.

                • owner (string) --

                  The creator of the action being called.

                • provider (string) --

                  The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy.

                • version (string) --

                  A string that identifies the action type.

              • runOrder (integer) --

                The order in which actions are run.

              • configuration (dict) --

                The action declaration's configuration.

                • (string) --

                  • (string) --

              • outputArtifacts (list) --

                The name or ID of the result of the action declaration, such as a test or build artifact.

                • (dict) --

                  Represents information about the output of an action.

                  • name (string) --

                    The name of the output of an artifact, such as "My App".

                    The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.

                    Output artifact names must be unique within a pipeline.

              • inputArtifacts (list) --

                The name or ID of the artifact consumed by the action, such as a test or build artifact.

                • (dict) --

                  Represents information about an artifact to be worked on, such as a test or build artifact.

                  • name (string) --

                    The name of the artifact to be worked on, for example, "My App".

                    The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.

              • roleArn (string) --

                The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.

      • version (integer) --

        The version number of the pipeline. A new pipeline always has a version number of 1. This number is automatically incremented when a pipeline is updated.