"""
Type annotations for codepipeline service Client.

[Documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/)

Copyright 2025 Vlad Emelianov

Usage::

    ```python
    from boto3.session import Session
    from types_boto3_codepipeline.client import CodePipelineClient

    session = Session()
    client: CodePipelineClient = session.client("codepipeline")
    ```
"""

from __future__ import annotations

import sys
from collections.abc import Mapping
from typing import Any, overload

from botocore.client import BaseClient, ClientMeta
from botocore.errorfactory import BaseClientExceptions
from botocore.exceptions import ClientError as BotocoreClientError

from .paginator import (
    ListActionExecutionsPaginator,
    ListActionTypesPaginator,
    ListDeployActionExecutionTargetsPaginator,
    ListPipelineExecutionsPaginator,
    ListPipelinesPaginator,
    ListRuleExecutionsPaginator,
    ListTagsForResourcePaginator,
    ListWebhooksPaginator,
)
from .type_defs import (
    AcknowledgeJobInputTypeDef,
    AcknowledgeJobOutputTypeDef,
    AcknowledgeThirdPartyJobInputTypeDef,
    AcknowledgeThirdPartyJobOutputTypeDef,
    CreateCustomActionTypeInputTypeDef,
    CreateCustomActionTypeOutputTypeDef,
    CreatePipelineInputTypeDef,
    CreatePipelineOutputTypeDef,
    DeleteCustomActionTypeInputTypeDef,
    DeletePipelineInputTypeDef,
    DeleteWebhookInputTypeDef,
    DeregisterWebhookWithThirdPartyInputTypeDef,
    DisableStageTransitionInputTypeDef,
    EmptyResponseMetadataTypeDef,
    EnableStageTransitionInputTypeDef,
    GetActionTypeInputTypeDef,
    GetActionTypeOutputTypeDef,
    GetJobDetailsInputTypeDef,
    GetJobDetailsOutputTypeDef,
    GetPipelineExecutionInputTypeDef,
    GetPipelineExecutionOutputTypeDef,
    GetPipelineInputTypeDef,
    GetPipelineOutputTypeDef,
    GetPipelineStateInputTypeDef,
    GetPipelineStateOutputTypeDef,
    GetThirdPartyJobDetailsInputTypeDef,
    GetThirdPartyJobDetailsOutputTypeDef,
    ListActionExecutionsInputTypeDef,
    ListActionExecutionsOutputTypeDef,
    ListActionTypesInputTypeDef,
    ListActionTypesOutputTypeDef,
    ListDeployActionExecutionTargetsInputTypeDef,
    ListDeployActionExecutionTargetsOutputTypeDef,
    ListPipelineExecutionsInputTypeDef,
    ListPipelineExecutionsOutputTypeDef,
    ListPipelinesInputTypeDef,
    ListPipelinesOutputTypeDef,
    ListRuleExecutionsInputTypeDef,
    ListRuleExecutionsOutputTypeDef,
    ListRuleTypesInputTypeDef,
    ListRuleTypesOutputTypeDef,
    ListTagsForResourceInputTypeDef,
    ListTagsForResourceOutputTypeDef,
    ListWebhooksInputTypeDef,
    ListWebhooksOutputTypeDef,
    OverrideStageConditionInputTypeDef,
    PollForJobsInputTypeDef,
    PollForJobsOutputTypeDef,
    PollForThirdPartyJobsInputTypeDef,
    PollForThirdPartyJobsOutputTypeDef,
    PutActionRevisionInputTypeDef,
    PutActionRevisionOutputTypeDef,
    PutApprovalResultInputTypeDef,
    PutApprovalResultOutputTypeDef,
    PutJobFailureResultInputTypeDef,
    PutJobSuccessResultInputTypeDef,
    PutThirdPartyJobFailureResultInputTypeDef,
    PutThirdPartyJobSuccessResultInputTypeDef,
    PutWebhookInputTypeDef,
    PutWebhookOutputTypeDef,
    RegisterWebhookWithThirdPartyInputTypeDef,
    RetryStageExecutionInputTypeDef,
    RetryStageExecutionOutputTypeDef,
    RollbackStageInputTypeDef,
    RollbackStageOutputTypeDef,
    StartPipelineExecutionInputTypeDef,
    StartPipelineExecutionOutputTypeDef,
    StopPipelineExecutionInputTypeDef,
    StopPipelineExecutionOutputTypeDef,
    TagResourceInputTypeDef,
    UntagResourceInputTypeDef,
    UpdateActionTypeInputTypeDef,
    UpdatePipelineInputTypeDef,
    UpdatePipelineOutputTypeDef,
)

