AWS CodePipeline

2021/02/12 - AWS CodePipeline - 2 new 1 updated api methods

Changes  The release provides new GetActionType and UpdateActionType APIs for viewing and editing action types in CodePipeline.

UpdateActionType (new) Link ¶

Updates an action type that has been created with any supported integration model, where the action type is to be used by customers of the action type provider. Use a JSON file with the action definition and UpdateActionType to provide the full structure.

See also: AWS API Documentation

Request Syntax

client.update_action_type(
    actionType={
        'description': 'string',
        'executor': {
            'configuration': {
                'lambdaExecutorConfiguration': {
                    'lambdaFunctionArn': 'string'
                },
                'jobWorkerExecutorConfiguration': {
                    'pollingAccounts': [
                        'string',
                    ],
                    'pollingServicePrincipals': [
                        'string',
                    ]
                }
            },
            'type': 'JobWorker'|'Lambda',
            'policyStatementsTemplate': 'string',
            'jobTimeout': 123
        },
        'id': {
            'category': 'Source'|'Build'|'Deploy'|'Test'|'Invoke'|'Approval',
            'owner': 'string',
            'provider': 'string',
            'version': 'string'
        },
        'inputArtifactDetails': {
            'minimumCount': 123,
            'maximumCount': 123
        },
        'outputArtifactDetails': {
            'minimumCount': 123,
            'maximumCount': 123
        },
        'permissions': {
            'allowedAccounts': [
                'string',
            ]
        },
        'properties': [
            {
                'name': 'string',
                'optional': True|False,
                'key': True|False,
                'noEcho': True|False,
                'queryable': True|False,
                'description': 'string'
            },
        ],
        'urls': {
            'configurationUrl': 'string',
            'entityUrlTemplate': 'string',
            'executionUrlTemplate': 'string',
            'revisionUrlTemplate': 'string'
        }
    }
)
type actionType

dict

param actionType

The action type definition for the action type to be updated.

  • description (string) --

    The description for the action type to be updated.

  • executor (dict) -- [REQUIRED]

    Information about the executor for an action type that was created with any supported integration model.

    • configuration (dict) -- [REQUIRED]

      The action configuration properties for the action type. These properties are specified in the action definition when the action type is created.

      • lambdaExecutorConfiguration (dict) --

        Details about the Lambda executor of the action type.

        • lambdaFunctionArn (string) -- [REQUIRED]

          The ARN of the Lambda function used by the action engine.

      • jobWorkerExecutorConfiguration (dict) --

        Details about the JobWorker executor of the action type.

        • pollingAccounts (list) --

          The accounts in which the job worker is configured and might poll for jobs as part of the action execution.

          • (string) --

        • pollingServicePrincipals (list) --

          The service Principals in which the job worker is configured and might poll for jobs as part of the action execution.

          • (string) --

    • type (string) -- [REQUIRED]

      The integration model used to create and update the action type, such as the Lambda integration model. Each integration type has a related action engine, or executor. The available executor types are Lambda and JobWorker .

    • policyStatementsTemplate (string) --

      The policy statement that specifies the permissions in the CodePipeline customer’s account that are needed to successfully run an action execution.

      To grant permission to another account, specify the account ID as the Principal. For AWS services, the Principal is a domain-style identifier defined by the service, like codepipeline.amazonaws.com .

      Note

      The size of the passed JSON policy document cannot exceed 2048 characters.

    • jobTimeout (integer) --

      The timeout in seconds for the job. An action execution can consist of multiple jobs. This is the timeout for a single job, and not for the entire action execution.

  • id (dict) -- [REQUIRED]

    The action ID is composed of the action category, owner, provider, and version of the action type to be updated.

    • category (string) -- [REQUIRED]

      A category defines what kind of action can be taken in the stage. Valid categories are limited to one of the following values:

      • Source

      • Build

      • Test

      • Deploy

      • Approval

      • Invoke

    • owner (string) -- [REQUIRED]

      The creator of the action type being called. There are two valid values for the owner field: AWS and ThirdParty .

    • provider (string) -- [REQUIRED]

      The provider of the action type being called. The provider name is supplied when the action type is created.

    • version (string) -- [REQUIRED]

      A string that describes the action type version.

  • inputArtifactDetails (dict) -- [REQUIRED]

    Details for the artifacts, such as application files, to be worked on by the action. For example, the minimum and maximum number of input artifacts allowed.

    • minimumCount (integer) -- [REQUIRED]

      The minimum allowed number of artifacts that can be used with the action type. For example, you should specify a minimum and maximum of zero input artifacts for an action type with a category of source .

    • maximumCount (integer) -- [REQUIRED]

      The maximum allowed number of artifacts that can be used with the actiontype. For example, you should specify a minimum and maximum of zero input artifacts for an action type with a category of source .

  • outputArtifactDetails (dict) -- [REQUIRED]

    Details for the output artifacts, such as a built application, that are the result of the action. For example, the minimum and maximum number of output artifacts allowed.

    • minimumCount (integer) -- [REQUIRED]

      The minimum allowed number of artifacts that can be used with the action type. For example, you should specify a minimum and maximum of zero input artifacts for an action type with a category of source .

    • maximumCount (integer) -- [REQUIRED]

      The maximum allowed number of artifacts that can be used with the actiontype. For example, you should specify a minimum and maximum of zero input artifacts for an action type with a category of source .

  • permissions (dict) --

    Details identifying the accounts with permissions to use the action type.

    • allowedAccounts (list) -- [REQUIRED]

      A list of AWS account IDs with allow access to use the action type in their pipelines.

      • (string) --

  • properties (list) --

    The properties of the action type to be updated.

    • (dict) --

      Represents information about each property specified in the action configuration, such as the description and key name that display for the customer using the action type.

      • name (string) -- [REQUIRED]

        The property name. This represents a field name that is displayed to users.

      • optional (boolean) -- [REQUIRED]

        Whether the configuration property is an optional value.

      • key (boolean) -- [REQUIRED]

        Whether the configuration property is a key.

      • noEcho (boolean) -- [REQUIRED]

        Determines whether the field value entered by the customer is logged. If noEcho is true , the value is not shown in CloudTrail logs for the action execution.

      • queryable (boolean) --

        Indicates that the property is used with polling. An action type can have up to one queryable property. If it has one, that property must be both required and not secret.

      • description (string) --

        The description of the property that is displayed to users.

  • urls (dict) --

    The links associated with the action type to be updated.

    • configurationUrl (string) --

      The URL returned to the CodePipeline console that contains a link to the page where customers can configure the external action.

    • entityUrlTemplate (string) --

      The URL returned to the CodePipeline console that provides a deep link to the resources of the external system, such as a status page. This link is provided as part of the action display in the pipeline.

    • executionUrlTemplate (string) --

      The link to an execution page for the action type in progress. For example, for a CodeDeploy action, this link is shown on the pipeline view page in the CodePipeline console, and it links to a CodeDeploy status page.

    • revisionUrlTemplate (string) --

      The URL returned to the CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action.

