You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::CodePipeline::Client

Inherits:
Seahorse::Client::Base show all
Includes:
Aws::ClientStubs
Defined in:
gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from Aws::ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client

Parameters:

  • options (Hash)

Options Hash (options):

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. This can be an instance of any one of the following classes:

    • Aws::Credentials - Used for configuring static, non-refreshing credentials.

    • Aws::InstanceProfileCredentials - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • Aws::SharedCredentials - Used for loading credentials from a shared file, such as ~/.aws/config.

    • Aws::AssumeRoleCredentials - Used when you need to assume a role.

    When :credentials are not configured directly, the following locations will be searched for credentials:

    • Aws.config[:credentials]
    • The :access_key_id, :secret_access_key, and :session_token options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • ~/.aws/credentials
    • ~/.aws/config
    • EC2 IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentails to enable retries and extended timeouts.
  • :region (required, String)

    The AWS region to connect to. The configured :region is used to determine the service :endpoint. When not passed, a default :region is search for in the following locations:

    • Aws.config[:region]
    • ENV['AWS_REGION']
    • ENV['AMAZON_REGION']
    • ENV['AWS_DEFAULT_REGION']
    • ~/.aws/credentials
    • ~/.aws/config
  • :access_key_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false.

  • :client_side_monitoring (Boolean) — default: false

    When true, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :endpoint (String)

    The client endpoint is normally constructed from the :region option. You should only configure an :endpoint when connecting to test endpoints. This should be avalid HTTP(S) URI.

  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: false

    When set to true, endpoint discovery will be enabled for operations when available. Defaults to false.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the :logger at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.

    @see https://www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors and auth errors from expired credentials.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.

  • :secret_access_key (String)
  • :session_token (String)
  • :simple_json (Boolean) — default: false

    Disables request parameter conversion, validation, and formatting. Also disable response data type conversions. This option is useful when you want to ensure the highest level of performance by avoiding overhead of walking request parameters and response data structures.

    When :simple_json is enabled, the request parameters hash must be formatted exactly as the DynamoDB API expects.

  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling Aws::ClientStubs#stub_responses. See Aws::ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like 'http://proxy.com:123'.

  • :http_open_timeout (Float) — default: 15

    The number of seconds to wait when opening a HTTP session before rasing a Timeout::Error.

  • :http_read_timeout (Integer) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session yeidled by #session_for.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idble before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_continue_timeout (Float) — default: 1

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has "Expect" header set to "100-continue". Defaults to nil which disables this behaviour. This value can safely be set per request on the session yeidled by #session_for.

  • :http_wire_trace (Boolean) — default: false

    When true, HTTP debug output will be sent to the :logger.

  • :ssl_verify_peer (Boolean) — default: true

    When true, SSL peer certificates are verified when establishing a connection.

  • :ssl_ca_bundle (String)

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_directory (String)

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.



255
256
257
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 255

def initialize(*args)
  super
end

Instance Method Details

#acknowledge_job(params = {}) ⇒ Types::AcknowledgeJobOutput

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

Examples:

Request syntax with placeholder values


resp = client.acknowledge_job({
  job_id: "JobId", # required
  nonce: "Nonce", # required
})

Response structure


resp.status #=> String, one of "Created", "Queued", "Dispatched", "InProgress", "TimedOut", "Succeeded", "Failed"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :job_id (required, String)

    The unique system-generated ID of the job for which you want to confirm receipt.

  • :nonce (required, String)

    A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. Get this number from the response of the PollForJobs request that returned this job.

Returns:

See Also:



293
294
295
296
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 293

def acknowledge_job(params = {}, options = {})
  req = build_request(:acknowledge_job, params)
  req.send_request(options)
end

#acknowledge_third_party_job(params = {}) ⇒ Types::AcknowledgeThirdPartyJobOutput

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

Examples:

Request syntax with placeholder values


resp = client.acknowledge_third_party_job({
  job_id: "ThirdPartyJobId", # required
  nonce: "Nonce", # required
  client_token: "ClientToken", # required
})

Response structure


resp.status #=> String, one of "Created", "Queued", "Dispatched", "InProgress", "TimedOut", "Succeeded", "Failed"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :job_id (required, String)

    The unique system-generated ID of the job.

  • :nonce (required, String)

    A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. Get this number from the response to a GetThirdPartyJobDetails request.

  • :client_token (required, String)

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

Returns:

See Also:



334
335
336
337
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 334

def acknowledge_third_party_job(params = {}, options = {})
  req = build_request(:acknowledge_third_party_job, params)
  req.send_request(options)
end

#create_custom_action_type(params = {}) ⇒ Types::CreateCustomActionTypeOutput

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

Examples:

Request syntax with placeholder values


resp = client.create_custom_action_type({
  category: "Source", # required, accepts Source, Build, Deploy, Test, Invoke, Approval
  provider: "ActionProvider", # required
  version: "Version", # required
  settings: {
    third_party_configuration_url: "Url",
    entity_url_template: "UrlTemplate",
    execution_url_template: "UrlTemplate",
    revision_url_template: "UrlTemplate",
  },
  configuration_properties: [
    {
      name: "ActionConfigurationKey", # required
      required: false, # required
      key: false, # required
      secret: false, # required
      queryable: false,
      description: "Description",
      type: "String", # accepts String, Number, Boolean
    },
  ],
  input_artifact_details: { # required
    minimum_count: 1, # required
    maximum_count: 1, # required
  },
  output_artifact_details: { # required
    minimum_count: 1, # required
    maximum_count: 1, # required
  },
})

Response structure


resp.action_type.id.category #=> String, one of "Source", "Build", "Deploy", "Test", "Invoke", "Approval"
resp.action_type.id.owner #=> String, one of "AWS", "ThirdParty", "Custom"
resp.action_type.id.provider #=> String
resp.action_type.id.version #=> String
resp.action_type.settings.third_party_configuration_url #=> String
resp.action_type.settings.entity_url_template #=> String
resp.action_type.settings.execution_url_template #=> String
resp.action_type.settings.revision_url_template #=> String
resp.action_type.action_configuration_properties #=> Array
resp.action_type.action_configuration_properties[0].name #=> String
resp.action_type.action_configuration_properties[0].required #=> Boolean
resp.action_type.action_configuration_properties[0].key #=> Boolean
resp.action_type.action_configuration_properties[0].secret #=> Boolean
resp.action_type.action_configuration_properties[0].queryable #=> Boolean
resp.action_type.action_configuration_properties[0].description #=> String
resp.action_type.action_configuration_properties[0].type #=> String, one of "String", "Number", "Boolean"
resp.action_type.input_artifact_details.minimum_count #=> Integer
resp.action_type.input_artifact_details.maximum_count #=> Integer
resp.action_type.output_artifact_details.minimum_count #=> Integer
resp.action_type.output_artifact_details.maximum_count #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :category (required, String)

    The category of the custom action, such as a build action or a test action.

    Although Source and Approval are listed as valid values, they are not currently functional. These values are reserved for future use.

  • :provider (required, String)

    The provider of the service used in the custom action, such as AWS CodeDeploy.

  • :version (required, String)

    The version identifier of the custom action.

  • :settings (Types::ActionTypeSettings)

    Returns information about the settings for an action type.

  • :configuration_properties (Array<Types::ActionConfigurationProperty>)

    The configuration properties for the custom action.

    You can refer to a name in the configuration properties of the custom action within the URL templates by following the format of {Config:name\}, as long as the configuration property is both required and not secret. For more information, see Create a Custom Action for a Pipeline.

  • :input_artifact_details (required, Types::ArtifactDetails)

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

  • :output_artifact_details (required, Types::ArtifactDetails)

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