if sys.version_info >= (3, 12):
    from typing import Literal, Unpack
else:
    from typing_extensions import Literal, Unpack


__all__ = ("CodePipelineClient",)


class Exceptions(BaseClientExceptions):
    ActionExecutionNotFoundException: type[BotocoreClientError]
    ActionNotFoundException: type[BotocoreClientError]
    ActionTypeAlreadyExistsException: type[BotocoreClientError]
    ActionTypeNotFoundException: type[BotocoreClientError]
    ApprovalAlreadyCompletedException: type[BotocoreClientError]
    ClientError: type[BotocoreClientError]
    ConcurrentModificationException: type[BotocoreClientError]
    ConcurrentPipelineExecutionsLimitExceededException: type[BotocoreClientError]
    ConditionNotOverridableException: type[BotocoreClientError]
    ConflictException: type[BotocoreClientError]
    DuplicatedStopRequestException: type[BotocoreClientError]
    InvalidActionDeclarationException: type[BotocoreClientError]
    InvalidApprovalTokenException: type[BotocoreClientError]
    InvalidArnException: type[BotocoreClientError]
    InvalidBlockerDeclarationException: type[BotocoreClientError]
    InvalidClientTokenException: type[BotocoreClientError]
    InvalidJobException: type[BotocoreClientError]
    InvalidJobStateException: type[BotocoreClientError]
    InvalidNextTokenException: type[BotocoreClientError]
    InvalidNonceException: type[BotocoreClientError]
    InvalidStageDeclarationException: type[BotocoreClientError]
    InvalidStructureException: type[BotocoreClientError]
    InvalidTagsException: type[BotocoreClientError]
    InvalidWebhookAuthenticationParametersException: type[BotocoreClientError]
    InvalidWebhookFilterPatternException: type[BotocoreClientError]
    JobNotFoundException: type[BotocoreClientError]
    LimitExceededException: type[BotocoreClientError]
    NotLatestPipelineExecutionException: type[BotocoreClientError]
    OutputVariablesSizeExceededException: type[BotocoreClientError]
    PipelineExecutionNotFoundException: type[BotocoreClientError]
    PipelineExecutionNotStoppableException: type[BotocoreClientError]
    PipelineExecutionOutdatedException: type[BotocoreClientError]
    PipelineNameInUseException: type[BotocoreClientError]
    PipelineNotFoundException: type[BotocoreClientError]
    PipelineVersionNotFoundException: type[BotocoreClientError]
    RequestFailedException: type[BotocoreClientError]
    ResourceNotFoundException: type[BotocoreClientError]
    StageNotFoundException: type[BotocoreClientError]
    StageNotRetryableException: type[BotocoreClientError]
    TooManyTagsException: type[BotocoreClientError]
    UnableToRollbackStageException: type[BotocoreClientError]
    ValidationException: type[BotocoreClientError]
    WebhookNotFoundException: type[BotocoreClientError]