returns

None

GetActionType (new) Link ¶

Returns information about an action type created for an external provider, where the action is to be used by customers of the external provider. The action can have been created with any supported integration model.

See also: AWS API Documentation

Request Syntax

client.get_action_type(
    category='Source'|'Build'|'Deploy'|'Test'|'Invoke'|'Approval',
    owner='string',
    provider='string',
    version='string'
)
type category

string

param category

[REQUIRED]

A category defines what kind of action can be taken in the stage. Valid categories are limited to one of the following values:

  • Source

  • Build

  • Test

  • Deploy

  • Approval

  • Invoke

type owner

string

param owner

[REQUIRED]

The creator of an action type that has been created with any supported integration model. There are two valid values for the owner field in the action type category: AWS and ThirdParty .

type provider

string

param provider

[REQUIRED]

The provider of the action type being called. The provider name is specified when the action type is created.

type version

string

param version

[REQUIRED]

A string that describes the action type version.

rtype

dict

returns

Response Syntax

{
    'actionType': {
        'description': 'string',
        'executor': {
            'configuration': {
                'lambdaExecutorConfiguration': {
                    'lambdaFunctionArn': 'string'
                },
                'jobWorkerExecutorConfiguration': {
                    'pollingAccounts': [
                        'string',
                    ],
                    'pollingServicePrincipals': [
                        'string',
                    ]
                }
            },
            'type': 'JobWorker'|'Lambda',
            'policyStatementsTemplate': 'string',
            'jobTimeout': 123
        },
        'id': {
            'category': 'Source'|'Build'|'Deploy'|'Test'|'Invoke'|'Approval',
            'owner': 'string',
            'provider': 'string',
            'version': 'string'
        },
        'inputArtifactDetails': {
            'minimumCount': 123,
            'maximumCount': 123
        },
        'outputArtifactDetails': {
            'minimumCount': 123,
            'maximumCount': 123
        },
        'permissions': {
            'allowedAccounts': [
                'string',
            ]
        },
        'properties': [
            {
                'name': 'string',
                'optional': True|False,
                'key': True|False,
                'noEcho': True|False,
                'queryable': True|False,
                'description': 'string'
            },
        ],
        'urls': {
            'configurationUrl': 'string',
            'entityUrlTemplate': 'string',
            'executionUrlTemplate': 'string',
            'revisionUrlTemplate': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • actionType (dict) --

      The action type information for the requested action type, such as the action type ID.

      • description (string) --

        The description for the action type to be updated.

      • executor (dict) --

        Information about the executor for an action type that was created with any supported integration model.

        • configuration (dict) --

          The action configuration properties for the action type. These properties are specified in the action definition when the action type is created.

          • lambdaExecutorConfiguration (dict) --

            Details about the Lambda executor of the action type.

            • lambdaFunctionArn (string) --

              The ARN of the Lambda function used by the action engine.

          • jobWorkerExecutorConfiguration (dict) --

            Details about the JobWorker executor of the action type.

            • pollingAccounts (list) --

              The accounts in which the job worker is configured and might poll for jobs as part of the action execution.

              • (string) --

            • pollingServicePrincipals (list) --

              The service Principals in which the job worker is configured and might poll for jobs as part of the action execution.

              • (string) --

        • type (string) --

          The integration model used to create and update the action type, such as the Lambda integration model. Each integration type has a related action engine, or executor. The available executor types are Lambda and JobWorker .

        • policyStatementsTemplate (string) --

          The policy statement that specifies the permissions in the CodePipeline customer’s account that are needed to successfully run an action execution.

          To grant permission to another account, specify the account ID as the Principal. For AWS services, the Principal is a domain-style identifier defined by the service, like codepipeline.amazonaws.com .

          Note

          The size of the passed JSON policy document cannot exceed 2048 characters.

        • jobTimeout (integer) --

          The timeout in seconds for the job. An action execution can consist of multiple jobs. This is the timeout for a single job, and not for the entire action execution.

      • id (dict) --

        The action ID is composed of the action category, owner, provider, and version of the action type to be updated.

        • category (string) --

          A category defines what kind of action can be taken in the stage. Valid categories are limited to one of the following values:

          • Source

          • Build

          • Test

          • Deploy

          • Approval

          • Invoke

        • owner (string) --

          The creator of the action type being called. There are two valid values for the owner field: AWS and ThirdParty .

        • provider (string) --

          The provider of the action type being called. The provider name is supplied when the action type is created.

        • version (string) --

          A string that describes the action type version.

      • inputArtifactDetails (dict) --

        Details for the artifacts, such as application files, to be worked on by the action. For example, the minimum and maximum number of input artifacts allowed.

        • minimumCount (integer) --

          The minimum allowed number of artifacts that can be used with the action type. For example, you should specify a minimum and maximum of zero input artifacts for an action type with a category of source .

        • maximumCount (integer) --

          The maximum allowed number of artifacts that can be used with the actiontype. For example, you should specify a minimum and maximum of zero input artifacts for an action type with a category of source .

      • outputArtifactDetails (dict) --

        Details for the output artifacts, such as a built application, that are the result of the action. For example, the minimum and maximum number of output artifacts allowed.

        • minimumCount (integer) --

          The minimum allowed number of artifacts that can be used with the action type. For example, you should specify a minimum and maximum of zero input artifacts for an action type with a category of source .

        • maximumCount (integer) --

          The maximum allowed number of artifacts that can be used with the actiontype. For example, you should specify a minimum and maximum of zero input artifacts for an action type with a category of source .

      • permissions (dict) --

        Details identifying the accounts with permissions to use the action type.

        • allowedAccounts (list) --

          A list of AWS account IDs with allow access to use the action type in their pipelines.

          • (string) --

      • properties (list) --

        The properties of the action type to be updated.

        • (dict) --

          Represents information about each property specified in the action configuration, such as the description and key name that display for the customer using the action type.

          • name (string) --

            The property name. This represents a field name that is displayed to users.

          • optional (boolean) --

            Whether the configuration property is an optional value.

          • key (boolean) --

            Whether the configuration property is a key.

          • noEcho (boolean) --

            Determines whether the field value entered by the customer is logged. If noEcho is true , the value is not shown in CloudTrail logs for the action execution.

          • queryable (boolean) --

            Indicates that the property is used with polling. An action type can have up to one queryable property. If it has one, that property must be both required and not secret.

          • description (string) --

            The description of the property that is displayed to users.

      • urls (dict) --

        The links associated with the action type to be updated.

        • configurationUrl (string) --

          The URL returned to the CodePipeline console that contains a link to the page where customers can configure the external action.

        • entityUrlTemplate (string) --

          The URL returned to the CodePipeline console that provides a deep link to the resources of the external system, such as a status page. This link is provided as part of the action display in the pipeline.

        • executionUrlTemplate (string) --

          The link to an execution page for the action type in progress. For example, for a CodeDeploy action, this link is shown on the pipeline view page in the CodePipeline console, and it links to a CodeDeploy status page.

        • revisionUrlTemplate (string) --

          The URL returned to the CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action.

ListActionTypes (updated) Link ¶
Changes (request)
{'regionFilter': 'string'}

Gets a summary of all AWS CodePipeline action types associated with your account.

See also: AWS API Documentation

Request Syntax

client.list_action_types(
    actionOwnerFilter='AWS'|'ThirdParty'|'Custom',
    nextToken='string',
    regionFilter='string'
)
type actionOwnerFilter

string

param actionOwnerFilter

Filters the list of action types to those created by a specified entity.

type nextToken

string

param nextToken

An identifier that was returned from the previous list action types call, which can be used to return the next set of action types in the list.

type regionFilter

string

param regionFilter

The Region to filter on for the list of action types.

rtype

dict

returns

Response Syntax

{
    'actionTypes': [
        {
            'id': {
                'category': 'Source'|'Build'|'Deploy'|'Test'|'Invoke'|'Approval',
                'owner': 'AWS'|'ThirdParty'|'Custom',
                'provider': 'string',
                'version': 'string'
            },
            'settings': {
                'thirdPartyConfigurationUrl': 'string',
                'entityUrlTemplate': 'string',
                'executionUrlTemplate': 'string',
                'revisionUrlTemplate': 'string'
            },
            'actionConfigurationProperties': [
                {
                    'name': 'string',
                    'required': True|False,
                    'key': True|False,
                    'secret': True|False,
                    'queryable': True|False,
                    'description': 'string',
                    'type': 'String'|'Number'|'Boolean'
                },
            ],
            'inputArtifactDetails': {
                'minimumCount': 123,
                'maximumCount': 123
            },
            'outputArtifactDetails': {
                'minimumCount': 123,
                'maximumCount': 123
            }
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    Represents the output of a ListActionTypes action.

    • actionTypes (list) --

      Provides details of the action types.

      • (dict) --

        Returns information about the details of an action type.

        • id (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 following values.

            • Source

            • Build

            • Test

            • Deploy

            • Invoke

            • Approval

          • owner (string) --

            The creator of the action being called. There are three valid values for the Owner field in the action category section within your pipeline structure: AWS , ThirdParty , and Custom . For more information, see Valid Action Types and Providers in CodePipeline.

          • 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. For more information, see Valid Action Types and Providers in CodePipeline.

          • version (string) --

            A string that describes the action version.

        • settings (dict) --

          The settings for the action type.

          • thirdPartyConfigurationUrl (string) --

            The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service.

          • entityUrlTemplate (string) --

            The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system, such as the configuration page for an AWS CodeDeploy deployment group. This link is provided as part of the action display in the pipeline.

          • executionUrlTemplate (string) --

            The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system, such as the console page for AWS CodeDeploy. This link is shown on the pipeline view page in the AWS CodePipeline console and provides a link to the execution entity of the external action.

          • revisionUrlTemplate (string) --

            The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action.

        • actionConfigurationProperties (list) --

          The configuration properties for the action type.

          • (dict) --

            Represents information about an action configuration property.

            • name (string) --

              The name of the action configuration property.

            • required (boolean) --

              Whether the configuration property is a required value.

            • key (boolean) --

              Whether the configuration property is a key.

            • secret (boolean) --

              Whether the configuration property is secret. Secrets are hidden from all calls except for GetJobDetails , GetThirdPartyJobDetails , PollForJobs , and PollForThirdPartyJobs .

              When updating a pipeline, passing * * * * * without changing any other values of the action preserves the previous value of the secret.

            • queryable (boolean) --

              Indicates that the property is used with PollForJobs . When creating a custom action, an action can have up to one queryable property. If it has one, that property must be both required and not secret.

              If you create a pipeline with a custom action type, and that custom action contains a queryable property, the value for that configuration property is subject to other restrictions. The value must be less than or equal to twenty (20) characters. The value can contain only alphanumeric characters, underscores, and hyphens.

            • description (string) --

              The description of the action configuration property that is displayed to users.

            • type (string) --

              The type of the configuration property.

        • inputArtifactDetails (dict) --

          The details of the input artifact for the action, such as its commit ID.

          • minimumCount (integer) --

            The minimum number of artifacts allowed for the action type.

          • maximumCount (integer) --

            The maximum number of artifacts allowed for the action type.

        • outputArtifactDetails (dict) --

          The details of the output artifact of the action, such as its commit ID.

          • minimumCount (integer) --

            The minimum number of artifacts allowed for the action type.

          • maximumCount (integer) --

            The maximum number of artifacts allowed for the action type.

    • nextToken (string) --

      If the amount of returned information is significantly large, an identifier is also returned. It can be used in a subsequent list action types call to return the next set of action types in the list.