Returns:

See Also:



448
449
450
451
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 448

def create_custom_action_type(params = {}, options = {})
  req = build_request(:create_custom_action_type, params)
  req.send_request(options)
end

#create_pipeline(params = {}) ⇒ Types::CreatePipelineOutput

Creates a pipeline.

Examples:

Request syntax with placeholder values


resp = client.create_pipeline({
  pipeline: { # required
    name: "PipelineName", # required
    role_arn: "RoleArn", # required
    artifact_store: {
      type: "S3", # required, accepts S3
      location: "ArtifactStoreLocation", # required
      encryption_key: {
        id: "EncryptionKeyId", # required
        type: "KMS", # required, accepts KMS
      },
    },
    artifact_stores: {
      "AWSRegionName" => {
        type: "S3", # required, accepts S3
        location: "ArtifactStoreLocation", # required
        encryption_key: {
          id: "EncryptionKeyId", # required
          type: "KMS", # required, accepts KMS
        },
      },
    },
    stages: [ # required
      {
        name: "StageName", # required
        blockers: [
          {
            name: "BlockerName", # required
            type: "Schedule", # required, accepts Schedule
          },
        ],
        actions: [ # required
          {
            name: "ActionName", # required
            action_type_id: { # required
              category: "Source", # required, accepts Source, Build, Deploy, Test, Invoke, Approval
              owner: "AWS", # required, accepts AWS, ThirdParty, Custom
              provider: "ActionProvider", # required
              version: "Version", # required
            },
            run_order: 1,
            configuration: {
              "ActionConfigurationKey" => "ActionConfigurationValue",
            },
            output_artifacts: [
              {
                name: "ArtifactName", # required
              },
            ],
            input_artifacts: [
              {
                name: "ArtifactName", # required
              },
            ],
            role_arn: "RoleArn",
            region: "AWSRegionName",
          },
        ],
      },
    ],
    version: 1,
  },
})

Response structure


resp.pipeline.name #=> String
resp.pipeline.role_arn #=> String
resp.pipeline.artifact_store.type #=> String, one of "S3"
resp.pipeline.artifact_store.location #=> String
resp.pipeline.artifact_store.encryption_key.id #=> String
resp.pipeline.artifact_store.encryption_key.type #=> String, one of "KMS"
resp.pipeline.artifact_stores #=> Hash
resp.pipeline.artifact_stores["AWSRegionName"].type #=> String, one of "S3"
resp.pipeline.artifact_stores["AWSRegionName"].location #=> String
resp.pipeline.artifact_stores["AWSRegionName"].encryption_key.id #=> String
resp.pipeline.artifact_stores["AWSRegionName"].encryption_key.type #=> String, one of "KMS"
resp.pipeline.stages #=> Array
resp.pipeline.stages[0].name #=> String
resp.pipeline.stages[0].blockers #=> Array
resp.pipeline.stages[0].blockers[0].name #=> String
resp.pipeline.stages[0].blockers[0].type #=> String, one of "Schedule"
resp.pipeline.stages[0].actions #=> Array
resp.pipeline.stages[0].actions[0].name #=> String
resp.pipeline.stages[0].actions[0].action_type_id.category #=> String, one of "Source", "Build", "Deploy", "Test", "Invoke", "Approval"
resp.pipeline.stages[0].actions[0].action_type_id.owner #=> String, one of "AWS", "ThirdParty", "Custom"
resp.pipeline.stages[0].actions[0].action_type_id.provider #=> String
resp.pipeline.stages[0].actions[0].action_type_id.version #=> String
resp.pipeline.stages[0].actions[0].run_order #=> Integer
resp.pipeline.stages[0].actions[0].configuration #=> Hash
resp.pipeline.stages[0].actions[0].configuration["ActionConfigurationKey"] #=> String
resp.pipeline.stages[0].actions[0].output_artifacts #=> Array
resp.pipeline.stages[0].actions[0].output_artifacts[0].name #=> String
resp.pipeline.stages[0].actions[0].input_artifacts #=> Array
resp.pipeline.stages[0].actions[0].input_artifacts[0].name #=> String
resp.pipeline.stages[0].actions[0].role_arn #=> String
resp.pipeline.stages[0].actions[0].region #=> String
resp.pipeline.version #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :pipeline (required, Types::PipelineDeclaration)

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

Returns:

See Also:



568
569
570
571
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 568

def create_pipeline(params = {}, options = {})
  req = build_request(:create_pipeline, params)
  req.send_request(options)
end

#delete_custom_action_type(params = {}) ⇒ Struct

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.

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.

Examples:

Request syntax with placeholder values