class CodePipelineClient(BaseClient):
    """
    [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline.html#CodePipeline.Client)
    [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/)
    """

    meta: ClientMeta

    @property
    def exceptions(self) -> Exceptions:
        """
        CodePipelineClient exceptions.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline.html#CodePipeline.Client)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#exceptions)
        """

    def can_paginate(self, operation_name: str) -> bool:
        """
        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/can_paginate.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#can_paginate)
        """

    def generate_presigned_url(
        self,
        ClientMethod: str,
        Params: Mapping[str, Any] = ...,
        ExpiresIn: int = 3600,
        HttpMethod: str = ...,
    ) -> str:
        """
        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/generate_presigned_url.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#generate_presigned_url)
        """

    def acknowledge_job(
        self, **kwargs: Unpack[AcknowledgeJobInputTypeDef]
    ) -> AcknowledgeJobOutputTypeDef:
        """
        Returns information about a specified job and whether that job has been
        received by the job worker.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/acknowledge_job.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#acknowledge_job)
        """

    def acknowledge_third_party_job(
        self, **kwargs: Unpack[AcknowledgeThirdPartyJobInputTypeDef]
    ) -> AcknowledgeThirdPartyJobOutputTypeDef:
        """
        Confirms a job worker has received the specified job.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/acknowledge_third_party_job.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#acknowledge_third_party_job)
        """

    def create_custom_action_type(
        self, **kwargs: Unpack[CreateCustomActionTypeInputTypeDef]
    ) -> CreateCustomActionTypeOutputTypeDef:
        """
        Creates a new custom action that can be used in all pipelines associated with
        the Amazon Web Services account.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/create_custom_action_type.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#create_custom_action_type)
        """

    def create_pipeline(
        self, **kwargs: Unpack[CreatePipelineInputTypeDef]
    ) -> CreatePipelineOutputTypeDef:
        """
        Creates a pipeline.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/create_pipeline.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#create_pipeline)
        """

    def delete_custom_action_type(
        self, **kwargs: Unpack[DeleteCustomActionTypeInputTypeDef]
    ) -> EmptyResponseMetadataTypeDef:
        """
        Marks a custom action as deleted.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/delete_custom_action_type.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#delete_custom_action_type)
        """

    def delete_pipeline(
        self, **kwargs: Unpack[DeletePipelineInputTypeDef]
    ) -> EmptyResponseMetadataTypeDef:
        """
        Deletes the specified pipeline.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/delete_pipeline.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#delete_pipeline)
        """

    def delete_webhook(self, **kwargs: Unpack[DeleteWebhookInputTypeDef]) -> dict[str, Any]:
        """
        Deletes a previously created webhook by name.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/delete_webhook.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#delete_webhook)
        """

    def deregister_webhook_with_third_party(
        self, **kwargs: Unpack[DeregisterWebhookWithThirdPartyInputTypeDef]
    ) -> dict[str, Any]:
        """
        Removes the connection between the webhook that was created by CodePipeline and
        the external tool with events to be detected.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/deregister_webhook_with_third_party.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#deregister_webhook_with_third_party)
        """

    def disable_stage_transition(
        self, **kwargs: Unpack[DisableStageTransitionInputTypeDef]
    ) -> EmptyResponseMetadataTypeDef:
        """
        Prevents artifacts in a pipeline from transitioning to the next stage in the
        pipeline.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/disable_stage_transition.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#disable_stage_transition)
        """

    def enable_stage_transition(
        self, **kwargs: Unpack[EnableStageTransitionInputTypeDef]
    ) -> EmptyResponseMetadataTypeDef:
        """
        Enables artifacts in a pipeline to transition to a stage in a pipeline.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/enable_stage_transition.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#enable_stage_transition)
        """

    def get_action_type(
        self, **kwargs: Unpack[GetActionTypeInputTypeDef]
    ) -> GetActionTypeOutputTypeDef:
        """
        Returns information about an action type created for an external provider,
        where the action is to be used by customers of the external provider.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/get_action_type.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#get_action_type)
        """

    def get_job_details(
        self, **kwargs: Unpack[GetJobDetailsInputTypeDef]
    ) -> GetJobDetailsOutputTypeDef:
        """
        Returns information about a job.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/get_job_details.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#get_job_details)
        """

    def get_pipeline(self, **kwargs: Unpack[GetPipelineInputTypeDef]) -> GetPipelineOutputTypeDef:
        """
        Returns the metadata, structure, stages, and actions of a pipeline.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/get_pipeline.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#get_pipeline)
        """

    def get_pipeline_execution(
        self, **kwargs: Unpack[GetPipelineExecutionInputTypeDef]
    ) -> GetPipelineExecutionOutputTypeDef:
        """
        Returns information about an execution of a pipeline, including details about
        artifacts, the pipeline execution ID, and the name, version, and status of the
        pipeline.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/get_pipeline_execution.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#get_pipeline_execution)
        """

    def get_pipeline_state(
        self, **kwargs: Unpack[GetPipelineStateInputTypeDef]
    ) -> GetPipelineStateOutputTypeDef:
        """
        Returns information about the state of a pipeline, including the stages and
        actions.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/get_pipeline_state.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#get_pipeline_state)
        """

    def get_third_party_job_details(
        self, **kwargs: Unpack[GetThirdPartyJobDetailsInputTypeDef]
    ) -> GetThirdPartyJobDetailsOutputTypeDef:
        """
        Requests the details of a job for a third party action.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/get_third_party_job_details.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#get_third_party_job_details)
        """

    def list_action_executions(
        self, **kwargs: Unpack[ListActionExecutionsInputTypeDef]
    ) -> ListActionExecutionsOutputTypeDef:
        """
        Lists the action executions that have occurred in a pipeline.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/list_action_executions.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#list_action_executions)
        """

    def list_action_types(
        self, **kwargs: Unpack[ListActionTypesInputTypeDef]
    ) -> ListActionTypesOutputTypeDef:
        """
        Gets a summary of all CodePipeline action types associated with your account.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/list_action_types.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#list_action_types)
        """

    def list_deploy_action_execution_targets(
        self, **kwargs: Unpack[ListDeployActionExecutionTargetsInputTypeDef]
    ) -> ListDeployActionExecutionTargetsOutputTypeDef:
        """
        Lists the targets for the deploy action.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/list_deploy_action_execution_targets.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#list_deploy_action_execution_targets)
        """

    def list_pipeline_executions(
        self, **kwargs: Unpack[ListPipelineExecutionsInputTypeDef]
    ) -> ListPipelineExecutionsOutputTypeDef:
        """
        Gets a summary of the most recent executions for a pipeline.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/list_pipeline_executions.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#list_pipeline_executions)
        """

    def list_pipelines(
        self, **kwargs: Unpack[ListPipelinesInputTypeDef]
    ) -> ListPipelinesOutputTypeDef:
        """
        Gets a summary of all of the pipelines associated with your account.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/list_pipelines.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#list_pipelines)
        """

    def list_rule_executions(
        self, **kwargs: Unpack[ListRuleExecutionsInputTypeDef]
    ) -> ListRuleExecutionsOutputTypeDef:
        """
        Lists the rule executions that have occurred in a pipeline configured for
        conditions with rules.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/list_rule_executions.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#list_rule_executions)
        """

    def list_rule_types(
        self, **kwargs: Unpack[ListRuleTypesInputTypeDef]
    ) -> ListRuleTypesOutputTypeDef:
        """
        Lists the rules for the condition.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/list_rule_types.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#list_rule_types)
        """

    def list_tags_for_resource(
        self, **kwargs: Unpack[ListTagsForResourceInputTypeDef]
    ) -> ListTagsForResourceOutputTypeDef:
        """
        Gets the set of key-value pairs (metadata) that are used to manage the resource.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/list_tags_for_resource.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#list_tags_for_resource)
        """

    def list_webhooks(
        self, **kwargs: Unpack[ListWebhooksInputTypeDef]
    ) -> ListWebhooksOutputTypeDef:
        """
        Gets a listing of all the webhooks in this Amazon Web Services Region for this
        account.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/list_webhooks.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#list_webhooks)
        """

    def override_stage_condition(
        self, **kwargs: Unpack[OverrideStageConditionInputTypeDef]
    ) -> EmptyResponseMetadataTypeDef:
        """
        Used to override a stage condition.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/override_stage_condition.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#override_stage_condition)
        """

    def poll_for_jobs(self, **kwargs: Unpack[PollForJobsInputTypeDef]) -> PollForJobsOutputTypeDef:
        """
        Returns information about any jobs for CodePipeline to act on.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/poll_for_jobs.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#poll_for_jobs)
        """

    def poll_for_third_party_jobs(
        self, **kwargs: Unpack[PollForThirdPartyJobsInputTypeDef]
    ) -> PollForThirdPartyJobsOutputTypeDef:
        """
        Determines whether there are any third party jobs for a job worker to act on.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/poll_for_third_party_jobs.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#poll_for_third_party_jobs)
        """

    def put_action_revision(
        self, **kwargs: Unpack[PutActionRevisionInputTypeDef]
    ) -> PutActionRevisionOutputTypeDef:
        """
        Provides information to CodePipeline about new revisions to a source.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/put_action_revision.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#put_action_revision)
        """

    def put_approval_result(
        self, **kwargs: Unpack[PutApprovalResultInputTypeDef]
    ) -> PutApprovalResultOutputTypeDef:
        """
        Provides the response to a manual approval request to CodePipeline.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/put_approval_result.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#put_approval_result)
        """

    def put_job_failure_result(
        self, **kwargs: Unpack[PutJobFailureResultInputTypeDef]
    ) -> EmptyResponseMetadataTypeDef:
        """
        Represents the failure of a job as returned to the pipeline by a job worker.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/put_job_failure_result.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#put_job_failure_result)
        """

    def put_job_success_result(
        self, **kwargs: Unpack[PutJobSuccessResultInputTypeDef]
    ) -> EmptyResponseMetadataTypeDef:
        """
        Represents the success of a job as returned to the pipeline by a job worker.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/put_job_success_result.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#put_job_success_result)
        """

    def put_third_party_job_failure_result(
        self, **kwargs: Unpack[PutThirdPartyJobFailureResultInputTypeDef]
    ) -> EmptyResponseMetadataTypeDef:
        """
        Represents the failure of a third party job as returned to the pipeline by a
        job worker.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/put_third_party_job_failure_result.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#put_third_party_job_failure_result)
        """

    def put_third_party_job_success_result(
        self, **kwargs: Unpack[PutThirdPartyJobSuccessResultInputTypeDef]
    ) -> EmptyResponseMetadataTypeDef:
        """
        Represents the success of a third party job as returned to the pipeline by a
        job worker.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/put_third_party_job_success_result.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#put_third_party_job_success_result)
        """

    def put_webhook(self, **kwargs: Unpack[PutWebhookInputTypeDef]) -> PutWebhookOutputTypeDef:
        """
        Defines a webhook and returns a unique webhook URL generated by CodePipeline.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/put_webhook.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#put_webhook)
        """

    def register_webhook_with_third_party(
        self, **kwargs: Unpack[RegisterWebhookWithThirdPartyInputTypeDef]
    ) -> dict[str, Any]:
        """
        Configures a connection between the webhook that was created and the external
        tool with events to be detected.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/register_webhook_with_third_party.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#register_webhook_with_third_party)
        """

    def retry_stage_execution(
        self, **kwargs: Unpack[RetryStageExecutionInputTypeDef]
    ) -> RetryStageExecutionOutputTypeDef:
        """
        You can retry a stage that has failed without having to run a pipeline again
        from the beginning.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/retry_stage_execution.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#retry_stage_execution)
        """

    def rollback_stage(
        self, **kwargs: Unpack[RollbackStageInputTypeDef]
    ) -> RollbackStageOutputTypeDef:
        """
        Rolls back a stage execution.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/rollback_stage.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#rollback_stage)
        """

    def start_pipeline_execution(
        self, **kwargs: Unpack[StartPipelineExecutionInputTypeDef]
    ) -> StartPipelineExecutionOutputTypeDef:
        """
        Starts the specified pipeline.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/start_pipeline_execution.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#start_pipeline_execution)
        """

    def stop_pipeline_execution(
        self, **kwargs: Unpack[StopPipelineExecutionInputTypeDef]
    ) -> StopPipelineExecutionOutputTypeDef:
        """
        Stops the specified pipeline execution.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/stop_pipeline_execution.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#stop_pipeline_execution)
        """

    def tag_resource(self, **kwargs: Unpack[TagResourceInputTypeDef]) -> dict[str, Any]:
        """
        Adds to or modifies the tags of the given resource.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/tag_resource.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#tag_resource)
        """

    def untag_resource(self, **kwargs: Unpack[UntagResourceInputTypeDef]) -> dict[str, Any]:
        """
        Removes tags from an Amazon Web Services resource.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/untag_resource.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#untag_resource)
        """

    def update_action_type(
        self, **kwargs: Unpack[UpdateActionTypeInputTypeDef]
    ) -> EmptyResponseMetadataTypeDef:
        """
        Updates an action type that was created with any supported integration model,
        where the action type is to be used by customers of the action type provider.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/update_action_type.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#update_action_type)
        """

    def update_pipeline(
        self, **kwargs: Unpack[UpdatePipelineInputTypeDef]
    ) -> UpdatePipelineOutputTypeDef:
        """
        Updates a specified pipeline with edits or changes to its structure.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/update_pipeline.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#update_pipeline)
        """

    @overload  # type: ignore[override]
    def get_paginator(  # type: ignore[override]
        self, operation_name: Literal["list_action_executions"]
    ) -> ListActionExecutionsPaginator:
        """
        Create a paginator for an operation.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/get_paginator.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#get_paginator)
        """

    @overload  # type: ignore[override]
    def get_paginator(  # type: ignore[override]
        self, operation_name: Literal["list_action_types"]
    ) -> ListActionTypesPaginator:
        """
        Create a paginator for an operation.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/get_paginator.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#get_paginator)
        """

    @overload  # type: ignore[override]
    def get_paginator(  # type: ignore[override]
        self, operation_name: Literal["list_deploy_action_execution_targets"]
    ) -> ListDeployActionExecutionTargetsPaginator:
        """
        Create a paginator for an operation.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/get_paginator.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#get_paginator)
        """

    @overload  # type: ignore[override]
    def get_paginator(  # type: ignore[override]
        self, operation_name: Literal["list_pipeline_executions"]
    ) -> ListPipelineExecutionsPaginator:
        """
        Create a paginator for an operation.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/get_paginator.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#get_paginator)
        """

    @overload  # type: ignore[override]
    def get_paginator(  # type: ignore[override]
        self, operation_name: Literal["list_pipelines"]
    ) -> ListPipelinesPaginator:
        """
        Create a paginator for an operation.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/get_paginator.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#get_paginator)
        """

    @overload  # type: ignore[override]
    def get_paginator(  # type: ignore[override]
        self, operation_name: Literal["list_rule_executions"]
    ) -> ListRuleExecutionsPaginator:
        """
        Create a paginator for an operation.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/get_paginator.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#get_paginator)
        """

    @overload  # type: ignore[override]
    def get_paginator(  # type: ignore[override]
        self, operation_name: Literal["list_tags_for_resource"]
    ) -> ListTagsForResourcePaginator:
        """
        Create a paginator for an operation.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/get_paginator.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#get_paginator)
        """

    @overload  # type: ignore[override]
    def get_paginator(  # type: ignore[override]
        self, operation_name: Literal["list_webhooks"]
    ) -> ListWebhooksPaginator:
        """
        Create a paginator for an operation.

        [Show boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codepipeline/client/get_paginator.html)
        [Show types-boto3 documentation](https://youtype.github.io/types_boto3_docs/types_boto3_codepipeline/client/#get_paginator)
        """
