All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.codepipeline.AWSCodePipelineClient Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 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 org.w3c.dom.*;

import java.net.*;
import java.util.*;
import java.util.Map.Entry;

import org.apache.commons.logging.*;

import com.amazonaws.*;
import com.amazonaws.auth.*;
import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.internal.*;
import com.amazonaws.internal.auth.*;
import com.amazonaws.metrics.*;
import com.amazonaws.regions.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.protocol.json.*;
import com.amazonaws.util.AWSRequestMetrics.Field;
import com.amazonaws.annotation.ThreadSafe;
import com.amazonaws.client.AwsSyncClientParams;
import com.amazonaws.AmazonServiceException;

import com.amazonaws.services.codepipeline.model.*;
import com.amazonaws.services.codepipeline.model.transform.*;

/**
 * Client for accessing CodePipeline. All service calls made using this client
 * are blocking, and will not return until the service call completes.
 * 

* AWS CodePipeline *

* Overview *

*

* This is the AWS CodePipeline API Reference. This guide provides descriptions * of the actions and data types for AWS CodePipeline. Some functionality for * your pipeline is only configurable through the API. For additional * information, see the AWS * CodePipeline User Guide. *

*

* You can use the AWS CodePipeline API to work with pipelines, stages, actions, * gates, and transitions, as described below. *

*

* Pipelines are models of automated release processes. Each pipeline is * uniquely named, and consists of actions, gates, and stages. *

*

* 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 a pipeline structure. *

    *
  • *
  • *

    * GetPipelineState, which returns information about the current state of * the stages and actions of a pipeline. *

    *
  • *
  • *

    * ListPipelines, which gets a summary of all of the pipelines associated * with your account. *

    *
  • *
  • *

    * StartPipelineExecution, which runs the the most recent revision of an * artifact through the pipeline. *

    *
  • *
  • *

    * UpdatePipeline, which updates a pipeline with edits or changes to the * structure of the pipeline. *

    *
  • *
*

* Pipelines include stages, which are which are logical groupings of * gates and actions. Each stage contains one or more actions that must complete * before the next stage begins. A stage will result in success or failure. If a * stage fails, then the pipeline stops at that stage and will remain stopped * until either a new version of an artifact appears in the source location, or * a user takes action to re-run 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, also refer to the AWS CodePipeline Pipeline Structure Reference. *

*

* Pipeline stages include actions, which are categorized into categories * such as source or build actions performed within 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. *

*

* 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 AWS CodePipeline *

*

* For third-party integrators or developers who want to create their own * integrations with AWS CodePipeline, the expected sequence varies from the * standard API user. In order to integrate with AWS CodePipeline, developers * will 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 upon, *

    *
  • *
  • *

    * PutJobFailureResult, which provides details of a job failure, and *

    *
  • *
  • *

    * 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 AWS CodePipeline. Partner actions are * created by members of the AWS Partner Network. *

*

* You can work with third party jobs by calling: *

* */ @ThreadSafe public class AWSCodePipelineClient extends AmazonWebServiceClient implements AWSCodePipeline { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AWSCodePipeline.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "codepipeline"; /** * Client configuration factory providing ClientConfigurations tailored to * this client */ protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory(); private final SdkJsonProtocolFactory protocolFactory = new SdkJsonProtocolFactory( new JsonClientMetadata() .withProtocolVersion("1.1") .withSupportsCbor(false) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode( "InvalidClientTokenException") .withModeledClass( com.amazonaws.services.codepipeline.model.InvalidClientTokenException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("InvalidJobStateException") .withModeledClass( com.amazonaws.services.codepipeline.model.InvalidJobStateException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode( "PipelineVersionNotFoundException") .withModeledClass( com.amazonaws.services.codepipeline.model.PipelineVersionNotFoundException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode( "InvalidApprovalTokenException") .withModeledClass( com.amazonaws.services.codepipeline.model.InvalidApprovalTokenException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode( "InvalidActionDeclarationException") .withModeledClass( com.amazonaws.services.codepipeline.model.InvalidActionDeclarationException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode( "ApprovalAlreadyCompletedException") .withModeledClass( com.amazonaws.services.codepipeline.model.ApprovalAlreadyCompletedException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("PipelineNameInUseException") .withModeledClass( com.amazonaws.services.codepipeline.model.PipelineNameInUseException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("PipelineNotFoundException") .withModeledClass( com.amazonaws.services.codepipeline.model.PipelineNotFoundException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("InvalidNextTokenException") .withModeledClass( com.amazonaws.services.codepipeline.model.InvalidNextTokenException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("InvalidJobException") .withModeledClass( com.amazonaws.services.codepipeline.model.InvalidJobException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("LimitExceededException") .withModeledClass( com.amazonaws.services.codepipeline.model.LimitExceededException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode( "ActionTypeNotFoundException") .withModeledClass( com.amazonaws.services.codepipeline.model.ActionTypeNotFoundException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("StageNotFoundException") .withModeledClass( com.amazonaws.services.codepipeline.model.StageNotFoundException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("StageNotRetryableException") .withModeledClass( com.amazonaws.services.codepipeline.model.StageNotRetryableException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("InvalidStructureException") .withModeledClass( com.amazonaws.services.codepipeline.model.InvalidStructureException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode( "InvalidBlockerDeclarationException") .withModeledClass( com.amazonaws.services.codepipeline.model.InvalidBlockerDeclarationException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("ActionNotFoundException") .withModeledClass( com.amazonaws.services.codepipeline.model.ActionNotFoundException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode( "InvalidStageDeclarationException") .withModeledClass( com.amazonaws.services.codepipeline.model.InvalidStageDeclarationException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("ValidationException") .withModeledClass( com.amazonaws.services.codepipeline.model.ValidationException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("InvalidNonceException") .withModeledClass( com.amazonaws.services.codepipeline.model.InvalidNonceException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("JobNotFoundException") .withModeledClass( com.amazonaws.services.codepipeline.model.JobNotFoundException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode( "NotLatestPipelineExecutionException") .withModeledClass( com.amazonaws.services.codepipeline.model.NotLatestPipelineExecutionException.class)) .withBaseServiceExceptionClass( com.amazonaws.services.codepipeline.model.AWSCodePipelineException.class)); /** * Constructs a new client to invoke service methods on CodePipeline. A * credentials provider chain will be used that searches for credentials in * this order: *
    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 * metadata service
  • *
* *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @see DefaultAWSCredentialsProviderChain */ public AWSCodePipelineClient() { this(new DefaultAWSCredentialsProviderChain(), configFactory .getConfig()); } /** * Constructs a new client to invoke service methods on CodePipeline. A * credentials provider chain will be used that searches for credentials in * this order: *

    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 * metadata service
  • *
* *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param clientConfiguration * The client configuration options controlling how this client * connects to CodePipeline (ex: proxy settings, retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain */ public AWSCodePipelineClient(ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), clientConfiguration); } /** * Constructs a new client to invoke service methods on CodePipeline using * the specified AWS account credentials. * *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when * authenticating with AWS services. */ public AWSCodePipelineClient(AWSCredentials awsCredentials) { this(awsCredentials, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on CodePipeline using * the specified AWS account credentials and client configuration options. * *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when * authenticating with AWS services. * @param clientConfiguration * The client configuration options controlling how this client * connects to CodePipeline (ex: proxy settings, retry counts, etc.). */ public AWSCodePipelineClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(clientConfiguration); this.awsCredentialsProvider = new StaticCredentialsProvider( awsCredentials); init(); } /** * Constructs a new client to invoke service methods on CodePipeline using * the specified AWS account credentials provider. * *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to * authenticate requests with AWS services. */ public AWSCodePipelineClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on CodePipeline using * the specified AWS account credentials provider and client configuration * options. * *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to * authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client * connects to CodePipeline (ex: proxy settings, retry counts, etc.). */ public AWSCodePipelineClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, null); } /** * Constructs a new client to invoke service methods on CodePipeline using * the specified AWS account credentials provider, client configuration * options, and request metric collector. * *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to * authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client * connects to CodePipeline (ex: proxy settings, retry counts, etc.). * @param requestMetricCollector * optional request metric collector */ public AWSCodePipelineClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(clientConfiguration, requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; init(); } /** * Constructs a new client to invoke service methods on CodePipeline using * the specified parameters. * *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param clientParams * Object providing client parameters. */ AWSCodePipelineClient(AwsSyncClientParams clientParams) { super(clientParams); this.awsCredentialsProvider = clientParams.getCredentialsProvider(); init(); } private void init() { setServiceNameIntern(DEFAULT_SIGNING_NAME); setEndpointPrefix(ENDPOINT_PREFIX); // calling this.setEndPoint(...) will also modify the signer accordingly setEndpoint("https://codepipeline.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s .addAll(chainFactory .newRequestHandlerChain("/com/amazonaws/services/codepipeline/request.handlers")); requestHandler2s .addAll(chainFactory .newRequestHandler2Chain("/com/amazonaws/services/codepipeline/request.handler2s")); } /** *

* Returns information about a specified job and whether that job has been * received by the job worker. Only used for custom actions. *

* * @param acknowledgeJobRequest * Represents the input of an acknowledge job action. * @return Result of the AcknowledgeJob operation returned by the service. * @throws ValidationException * The validation was specified in an invalid format. * @throws InvalidNonceException * The specified nonce was specified in an invalid format. * @throws JobNotFoundException * The specified job was specified in an invalid format or cannot be * found. * @sample AWSCodePipeline.AcknowledgeJob */ @Override public AcknowledgeJobResult acknowledgeJob( AcknowledgeJobRequest acknowledgeJobRequest) { ExecutionContext executionContext = createExecutionContext(acknowledgeJobRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AcknowledgeJobRequestMarshaller(protocolFactory) .marshall(super .beforeMarshalling(acknowledgeJobRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new AcknowledgeJobResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Confirms a job worker has received the specified job. Only used for * partner actions. *

* * @param acknowledgeThirdPartyJobRequest * Represents the input of an acknowledge third party job action. * @return Result of the AcknowledgeThirdPartyJob operation returned by the * service. * @throws ValidationException * The validation was specified in an invalid format. * @throws InvalidNonceException * The specified nonce was specified in an invalid format. * @throws JobNotFoundException * The specified 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 */ @Override public AcknowledgeThirdPartyJobResult acknowledgeThirdPartyJob( AcknowledgeThirdPartyJobRequest acknowledgeThirdPartyJobRequest) { ExecutionContext executionContext = createExecutionContext(acknowledgeThirdPartyJobRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AcknowledgeThirdPartyJobRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(acknowledgeThirdPartyJobRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler( new JsonOperationMetadata().withPayloadJson(true) .withHasStreamingSuccessResponse(false), new AcknowledgeThirdPartyJobResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a new custom action that can be used in all pipelines associated * with the AWS account. Only used for custom actions. *

* * @param createCustomActionTypeRequest * Represents the input of a create custom action 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 AWS account has * exceeded the limit allowed for the account. * @sample AWSCodePipeline.CreateCustomActionType */ @Override public CreateCustomActionTypeResult createCustomActionType( CreateCustomActionTypeRequest createCustomActionTypeRequest) { ExecutionContext executionContext = createExecutionContext(createCustomActionTypeRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateCustomActionTypeRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(createCustomActionTypeRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new CreateCustomActionTypeResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a pipeline. *

* * @param createPipelineRequest * Represents the input of a create pipeline 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 specified stage declaration was specified in an invalid * format. * @throws InvalidActionDeclarationException * The specified action declaration was specified in an invalid * format. * @throws InvalidBlockerDeclarationException * Reserved for future use. * @throws InvalidStructureException * The specified structure was specified in an invalid format. * @throws LimitExceededException * The number of pipelines associated with the AWS account has * exceeded the limit allowed for the account. * @sample AWSCodePipeline.CreatePipeline */ @Override public CreatePipelineResult createPipeline( CreatePipelineRequest createPipelineRequest) { ExecutionContext executionContext = createExecutionContext(createPipelineRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreatePipelineRequestMarshaller(protocolFactory) .marshall(super .beforeMarshalling(createPipelineRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new CreatePipelineResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Marks a custom action as deleted. PollForJobs for the custom action will * fail after the action is marked for deletion. Only used for custom * actions. *

* *

* You cannot recreate a custom action after it has been deleted unless you * increase the version number of the action. *

*
* * @param deleteCustomActionTypeRequest * Represents the input of a delete custom action 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. * @sample AWSCodePipeline.DeleteCustomActionType */ @Override public DeleteCustomActionTypeResult deleteCustomActionType( DeleteCustomActionTypeRequest deleteCustomActionTypeRequest) { ExecutionContext executionContext = createExecutionContext(deleteCustomActionTypeRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteCustomActionTypeRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(deleteCustomActionTypeRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new DeleteCustomActionTypeResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes the specified pipeline. *

* * @param deletePipelineRequest * Represents the input of a delete pipeline action. * @return Result of the DeletePipeline operation returned by the service. * @throws ValidationException * The validation was specified in an invalid format. * @sample AWSCodePipeline.DeletePipeline */ @Override public DeletePipelineResult deletePipeline( DeletePipelineRequest deletePipelineRequest) { ExecutionContext executionContext = createExecutionContext(deletePipelineRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeletePipelineRequestMarshaller(protocolFactory) .marshall(super .beforeMarshalling(deletePipelineRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new DeletePipelineResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Prevents artifacts in a pipeline from transitioning to the next stage in * the pipeline. *

* * @param disableStageTransitionRequest * Represents the input of a disable stage transition input action. * @return Result of the DisableStageTransition operation returned by the * service. * @throws ValidationException * The validation was specified in an invalid format. * @throws PipelineNotFoundException * The specified pipeline was specified in an invalid format or * cannot be found. * @throws StageNotFoundException * The specified stage was specified in an invalid format or cannot * be found. * @sample AWSCodePipeline.DisableStageTransition */ @Override public DisableStageTransitionResult disableStageTransition( DisableStageTransitionRequest disableStageTransitionRequest) { ExecutionContext executionContext = createExecutionContext(disableStageTransitionRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisableStageTransitionRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(disableStageTransitionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new DisableStageTransitionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Enables artifacts in a pipeline to transition to a stage in a pipeline. *

* * @param enableStageTransitionRequest * Represents the input of an enable stage transition action. * @return Result of the EnableStageTransition operation returned by the * service. * @throws ValidationException * The validation was specified in an invalid format. * @throws PipelineNotFoundException * The specified pipeline was specified in an invalid format or * cannot be found. * @throws StageNotFoundException * The specified stage was specified in an invalid format or cannot * be found. * @sample AWSCodePipeline.EnableStageTransition */ @Override public EnableStageTransitionResult enableStageTransition( EnableStageTransitionRequest enableStageTransitionRequest) { ExecutionContext executionContext = createExecutionContext(enableStageTransitionRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new EnableStageTransitionRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(enableStageTransitionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new EnableStageTransitionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

* *

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

*
* * @param getJobDetailsRequest * Represents the input of a get job details action. * @return Result of the GetJobDetails operation returned by the service. * @throws ValidationException * The validation was specified in an invalid format. * @throws JobNotFoundException * The specified job was specified in an invalid format or cannot be * found. * @sample AWSCodePipeline.GetJobDetails */ @Override public GetJobDetailsResult getJobDetails( GetJobDetailsRequest getJobDetailsRequest) { ExecutionContext executionContext = createExecutionContext(getJobDetailsRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetJobDetailsRequestMarshaller(protocolFactory) .marshall(super.beforeMarshalling(getJobDetailsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new GetJobDetailsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 get pipeline action. * @return Result of the GetPipeline operation returned by the service. * @throws ValidationException * The validation was specified in an invalid format. * @throws PipelineNotFoundException * The specified pipeline was specified in an invalid format or * cannot be found. * @throws PipelineVersionNotFoundException * The specified pipeline version was specified in an invalid format * or cannot be found. * @sample AWSCodePipeline.GetPipeline */ @Override public GetPipelineResult getPipeline(GetPipelineRequest getPipelineRequest) { ExecutionContext executionContext = createExecutionContext(getPipelineRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetPipelineRequestMarshaller(protocolFactory) .marshall(super.beforeMarshalling(getPipelineRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new GetPipelineResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Returns information about the state of a pipeline, including the stages * and actions. *

* * @param getPipelineStateRequest * Represents the input of a get pipeline state action. * @return Result of the GetPipelineState operation returned by the service. * @throws ValidationException * The validation was specified in an invalid format. * @throws PipelineNotFoundException * The specified pipeline was specified in an invalid format or * cannot be found. * @sample AWSCodePipeline.GetPipelineState */ @Override public GetPipelineStateResult getPipelineState( GetPipelineStateRequest getPipelineStateRequest) { ExecutionContext executionContext = createExecutionContext(getPipelineStateRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetPipelineStateRequestMarshaller(protocolFactory) .marshall(super .beforeMarshalling(getPipelineStateRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new GetPipelineStateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

* *

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

*
* * @param getThirdPartyJobDetailsRequest * Represents the input of a get third party job details action. * @return Result of the GetThirdPartyJobDetails operation returned by the * service. * @throws JobNotFoundException * The specified 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 specified job was specified in an invalid format or cannot be * found. * @sample AWSCodePipeline.GetThirdPartyJobDetails */ @Override public GetThirdPartyJobDetailsResult getThirdPartyJobDetails( GetThirdPartyJobDetailsRequest getThirdPartyJobDetailsRequest) { ExecutionContext executionContext = createExecutionContext(getThirdPartyJobDetailsRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetThirdPartyJobDetailsRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(getThirdPartyJobDetailsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new GetThirdPartyJobDetailsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

* * @param listActionTypesRequest * Represents the input of a list action types 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 provided is the token returned by a previous * call. * @sample AWSCodePipeline.ListActionTypes */ @Override public ListActionTypesResult listActionTypes( ListActionTypesRequest listActionTypesRequest) { ExecutionContext executionContext = createExecutionContext(listActionTypesRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListActionTypesRequestMarshaller(protocolFactory) .marshall(super .beforeMarshalling(listActionTypesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new ListActionTypesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a summary of all of the pipelines associated with your account. *

* * @param listPipelinesRequest * Represents the input of a list pipelines action. * @return Result of the ListPipelines operation returned by the service. * @throws InvalidNextTokenException * The next token was specified in an invalid format. Make sure that * the next token you provided is the token returned by a previous * call. * @sample AWSCodePipeline.ListPipelines */ @Override public ListPipelinesResult listPipelines( ListPipelinesRequest listPipelinesRequest) { ExecutionContext executionContext = createExecutionContext(listPipelinesRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListPipelinesRequestMarshaller(protocolFactory) .marshall(super.beforeMarshalling(listPipelinesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new ListPipelinesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

* *

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

*
* * @param pollForJobsRequest * Represents the input of a poll for jobs 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 */ @Override public PollForJobsResult pollForJobs(PollForJobsRequest pollForJobsRequest) { ExecutionContext executionContext = createExecutionContext(pollForJobsRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new PollForJobsRequestMarshaller(protocolFactory) .marshall(super.beforeMarshalling(pollForJobsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new PollForJobsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Determines whether there are any third party jobs for a job worker to act * on. Only used for partner actions. *

* *

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

*
* * @param pollForThirdPartyJobsRequest * Represents the input of a poll for third party jobs 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 */ @Override public PollForThirdPartyJobsResult pollForThirdPartyJobs( PollForThirdPartyJobsRequest pollForThirdPartyJobsRequest) { ExecutionContext executionContext = createExecutionContext(pollForThirdPartyJobsRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new PollForThirdPartyJobsRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(pollForThirdPartyJobsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new PollForThirdPartyJobsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Provides information to AWS CodePipeline about new revisions to a source. *

* * @param putActionRevisionRequest * Represents the input of a put action revision action. * @return Result of the PutActionRevision operation returned by the * service. * @throws PipelineNotFoundException * The specified pipeline was specified in an invalid format or * cannot be found. * @throws StageNotFoundException * The specified 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 */ @Override public PutActionRevisionResult putActionRevision( PutActionRevisionRequest putActionRevisionRequest) { ExecutionContext executionContext = createExecutionContext(putActionRevisionRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new PutActionRevisionRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(putActionRevisionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new PutActionRevisionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Provides the response to a manual approval request to AWS CodePipeline. * Valid responses include Approved and Rejected. *

* * @param putApprovalResultRequest * Represents the input of a put approval result 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 specified pipeline was specified in an invalid format or * cannot be found. * @throws StageNotFoundException * The specified 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 */ @Override public PutApprovalResultResult putApprovalResult( PutApprovalResultRequest putApprovalResultRequest) { ExecutionContext executionContext = createExecutionContext(putApprovalResultRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new PutApprovalResultRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(putApprovalResultRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new PutApprovalResultResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Represents the failure of a job as returned to the pipeline by a job * worker. Only used for custom actions. *

* * @param putJobFailureResultRequest * Represents the input of a put job failure result action. * @return Result of the PutJobFailureResult operation returned by the * service. * @throws ValidationException * The validation was specified in an invalid format. * @throws JobNotFoundException * The specified job was specified in an invalid format or cannot be * found. * @throws InvalidJobStateException * The specified job state was specified in an invalid format. * @sample AWSCodePipeline.PutJobFailureResult */ @Override public PutJobFailureResultResult putJobFailureResult( PutJobFailureResultRequest putJobFailureResultRequest) { ExecutionContext executionContext = createExecutionContext(putJobFailureResultRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new PutJobFailureResultRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(putJobFailureResultRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new PutJobFailureResultResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Represents the success of a job as returned to the pipeline by a job * worker. Only used for custom actions. *

* * @param putJobSuccessResultRequest * Represents the input of a put job success result action. * @return Result of the PutJobSuccessResult operation returned by the * service. * @throws ValidationException * The validation was specified in an invalid format. * @throws JobNotFoundException * The specified job was specified in an invalid format or cannot be * found. * @throws InvalidJobStateException * The specified job state was specified in an invalid format. * @sample AWSCodePipeline.PutJobSuccessResult */ @Override public PutJobSuccessResultResult putJobSuccessResult( PutJobSuccessResultRequest putJobSuccessResultRequest) { ExecutionContext executionContext = createExecutionContext(putJobSuccessResultRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new PutJobSuccessResultRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(putJobSuccessResultRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new PutJobSuccessResultResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Represents the failure of a third party job as returned to the pipeline * by a job worker. Only used for partner actions. *

* * @param putThirdPartyJobFailureResultRequest * Represents the input of a third party job failure result action. * @return Result of the PutThirdPartyJobFailureResult operation returned by * the service. * @throws ValidationException * The validation was specified in an invalid format. * @throws JobNotFoundException * The specified job was specified in an invalid format or cannot be * found. * @throws InvalidJobStateException * The specified job state was specified in an invalid format. * @throws InvalidClientTokenException * The client token was specified in an invalid format * @sample AWSCodePipeline.PutThirdPartyJobFailureResult */ @Override public PutThirdPartyJobFailureResultResult putThirdPartyJobFailureResult( PutThirdPartyJobFailureResultRequest putThirdPartyJobFailureResultRequest) { ExecutionContext executionContext = createExecutionContext(putThirdPartyJobFailureResultRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new PutThirdPartyJobFailureResultRequestMarshaller( protocolFactory) .marshall(super .beforeMarshalling(putThirdPartyJobFailureResultRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler( new JsonOperationMetadata().withPayloadJson(true) .withHasStreamingSuccessResponse(false), new PutThirdPartyJobFailureResultResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Represents the success of a third party job as returned to the pipeline * by a job worker. Only used for partner actions. *

* * @param putThirdPartyJobSuccessResultRequest * Represents the input of a put third party job success result * action. * @return Result of the PutThirdPartyJobSuccessResult operation returned by * the service. * @throws ValidationException * The validation was specified in an invalid format. * @throws JobNotFoundException * The specified job was specified in an invalid format or cannot be * found. * @throws InvalidJobStateException * The specified job state was specified in an invalid format. * @throws InvalidClientTokenException * The client token was specified in an invalid format * @sample AWSCodePipeline.PutThirdPartyJobSuccessResult */ @Override public PutThirdPartyJobSuccessResultResult putThirdPartyJobSuccessResult( PutThirdPartyJobSuccessResultRequest putThirdPartyJobSuccessResultRequest) { ExecutionContext executionContext = createExecutionContext(putThirdPartyJobSuccessResultRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new PutThirdPartyJobSuccessResultRequestMarshaller( protocolFactory) .marshall(super .beforeMarshalling(putThirdPartyJobSuccessResultRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler( new JsonOperationMetadata().withPayloadJson(true) .withHasStreamingSuccessResponse(false), new PutThirdPartyJobSuccessResultResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Resumes the pipeline execution by retrying the last failed actions in a * stage. *

* * @param retryStageExecutionRequest * Represents the input of a retry stage execution action. * @return Result of the RetryStageExecution operation returned by the * service. * @throws ValidationException * The validation was specified in an invalid format. * @throws PipelineNotFoundException * The specified pipeline was specified in an invalid format or * cannot be found. * @throws StageNotFoundException * The specified stage was specified in an invalid format or cannot * be found. * @throws StageNotRetryableException * The specified stage can't be retried because the pipeline * structure or stage state changed after the stage was not * completed; the stage contains no failed actions; one or more * actions are still in progress; or another retry attempt is * already in progress. * @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 */ @Override public RetryStageExecutionResult retryStageExecution( RetryStageExecutionRequest retryStageExecutionRequest) { ExecutionContext executionContext = createExecutionContext(retryStageExecutionRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RetryStageExecutionRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(retryStageExecutionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new RetryStageExecutionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 start pipeline execution action. * @return Result of the StartPipelineExecution operation returned by the * service. * @throws ValidationException * The validation was specified in an invalid format. * @throws PipelineNotFoundException * The specified pipeline was specified in an invalid format or * cannot be found. * @sample AWSCodePipeline.StartPipelineExecution */ @Override public StartPipelineExecutionResult startPipelineExecution( StartPipelineExecutionRequest startPipelineExecutionRequest) { ExecutionContext executionContext = createExecutionContext(startPipelineExecutionRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StartPipelineExecutionRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(startPipelineExecutionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new StartPipelineExecutionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

* * @param updatePipelineRequest * Represents the input of an update pipeline action. * @return Result of the UpdatePipeline operation returned by the service. * @throws ValidationException * The validation was specified in an invalid format. * @throws InvalidStageDeclarationException * The specified stage declaration was specified in an invalid * format. * @throws InvalidActionDeclarationException * The specified action declaration was specified in an invalid * format. * @throws InvalidBlockerDeclarationException * Reserved for future use. * @throws InvalidStructureException * The specified structure was specified in an invalid format. * @sample AWSCodePipeline.UpdatePipeline */ @Override public UpdatePipelineResult updatePipeline( UpdatePipelineRequest updatePipelineRequest) { ExecutionContext executionContext = createExecutionContext(updatePipelineRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdatePipelineRequestMarshaller(protocolFactory) .marshall(super .beforeMarshalling(updatePipelineRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new UpdatePipelineResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * 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 the request. * * @param request * The originally executed request * * @return The response metadata for the specified request, or null if none * is available. */ public ResponseMetadata getCachedResponseMetadata( AmazonWebServiceRequest request) { return client.getResponseMetadataForRequest(request); } /** * Normal invoke with authentication. Credentials are required and may be * overriden at the request level. **/ private Response invoke( Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { executionContext.setCredentialsProvider(CredentialUtils .getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider)); return doInvoke(request, responseHandler, executionContext); } /** * Invoke with no authentication. Credentials are not required and any * credentials set on the client or request will be ignored for this * operation. **/ private Response anonymousInvoke( Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return doInvoke(request, responseHandler, executionContext); } /** * Invoke the request using the http client. Assumes credentials (or lack * thereof) have been configured in the ExecutionContext beforehand. **/ private Response doInvoke( Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { request.setEndpoint(endpoint); request.setTimeOffset(timeOffset); HttpResponseHandler errorResponseHandler = protocolFactory .createErrorResponseHandler(new JsonErrorResponseMetadata()); return client.execute(request, responseHandler, errorResponseHandler, executionContext); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy