com.amazonaws.services.codepipeline.AWSCodePipeline Maven / Gradle / Ivy
Show all versions of aws-java-sdk-codepipeline Show documentation
/*
* Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.codepipeline;
import javax.annotation.Generated;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.codepipeline.model.*;
/**
* Interface for accessing CodePipeline.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.codepipeline.AbstractAWSCodePipeline} instead.
*
*
* CodePipeline
*
* Overview
*
*
* This is the CodePipeline API Reference. This guide provides descriptions of the actions and data types for
* CodePipeline. Some functionality for your pipeline can only be configured through the API. For more information, see
* the CodePipeline User Guide.
*
*
* You can use the CodePipeline API to work with pipelines, stages, actions, and transitions.
*
*
* Pipelines are models of automated release processes. Each pipeline is uniquely named, and consists of stages,
* actions, and transitions.
*
*
* You can work with pipelines by calling:
*
*
* -
*
* CreatePipeline, which creates a uniquely named pipeline.
*
*
* -
*
* DeletePipeline, which deletes the specified pipeline.
*
*
* -
*
* GetPipeline, which returns information about the pipeline structure and pipeline metadata, including the
* pipeline Amazon Resource Name (ARN).
*
*
* -
*
* GetPipelineExecution, which returns information about a specific execution of a pipeline.
*
*
* -
*
* GetPipelineState, which returns information about the current state of the stages and actions of a pipeline.
*
*
* -
*
* ListActionExecutions, which returns action-level details for past executions. The details include full stage
* and action-level details, including individual action duration, status, any errors that occurred during the
* execution, and input and output artifact location details.
*
*
* -
*
* ListPipelines, which gets a summary of all of the pipelines associated with your account.
*
*
* -
*
* ListPipelineExecutions, which gets a summary of the most recent executions for a pipeline.
*
*
* -
*
* StartPipelineExecution, which runs the most recent revision of an artifact through the pipeline.
*
*
* -
*
* StopPipelineExecution, which stops the specified pipeline execution from continuing through the pipeline.
*
*
* -
*
* UpdatePipeline, which updates a pipeline with edits or changes to the structure of the pipeline.
*
*
*
*
* Pipelines include stages. Each stage contains one or more actions that must complete before the next stage
* begins. A stage results in success or failure. If a stage fails, the pipeline stops at that stage and remains stopped
* until either a new version of an artifact appears in the source location, or a user takes action to rerun the most
* recent artifact through the pipeline. You can call GetPipelineState, which displays the status of a pipeline,
* including the status of stages in the pipeline, or GetPipeline, which returns the entire structure of the
* pipeline, including the stages of that pipeline. For more information about the structure of stages and actions, see
* CodePipeline Pipeline
* Structure Reference.
*
*
* Pipeline stages include actions that are categorized into categories such as source or build actions performed
* in a stage of a pipeline. For example, you can use a source action to import artifacts into a pipeline from a source
* such as Amazon S3. Like stages, you do not work with actions directly in most cases, but you do define and interact
* with actions when working with pipeline operations such as CreatePipeline and GetPipelineState. Valid
* action categories are:
*
*
* -
*
* Source
*
*
* -
*
* Build
*
*
* -
*
* Test
*
*
* -
*
* Deploy
*
*
* -
*
* Approval
*
*
* -
*
* Invoke
*
*
*
*
* Pipelines also include transitions, which allow the transition of artifacts from one stage to the next in a
* pipeline after the actions in one stage complete.
*
*
* You can work with transitions by calling:
*
*
* -
*
* DisableStageTransition, which prevents artifacts from transitioning to the next stage in a pipeline.
*
*
* -
*
* EnableStageTransition, which enables transition of artifacts between stages in a pipeline.
*
*
*
*
* Using the API to integrate with CodePipeline
*
*
* For third-party integrators or developers who want to create their own integrations with CodePipeline, the expected
* sequence varies from the standard API user. To integrate with CodePipeline, developers need to work with the
* following items:
*
*
* Jobs, which are instances of an action. For example, a job for a source action might import a revision of an
* artifact from a source.
*
*
* You can work with jobs by calling:
*
*
* -
*
* AcknowledgeJob, which confirms whether a job worker has received the specified job.
*
*
* -
*
* GetJobDetails, which returns the details of a job.
*
*
* -
*
* PollForJobs, which determines whether there are any jobs to act on.
*
*
* -
*
* PutJobFailureResult, which provides details of a job failure.
*
*
* -
*
* PutJobSuccessResult, which provides details of a job success.
*
*
*
*
* Third party jobs, which are instances of an action created by a partner action and integrated into
* CodePipeline. Partner actions are created by members of the Amazon Web Services Partner Network.
*
*
* You can work with third party jobs by calling:
*
*
* -
*
* AcknowledgeThirdPartyJob, which confirms whether a job worker has received the specified job.
*
*
* -
*
* GetThirdPartyJobDetails, which requests the details of a job for a partner action.
*
*
* -
*
* PollForThirdPartyJobs, which determines whether there are any jobs to act on.
*
*
* -
*
* PutThirdPartyJobFailureResult, which provides details of a job failure.
*
*
* -
*
* PutThirdPartyJobSuccessResult, which provides details of a job success.
*
*
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AWSCodePipeline {
/**
* The region metadata service name for computing region endpoints. You can use this value to retrieve metadata
* (such as supported regions) of the service.
*
* @see RegionUtils#getRegionsForService(String)
*/
String ENDPOINT_PREFIX = "codepipeline";
/**
* Overrides the default endpoint for this client ("https://codepipeline.us-east-1.amazonaws.com"). Callers can use
* this method to control which AWS region they want to work with.
*
* Callers can pass in just the endpoint (ex: "codepipeline.us-east-1.amazonaws.com") or a full URL, including the
* protocol (ex: "https://codepipeline.us-east-1.amazonaws.com"). If the protocol is not specified here, the default
* protocol from this client's {@link ClientConfiguration} will be used, which by default is HTTPS.
*
* For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available
* endpoints for all AWS services, see: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-region-selection.html#region-selection-
* choose-endpoint
*
* This method is not threadsafe. An endpoint should be configured when the client is created and before any
* service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in
* transit or retrying.
*
* @param endpoint
* The endpoint (ex: "codepipeline.us-east-1.amazonaws.com") or a full URL, including the protocol (ex:
* "https://codepipeline.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will
* communicate with.
* @deprecated use {@link AwsClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration)} for
* example:
* {@code builder.setEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion));}
*/
@Deprecated
void setEndpoint(String endpoint);
/**
* An alternative to {@link AWSCodePipeline#setEndpoint(String)}, sets the regional endpoint for this client's
* service calls. Callers can use this method to control which AWS region they want to work with.
*
* By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the
* {@link ClientConfiguration} supplied at construction.
*
* This method is not threadsafe. A region should be configured when the client is created and before any service
* requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit
* or retrying.
*
* @param region
* The region this client will communicate with. See {@link Region#getRegion(com.amazonaws.regions.Regions)}
* for accessing a given region. Must not be null and must be a region where the service is available.
*
* @see Region#getRegion(com.amazonaws.regions.Regions)
* @see Region#createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
* @see Region#isServiceSupported(String)
* @deprecated use {@link AwsClientBuilder#setRegion(String)}
*/
@Deprecated
void setRegion(Region region);
/**
*
* Returns information about a specified job and whether that job has been received by the job worker. Used for
* custom actions only.
*
*
* @param acknowledgeJobRequest
* Represents the input of an AcknowledgeJob action.
* @return Result of the AcknowledgeJob operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws InvalidNonceException
* The nonce was specified in an invalid format.
* @throws JobNotFoundException
* The job was specified in an invalid format or cannot be found.
* @sample AWSCodePipeline.AcknowledgeJob
* @see AWS
* API Documentation
*/
AcknowledgeJobResult acknowledgeJob(AcknowledgeJobRequest acknowledgeJobRequest);
/**
*
* Confirms a job worker has received the specified job. Used for partner actions only.
*
*
* @param acknowledgeThirdPartyJobRequest
* Represents the input of an AcknowledgeThirdPartyJob action.
* @return Result of the AcknowledgeThirdPartyJob operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws InvalidNonceException
* The nonce was specified in an invalid format.
* @throws JobNotFoundException
* The job was specified in an invalid format or cannot be found.
* @throws InvalidClientTokenException
* The client token was specified in an invalid format
* @sample AWSCodePipeline.AcknowledgeThirdPartyJob
* @see AWS API Documentation
*/
AcknowledgeThirdPartyJobResult acknowledgeThirdPartyJob(AcknowledgeThirdPartyJobRequest acknowledgeThirdPartyJobRequest);
/**
*
* Creates a new custom action that can be used in all pipelines associated with the Amazon Web Services account.
* Only used for custom actions.
*
*
* @param createCustomActionTypeRequest
* Represents the input of a CreateCustomActionType operation.
* @return Result of the CreateCustomActionType operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws LimitExceededException
* The number of pipelines associated with the Amazon Web Services account has exceeded the limit allowed
* for the account.
* @throws TooManyTagsException
* The tags limit for a resource has been exceeded.
* @throws InvalidTagsException
* The specified resource tags are invalid.
* @throws ConcurrentModificationException
* Unable to modify the tag due to a simultaneous update request.
* @sample AWSCodePipeline.CreateCustomActionType
* @see AWS API Documentation
*/
CreateCustomActionTypeResult createCustomActionType(CreateCustomActionTypeRequest createCustomActionTypeRequest);
/**
*
* Creates a pipeline.
*
*
*
* In the pipeline structure, you must include either artifactStore
or artifactStores
in
* your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use
* artifactStores
.
*
*
*
* @param createPipelineRequest
* Represents the input of a CreatePipeline
action.
* @return Result of the CreatePipeline operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws PipelineNameInUseException
* The specified pipeline name is already in use.
* @throws InvalidStageDeclarationException
* The stage declaration was specified in an invalid format.
* @throws InvalidActionDeclarationException
* The action declaration was specified in an invalid format.
* @throws InvalidBlockerDeclarationException
* Reserved for future use.
* @throws InvalidStructureException
* The structure was specified in an invalid format.
* @throws LimitExceededException
* The number of pipelines associated with the Amazon Web Services account has exceeded the limit allowed
* for the account.
* @throws TooManyTagsException
* The tags limit for a resource has been exceeded.
* @throws InvalidTagsException
* The specified resource tags are invalid.
* @throws ConcurrentModificationException
* Unable to modify the tag due to a simultaneous update request.
* @sample AWSCodePipeline.CreatePipeline
* @see AWS
* API Documentation
*/
CreatePipelineResult createPipeline(CreatePipelineRequest createPipelineRequest);
/**
*
* Marks a custom action as deleted. PollForJobs
for the custom action fails after the action is marked
* for deletion. Used for custom actions only.
*
*
*
* To re-create a custom action after it has been deleted you must use a string in the version field that has never
* been used before. This string can be an incremented version number, for example. To restore a deleted custom
* action, use a JSON file that is identical to the deleted action, including the original string in the version
* field.
*
*
*
* @param deleteCustomActionTypeRequest
* Represents the input of a DeleteCustomActionType
operation. The custom action will be marked
* as deleted.
* @return Result of the DeleteCustomActionType operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws ConcurrentModificationException
* Unable to modify the tag due to a simultaneous update request.
* @sample AWSCodePipeline.DeleteCustomActionType
* @see AWS API Documentation
*/
DeleteCustomActionTypeResult deleteCustomActionType(DeleteCustomActionTypeRequest deleteCustomActionTypeRequest);
/**
*
* Deletes the specified pipeline.
*
*
* @param deletePipelineRequest
* Represents the input of a DeletePipeline
action.
* @return Result of the DeletePipeline operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws ConcurrentModificationException
* Unable to modify the tag due to a simultaneous update request.
* @sample AWSCodePipeline.DeletePipeline
* @see AWS
* API Documentation
*/
DeletePipelineResult deletePipeline(DeletePipelineRequest deletePipelineRequest);
/**
*
* Deletes a previously created webhook by name. Deleting the webhook stops CodePipeline from starting a pipeline
* every time an external event occurs. The API returns successfully when trying to delete a webhook that is already
* deleted. If a deleted webhook is re-created by calling PutWebhook with the same name, it will have a different
* URL.
*
*
* @param deleteWebhookRequest
* @return Result of the DeleteWebhook operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws ConcurrentModificationException
* Unable to modify the tag due to a simultaneous update request.
* @sample AWSCodePipeline.DeleteWebhook
* @see AWS API
* Documentation
*/
DeleteWebhookResult deleteWebhook(DeleteWebhookRequest deleteWebhookRequest);
/**
*
* Removes the connection between the webhook that was created by CodePipeline and the external tool with events to
* be detected. Currently supported only for webhooks that target an action type of GitHub.
*
*
* @param deregisterWebhookWithThirdPartyRequest
* @return Result of the DeregisterWebhookWithThirdParty operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws WebhookNotFoundException
* The specified webhook was entered in an invalid format or cannot be found.
* @sample AWSCodePipeline.DeregisterWebhookWithThirdParty
* @see AWS API Documentation
*/
DeregisterWebhookWithThirdPartyResult deregisterWebhookWithThirdParty(DeregisterWebhookWithThirdPartyRequest deregisterWebhookWithThirdPartyRequest);
/**
*
* Prevents artifacts in a pipeline from transitioning to the next stage in the pipeline.
*
*
* @param disableStageTransitionRequest
* Represents the input of a DisableStageTransition
action.
* @return Result of the DisableStageTransition operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws PipelineNotFoundException
* The pipeline was specified in an invalid format or cannot be found.
* @throws StageNotFoundException
* The stage was specified in an invalid format or cannot be found.
* @sample AWSCodePipeline.DisableStageTransition
* @see AWS API Documentation
*/
DisableStageTransitionResult disableStageTransition(DisableStageTransitionRequest disableStageTransitionRequest);
/**
*
* Enables artifacts in a pipeline to transition to a stage in a pipeline.
*
*
* @param enableStageTransitionRequest
* Represents the input of an EnableStageTransition
action.
* @return Result of the EnableStageTransition operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws PipelineNotFoundException
* The pipeline was specified in an invalid format or cannot be found.
* @throws StageNotFoundException
* The stage was specified in an invalid format or cannot be found.
* @sample AWSCodePipeline.EnableStageTransition
* @see AWS API Documentation
*/
EnableStageTransitionResult enableStageTransition(EnableStageTransitionRequest enableStageTransitionRequest);
/**
*
* 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 be created with any supported integration model.
*
*
* @param getActionTypeRequest
* @return Result of the GetActionType operation returned by the service.
* @throws ActionTypeNotFoundException
* The specified action type cannot be found.
* @throws ValidationException
* The validation was specified in an invalid format.
* @sample AWSCodePipeline.GetActionType
* @see AWS API
* Documentation
*/
GetActionTypeResult getActionType(GetActionTypeRequest getActionTypeRequest);
/**
*
* Returns information about a job. Used for custom actions only.
*
*
*
* When this API is called, CodePipeline returns temporary credentials for the S3 bucket used to store artifacts for
* the pipeline, if the action requires access to that S3 bucket for input or output artifacts. This API also
* returns any secret values defined for the action.
*
*
*
* @param getJobDetailsRequest
* Represents the input of a GetJobDetails
action.
* @return Result of the GetJobDetails operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws JobNotFoundException
* The job was specified in an invalid format or cannot be found.
* @sample AWSCodePipeline.GetJobDetails
* @see AWS API
* Documentation
*/
GetJobDetailsResult getJobDetails(GetJobDetailsRequest getJobDetailsRequest);
/**
*
* 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.
*
*
* @param getPipelineRequest
* Represents the input of a GetPipeline
action.
* @return Result of the GetPipeline operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws PipelineNotFoundException
* The pipeline was specified in an invalid format or cannot be found.
* @throws PipelineVersionNotFoundException
* The pipeline version was specified in an invalid format or cannot be found.
* @sample AWSCodePipeline.GetPipeline
* @see AWS API
* Documentation
*/
GetPipelineResult getPipeline(GetPipelineRequest getPipelineRequest);
/**
*
* 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.
*
*
* @param getPipelineExecutionRequest
* Represents the input of a GetPipelineExecution
action.
* @return Result of the GetPipelineExecution operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws PipelineNotFoundException
* The pipeline was specified in an invalid format or cannot be found.
* @throws PipelineExecutionNotFoundException
* The pipeline execution was specified in an invalid format or cannot be found, or an execution ID does not
* belong to the specified pipeline.
* @sample AWSCodePipeline.GetPipelineExecution
* @see AWS API Documentation
*/
GetPipelineExecutionResult getPipelineExecution(GetPipelineExecutionRequest getPipelineExecutionRequest);
/**
*
* Returns information about the state of a pipeline, including the stages and actions.
*
*
*
* Values returned in the revisionId
and revisionUrl
fields indicate the source revision
* information, such as the commit ID, for the current state.
*
*
*
* @param getPipelineStateRequest
* Represents the input of a GetPipelineState
action.
* @return Result of the GetPipelineState operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws PipelineNotFoundException
* The pipeline was specified in an invalid format or cannot be found.
* @sample AWSCodePipeline.GetPipelineState
* @see AWS
* API Documentation
*/
GetPipelineStateResult getPipelineState(GetPipelineStateRequest getPipelineStateRequest);
/**
*
* Requests the details of a job for a third party action. Used for partner actions only.
*
*
*
* When this API is called, CodePipeline returns temporary credentials for the S3 bucket used to store artifacts for
* the pipeline, if the action requires access to that S3 bucket for input or output artifacts. This API also
* returns any secret values defined for the action.
*
*
*
* @param getThirdPartyJobDetailsRequest
* Represents the input of a GetThirdPartyJobDetails
action.
* @return Result of the GetThirdPartyJobDetails operation returned by the service.
* @throws JobNotFoundException
* The job was specified in an invalid format or cannot be found.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws InvalidClientTokenException
* The client token was specified in an invalid format
* @throws InvalidJobException
* The job was specified in an invalid format or cannot be found.
* @sample AWSCodePipeline.GetThirdPartyJobDetails
* @see AWS API Documentation
*/
GetThirdPartyJobDetailsResult getThirdPartyJobDetails(GetThirdPartyJobDetailsRequest getThirdPartyJobDetailsRequest);
/**
*
* Lists the action executions that have occurred in a pipeline.
*
*
* @param listActionExecutionsRequest
* @return Result of the ListActionExecutions operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws PipelineNotFoundException
* The pipeline was specified in an invalid format or cannot be found.
* @throws InvalidNextTokenException
* The next token was specified in an invalid format. Make sure that the next token you provide is the token
* returned by a previous call.
* @throws PipelineExecutionNotFoundException
* The pipeline execution was specified in an invalid format or cannot be found, or an execution ID does not
* belong to the specified pipeline.
* @sample AWSCodePipeline.ListActionExecutions
* @see AWS API Documentation
*/
ListActionExecutionsResult listActionExecutions(ListActionExecutionsRequest listActionExecutionsRequest);
/**
*
* Gets a summary of all CodePipeline action types associated with your account.
*
*
* @param listActionTypesRequest
* Represents the input of a ListActionTypes
action.
* @return Result of the ListActionTypes operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws InvalidNextTokenException
* The next token was specified in an invalid format. Make sure that the next token you provide is the token
* returned by a previous call.
* @sample AWSCodePipeline.ListActionTypes
* @see AWS
* API Documentation
*/
ListActionTypesResult listActionTypes(ListActionTypesRequest listActionTypesRequest);
/**
*
* Gets a summary of the most recent executions for a pipeline.
*
*
*
* When applying the filter for pipeline executions that have succeeded in the stage, the operation returns all
* executions in the current pipeline version beginning on February 1, 2024.
*
*
*
* @param listPipelineExecutionsRequest
* Represents the input of a ListPipelineExecutions
action.
* @return Result of the ListPipelineExecutions operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws PipelineNotFoundException
* The pipeline was specified in an invalid format or cannot be found.
* @throws InvalidNextTokenException
* The next token was specified in an invalid format. Make sure that the next token you provide is the token
* returned by a previous call.
* @sample AWSCodePipeline.ListPipelineExecutions
* @see AWS API Documentation
*/
ListPipelineExecutionsResult listPipelineExecutions(ListPipelineExecutionsRequest listPipelineExecutionsRequest);
/**
*
* Gets a summary of all of the pipelines associated with your account.
*
*
* @param listPipelinesRequest
* Represents the input of a ListPipelines
action.
* @return Result of the ListPipelines operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws InvalidNextTokenException
* The next token was specified in an invalid format. Make sure that the next token you provide is the token
* returned by a previous call.
* @sample AWSCodePipeline.ListPipelines
* @see AWS API
* Documentation
*/
ListPipelinesResult listPipelines(ListPipelinesRequest listPipelinesRequest);
/**
*
* Gets the set of key-value pairs (metadata) that are used to manage the resource.
*
*
* @param listTagsForResourceRequest
* @return Result of the ListTagsForResource operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws ResourceNotFoundException
* The resource was specified in an invalid format.
* @throws InvalidNextTokenException
* The next token was specified in an invalid format. Make sure that the next token you provide is the token
* returned by a previous call.
* @throws InvalidArnException
* The specified resource ARN is invalid.
* @sample AWSCodePipeline.ListTagsForResource
* @see AWS API Documentation
*/
ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest);
/**
*
* Gets a listing of all the webhooks in this Amazon Web Services Region for this account. The output lists all
* webhooks and includes the webhook URL and ARN and the configuration for each webhook.
*
*
* @param listWebhooksRequest
* @return Result of the ListWebhooks operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws InvalidNextTokenException
* The next token was specified in an invalid format. Make sure that the next token you provide is the token
* returned by a previous call.
* @sample AWSCodePipeline.ListWebhooks
* @see AWS API
* Documentation
*/
ListWebhooksResult listWebhooks(ListWebhooksRequest listWebhooksRequest);
/**
*
* Returns information about any jobs for CodePipeline to act on. PollForJobs
is valid only for action
* types with "Custom" in the owner field. If the action type contains AWS
or ThirdParty
* in the owner field, the PollForJobs
action returns an error.
*
*
*
* When this API is called, CodePipeline returns temporary credentials for the S3 bucket used to store artifacts for
* the pipeline, if the action requires access to that S3 bucket for input or output artifacts. This API also
* returns any secret values defined for the action.
*
*
*
* @param pollForJobsRequest
* Represents the input of a PollForJobs
action.
* @return Result of the PollForJobs operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws ActionTypeNotFoundException
* The specified action type cannot be found.
* @sample AWSCodePipeline.PollForJobs
* @see AWS API
* Documentation
*/
PollForJobsResult pollForJobs(PollForJobsRequest pollForJobsRequest);
/**
*
* Determines whether there are any third party jobs for a job worker to act on. Used for partner actions only.
*
*
*
* When this API is called, CodePipeline returns temporary credentials for the S3 bucket used to store artifacts for
* the pipeline, if the action requires access to that S3 bucket for input or output artifacts.
*
*
*
* @param pollForThirdPartyJobsRequest
* Represents the input of a PollForThirdPartyJobs
action.
* @return Result of the PollForThirdPartyJobs operation returned by the service.
* @throws ActionTypeNotFoundException
* The specified action type cannot be found.
* @throws ValidationException
* The validation was specified in an invalid format.
* @sample AWSCodePipeline.PollForThirdPartyJobs
* @see AWS API Documentation
*/
PollForThirdPartyJobsResult pollForThirdPartyJobs(PollForThirdPartyJobsRequest pollForThirdPartyJobsRequest);
/**
*
* Provides information to CodePipeline about new revisions to a source.
*
*
* @param putActionRevisionRequest
* Represents the input of a PutActionRevision
action.
* @return Result of the PutActionRevision operation returned by the service.
* @throws PipelineNotFoundException
* The pipeline was specified in an invalid format or cannot be found.
* @throws StageNotFoundException
* The stage was specified in an invalid format or cannot be found.
* @throws ActionNotFoundException
* The specified action cannot be found.
* @throws ValidationException
* The validation was specified in an invalid format.
* @sample AWSCodePipeline.PutActionRevision
* @see AWS
* API Documentation
*/
PutActionRevisionResult putActionRevision(PutActionRevisionRequest putActionRevisionRequest);
/**
*
* Provides the response to a manual approval request to CodePipeline. Valid responses include Approved and
* Rejected.
*
*
* @param putApprovalResultRequest
* Represents the input of a PutApprovalResult
action.
* @return Result of the PutApprovalResult operation returned by the service.
* @throws InvalidApprovalTokenException
* The approval request already received a response or has expired.
* @throws ApprovalAlreadyCompletedException
* The approval action has already been approved or rejected.
* @throws PipelineNotFoundException
* The pipeline was specified in an invalid format or cannot be found.
* @throws StageNotFoundException
* The stage was specified in an invalid format or cannot be found.
* @throws ActionNotFoundException
* The specified action cannot be found.
* @throws ValidationException
* The validation was specified in an invalid format.
* @sample AWSCodePipeline.PutApprovalResult
* @see AWS
* API Documentation
*/
PutApprovalResultResult putApprovalResult(PutApprovalResultRequest putApprovalResultRequest);
/**
*
* Represents the failure of a job as returned to the pipeline by a job worker. Used for custom actions only.
*
*
* @param putJobFailureResultRequest
* Represents the input of a PutJobFailureResult
action.
* @return Result of the PutJobFailureResult operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws JobNotFoundException
* The job was specified in an invalid format or cannot be found.
* @throws InvalidJobStateException
* The job state was specified in an invalid format.
* @sample AWSCodePipeline.PutJobFailureResult
* @see AWS API Documentation
*/
PutJobFailureResultResult putJobFailureResult(PutJobFailureResultRequest putJobFailureResultRequest);
/**
*
* Represents the success of a job as returned to the pipeline by a job worker. Used for custom actions only.
*
*
* @param putJobSuccessResultRequest
* Represents the input of a PutJobSuccessResult
action.
* @return Result of the PutJobSuccessResult operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws JobNotFoundException
* The job was specified in an invalid format or cannot be found.
* @throws InvalidJobStateException
* The job state was specified in an invalid format.
* @throws OutputVariablesSizeExceededException
* Exceeded the total size limit for all variables in the pipeline.
* @sample AWSCodePipeline.PutJobSuccessResult
* @see AWS API Documentation
*/
PutJobSuccessResultResult putJobSuccessResult(PutJobSuccessResultRequest putJobSuccessResultRequest);
/**
*
* Represents the failure of a third party job as returned to the pipeline by a job worker. Used for partner actions
* only.
*
*
* @param putThirdPartyJobFailureResultRequest
* Represents the input of a PutThirdPartyJobFailureResult
action.
* @return Result of the PutThirdPartyJobFailureResult operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws JobNotFoundException
* The job was specified in an invalid format or cannot be found.
* @throws InvalidJobStateException
* The job state was specified in an invalid format.
* @throws InvalidClientTokenException
* The client token was specified in an invalid format
* @sample AWSCodePipeline.PutThirdPartyJobFailureResult
* @see AWS API Documentation
*/
PutThirdPartyJobFailureResultResult putThirdPartyJobFailureResult(PutThirdPartyJobFailureResultRequest putThirdPartyJobFailureResultRequest);
/**
*
* Represents the success of a third party job as returned to the pipeline by a job worker. Used for partner actions
* only.
*
*
* @param putThirdPartyJobSuccessResultRequest
* Represents the input of a PutThirdPartyJobSuccessResult
action.
* @return Result of the PutThirdPartyJobSuccessResult operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws JobNotFoundException
* The job was specified in an invalid format or cannot be found.
* @throws InvalidJobStateException
* The job state was specified in an invalid format.
* @throws InvalidClientTokenException
* The client token was specified in an invalid format
* @sample AWSCodePipeline.PutThirdPartyJobSuccessResult
* @see AWS API Documentation
*/
PutThirdPartyJobSuccessResultResult putThirdPartyJobSuccessResult(PutThirdPartyJobSuccessResultRequest putThirdPartyJobSuccessResultRequest);
/**
*
* Defines a webhook and returns a unique webhook URL generated by CodePipeline. This URL can be supplied to third
* party source hosting providers to call every time there's a code change. When CodePipeline receives a POST
* request on this URL, the pipeline defined in the webhook is started as long as the POST request satisfied the
* authentication and filtering requirements supplied when defining the webhook. RegisterWebhookWithThirdParty and
* DeregisterWebhookWithThirdParty APIs can be used to automatically configure supported third parties to call the
* generated webhook URL.
*
*
* @param putWebhookRequest
* @return Result of the PutWebhook operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws LimitExceededException
* The number of pipelines associated with the Amazon Web Services account has exceeded the limit allowed
* for the account.
* @throws InvalidWebhookFilterPatternException
* The specified event filter rule is in an invalid format.
* @throws InvalidWebhookAuthenticationParametersException
* The specified authentication type is in an invalid format.
* @throws PipelineNotFoundException
* The pipeline was specified in an invalid format or cannot be found.
* @throws TooManyTagsException
* The tags limit for a resource has been exceeded.
* @throws InvalidTagsException
* The specified resource tags are invalid.
* @throws ConcurrentModificationException
* Unable to modify the tag due to a simultaneous update request.
* @sample AWSCodePipeline.PutWebhook
* @see AWS API
* Documentation
*/
PutWebhookResult putWebhook(PutWebhookRequest putWebhookRequest);
/**
*
* Configures a connection between the webhook that was created and the external tool with events to be detected.
*
*
* @param registerWebhookWithThirdPartyRequest
* @return Result of the RegisterWebhookWithThirdParty operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws WebhookNotFoundException
* The specified webhook was entered in an invalid format or cannot be found.
* @sample AWSCodePipeline.RegisterWebhookWithThirdParty
* @see AWS API Documentation
*/
RegisterWebhookWithThirdPartyResult registerWebhookWithThirdParty(RegisterWebhookWithThirdPartyRequest registerWebhookWithThirdPartyRequest);
/**
*
* You can retry a stage that has failed without having to run a pipeline again from the beginning. You do this by
* either retrying the failed actions in a stage or by retrying all actions in the stage starting from the first
* action in the stage. When you retry the failed actions in a stage, all actions that are still in progress
* continue working, and failed actions are triggered again. When you retry a failed stage from the first action in
* the stage, the stage cannot have any actions in progress. Before a stage can be retried, it must either have all
* actions failed or some actions failed and some succeeded.
*
*
* @param retryStageExecutionRequest
* Represents the input of a RetryStageExecution
action.
* @return Result of the RetryStageExecution operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws ConflictException
* Your request cannot be handled because the pipeline is busy handling ongoing activities. Try again later.
* @throws PipelineNotFoundException
* The pipeline was specified in an invalid format or cannot be found.
* @throws StageNotFoundException
* The stage was specified in an invalid format or cannot be found.
* @throws StageNotRetryableException
* Unable to retry. The pipeline structure or stage state might have changed while actions awaited retry, or
* the stage contains no failed actions.
* @throws NotLatestPipelineExecutionException
* The stage has failed in a later run of the pipeline and the pipelineExecutionId
associated
* with the request is out of date.
* @sample AWSCodePipeline.RetryStageExecution
* @see AWS API Documentation
*/
RetryStageExecutionResult retryStageExecution(RetryStageExecutionRequest retryStageExecutionRequest);
/**
*
* Rolls back a stage execution.
*
*
* @param rollbackStageRequest
* @return Result of the RollbackStage operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws ConflictException
* Your request cannot be handled because the pipeline is busy handling ongoing activities. Try again later.
* @throws PipelineNotFoundException
* The pipeline was specified in an invalid format or cannot be found.
* @throws PipelineExecutionNotFoundException
* The pipeline execution was specified in an invalid format or cannot be found, or an execution ID does not
* belong to the specified pipeline.
* @throws PipelineExecutionOutdatedException
* The specified pipeline execution is outdated and cannot be used as a target pipeline execution for
* rollback.
* @throws StageNotFoundException
* The stage was specified in an invalid format or cannot be found.
* @throws UnableToRollbackStageException
* Unable to roll back the stage. The cause might be if the pipeline version has changed since the target
* pipeline execution was deployed, the stage is currently running, or an incorrect target pipeline
* execution ID was provided.
* @sample AWSCodePipeline.RollbackStage
* @see AWS API
* Documentation
*/
RollbackStageResult rollbackStage(RollbackStageRequest rollbackStageRequest);
/**
*
* Starts the specified pipeline. Specifically, it begins processing the latest commit to the source location
* specified as part of the pipeline.
*
*
* @param startPipelineExecutionRequest
* Represents the input of a StartPipelineExecution
action.
* @return Result of the StartPipelineExecution operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws ConflictException
* Your request cannot be handled because the pipeline is busy handling ongoing activities. Try again later.
* @throws PipelineNotFoundException
* The pipeline was specified in an invalid format or cannot be found.
* @throws ConcurrentPipelineExecutionsLimitExceededException
* The pipeline has reached the limit for concurrent pipeline executions.
* @sample AWSCodePipeline.StartPipelineExecution
* @see AWS API Documentation
*/
StartPipelineExecutionResult startPipelineExecution(StartPipelineExecutionRequest startPipelineExecutionRequest);
/**
*
* Stops the specified pipeline execution. You choose to either stop the pipeline execution by completing
* in-progress actions without starting subsequent actions, or by abandoning in-progress actions. While completing
* or abandoning in-progress actions, the pipeline execution is in a Stopping
state. After all
* in-progress actions are completed or abandoned, the pipeline execution is in a Stopped
state.
*
*
* @param stopPipelineExecutionRequest
* @return Result of the StopPipelineExecution operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws ConflictException
* Your request cannot be handled because the pipeline is busy handling ongoing activities. Try again later.
* @throws PipelineNotFoundException
* The pipeline was specified in an invalid format or cannot be found.
* @throws PipelineExecutionNotStoppableException
* Unable to stop the pipeline execution. The execution might already be in a Stopped
state, or
* it might no longer be in progress.
* @throws DuplicatedStopRequestException
* The pipeline execution is already in a Stopping
state. If you already chose to stop and
* wait, you cannot make that request again. You can choose to stop and abandon now, but be aware that this
* option can lead to failed tasks or out of sequence tasks. If you already chose to stop and abandon, you
* cannot make that request again.
* @sample AWSCodePipeline.StopPipelineExecution
* @see AWS API Documentation
*/
StopPipelineExecutionResult stopPipelineExecution(StopPipelineExecutionRequest stopPipelineExecutionRequest);
/**
*
* Adds to or modifies the tags of the given resource. Tags are metadata that can be used to manage a resource.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws ResourceNotFoundException
* The resource was specified in an invalid format.
* @throws InvalidArnException
* The specified resource ARN is invalid.
* @throws TooManyTagsException
* The tags limit for a resource has been exceeded.
* @throws InvalidTagsException
* The specified resource tags are invalid.
* @throws ConcurrentModificationException
* Unable to modify the tag due to a simultaneous update request.
* @sample AWSCodePipeline.TagResource
* @see AWS API
* Documentation
*/
TagResourceResult tagResource(TagResourceRequest tagResourceRequest);
/**
*
* Removes tags from an Amazon Web Services resource.
*
*
* @param untagResourceRequest
* @return Result of the UntagResource operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws ResourceNotFoundException
* The resource was specified in an invalid format.
* @throws InvalidArnException
* The specified resource ARN is invalid.
* @throws InvalidTagsException
* The specified resource tags are invalid.
* @throws ConcurrentModificationException
* Unable to modify the tag due to a simultaneous update request.
* @sample AWSCodePipeline.UntagResource
* @see AWS API
* Documentation
*/
UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest);
/**
*
* 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. Use a JSON file with the action definition and
* UpdateActionType
to provide the full structure.
*
*
* @param updateActionTypeRequest
* @return Result of the UpdateActionType operation returned by the service.
* @throws RequestFailedException
* The request failed because of an unknown error, exception, or failure.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws ActionTypeNotFoundException
* The specified action type cannot be found.
* @sample AWSCodePipeline.UpdateActionType
* @see AWS
* API Documentation
*/
UpdateActionTypeResult updateActionType(UpdateActionTypeRequest updateActionTypeRequest);
/**
*
* Updates a specified pipeline with edits or changes to its structure. Use a JSON file with the pipeline structure
* and UpdatePipeline
to provide the full structure of the pipeline. Updating the pipeline increases
* the version number of the pipeline by 1.
*
*
* @param updatePipelineRequest
* Represents the input of an UpdatePipeline
action.
* @return Result of the UpdatePipeline operation returned by the service.
* @throws ValidationException
* The validation was specified in an invalid format.
* @throws InvalidStageDeclarationException
* The stage declaration was specified in an invalid format.
* @throws InvalidActionDeclarationException
* The action declaration was specified in an invalid format.
* @throws InvalidBlockerDeclarationException
* Reserved for future use.
* @throws InvalidStructureException
* The structure was specified in an invalid format.
* @throws LimitExceededException
* The number of pipelines associated with the Amazon Web Services account has exceeded the limit allowed
* for the account.
* @sample AWSCodePipeline.UpdatePipeline
* @see AWS
* API Documentation
*/
UpdatePipelineResult updatePipeline(UpdatePipelineRequest updatePipelineRequest);
/**
* Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
* callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
* has been shutdown, it should not be used to make any more requests.
*/
void shutdown();
/**
* Returns additional metadata for a previously executed successful request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}