resp = client.delete_custom_action_type({
  category: "Source", # required, accepts Source, Build, Deploy, Test, Invoke, Approval
  provider: "ActionProvider", # required
  version: "Version", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :category (required, String)

    The category of the custom action that you want to delete, such as source or deploy.

  • :provider (required, String)

    The provider of the service used in the custom action, such as AWS CodeDeploy.

  • :version (required, String)

    The version of the custom action to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



608
609
610
611
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 608

def delete_custom_action_type(params = {}, options = {})
  req = build_request(:delete_custom_action_type, params)
  req.send_request(options)
end

#delete_pipeline(params = {}) ⇒ Struct

Deletes the specified pipeline.

Examples:

Request syntax with placeholder values


resp = client.delete_pipeline({
  name: "PipelineName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the pipeline to be deleted.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



630
631
632
633
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 630

def delete_pipeline(params = {}, options = {})
  req = build_request(:delete_pipeline, params)
  req.send_request(options)
end

#delete_webhook(params = {}) ⇒ Struct

Deletes a previously created webhook by name. Deleting the webhook stops AWS CodePipeline from starting a pipeline every time an external event occurs. The API will return 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.

Examples:

Request syntax with placeholder values


resp = client.delete_webhook({
  name: "WebhookName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the webhook you want to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



656
657
658
659
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 656

def delete_webhook(params = {}, options = {})
  req = build_request(:delete_webhook, params)
  req.send_request(options)
end

#deregister_webhook_with_third_party(params = {}) ⇒ Struct

Removes the connection between the webhook that was created by CodePipeline and the external tool with events to be detected. Currently only supported for webhooks that target an action type of GitHub.

Examples:

Request syntax with placeholder values


resp = client.deregister_webhook_with_third_party({
  webhook_name: "WebhookName",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :webhook_name (String)

    The name of the webhook you want to deregister.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



681
682
683
684
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 681

def deregister_webhook_with_third_party(params = {}, options = {})
  req = build_request(:deregister_webhook_with_third_party, params)
  req.send_request(options)
end

#disable_stage_transition(params = {}) ⇒ Struct

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

Examples:

Request syntax with placeholder values


resp = client.disable_stage_transition({
  pipeline_name: "PipelineName", # required
  stage_name: "StageName", # required
  transition_type: "Inbound", # required, accepts Inbound, Outbound
  reason: "DisabledReason", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :pipeline_name (required, String)

    The name of the pipeline in which you want to disable the flow of artifacts from one stage to another.

  • :stage_name (required, String)

    The name of the stage where you want to disable the inbound or outbound transition of artifacts.

  • :transition_type (required, String)

    Specifies whether artifacts will be prevented from transitioning into the stage and being processed by the actions in that stage (inbound), or prevented from transitioning from the stage after they have been processed by the actions in that stage (outbound).

  • :reason (required, String)

    The reason given to the user why a stage is disabled, such as waiting for manual approval or manual tests. This message is displayed in the pipeline console UI.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



723
724
725
726
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 723

def disable_stage_transition(params = {}, options = {})
  req = build_request(:disable_stage_transition, params)
  req.send_request(options)
end

#enable_stage_transition(params = {}) ⇒ Struct

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

Examples:

Request syntax with placeholder values


resp = client.enable_stage_transition({
  pipeline_name: "PipelineName", # required
  stage_name: "StageName", # required
  transition_type: "Inbound", # required, accepts Inbound, Outbound
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :pipeline_name (required, String)

    The name of the pipeline in which you want to enable the flow of artifacts from one stage to another.

  • :stage_name (required, String)

    The name of the stage where you want to enable the transition of artifacts, either into the stage (inbound) or from that stage to the next stage (outbound).

  • :transition_type (required, String)

    Specifies whether artifacts will be allowed to enter the stage and be processed by the actions in that stage (inbound) or whether already-processed artifacts will be allowed to transition to the next stage (outbound).

Returns:

  • (Struct)

    Returns an empty response.

See Also:



760
761
762
763
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 760

def enable_stage_transition(params = {}, options = {})
  req = build_request(:enable_stage_transition, params)
  req.send_request(options)
end

#get_job_details(params = {}) ⇒ Types::GetJobDetailsOutput

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.

Examples:

Request syntax with placeholder values


resp = client.get_job_details({
  job_id: "JobId", # required
})

Response structure


resp.job_details.id #=> String
resp.job_details.data.action_type_id.category #=> String, one of "Source", "Build", "Deploy", "Test", "Invoke", "Approval"
resp.job_details.data.action_type_id.owner #=> String, one of "AWS", "ThirdParty", "Custom"
resp.job_details.data.action_type_id.provider #=> String
resp.job_details.data.action_type_id.version #=> String
resp.job_details.data.action_configuration.configuration #=> Hash
resp.job_details.data.action_configuration.configuration["ActionConfigurationKey"] #=> String
resp.job_details.data.pipeline_context.pipeline_name #=> String
resp.job_details.data.pipeline_context.stage.name #=> String
resp.job_details.data.pipeline_context.action.name #=> String
resp.job_details.data.input_artifacts #=> Array
resp.job_details.data.input_artifacts[0].name #=> String
resp.job_details.data.input_artifacts[0].revision #=> String
resp.job_details.data.input_artifacts[0].location.type #=> String, one of "S3"
resp.job_details.data.input_artifacts[0].location.s3_location.bucket_name #=> String
resp.job_details.data.input_artifacts[0].location.s3_location.object_key #=> String
resp.job_details.data.output_artifacts #=> Array
resp.job_details.data.output_artifacts[0].name #=> String
resp.job_details.data.output_artifacts[0].revision #=> String
resp.job_details.data.output_artifacts[0].location.type #=> String, one of "S3"
resp.job_details.data.output_artifacts[0].location.s3_location.bucket_name #=> String
resp.job_details.data.output_artifacts[0].location.s3_location.object_key #=> String
resp.job_details.data.artifact_credentials.access_key_id #=> String
resp.job_details.data.artifact_credentials.secret_access_key #=> String
resp.job_details.data.artifact_credentials.session_token #=> String
resp.job_details.data.continuation_token #=> String
resp.job_details.data.encryption_key.id #=> String
resp.job_details.data.encryption_key.type #=> String, one of "KMS"
resp.job_details. #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :job_id (required, String)

    The unique system-generated ID for the job.

Returns:

See Also:



822
823
824
825
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 822

def get_job_details(params = {}, options = {})
  req = build_request(:get_job_details, params)
  req.send_request(options)
end

#get_pipeline(params = {}) ⇒ Types::GetPipelineOutput

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.

Examples:

Request syntax with placeholder values


resp = client.get_pipeline({
  name: "PipelineName", # required
  version: 1,
})

Response structure


resp.pipeline.name #=> String
resp.pipeline.role_arn #=> String
resp.pipeline.artifact_store.type #=> String, one of "S3"
resp.pipeline.artifact_store.location #=> String
resp.pipeline.artifact_store.encryption_key.id #=> String
resp.pipeline.artifact_store.encryption_key.type #=> String, one of "KMS"
resp.pipeline.artifact_stores #=> Hash
resp.pipeline.artifact_stores["AWSRegionName"].type #=> String, one of "S3"
resp.pipeline.artifact_stores["AWSRegionName"].location #=> String
resp.pipeline.artifact_stores["AWSRegionName"].encryption_key.id #=> String
resp.pipeline.artifact_stores["AWSRegionName"].encryption_key.type #=> String, one of "KMS"
resp.pipeline.stages #=> Array
resp.pipeline.stages[0].name #=> String
resp.pipeline.stages[0].blockers #=> Array
resp.pipeline.stages[0].blockers[0].name #=> String
resp.pipeline.stages[0].blockers[0].type #=> String, one of "Schedule"
resp.pipeline.stages[0].actions #=> Array
resp.pipeline.stages[0].actions[0].name #=> String
resp.pipeline.stages[0].actions[0].action_type_id.category #=> String, one of "Source", "Build", "Deploy", "Test", "Invoke", "Approval"
resp.pipeline.stages[0].actions[0].action_type_id.owner #=> String, one of "AWS", "ThirdParty", "Custom"
resp.pipeline.stages[0].actions[0].action_type_id.provider #=> String
resp.pipeline.stages[0].actions[0].action_type_id.version #=> String
resp.pipeline.stages[0].actions[0].run_order #=> Integer
resp.pipeline.stages[0].actions[0].configuration #=> Hash
resp.pipeline.stages[0].actions[0].configuration["ActionConfigurationKey"] #=> String
resp.pipeline.stages[0].actions[0].output_artifacts #=> Array
resp.pipeline.stages[0].actions[0].output_artifacts[0].name #=> String
resp.pipeline.stages[0].actions[0].input_artifacts #=> Array
resp.pipeline.stages[0].actions[0].input_artifacts[0].name #=> String
resp.pipeline.stages[0].actions[0].role_arn #=> String
resp.pipeline.stages[0].actions[0].region #=> String
resp.pipeline.version #=> Integer
resp..pipeline_arn #=> String
resp..created #=> Time
resp..updated #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

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

  • :version (Integer)

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

Returns:

See Also:



895
896
897
898
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 895

def get_pipeline(params = {}, options = {})
  req = build_request(:get_pipeline, params)
  req.send_request(options)
end

#get_pipeline_execution(params = {}) ⇒ Types::GetPipelineExecutionOutput

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.

Examples:

Request syntax with placeholder values


resp = client.get_pipeline_execution({
  pipeline_name: "PipelineName", # required
  pipeline_execution_id: "PipelineExecutionId", # required
})

Response structure


resp.pipeline_execution.pipeline_name #=> String
resp.pipeline_execution.pipeline_version #=> Integer
resp.pipeline_execution.pipeline_execution_id #=> String
resp.pipeline_execution.status #=> String, one of "InProgress", "Succeeded", "Superseded", "Failed"
resp.pipeline_execution.artifact_revisions #=> Array
resp.pipeline_execution.artifact_revisions[0].name #=> String
resp.pipeline_execution.artifact_revisions[0].revision_id #=> String
resp.pipeline_execution.artifact_revisions[0].revision_change_identifier #=> String
resp.pipeline_execution.artifact_revisions[0].revision_summary #=> String
resp.pipeline_execution.artifact_revisions[0].created #=> Time
resp.pipeline_execution.artifact_revisions[0].revision_url #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :pipeline_name (required, String)

    The name of the pipeline about which you want to get execution details.

  • :pipeline_execution_id (required, String)

    The ID of the pipeline execution about which you want to get execution details.

Returns:

See Also:



941
942
943
944
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 941

def get_pipeline_execution(params = {}, options = {})
  req = build_request(:get_pipeline_execution, params)
  req.send_request(options)
end

#get_pipeline_state(params = {}) ⇒ Types::GetPipelineStateOutput

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.

Examples:

Request syntax with placeholder values


resp = client.get_pipeline_state({
  name: "PipelineName", # required
})

Response structure


resp.pipeline_name #=> String
resp.pipeline_version #=> Integer
resp.stage_states #=> Array
resp.stage_states[0].stage_name #=> String
resp.stage_states[0].inbound_transition_state.enabled #=> Boolean
resp.stage_states[0].inbound_transition_state.last_changed_by #=> String
resp.stage_states[0].inbound_transition_state.last_changed_at #=> Time
resp.stage_states[0].inbound_transition_state.disabled_reason #=> String
resp.stage_states[0].action_states #=> Array
resp.stage_states[0].action_states[0].action_name #=> String
resp.stage_states[0].action_states[0].current_revision.revision_id #=> String
resp.stage_states[0].action_states[0].current_revision.revision_change_id #=> String
resp.stage_states[0].action_states[0].current_revision.created #=> Time
resp.stage_states[0].action_states[0].latest_execution.status #=> String, one of "InProgress", "Succeeded", "Failed"
resp.stage_states[0].action_states[0].latest_execution.summary #=> String
resp.stage_states[0].action_states[0].latest_execution.last_status_change #=> Time
resp.stage_states[0].action_states[0].latest_execution.token #=> String
resp.stage_states[0].action_states[0].latest_execution.last_updated_by #=> String
resp.stage_states[0].action_states[0].latest_execution.external_execution_id #=> String
resp.stage_states[0].action_states[0].latest_execution.external_execution_url #=> String
resp.stage_states[0].action_states[0].latest_execution.percent_complete #=> Integer
resp.stage_states[0].action_states[0].latest_execution.error_details.code #=> String
resp.stage_states[0].action_states[0].latest_execution.error_details.message #=> String
resp.stage_states[0].action_states[0].entity_url #=> String
resp.stage_states[0].action_states[0].revision_url #=> String
resp.stage_states[0].latest_execution.pipeline_execution_id #=> String
resp.stage_states[0].latest_execution.status #=> String, one of "InProgress", "Failed", "Succeeded"
resp.created #=> Time
resp.updated #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the pipeline about which you want to get information.

Returns:

See Also:



1008
1009
1010
1011
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1008

def get_pipeline_state(params = {}, options = {})
  req = build_request(:get_pipeline_state, params)
  req.send_request(options)
end

#get_third_party_job_details(params = {}) ⇒ Types::GetThirdPartyJobDetailsOutput

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.

Examples:

Request syntax with placeholder values


resp = client.get_third_party_job_details({
  job_id: "ThirdPartyJobId", # required
  client_token: "ClientToken", # required
})

Response structure


resp.job_details.id #=> String
resp.job_details.data.action_type_id.category #=> String, one of "Source", "Build", "Deploy", "Test", "Invoke", "Approval"
resp.job_details.data.action_type_id.owner #=> String, one of "AWS", "ThirdParty", "Custom"
resp.job_details.data.action_type_id.provider #=> String
resp.job_details.data.action_type_id.version #=> String
resp.job_details.data.action_configuration.configuration #=> Hash
resp.job_details.data.action_configuration.configuration["ActionConfigurationKey"] #=> String
resp.job_details.data.pipeline_context.pipeline_name #=> String
resp.job_details.data.pipeline_context.stage.name #=> String
resp.job_details.data.pipeline_context.action.name #=> String
resp.job_details.data.input_artifacts #=> Array
resp.job_details.data.input_artifacts[0].name #=> String
resp.job_details.data.input_artifacts[0].revision #=> String
resp.job_details.data.input_artifacts[0].location.type #=> String, one of "S3"
resp.job_details.data.input_artifacts[0].location.s3_location.bucket_name #=> String
resp.job_details.data.input_artifacts[0].location.s3_location.object_key #=> String
resp.job_details.data.output_artifacts #=> Array
resp.job_details.data.output_artifacts[0].name #=> String
resp.job_details.data.output_artifacts[0].revision #=> String
resp.job_details.data.output_artifacts[0].location.type #=> String, one of "S3"
resp.job_details.data.output_artifacts[0].location.s3_location.bucket_name #=> String
resp.job_details.data.output_artifacts[0].location.s3_location.object_key #=> String
resp.job_details.data.artifact_credentials.access_key_id #=> String
resp.job_details.data.artifact_credentials.secret_access_key #=> String
resp.job_details.data.artifact_credentials.session_token #=> String
resp.job_details.data.continuation_token #=> String
resp.job_details.data.encryption_key.id #=> String
resp.job_details.data.encryption_key.type #=> String, one of "KMS"
resp.job_details.nonce #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :job_id (required, String)

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

  • :client_token (required, String)

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

Returns:

See Also:



1077
1078
1079
1080
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1077

def get_third_party_job_details(params = {}, options = {})
  req = build_request(:get_third_party_job_details, params)
  req.send_request(options)
end

#list_action_executions(params = {}) ⇒ Types::ListActionExecutionsOutput

Lists the action executions that have occurred in a pipeline.

Examples:

Request syntax with placeholder values


resp = client.list_action_executions({
  pipeline_name: "PipelineName", # required
  filter: {
    pipeline_execution_id: "PipelineExecutionId",
  },
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.action_execution_details #=> Array
resp.action_execution_details[0].pipeline_execution_id #=> String
resp.action_execution_details[0].action_execution_id #=> String
resp.action_execution_details[0].pipeline_version #=> Integer
resp.action_execution_details[0].stage_name #=> String
resp.action_execution_details[0].action_name #=> String
resp.action_execution_details[0].start_time #=> Time
resp.action_execution_details[0].last_update_time #=> Time
resp.action_execution_details[0].status #=> String, one of "InProgress", "Succeeded", "Failed"
resp.action_execution_details[0].input.action_type_id.category #=> String, one of "Source", "Build", "Deploy", "Test", "Invoke", "Approval"
resp.action_execution_details[0].input.action_type_id.owner #=> String, one of "AWS", "ThirdParty", "Custom"
resp.action_execution_details[0].input.action_type_id.provider #=> String
resp.action_execution_details[0].input.action_type_id.version #=> String
resp.action_execution_details[0].input.configuration #=> Hash
resp.action_execution_details[0].input.configuration["ActionConfigurationKey"] #=> String
resp.action_execution_details[0].input.role_arn #=> String
resp.action_execution_details[0].input.region #=> String
resp.action_execution_details[0].input.input_artifacts #=> Array
resp.action_execution_details[0].input.input_artifacts[0].name #=> String
resp.action_execution_details[0].input.input_artifacts[0].s3location.bucket #=> String
resp.action_execution_details[0].input.input_artifacts[0].s3location.key #=> String
resp.action_execution_details[0].output.output_artifacts #=> Array
resp.action_execution_details[0].output.output_artifacts[0].name #=> String
resp.action_execution_details[0].output.output_artifacts[0].s3location.bucket #=> String
resp.action_execution_details[0].output.output_artifacts[0].s3location.key #=> String
resp.action_execution_details[0].output.execution_result.external_execution_id #=> String
resp.action_execution_details[0].output.execution_result.external_execution_summary #=> String
resp.action_execution_details[0].output.execution_result.external_execution_url #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :pipeline_name (required, String)

    The name of the pipeline for which you want to list action execution history.

  • :filter (Types::ActionExecutionFilter)

    Input information used to filter action execution history.

  • :max_results (Integer)

    The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value. The action execution history is limited to the most recent 12 months, based on action execution start times. Default value is 100.

  • :next_token (String)

    The token that was returned from the previous ListActionExecutions call, which can be used to return the next set of action executions in the list.

Returns:

See Also:



1154
1155
1156
1157
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1154

def list_action_executions(params = {}, options = {})
  req = build_request(:list_action_executions, params)
  req.send_request(options)
end

#list_action_types(params = {}) ⇒ Types::ListActionTypesOutput

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

Examples:

Request syntax with placeholder values


resp = client.list_action_types({
  action_owner_filter: "AWS", # accepts AWS, ThirdParty, Custom
  next_token: "NextToken",
})

Response structure


resp.action_types #=> Array
resp.action_types[0].id.category #=> String, one of "Source", "Build", "Deploy", "Test", "Invoke", "Approval"
resp.action_types[0].id.owner #=> String, one of "AWS", "ThirdParty", "Custom"
resp.action_types[0].id.provider #=> String
resp.action_types[0].id.version #=> String
resp.action_types[0].settings.third_party_configuration_url #=> String
resp.action_types[0].settings.entity_url_template #=> String
resp.action_types[0].settings.execution_url_template #=> String
resp.action_types[0].settings.revision_url_template #=> String
resp.action_types[0].action_configuration_properties #=> Array
resp.action_types[0].action_configuration_properties[0].name #=> String
resp.action_types[0].action_configuration_properties[0].required #=> Boolean
resp.action_types[0].action_configuration_properties[0].key #=> Boolean
resp.action_types[0].action_configuration_properties[0].secret #=> Boolean
resp.action_types[0].action_configuration_properties[0].queryable #=> Boolean
resp.action_types[0].action_configuration_properties[0].description #=> String
resp.action_types[0].action_configuration_properties[0].type #=> String, one of "String", "Number", "Boolean"
resp.action_types[0].input_artifact_details.minimum_count #=> Integer
resp.action_types[0].input_artifact_details.maximum_count #=> Integer
resp.action_types[0].output_artifact_details.minimum_count #=> Integer
resp.action_types[0].output_artifact_details.maximum_count #=> Integer
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :action_owner_filter (String)

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

  • :next_token (String)

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

Returns:

See Also:



1212
1213
1214
1215
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1212

def list_action_types(params = {}, options = {})
  req = build_request(:list_action_types, params)
  req.send_request(options)
end

#list_pipeline_executions(params = {}) ⇒ Types::ListPipelineExecutionsOutput

Gets a summary of the most recent executions for a pipeline.

Examples:

Request syntax with placeholder values


resp = client.list_pipeline_executions({
  pipeline_name: "PipelineName", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.pipeline_execution_summaries #=> Array
resp.pipeline_execution_summaries[0].pipeline_execution_id #=> String
resp.pipeline_execution_summaries[0].status #=> String, one of "InProgress", "Succeeded", "Superseded", "Failed"
resp.pipeline_execution_summaries[0].start_time #=> Time
resp.pipeline_execution_summaries[0].last_update_time #=> Time
resp.pipeline_execution_summaries[0].source_revisions #=> Array
resp.pipeline_execution_summaries[0].source_revisions[0].action_name #=> String
resp.pipeline_execution_summaries[0].source_revisions[0].revision_id #=> String
resp.pipeline_execution_summaries[0].source_revisions[0].revision_summary #=> String
resp.pipeline_execution_summaries[0].source_revisions[0].revision_url #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :pipeline_name (required, String)

    The name of the pipeline for which you want to get execution summary information.

  • :max_results (Integer)

    The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value. The available pipeline execution history is limited to the most recent 12 months, based on pipeline execution start times. Default value is 100.

  • :next_token (String)

    The token that was returned from the previous ListPipelineExecutions call, which can be used to return the next set of pipeline executions in the list.

Returns:

See Also:



1266
1267
1268
1269
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1266

def list_pipeline_executions(params = {}, options = {})
  req = build_request(:list_pipeline_executions, params)
  req.send_request(options)
end

#list_pipelines(params = {}) ⇒ Types::ListPipelinesOutput

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

Examples:

Request syntax with placeholder values


resp = client.list_pipelines({
  next_token: "NextToken",
})

Response structure


resp.pipelines #=> Array
resp.pipelines[0].name #=> String
resp.pipelines[0].version #=> Integer
resp.pipelines[0].created #=> Time
resp.pipelines[0].updated #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

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

Returns:

See Also:



1301
1302
1303
1304
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1301

def list_pipelines(params = {}, options = {})
  req = build_request(:list_pipelines, params)
  req.send_request(options)
end

#list_webhooks(params = {}) ⇒ Types::ListWebhooksOutput

Gets a listing of all the webhooks in this region for this account. The output lists all webhooks and includes the webhook URL and ARN, as well the configuration for each webhook.

Examples:

Request syntax with placeholder values


resp = client.list_webhooks({
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.webhooks #=> Array
resp.webhooks[0].definition.name #=> String
resp.webhooks[0].definition.target_pipeline #=> String
resp.webhooks[0].definition.target_action #=> String
resp.webhooks[0].definition.filters #=> Array
resp.webhooks[0].definition.filters[0].json_path #=> String
resp.webhooks[0].definition.filters[0].match_equals #=> String
resp.webhooks[0].definition.authentication #=> String, one of "GITHUB_HMAC", "IP", "UNAUTHENTICATED"
resp.webhooks[0].definition.authentication_configuration.allowed_ip_range #=> String
resp.webhooks[0].definition.authentication_configuration.secret_token #=> String
resp.webhooks[0].url #=> String
resp.webhooks[0].error_message #=> String
resp.webhooks[0].error_code #=> String
resp.webhooks[0].last_triggered #=> Time
resp.webhooks[0].arn #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

    The token that was returned from the previous ListWebhooks call, which can be used to return the next set of webhooks in the list.

  • :max_results (Integer)

    The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value.

Returns:

See Also:



1354
1355
1356
1357
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1354

def list_webhooks(params = {}, options = {})
  req = build_request(:list_webhooks, params)
  req.send_request(options)
end

#poll_for_jobs(params = {}) ⇒ Types::PollForJobsOutput

Returns information about any jobs for AWS CodePipeline to act upon. PollForJobs is only valid 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, 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.

Examples:

Request syntax with placeholder values


resp = client.poll_for_jobs({
  action_type_id: { # required
    category: "Source", # required, accepts Source, Build, Deploy, Test, Invoke, Approval
    owner: "AWS", # required, accepts AWS, ThirdParty, Custom
    provider: "ActionProvider", # required
    version: "Version", # required
  },
  max_batch_size: 1,
  query_param: {
    "ActionConfigurationKey" => "ActionConfigurationQueryableValue",
  },
})

Response structure


resp.jobs #=> Array
resp.jobs[0].id #=> String
resp.jobs[0].data.action_type_id.category #=> String, one of "Source", "Build", "Deploy", "Test", "Invoke", "Approval"
resp.jobs[0].data.action_type_id.owner #=> String, one of "AWS", "ThirdParty", "Custom"
resp.jobs[0].data.action_type_id.provider #=> String
resp.jobs[0].data.action_type_id.version #=> String
resp.jobs[0].data.action_configuration.configuration #=> Hash
resp.jobs[0].data.action_configuration.configuration["ActionConfigurationKey"] #=> String
resp.jobs[0].data.pipeline_context.pipeline_name #=> String
resp.jobs[0].data.pipeline_context.stage.name #=> String
resp.jobs[0].data.pipeline_context.action.name #=> String
resp.jobs[0].data.input_artifacts #=> Array
resp.jobs[0].data.input_artifacts[0].name #=> String
resp.jobs[0].data.input_artifacts[0].revision #=> String
resp.jobs[0].data.input_artifacts[0].location.type #=> String, one of "S3"
resp.jobs[0].data.input_artifacts[0].location.s3_location.bucket_name #=> String
resp.jobs[0].data.input_artifacts[0].location.s3_location.object_key #=> String
resp.jobs[0].data.output_artifacts #=> Array
resp.jobs[0].data.output_artifacts[0].name #=> String
resp.jobs[0].data.output_artifacts[0].revision #=> String
resp.jobs[0].data.output_artifacts[0].location.type #=> String, one of "S3"
resp.jobs[0].data.output_artifacts[0].location.s3_location.bucket_name #=> String
resp.jobs[0].data.output_artifacts[0].location.s3_location.object_key #=> String
resp.jobs[0].data.artifact_credentials.access_key_id #=> String
resp.jobs[0].data.artifact_credentials.secret_access_key #=> String
resp.jobs[0].data.artifact_credentials.session_token #=> String
resp.jobs[0].data.continuation_token #=> String
resp.jobs[0].data.encryption_key.id #=> String
resp.jobs[0].data.encryption_key.type #=> String, one of "KMS"
resp.jobs[0].nonce #=> String
resp.jobs[0]. #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :action_type_id (required, Types::ActionTypeId)

    Represents information about an action type.

  • :max_batch_size (Integer)

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

  • :query_param (Hash<String,String>)

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

Returns:

See Also:



1440
1441
1442
1443
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1440

def poll_for_jobs(params = {}, options = {})
  req = build_request(:poll_for_jobs, params)
  req.send_request(options)
end

#poll_for_third_party_jobs(params = {}) ⇒ Types::PollForThirdPartyJobsOutput

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.

Examples:

Request syntax with placeholder values


resp = client.poll_for_third_party_jobs({
  action_type_id: { # required
    category: "Source", # required, accepts Source, Build, Deploy, Test, Invoke, Approval
    owner: "AWS", # required, accepts AWS, ThirdParty, Custom
    provider: "ActionProvider", # required
    version: "Version", # required
  },
  max_batch_size: 1,
})

Response structure


resp.jobs #=> Array
resp.jobs[0].client_id #=> String
resp.jobs[0].job_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :action_type_id (required, Types::ActionTypeId)

    Represents information about an action type.

  • :max_batch_size (Integer)

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

Returns:

See Also:



1485
1486
1487
1488
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1485

def poll_for_third_party_jobs(params = {}, options = {})
  req = build_request(:poll_for_third_party_jobs, params)
  req.send_request(options)
end

#put_action_revision(params = {}) ⇒ Types::PutActionRevisionOutput

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

Examples:

Request syntax with placeholder values


resp = client.put_action_revision({
  pipeline_name: "PipelineName", # required
  stage_name: "StageName", # required
  action_name: "ActionName", # required
  action_revision: { # required
    revision_id: "Revision", # required
    revision_change_id: "RevisionChangeIdentifier", # required
    created: Time.now, # required
  },
})

Response structure


resp.new_revision #=> Boolean
resp.pipeline_execution_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :pipeline_name (required, String)

    The name of the pipeline that will start processing the revision to the source.

  • :stage_name (required, String)

    The name of the stage that contains the action that will act upon the revision.

  • :action_name (required, String)

    The name of the action that will process the revision.

  • :action_revision (required, Types::ActionRevision)

    Represents information about the version (or revision) of an action.

Returns:

See Also:



1534
1535
1536
1537
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1534

def put_action_revision(params = {}, options = {})
  req = build_request(:put_action_revision, params)
  req.send_request(options)
end

#put_approval_result(params = {}) ⇒ Types::PutApprovalResultOutput

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

Examples:

Request syntax with placeholder values


resp = client.put_approval_result({
  pipeline_name: "PipelineName", # required
  stage_name: "StageName", # required
  action_name: "ActionName", # required
  result: { # required
    summary: "ApprovalSummary", # required
    status: "Approved", # required, accepts Approved, Rejected
  },
  token: "ApprovalToken", # required
})

Response structure


resp.approved_at #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :pipeline_name (required, String)

    The name of the pipeline that contains the action.

  • :stage_name (required, String)

    The name of the stage that contains the action.

  • :action_name (required, String)

    The name of the action for which approval is requested.

  • :result (required, Types::ApprovalResult)

    Represents information about the result of the approval request.

  • :token (required, String)

    The system-generated token used to identify a unique approval request. The token for each open approval request can be obtained using the GetPipelineState action and is used to validate that the approval request corresponding to this token is still valid.

Returns:

See Also:



1585
1586
1587
1588
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1585

def put_approval_result(params = {}, options = {})
  req = build_request(:put_approval_result, params)
  req.send_request(options)
end

#put_job_failure_result(params = {}) ⇒ Struct

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

Examples:

Request syntax with placeholder values


resp = client.put_job_failure_result({
  job_id: "JobId", # required
  failure_details: { # required
    type: "JobFailed", # required, accepts JobFailed, ConfigurationError, PermissionError, RevisionOutOfSync, RevisionUnavailable, SystemUnavailable
    message: "Message", # required
    external_execution_id: "ExecutionId",
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :job_id (required, String)

    The unique system-generated ID of the job that failed. This is the same ID returned from PollForJobs.

  • :failure_details (required, Types::FailureDetails)

    The details about the failure of a job.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1617
1618
1619
1620
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1617

def put_job_failure_result(params = {}, options = {})
  req = build_request(:put_job_failure_result, params)
  req.send_request(options)
end

#put_job_success_result(params = {}) ⇒ Struct

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

Examples:

Request syntax with placeholder values


resp = client.put_job_success_result({
  job_id: "JobId", # required
  current_revision: {
    revision: "Revision", # required
    change_identifier: "RevisionChangeIdentifier", # required
    created: Time.now,
    revision_summary: "RevisionSummary",
  },
  continuation_token: "ContinuationToken",
  execution_details: {
    summary: "ExecutionSummary",
    external_execution_id: "ExecutionId",
    percent_complete: 1,
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :job_id (required, String)

    The unique system-generated ID of the job that succeeded. This is the same ID returned from PollForJobs.

  • :current_revision (Types::CurrentRevision)

    The ID of the current revision of the artifact successfully worked upon by the job.

  • :continuation_token (String)

    A token generated by a job worker, such as an AWS CodeDeploy deployment ID, that a successful job provides to identify a custom action in progress. Future jobs will use this token in order to identify the running instance of the action. It can be reused to return additional information about the progress of the custom action. When the action is complete, no continuation token should be supplied.

  • :execution_details (Types::ExecutionDetails)

    The execution details of the successful job, such as the actions taken by the job worker.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1669
1670
1671
1672
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1669

def put_job_success_result(params = {}, options = {})
  req = build_request(:put_job_success_result, params)
  req.send_request(options)
end

#put_third_party_job_failure_result(params = {}) ⇒ Struct

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

Examples:

Request syntax with placeholder values


resp = client.put_third_party_job_failure_result({
  job_id: "ThirdPartyJobId", # required
  client_token: "ClientToken", # required
  failure_details: { # required
    type: "JobFailed", # required, accepts JobFailed, ConfigurationError, PermissionError, RevisionOutOfSync, RevisionUnavailable, SystemUnavailable
    message: "Message", # required
    external_execution_id: "ExecutionId",
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :job_id (required, String)

    The ID of the job that failed. This is the same ID returned from PollForThirdPartyJobs.

  • :client_token (required, String)

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

  • :failure_details (required, Types::FailureDetails)

    Represents information about failure details.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1707
1708
1709
1710
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1707

def put_third_party_job_failure_result(params = {}, options = {})
  req = build_request(:put_third_party_job_failure_result, params)
  req.send_request(options)
end

#put_third_party_job_success_result(params = {}) ⇒ Struct

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

Examples:

Request syntax with placeholder values


resp = client.put_third_party_job_success_result({
  job_id: "ThirdPartyJobId", # required
  client_token: "ClientToken", # required
  current_revision: {
    revision: "Revision", # required
    change_identifier: "RevisionChangeIdentifier", # required
    created: Time.now,
    revision_summary: "RevisionSummary",
  },
  continuation_token: "ContinuationToken",
  execution_details: {
    summary: "ExecutionSummary",
    external_execution_id: "ExecutionId",
    percent_complete: 1,
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :job_id (required, String)

    The ID of the job that successfully completed. This is the same ID returned from PollForThirdPartyJobs.

  • :client_token (required, String)

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

  • :current_revision (Types::CurrentRevision)

    Represents information about a current revision.

  • :continuation_token (String)

    A token generated by a job worker, such as an AWS CodeDeploy deployment ID, that a successful job provides to identify a partner action in progress. Future jobs will use this token in order to identify the running instance of the action. It can be reused to return additional information about the progress of the partner action. When the action is complete, no continuation token should be supplied.

  • :execution_details (Types::ExecutionDetails)

    The details of the actions taken and results produced on an artifact as it passes through stages in the pipeline.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1765
1766
1767
1768
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1765

def put_third_party_job_success_result(params = {}, options = {})
  req = build_request(:put_third_party_job_success_result, params)
  req.send_request(options)
end

#put_webhook(params = {}) ⇒ Types::PutWebhookOutput

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.

Examples:

Request syntax with placeholder values


resp = client.put_webhook({
  webhook: { # required
    name: "WebhookName", # required
    target_pipeline: "PipelineName", # required
    target_action: "ActionName", # required
    filters: [ # required
      {
        json_path: "JsonPath", # required
        match_equals: "MatchEquals",
      },
    ],
    authentication: "GITHUB_HMAC", # required, accepts GITHUB_HMAC, IP, UNAUTHENTICATED
    authentication_configuration: { # required
      allowed_ip_range: "WebhookAuthConfigurationAllowedIPRange",
      secret_token: "WebhookAuthConfigurationSecretToken",
    },
  },
})

Response structure


resp.webhook.definition.name #=> String
resp.webhook.definition.target_pipeline #=> String
resp.webhook.definition.target_action #=> String
resp.webhook.definition.filters #=> Array
resp.webhook.definition.filters[0].json_path #=> String
resp.webhook.definition.filters[0].match_equals #=> String
resp.webhook.definition.authentication #=> String, one of "GITHUB_HMAC", "IP", "UNAUTHENTICATED"
resp.webhook.definition.authentication_configuration.allowed_ip_range #=> String
resp.webhook.definition.authentication_configuration.secret_token #=> String
resp.webhook.url #=> String
resp.webhook.error_message #=> String
resp.webhook.error_code #=> String
resp.webhook.last_triggered #=> Time
resp.webhook.arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :webhook (required, Types::WebhookDefinition)

    The detail provided in an input file to create the webhook, such as the webhook name, the pipeline name, and the action name. Give the webhook a unique name which identifies the webhook being defined. You may choose to name the webhook after the pipeline and action it targets so that you can easily recognize what it's used for later.

Returns:

See Also:



1833
1834
1835
1836
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1833

def put_webhook(params = {}, options = {})
  req = build_request(:put_webhook, params)
  req.send_request(options)
end

#register_webhook_with_third_party(params = {}) ⇒ Struct

Configures a connection between the webhook that was created and the external tool with events to be detected.

Examples:

Request syntax with placeholder values


resp = client.register_webhook_with_third_party({
  webhook_name: "WebhookName",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :webhook_name (String)

    The name of an existing webhook created with PutWebhook to register with a supported third party.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1857
1858
1859
1860
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1857

def register_webhook_with_third_party(params = {}, options = {})
  req = build_request(:register_webhook_with_third_party, params)
  req.send_request(options)
end

#retry_stage_execution(params = {}) ⇒ Types::RetryStageExecutionOutput

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

Examples:

Request syntax with placeholder values


resp = client.retry_stage_execution({
  pipeline_name: "PipelineName", # required
  stage_name: "StageName", # required
  pipeline_execution_id: "PipelineExecutionId", # required
  retry_mode: "FAILED_ACTIONS", # required, accepts FAILED_ACTIONS
})

Response structure


resp.pipeline_execution_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :pipeline_name (required, String)

    The name of the pipeline that contains the failed stage.

  • :stage_name (required, String)

    The name of the failed stage to be retried.

  • :pipeline_execution_id (required, String)

    The ID of the pipeline execution in the failed stage to be retried. Use the GetPipelineState action to retrieve the current pipelineExecutionId of the failed stage

  • :retry_mode (required, String)

    The scope of the retry attempt. Currently, the only supported value is FAILED_ACTIONS.

Returns:

See Also:



1901
1902
1903
1904
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1901

def retry_stage_execution(params = {}, options = {})
  req = build_request(:retry_stage_execution, params)
  req.send_request(options)
end

#start_pipeline_execution(params = {}) ⇒ Types::StartPipelineExecutionOutput

Starts the specified pipeline. Specifically, it begins processing the latest commit to the source location specified as part of the pipeline.

Examples:

Request syntax with placeholder values


resp = client.start_pipeline_execution({
  name: "PipelineName", # required
  client_request_token: "ClientRequestToken",
})

Response structure


resp.pipeline_execution_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the pipeline to start.

  • :client_request_token (String)

    The system-generated unique ID used to identify a unique execution request.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

Returns:

See Also:



1939
1940
1941
1942
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 1939

def start_pipeline_execution(params = {}, options = {})
  req = build_request(:start_pipeline_execution, params)
  req.send_request(options)
end

#update_pipeline(params = {}) ⇒ Types::UpdatePipelineOutput

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.

Examples:

Request syntax with placeholder values


resp = client.update_pipeline({
  pipeline: { # required
    name: "PipelineName", # required
    role_arn: "RoleArn", # required
    artifact_store: {
      type: "S3", # required, accepts S3
      location: "ArtifactStoreLocation", # required
      encryption_key: {
        id: "EncryptionKeyId", # required
        type: "KMS", # required, accepts KMS
      },
    },
    artifact_stores: {
      "AWSRegionName" => {
        type: "S3", # required, accepts S3
        location: "ArtifactStoreLocation", # required
        encryption_key: {
          id: "EncryptionKeyId", # required
          type: "KMS", # required, accepts KMS
        },
      },
    },
    stages: [ # required
      {
        name: "StageName", # required
        blockers: [
          {
            name: "BlockerName", # required
            type: "Schedule", # required, accepts Schedule
          },
        ],
        actions: [ # required
          {
            name: "ActionName", # required
            action_type_id: { # required
              category: "Source", # required, accepts Source, Build, Deploy, Test, Invoke, Approval
              owner: "AWS", # required, accepts AWS, ThirdParty, Custom
              provider: "ActionProvider", # required
              version: "Version", # required
            },
            run_order: 1,
            configuration: {
              "ActionConfigurationKey" => "ActionConfigurationValue",
            },
            output_artifacts: [
              {
                name: "ArtifactName", # required
              },
            ],
            input_artifacts: [
              {
                name: "ArtifactName", # required
              },
            ],
            role_arn: "RoleArn",
            region: "AWSRegionName",
          },
        ],
      },
    ],
    version: 1,
  },
})

Response structure


resp.pipeline.name #=> String
resp.pipeline.role_arn #=> String
resp.pipeline.artifact_store.type #=> String, one of "S3"
resp.pipeline.artifact_store.location #=> String
resp.pipeline.artifact_store.encryption_key.id #=> String
resp.pipeline.artifact_store.encryption_key.type #=> String, one of "KMS"
resp.pipeline.artifact_stores #=> Hash
resp.pipeline.artifact_stores["AWSRegionName"].type #=> String, one of "S3"
resp.pipeline.artifact_stores["AWSRegionName"].location #=> String
resp.pipeline.artifact_stores["AWSRegionName"].encryption_key.id #=> String
resp.pipeline.artifact_stores["AWSRegionName"].encryption_key.type #=> String, one of "KMS"
resp.pipeline.stages #=> Array
resp.pipeline.stages[0].name #=> String
resp.pipeline.stages[0].blockers #=> Array
resp.pipeline.stages[0].blockers[0].name #=> String
resp.pipeline.stages[0].blockers[0].type #=> String, one of "Schedule"
resp.pipeline.stages[0].actions #=> Array
resp.pipeline.stages[0].actions[0].name #=> String
resp.pipeline.stages[0].actions[0].action_type_id.category #=> String, one of "Source", "Build", "Deploy", "Test", "Invoke", "Approval"
resp.pipeline.stages[0].actions[0].action_type_id.owner #=> String, one of "AWS", "ThirdParty", "Custom"
resp.pipeline.stages[0].actions[0].action_type_id.provider #=> String
resp.pipeline.stages[0].actions[0].action_type_id.version #=> String
resp.pipeline.stages[0].actions[0].run_order #=> Integer
resp.pipeline.stages[0].actions[0].configuration #=> Hash
resp.pipeline.stages[0].actions[0].configuration["ActionConfigurationKey"] #=> String
resp.pipeline.stages[0].actions[0].output_artifacts #=> Array
resp.pipeline.stages[0].actions[0].output_artifacts[0].name #=> String
resp.pipeline.stages[0].actions[0].input_artifacts #=> Array
resp.pipeline.stages[0].actions[0].input_artifacts[0].name #=> String
resp.pipeline.stages[0].actions[0].role_arn #=> String
resp.pipeline.stages[0].actions[0].region #=> String
resp.pipeline.version #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



2061
2062
2063
2064
# File 'gems/aws-sdk-codepipeline/lib/aws-sdk-codepipeline/client.rb', line 2061

def update_pipeline(params = {}, options = {})
  req = build_request(:update_pipeline, params)
  req.send_request(options)
end