-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Amazon CodePipeline SDK.
--   
--   The types from this library are intended to be used with
--   <a>amazonka</a>, which provides mechanisms for specifying AuthN/AuthZ
--   information, sending requests, and receiving responses.
--   
--   Lenses are used for constructing and manipulating types, due to the
--   depth of nesting of AWS types and transparency regarding
--   de/serialisation into more palatable Haskell values. The provided
--   lenses should be compatible with any of the major lens libraries such
--   as <a>lens</a> or <a>lens-family-core</a>.
--   
--   See <a>Network.AWS.CodePipeline</a> or <a>the AWS documentation</a> to
--   get started.
@package amazonka-codepipeline
@version 1.4.5


module Network.AWS.CodePipeline.Types

-- | API version <tt>2015-07-09</tt> of the Amazon CodePipeline SDK
--   configuration.
codePipeline :: Service

-- | The client token was specified in an invalid format
_InvalidClientTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The validation was specified in an invalid format.
_ValidationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified nonce was specified in an invalid format.
_InvalidNonceException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified action cannot be found.
_ActionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The approval request already received a response or has expired.
_InvalidApprovalTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Reserved for future use.
_InvalidBlockerDeclarationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified job state was specified in an invalid format.
_InvalidJobStateException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified job was specified in an invalid format or cannot be
--   found.
_InvalidJobException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified pipeline version was specified in an invalid format or
--   cannot be found.
_PipelineVersionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | 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.
_StageNotRetryableException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The pipeline execution was specified in an invalid format or cannot be
--   found, or an execution ID does not belong to the specified pipeline.
_PipelineExecutionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified action type cannot be found.
_ActionTypeNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | 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.
_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified stage declaration was specified in an invalid format.
_InvalidStageDeclarationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified action declaration was specified in an invalid format.
_InvalidActionDeclarationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified stage was specified in an invalid format or cannot be
--   found.
_StageNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified structure was specified in an invalid format.
_InvalidStructureException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified job was specified in an invalid format or cannot be
--   found.
_JobNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The approval action has already been approved or rejected.
_ApprovalAlreadyCompletedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified pipeline name is already in use.
_PipelineNameInUseException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified pipeline was specified in an invalid format or cannot be
--   found.
_PipelineNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The number of pipelines associated with the AWS account has exceeded
--   the limit allowed for the account.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The stage has failed in a later run of the pipeline and the
--   pipelineExecutionId associated with the request is out of date.
_NotLatestPipelineExecutionException :: AsError a => Getting (First ServiceError) a ServiceError
data ActionCategory
Approval :: ActionCategory
Build :: ActionCategory
Deploy :: ActionCategory
Invoke :: ActionCategory
Source :: ActionCategory
Test :: ActionCategory
data ActionConfigurationPropertyType
Boolean :: ActionConfigurationPropertyType
Number :: ActionConfigurationPropertyType
String :: ActionConfigurationPropertyType
data ActionExecutionStatus
AESFailed :: ActionExecutionStatus
AESInProgress :: ActionExecutionStatus
AESSucceeded :: ActionExecutionStatus
data ActionOwner
AWS :: ActionOwner
Custom :: ActionOwner
ThirdParty :: ActionOwner
data ApprovalStatus
Approved :: ApprovalStatus
Rejected :: ApprovalStatus
data ArtifactLocationType
ALTS3 :: ArtifactLocationType
data ArtifactStoreType
S3 :: ArtifactStoreType
data BlockerType
Schedule :: BlockerType
data EncryptionKeyType
KMS :: EncryptionKeyType
data FailureType
ConfigurationError :: FailureType
JobFailed :: FailureType
PermissionError :: FailureType
RevisionOutOfSync :: FailureType
RevisionUnavailable :: FailureType
SystemUnavailable :: FailureType
data JobStatus
JSCreated :: JobStatus
JSDispatched :: JobStatus
JSFailed :: JobStatus
JSInProgress :: JobStatus
JSQueued :: JobStatus
JSSucceeded :: JobStatus
JSTimedOut :: JobStatus
data PipelineExecutionStatus
Failed :: PipelineExecutionStatus
InProgress :: PipelineExecutionStatus
Succeeded :: PipelineExecutionStatus
Superseded :: PipelineExecutionStatus
data StageExecutionStatus
SESFailed :: StageExecutionStatus
SESInProgress :: StageExecutionStatus
SESSucceeded :: StageExecutionStatus
data StageRetryMode
FailedActions :: StageRetryMode
data StageTransitionType
Inbound :: StageTransitionType
Outbound :: StageTransitionType

-- | Represents an AWS session credentials object. These credentials are
--   temporary credentials that are issued by AWS Secure Token Service
--   (STS). They can be used to access input and output artifacts in the
--   Amazon S3 bucket used to store artifact for the pipeline in AWS
--   CodePipeline.
--   
--   <i>See:</i> <a>awsSessionCredentials</a> smart constructor.
data AWSSessionCredentials

-- | Creates a value of <a>AWSSessionCredentials</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ascAccessKeyId</a> - The access key for the session.</li>
--   <li><a>ascSecretAccessKey</a> - The secret access key for the
--   session.</li>
--   <li><a>ascSessionToken</a> - The token for the session.</li>
--   </ul>
awsSessionCredentials :: Text -> Text -> Text -> AWSSessionCredentials

-- | The access key for the session.
ascAccessKeyId :: Lens' AWSSessionCredentials Text

-- | The secret access key for the session.
ascSecretAccessKey :: Lens' AWSSessionCredentials Text

-- | The token for the session.
ascSessionToken :: Lens' AWSSessionCredentials Text

-- | Represents information about an action configuration.
--   
--   <i>See:</i> <a>actionConfiguration</a> smart constructor.
data ActionConfiguration

-- | Creates a value of <a>ActionConfiguration</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acConfiguration</a> - The configuration data for the
--   action.</li>
--   </ul>
actionConfiguration :: ActionConfiguration

-- | The configuration data for the action.
acConfiguration :: Lens' ActionConfiguration (HashMap Text Text)

-- | Represents information about an action configuration property.
--   
--   <i>See:</i> <a>actionConfigurationProperty</a> smart constructor.
data ActionConfigurationProperty

-- | Creates a value of <a>ActionConfigurationProperty</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acpQueryable</a> - Indicates that the proprety will be used in
--   conjunction with PollForJobs. When creating a custom action, an action
--   can have up to one queryable property. If it has one, that property
--   must be both required and not secret. If you create a pipeline with a
--   custom action type, and that custom action contains a queryable
--   property, the value for that configuration property is subject to
--   additional restrictions. The value must be less than or equal to
--   twenty (20) characters. The value can contain only alphanumeric
--   characters, underscores, and hyphens.</li>
--   <li><a>acpType</a> - The type of the configuration property.</li>
--   <li><a>acpDescription</a> - The description of the action
--   configuration property that will be displayed to users.</li>
--   <li><a>acpName</a> - The name of the action configuration
--   property.</li>
--   <li><a>acpRequired</a> - Whether the configuration property is a
--   required value.</li>
--   <li><a>acpKey</a> - Whether the configuration property is a key.</li>
--   <li><a>acpSecret</a> - Whether the configuration property is secret.
--   Secrets are hidden from all calls except for GetJobDetails,
--   GetThirdPartyJobDetails, PollForJobs, and PollForThirdPartyJobs. When
--   updating a pipeline, passing * * * * * without changing any other
--   values of the action will preserve the prior value of the secret.</li>
--   </ul>
actionConfigurationProperty :: Text -> Bool -> Bool -> Bool -> ActionConfigurationProperty

-- | Indicates that the proprety will be used in conjunction with
--   PollForJobs. When creating a custom action, an action can have up to
--   one queryable property. If it has one, that property must be both
--   required and not secret. If you create a pipeline with a custom action
--   type, and that custom action contains a queryable property, the value
--   for that configuration property is subject to additional restrictions.
--   The value must be less than or equal to twenty (20) characters. The
--   value can contain only alphanumeric characters, underscores, and
--   hyphens.
acpQueryable :: Lens' ActionConfigurationProperty (Maybe Bool)

-- | The type of the configuration property.
acpType :: Lens' ActionConfigurationProperty (Maybe ActionConfigurationPropertyType)

-- | The description of the action configuration property that will be
--   displayed to users.
acpDescription :: Lens' ActionConfigurationProperty (Maybe Text)

-- | The name of the action configuration property.
acpName :: Lens' ActionConfigurationProperty Text

-- | Whether the configuration property is a required value.
acpRequired :: Lens' ActionConfigurationProperty Bool

-- | Whether the configuration property is a key.
acpKey :: Lens' ActionConfigurationProperty Bool

-- | Whether the configuration property is secret. Secrets are hidden from
--   all calls except for GetJobDetails, GetThirdPartyJobDetails,
--   PollForJobs, and PollForThirdPartyJobs. When updating a pipeline,
--   passing * * * * * without changing any other values of the action will
--   preserve the prior value of the secret.
acpSecret :: Lens' ActionConfigurationProperty Bool

-- | Represents the context of an action within the stage of a pipeline to
--   a job worker.
--   
--   <i>See:</i> <a>actionContext</a> smart constructor.
data ActionContext

-- | Creates a value of <a>ActionContext</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acName</a> - The name of the action within the context of a
--   job.</li>
--   </ul>
actionContext :: ActionContext

-- | The name of the action within the context of a job.
acName :: Lens' ActionContext (Maybe Text)

-- | Represents information about an action declaration.
--   
--   <i>See:</i> <a>actionDeclaration</a> smart constructor.
data ActionDeclaration

-- | Creates a value of <a>ActionDeclaration</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adOutputArtifacts</a> - The name or ID of the result of the
--   action declaration, such as a test or build artifact.</li>
--   <li><a>adRunOrder</a> - The order in which actions are run.</li>
--   <li><a>adConfiguration</a> - The action declaration's
--   configuration.</li>
--   <li><a>adInputArtifacts</a> - The name or ID of the artifact consumed
--   by the action, such as a test or build artifact.</li>
--   <li><a>adRoleARN</a> - The ARN of the IAM service role that will
--   perform the declared action. This is assumed through the roleArn for
--   the pipeline.</li>
--   <li><a>adName</a> - The action declaration's name.</li>
--   <li><a>adActionTypeId</a> - The configuration information for the
--   action type.</li>
--   </ul>
actionDeclaration :: Text -> ActionTypeId -> ActionDeclaration

-- | The name or ID of the result of the action declaration, such as a test
--   or build artifact.
adOutputArtifacts :: Lens' ActionDeclaration [OutputArtifact]

-- | The order in which actions are run.
adRunOrder :: Lens' ActionDeclaration (Maybe Natural)

-- | The action declaration's configuration.
adConfiguration :: Lens' ActionDeclaration (HashMap Text Text)

-- | The name or ID of the artifact consumed by the action, such as a test
--   or build artifact.
adInputArtifacts :: Lens' ActionDeclaration [InputArtifact]

-- | The ARN of the IAM service role that will perform the declared action.
--   This is assumed through the roleArn for the pipeline.
adRoleARN :: Lens' ActionDeclaration (Maybe Text)

-- | The action declaration's name.
adName :: Lens' ActionDeclaration Text

-- | The configuration information for the action type.
adActionTypeId :: Lens' ActionDeclaration ActionTypeId

-- | Represents information about the run of an action.
--   
--   <i>See:</i> <a>actionExecution</a> smart constructor.
data ActionExecution

-- | Creates a value of <a>ActionExecution</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aeLastUpdatedBy</a> - The ARN of the user who last changed the
--   pipeline.</li>
--   <li><a>aeSummary</a> - A summary of the run of the action.</li>
--   <li><a>aeStatus</a> - The status of the action, or for a completed
--   action, the last status of the action.</li>
--   <li><a>aeLastStatusChange</a> - The last status change of the
--   action.</li>
--   <li><a>aeToken</a> - The system-generated token used to identify a
--   unique approval request. The token for each open approval request can
--   be obtained using the GetPipelineState command and is used to validate
--   that the approval request corresponding to this token is still
--   valid.</li>
--   <li><a>aeExternalExecutionURL</a> - The URL of a resource external to
--   AWS that will be used when running the action, for example an external
--   repository URL.</li>
--   <li><a>aeExternalExecutionId</a> - The external ID of the run of the
--   action.</li>
--   <li><a>aeErrorDetails</a> - The details of an error returned by a URL
--   external to AWS.</li>
--   <li><a>aePercentComplete</a> - A percentage of completeness of the
--   action as it runs.</li>
--   </ul>
actionExecution :: ActionExecution

-- | The ARN of the user who last changed the pipeline.
aeLastUpdatedBy :: Lens' ActionExecution (Maybe Text)

-- | A summary of the run of the action.
aeSummary :: Lens' ActionExecution (Maybe Text)

-- | The status of the action, or for a completed action, the last status
--   of the action.
aeStatus :: Lens' ActionExecution (Maybe ActionExecutionStatus)

-- | The last status change of the action.
aeLastStatusChange :: Lens' ActionExecution (Maybe UTCTime)

-- | The system-generated token used to identify a unique approval request.
--   The token for each open approval request can be obtained using the
--   GetPipelineState command and is used to validate that the approval
--   request corresponding to this token is still valid.
aeToken :: Lens' ActionExecution (Maybe Text)

-- | The URL of a resource external to AWS that will be used when running
--   the action, for example an external repository URL.
aeExternalExecutionURL :: Lens' ActionExecution (Maybe Text)

-- | The external ID of the run of the action.
aeExternalExecutionId :: Lens' ActionExecution (Maybe Text)

-- | The details of an error returned by a URL external to AWS.
aeErrorDetails :: Lens' ActionExecution (Maybe ErrorDetails)

-- | A percentage of completeness of the action as it runs.
aePercentComplete :: Lens' ActionExecution (Maybe Natural)

-- | Represents information about the version (or revision) of an action.
--   
--   <i>See:</i> <a>actionRevision</a> smart constructor.
data ActionRevision

-- | Creates a value of <a>ActionRevision</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aRevisionId</a> - The system-generated unique ID that
--   identifies the revision number of the action.</li>
--   <li><a>aRevisionChangeId</a> - The unique identifier of the change
--   that set the state to this revision, for example a deployment ID or
--   timestamp.</li>
--   <li><a>aCreated</a> - The date and time when the most recent version
--   of the action was created, in timestamp format.</li>
--   </ul>
actionRevision :: Text -> Text -> UTCTime -> ActionRevision

-- | The system-generated unique ID that identifies the revision number of
--   the action.
aRevisionId :: Lens' ActionRevision Text

-- | The unique identifier of the change that set the state to this
--   revision, for example a deployment ID or timestamp.
aRevisionChangeId :: Lens' ActionRevision Text

-- | The date and time when the most recent version of the action was
--   created, in timestamp format.
aCreated :: Lens' ActionRevision UTCTime

-- | Represents information about the state of an action.
--   
--   <i>See:</i> <a>actionState</a> smart constructor.
data ActionState

-- | Creates a value of <a>ActionState</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asRevisionURL</a> - A URL link for more information about the
--   revision, such as a commit details page.</li>
--   <li><a>asEntityURL</a> - A URL link for more information about the
--   state of the action, such as a deployment group details page.</li>
--   <li><a>asActionName</a> - The name of the action.</li>
--   <li><a>asCurrentRevision</a> - Undocumented member.</li>
--   <li><a>asLatestExecution</a> - Undocumented member.</li>
--   </ul>
actionState :: ActionState

-- | A URL link for more information about the revision, such as a commit
--   details page.
asRevisionURL :: Lens' ActionState (Maybe Text)

-- | A URL link for more information about the state of the action, such as
--   a deployment group details page.
asEntityURL :: Lens' ActionState (Maybe Text)

-- | The name of the action.
asActionName :: Lens' ActionState (Maybe Text)

-- | Undocumented member.
asCurrentRevision :: Lens' ActionState (Maybe ActionRevision)

-- | Undocumented member.
asLatestExecution :: Lens' ActionState (Maybe ActionExecution)

-- | Returns information about the details of an action type.
--   
--   <i>See:</i> <a>actionType</a> smart constructor.
data ActionType

-- | Creates a value of <a>ActionType</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>atSettings</a> - The settings for the action type.</li>
--   <li><a>atActionConfigurationProperties</a> - The configuration
--   properties for the action type.</li>
--   <li><a>atId</a> - Undocumented member.</li>
--   <li><a>atInputArtifactDetails</a> - The details of the input artifact
--   for the action, such as its commit ID.</li>
--   <li><a>atOutputArtifactDetails</a> - The details of the output
--   artifact of the action, such as its commit ID.</li>
--   </ul>
actionType :: ActionTypeId -> ArtifactDetails -> ArtifactDetails -> ActionType

-- | The settings for the action type.
atSettings :: Lens' ActionType (Maybe ActionTypeSettings)

-- | The configuration properties for the action type.
atActionConfigurationProperties :: Lens' ActionType [ActionConfigurationProperty]

-- | Undocumented member.
atId :: Lens' ActionType ActionTypeId

-- | The details of the input artifact for the action, such as its commit
--   ID.
atInputArtifactDetails :: Lens' ActionType ArtifactDetails

-- | The details of the output artifact of the action, such as its commit
--   ID.
atOutputArtifactDetails :: Lens' ActionType ArtifactDetails

-- | Represents information about an action type.
--   
--   <i>See:</i> <a>actionTypeId</a> smart constructor.
data ActionTypeId

-- | Creates a value of <a>ActionTypeId</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>atiCategory</a> - A category defines what kind of action can be
--   taken in the stage, and constrains the provider type for the action.
--   Valid categories are limited to one of the values below.</li>
--   <li><a>atiOwner</a> - The creator of the action being called.</li>
--   <li><a>atiProvider</a> - The provider of the service being called by
--   the action. Valid providers are determined by the action category. For
--   example, an action in the Deploy category type might have a provider
--   of AWS CodeDeploy, which would be specified as CodeDeploy.</li>
--   <li><a>atiVersion</a> - A string that identifies the action type.</li>
--   </ul>
actionTypeId :: ActionCategory -> ActionOwner -> Text -> Text -> ActionTypeId

-- | A category defines what kind of action can be taken in the stage, and
--   constrains the provider type for the action. Valid categories are
--   limited to one of the values below.
atiCategory :: Lens' ActionTypeId ActionCategory

-- | The creator of the action being called.
atiOwner :: Lens' ActionTypeId ActionOwner

-- | The provider of the service being called by the action. Valid
--   providers are determined by the action category. For example, an
--   action in the Deploy category type might have a provider of AWS
--   CodeDeploy, which would be specified as CodeDeploy.
atiProvider :: Lens' ActionTypeId Text

-- | A string that identifies the action type.
atiVersion :: Lens' ActionTypeId Text

-- | Returns information about the settings for an action type.
--   
--   <i>See:</i> <a>actionTypeSettings</a> smart constructor.
data ActionTypeSettings

-- | Creates a value of <a>ActionTypeSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>atsThirdPartyConfigurationURL</a> - The URL of a sign-up page
--   where users can sign up for an external service and perform initial
--   configuration of the action provided by that service.</li>
--   <li><a>atsExecutionURLTemplate</a> - The URL returned to the AWS
--   CodePipeline console that contains a link to the top-level landing
--   page for the external system, such as console page for AWS CodeDeploy.
--   This link is shown on the pipeline view page in the AWS CodePipeline
--   console and provides a link to the execution entity of the external
--   action.</li>
--   <li><a>atsRevisionURLTemplate</a> - The URL returned to the AWS
--   CodePipeline console that contains a link to the page where customers
--   can update or change the configuration of the external action.</li>
--   <li><a>atsEntityURLTemplate</a> - The URL returned to the AWS
--   CodePipeline console that provides a deep link to the resources of the
--   external system, such as the configuration page for an AWS CodeDeploy
--   deployment group. This link is provided as part of the action display
--   within the pipeline.</li>
--   </ul>
actionTypeSettings :: ActionTypeSettings

-- | The URL of a sign-up page where users can sign up for an external
--   service and perform initial configuration of the action provided by
--   that service.
atsThirdPartyConfigurationURL :: Lens' ActionTypeSettings (Maybe Text)

-- | The URL returned to the AWS CodePipeline console that contains a link
--   to the top-level landing page for the external system, such as console
--   page for AWS CodeDeploy. This link is shown on the pipeline view page
--   in the AWS CodePipeline console and provides a link to the execution
--   entity of the external action.
atsExecutionURLTemplate :: Lens' ActionTypeSettings (Maybe Text)

-- | The URL returned to the AWS CodePipeline console that contains a link
--   to the page where customers can update or change the configuration of
--   the external action.
atsRevisionURLTemplate :: Lens' ActionTypeSettings (Maybe Text)

-- | The URL returned to the AWS CodePipeline console that provides a deep
--   link to the resources of the external system, such as the
--   configuration page for an AWS CodeDeploy deployment group. This link
--   is provided as part of the action display within the pipeline.
atsEntityURLTemplate :: Lens' ActionTypeSettings (Maybe Text)

-- | Represents information about the result of an approval request.
--   
--   <i>See:</i> <a>approvalResult</a> smart constructor.
data ApprovalResult

-- | Creates a value of <a>ApprovalResult</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>arSummary</a> - The summary of the current status of the
--   approval request.</li>
--   <li><a>arStatus</a> - The response submitted by a reviewer assigned to
--   an approval action request.</li>
--   </ul>
approvalResult :: Text -> ApprovalStatus -> ApprovalResult

-- | The summary of the current status of the approval request.
arSummary :: Lens' ApprovalResult Text

-- | The response submitted by a reviewer assigned to an approval action
--   request.
arStatus :: Lens' ApprovalResult ApprovalStatus

-- | Represents information about an artifact that will be worked upon by
--   actions in the pipeline.
--   
--   <i>See:</i> <a>artifact</a> smart constructor.
data Artifact

-- | Creates a value of <a>Artifact</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aLocation</a> - The location of an artifact.</li>
--   <li><a>aName</a> - The artifact's name.</li>
--   <li><a>aRevision</a> - The artifact's revision ID. Depending on the
--   type of object, this could be a commit ID (GitHub) or a revision ID
--   (Amazon S3).</li>
--   </ul>
artifact :: Artifact

-- | The location of an artifact.
aLocation :: Lens' Artifact (Maybe ArtifactLocation)

-- | The artifact's name.
aName :: Lens' Artifact (Maybe Text)

-- | The artifact's revision ID. Depending on the type of object, this
--   could be a commit ID (GitHub) or a revision ID (Amazon S3).
aRevision :: Lens' Artifact (Maybe Text)

-- | Returns information about the details of an artifact.
--   
--   <i>See:</i> <a>artifactDetails</a> smart constructor.
data ArtifactDetails

-- | Creates a value of <a>ArtifactDetails</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adMinimumCount</a> - The minimum number of artifacts allowed
--   for the action type.</li>
--   <li><a>adMaximumCount</a> - The maximum number of artifacts allowed
--   for the action type.</li>
--   </ul>
artifactDetails :: Natural -> Natural -> ArtifactDetails

-- | The minimum number of artifacts allowed for the action type.
adMinimumCount :: Lens' ArtifactDetails Natural

-- | The maximum number of artifacts allowed for the action type.
adMaximumCount :: Lens' ArtifactDetails Natural

-- | Represents information about the location of an artifact.
--   
--   <i>See:</i> <a>artifactLocation</a> smart constructor.
data ArtifactLocation

-- | Creates a value of <a>ArtifactLocation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>alS3Location</a> - The Amazon S3 bucket that contains the
--   artifact.</li>
--   <li><a>alType</a> - The type of artifact in the location.</li>
--   </ul>
artifactLocation :: ArtifactLocation

-- | The Amazon S3 bucket that contains the artifact.
alS3Location :: Lens' ArtifactLocation (Maybe S3ArtifactLocation)

-- | The type of artifact in the location.
alType :: Lens' ArtifactLocation (Maybe ArtifactLocationType)

-- | Represents revision details of an artifact.
--   
--   <i>See:</i> <a>artifactRevision</a> smart constructor.
data ArtifactRevision

-- | Creates a value of <a>ArtifactRevision</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>arRevisionSummary</a> - Summary information about the most
--   recent revision of the artifact. For GitHub and AWS CodeCommit
--   repositories, the commit message. For Amazon S3 buckets or actions,
--   the user-provided content of a
--   <tt>codepipeline-artifact-revision-summary</tt> key specified in the
--   object metadata.</li>
--   <li><a>arRevisionURL</a> - The commit ID for the artifact revision.
--   For artifacts stored in GitHub or AWS CodeCommit repositories, the
--   commit ID is linked to a commit details page.</li>
--   <li><a>arCreated</a> - The date and time when the most recent revision
--   of the artifact was created, in timestamp format.</li>
--   <li><a>arName</a> - The name of an artifact. This name might be
--   system-generated, such as <a>MyApp</a>, or might be defined by the
--   user when an action is created.</li>
--   <li><a>arRevisionId</a> - The revision ID of the artifact.</li>
--   <li><a>arRevisionChangeIdentifier</a> - An additional identifier for a
--   revision, such as a commit date or, for artifacts stored in Amazon S3
--   buckets, the ETag value.</li>
--   </ul>
artifactRevision :: ArtifactRevision

-- | Summary information about the most recent revision of the artifact.
--   For GitHub and AWS CodeCommit repositories, the commit message. For
--   Amazon S3 buckets or actions, the user-provided content of a
--   <tt>codepipeline-artifact-revision-summary</tt> key specified in the
--   object metadata.
arRevisionSummary :: Lens' ArtifactRevision (Maybe Text)

-- | The commit ID for the artifact revision. For artifacts stored in
--   GitHub or AWS CodeCommit repositories, the commit ID is linked to a
--   commit details page.
arRevisionURL :: Lens' ArtifactRevision (Maybe Text)

-- | The date and time when the most recent revision of the artifact was
--   created, in timestamp format.
arCreated :: Lens' ArtifactRevision (Maybe UTCTime)

-- | The name of an artifact. This name might be system-generated, such as
--   <a>MyApp</a>, or might be defined by the user when an action is
--   created.
arName :: Lens' ArtifactRevision (Maybe Text)

-- | The revision ID of the artifact.
arRevisionId :: Lens' ArtifactRevision (Maybe Text)

-- | An additional identifier for a revision, such as a commit date or, for
--   artifacts stored in Amazon S3 buckets, the ETag value.
arRevisionChangeIdentifier :: Lens' ArtifactRevision (Maybe Text)

-- | The Amazon S3 location where artifacts are stored for the pipeline. If
--   this Amazon S3 bucket is created manually, it must meet the
--   requirements for AWS CodePipeline. For more information, see the
--   <a>Concepts</a> .
--   
--   <i>See:</i> <a>artifactStore</a> smart constructor.
data ArtifactStore

-- | Creates a value of <a>ArtifactStore</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asEncryptionKey</a> - The encryption key used to encrypt the
--   data in the artifact store, such as an AWS Key Management Service (AWS
--   KMS) key. If this is undefined, the default key for Amazon S3 is
--   used.</li>
--   <li><a>asType</a> - The type of the artifact store, such as S3.</li>
--   <li><a>asLocation</a> - The location for storing the artifacts for a
--   pipeline, such as an S3 bucket or folder.</li>
--   </ul>
artifactStore :: ArtifactStoreType -> Text -> ArtifactStore

-- | The encryption key used to encrypt the data in the artifact store,
--   such as an AWS Key Management Service (AWS KMS) key. If this is
--   undefined, the default key for Amazon S3 is used.
asEncryptionKey :: Lens' ArtifactStore (Maybe EncryptionKey)

-- | The type of the artifact store, such as S3.
asType :: Lens' ArtifactStore ArtifactStoreType

-- | The location for storing the artifacts for a pipeline, such as an S3
--   bucket or folder.
asLocation :: Lens' ArtifactStore Text

-- | Reserved for future use.
--   
--   <i>See:</i> <a>blockerDeclaration</a> smart constructor.
data BlockerDeclaration

-- | Creates a value of <a>BlockerDeclaration</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bdName</a> - Reserved for future use.</li>
--   <li><a>bdType</a> - Reserved for future use.</li>
--   </ul>
blockerDeclaration :: Text -> BlockerType -> BlockerDeclaration

-- | Reserved for future use.
bdName :: Lens' BlockerDeclaration Text

-- | Reserved for future use.
bdType :: Lens' BlockerDeclaration BlockerType

-- | Represents information about a current revision.
--   
--   <i>See:</i> <a>currentRevision</a> smart constructor.
data CurrentRevision

-- | Creates a value of <a>CurrentRevision</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crRevisionSummary</a> - The summary of the most recent revision
--   of the artifact.</li>
--   <li><a>crCreated</a> - The date and time when the most recent revision
--   of the artifact was created, in timestamp format.</li>
--   <li><a>crRevision</a> - The revision ID of the current version of an
--   artifact.</li>
--   <li><a>crChangeIdentifier</a> - The change identifier for the current
--   revision.</li>
--   </ul>
currentRevision :: Text -> Text -> CurrentRevision

-- | The summary of the most recent revision of the artifact.
crRevisionSummary :: Lens' CurrentRevision (Maybe Text)

-- | The date and time when the most recent revision of the artifact was
--   created, in timestamp format.
crCreated :: Lens' CurrentRevision (Maybe UTCTime)

-- | The revision ID of the current version of an artifact.
crRevision :: Lens' CurrentRevision Text

-- | The change identifier for the current revision.
crChangeIdentifier :: Lens' CurrentRevision Text

-- | Represents information about the key used to encrypt data in the
--   artifact store, such as an AWS Key Management Service (AWS KMS) key.
--   
--   <i>See:</i> <a>encryptionKey</a> smart constructor.
data EncryptionKey

-- | Creates a value of <a>EncryptionKey</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ekId</a> - The ID used to identify the key. For an AWS KMS key,
--   this is the key ID or key ARN.</li>
--   <li><a>ekType</a> - The type of encryption key, such as an AWS Key
--   Management Service (AWS KMS) key. When creating or updating a
--   pipeline, the value must be set to <a>KMS</a>.</li>
--   </ul>
encryptionKey :: Text -> EncryptionKeyType -> EncryptionKey

-- | The ID used to identify the key. For an AWS KMS key, this is the key
--   ID or key ARN.
ekId :: Lens' EncryptionKey Text

-- | The type of encryption key, such as an AWS Key Management Service (AWS
--   KMS) key. When creating or updating a pipeline, the value must be set
--   to <a>KMS</a>.
ekType :: Lens' EncryptionKey EncryptionKeyType

-- | Represents information about an error in AWS CodePipeline.
--   
--   <i>See:</i> <a>errorDetails</a> smart constructor.
data ErrorDetails

-- | Creates a value of <a>ErrorDetails</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>edCode</a> - The system ID or error number code of the
--   error.</li>
--   <li><a>edMessage</a> - The text of the error message.</li>
--   </ul>
errorDetails :: ErrorDetails

-- | The system ID or error number code of the error.
edCode :: Lens' ErrorDetails (Maybe Text)

-- | The text of the error message.
edMessage :: Lens' ErrorDetails (Maybe Text)

-- | The details of the actions taken and results produced on an artifact
--   as it passes through stages in the pipeline.
--   
--   <i>See:</i> <a>executionDetails</a> smart constructor.
data ExecutionDetails

-- | Creates a value of <a>ExecutionDetails</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>edSummary</a> - The summary of the current status of the
--   actions.</li>
--   <li><a>edExternalExecutionId</a> - The system-generated unique ID of
--   this action used to identify this job worker in any external systems,
--   such as AWS CodeDeploy.</li>
--   <li><a>edPercentComplete</a> - The percentage of work completed on the
--   action, represented on a scale of zero to one hundred percent.</li>
--   </ul>
executionDetails :: ExecutionDetails

-- | The summary of the current status of the actions.
edSummary :: Lens' ExecutionDetails (Maybe Text)

-- | The system-generated unique ID of this action used to identify this
--   job worker in any external systems, such as AWS CodeDeploy.
edExternalExecutionId :: Lens' ExecutionDetails (Maybe Text)

-- | The percentage of work completed on the action, represented on a scale
--   of zero to one hundred percent.
edPercentComplete :: Lens' ExecutionDetails (Maybe Natural)

-- | Represents information about failure details.
--   
--   <i>See:</i> <a>failureDetails</a> smart constructor.
data FailureDetails

-- | Creates a value of <a>FailureDetails</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fdExternalExecutionId</a> - The external ID of the run of the
--   action that failed.</li>
--   <li><a>fdType</a> - The type of the failure.</li>
--   <li><a>fdMessage</a> - The message about the failure.</li>
--   </ul>
failureDetails :: FailureType -> Text -> FailureDetails

-- | The external ID of the run of the action that failed.
fdExternalExecutionId :: Lens' FailureDetails (Maybe Text)

-- | The type of the failure.
fdType :: Lens' FailureDetails FailureType

-- | The message about the failure.
fdMessage :: Lens' FailureDetails Text

-- | Represents information about an artifact to be worked on, such as a
--   test or build artifact.
--   
--   <i>See:</i> <a>inputArtifact</a> smart constructor.
data InputArtifact

-- | Creates a value of <a>InputArtifact</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iaName</a> - The name of the artifact to be worked on, for
--   example, "My App". The input artifact of an action must exactly match
--   the output artifact declared in a preceding action, but the input
--   artifact does not have to be the next action in strict sequence from
--   the action that provided the output artifact. Actions in parallel can
--   declare different output artifacts, which are in turn consumed by
--   different following actions.</li>
--   </ul>
inputArtifact :: Text -> InputArtifact

-- | The name of the artifact to be worked on, for example, "My App". The
--   input artifact of an action must exactly match the output artifact
--   declared in a preceding action, but the input artifact does not have
--   to be the next action in strict sequence from the action that provided
--   the output artifact. Actions in parallel can declare different output
--   artifacts, which are in turn consumed by different following actions.
iaName :: Lens' InputArtifact Text

-- | Represents information about a job.
--   
--   <i>See:</i> <a>job</a> smart constructor.
data Job

-- | Creates a value of <a>Job</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>jData</a> - Additional data about a job.</li>
--   <li><a>jAccountId</a> - The ID of the AWS account to use when
--   performing the job.</li>
--   <li><a>jId</a> - The unique system-generated ID of the job.</li>
--   <li><a>jNonce</a> - A system-generated random number that AWS
--   CodePipeline uses to ensure that the job is being worked on by only
--   one job worker. This number must be returned in the response.</li>
--   </ul>
job :: Job

-- | Additional data about a job.
jData :: Lens' Job (Maybe JobData)

-- | The ID of the AWS account to use when performing the job.
jAccountId :: Lens' Job (Maybe Text)

-- | The unique system-generated ID of the job.
jId :: Lens' Job (Maybe Text)

-- | A system-generated random number that AWS CodePipeline uses to ensure
--   that the job is being worked on by only one job worker. This number
--   must be returned in the response.
jNonce :: Lens' Job (Maybe Text)

-- | Represents additional information about a job required for a job
--   worker to complete the job.
--   
--   <i>See:</i> <a>jobData</a> smart constructor.
data JobData

-- | Creates a value of <a>JobData</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>jdContinuationToken</a> - A system-generated token, such as a
--   AWS CodeDeploy deployment ID, that a job requires in order to continue
--   the job asynchronously.</li>
--   <li><a>jdOutputArtifacts</a> - The output of the job.</li>
--   <li><a>jdArtifactCredentials</a> - Undocumented member.</li>
--   <li><a>jdPipelineContext</a> - Undocumented member.</li>
--   <li><a>jdEncryptionKey</a> - Undocumented member.</li>
--   <li><a>jdActionTypeId</a> - Undocumented member.</li>
--   <li><a>jdInputArtifacts</a> - The artifact supplied to the job.</li>
--   <li><a>jdActionConfiguration</a> - Undocumented member.</li>
--   </ul>
jobData :: JobData

-- | A system-generated token, such as a AWS CodeDeploy deployment ID, that
--   a job requires in order to continue the job asynchronously.
jdContinuationToken :: Lens' JobData (Maybe Text)

-- | The output of the job.
jdOutputArtifacts :: Lens' JobData [Artifact]

-- | Undocumented member.
jdArtifactCredentials :: Lens' JobData (Maybe AWSSessionCredentials)

-- | Undocumented member.
jdPipelineContext :: Lens' JobData (Maybe PipelineContext)

-- | Undocumented member.
jdEncryptionKey :: Lens' JobData (Maybe EncryptionKey)

-- | Undocumented member.
jdActionTypeId :: Lens' JobData (Maybe ActionTypeId)

-- | The artifact supplied to the job.
jdInputArtifacts :: Lens' JobData [Artifact]

-- | Undocumented member.
jdActionConfiguration :: Lens' JobData (Maybe ActionConfiguration)

-- | Represents information about the details of a job.
--   
--   <i>See:</i> <a>jobDetails</a> smart constructor.
data JobDetails

-- | Creates a value of <a>JobDetails</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>jdData</a> - Undocumented member.</li>
--   <li><a>jdAccountId</a> - The AWS account ID associated with the
--   job.</li>
--   <li><a>jdId</a> - The unique system-generated ID of the job.</li>
--   </ul>
jobDetails :: JobDetails

-- | Undocumented member.
jdData :: Lens' JobDetails (Maybe JobData)

-- | The AWS account ID associated with the job.
jdAccountId :: Lens' JobDetails (Maybe Text)

-- | The unique system-generated ID of the job.
jdId :: Lens' JobDetails (Maybe Text)

-- | Represents information about the output of an action.
--   
--   <i>See:</i> <a>outputArtifact</a> smart constructor.
data OutputArtifact

-- | Creates a value of <a>OutputArtifact</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oaName</a> - The name of the output of an artifact, such as "My
--   App". The input artifact of an action must exactly match the output
--   artifact declared in a preceding action, but the input artifact does
--   not have to be the next action in strict sequence from the action that
--   provided the output artifact. Actions in parallel can declare
--   different output artifacts, which are in turn consumed by different
--   following actions. Output artifact names must be unique within a
--   pipeline.</li>
--   </ul>
outputArtifact :: Text -> OutputArtifact

-- | The name of the output of an artifact, such as "My App". The input
--   artifact of an action must exactly match the output artifact declared
--   in a preceding action, but the input artifact does not have to be the
--   next action in strict sequence from the action that provided the
--   output artifact. Actions in parallel can declare different output
--   artifacts, which are in turn consumed by different following actions.
--   Output artifact names must be unique within a pipeline.
oaName :: Lens' OutputArtifact Text

-- | Represents information about a pipeline to a job worker.
--   
--   <i>See:</i> <a>pipelineContext</a> smart constructor.
data PipelineContext

-- | Creates a value of <a>PipelineContext</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcStage</a> - The stage of the pipeline.</li>
--   <li><a>pcPipelineName</a> - The name of the pipeline. This is a
--   user-specified value. Pipeline names must be unique across all
--   pipeline names under an Amazon Web Services account.</li>
--   <li><a>pcAction</a> - Undocumented member.</li>
--   </ul>
pipelineContext :: PipelineContext

-- | The stage of the pipeline.
pcStage :: Lens' PipelineContext (Maybe StageContext)

-- | The name of the pipeline. This is a user-specified value. Pipeline
--   names must be unique across all pipeline names under an Amazon Web
--   Services account.
pcPipelineName :: Lens' PipelineContext (Maybe Text)

-- | Undocumented member.
pcAction :: Lens' PipelineContext (Maybe ActionContext)

-- | Represents the structure of actions and stages to be performed in the
--   pipeline.
--   
--   <i>See:</i> <a>pipelineDeclaration</a> smart constructor.
data PipelineDeclaration

-- | Creates a value of <a>PipelineDeclaration</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pdVersion</a> - The version number of the pipeline. A new
--   pipeline always has a version number of 1. This number is
--   automatically incremented when a pipeline is updated.</li>
--   <li><a>pdName</a> - The name of the action to be performed.</li>
--   <li><a>pdRoleARN</a> - The Amazon Resource Name (ARN) for AWS
--   CodePipeline to use to either perform actions with no actionRoleArn,
--   or to use to assume roles for actions with an actionRoleArn.</li>
--   <li><a>pdArtifactStore</a> - Undocumented member.</li>
--   <li><a>pdStages</a> - The stage in which to perform the action.</li>
--   </ul>
pipelineDeclaration :: Text -> Text -> ArtifactStore -> PipelineDeclaration

-- | The version number of the pipeline. A new pipeline always has a
--   version number of 1. This number is automatically incremented when a
--   pipeline is updated.
pdVersion :: Lens' PipelineDeclaration (Maybe Natural)

-- | The name of the action to be performed.
pdName :: Lens' PipelineDeclaration Text

-- | The Amazon Resource Name (ARN) for AWS CodePipeline to use to either
--   perform actions with no actionRoleArn, or to use to assume roles for
--   actions with an actionRoleArn.
pdRoleARN :: Lens' PipelineDeclaration Text

-- | Undocumented member.
pdArtifactStore :: Lens' PipelineDeclaration ArtifactStore

-- | The stage in which to perform the action.
pdStages :: Lens' PipelineDeclaration [StageDeclaration]

-- | Represents information about an execution of a pipeline.
--   
--   <i>See:</i> <a>pipelineExecution</a> smart constructor.
data PipelineExecution

-- | Creates a value of <a>PipelineExecution</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>peStatus</a> - The status of the pipeline execution. *
--   InProgress: The pipeline execution is currently running. * Succeeded:
--   The pipeline execution completed successfully. * Superseded: While
--   this pipeline execution was waiting for the next stage to be
--   completed, a newer pipeline execution caught up and continued through
--   the pipeline instead. * Failed: The pipeline did not complete
--   successfully.</li>
--   <li><a>pePipelineName</a> - The name of the pipeline that was
--   executed.</li>
--   <li><a>pePipelineVersion</a> - The version number of the pipeline that
--   was executed.</li>
--   <li><a>pePipelineExecutionId</a> - The ID of the pipeline
--   execution.</li>
--   <li><a>peArtifactRevisions</a> - A list of ArtifactRevision objects
--   included in a pipeline execution.</li>
--   </ul>
pipelineExecution :: PipelineExecution

-- | The status of the pipeline execution. * InProgress: The pipeline
--   execution is currently running. * Succeeded: The pipeline execution
--   completed successfully. * Superseded: While this pipeline execution
--   was waiting for the next stage to be completed, a newer pipeline
--   execution caught up and continued through the pipeline instead. *
--   Failed: The pipeline did not complete successfully.
peStatus :: Lens' PipelineExecution (Maybe PipelineExecutionStatus)

-- | The name of the pipeline that was executed.
pePipelineName :: Lens' PipelineExecution (Maybe Text)

-- | The version number of the pipeline that was executed.
pePipelineVersion :: Lens' PipelineExecution (Maybe Natural)

-- | The ID of the pipeline execution.
pePipelineExecutionId :: Lens' PipelineExecution (Maybe Text)

-- | A list of ArtifactRevision objects included in a pipeline execution.
peArtifactRevisions :: Lens' PipelineExecution [ArtifactRevision]

-- | Returns a summary of a pipeline.
--   
--   <i>See:</i> <a>pipelineSummary</a> smart constructor.
data PipelineSummary

-- | Creates a value of <a>PipelineSummary</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psCreated</a> - The date and time the pipeline was created, in
--   timestamp format.</li>
--   <li><a>psName</a> - The name of the pipeline.</li>
--   <li><a>psVersion</a> - The version number of the pipeline.</li>
--   <li><a>psUpdated</a> - The date and time of the last update to the
--   pipeline, in timestamp format.</li>
--   </ul>
pipelineSummary :: PipelineSummary

-- | The date and time the pipeline was created, in timestamp format.
psCreated :: Lens' PipelineSummary (Maybe UTCTime)

-- | The name of the pipeline.
psName :: Lens' PipelineSummary (Maybe Text)

-- | The version number of the pipeline.
psVersion :: Lens' PipelineSummary (Maybe Natural)

-- | The date and time of the last update to the pipeline, in timestamp
--   format.
psUpdated :: Lens' PipelineSummary (Maybe UTCTime)

-- | The location of the Amazon S3 bucket that contains a revision.
--   
--   <i>See:</i> <a>s3ArtifactLocation</a> smart constructor.
data S3ArtifactLocation

-- | Creates a value of <a>S3ArtifactLocation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>salBucketName</a> - The name of the Amazon S3 bucket.</li>
--   <li><a>salObjectKey</a> - The key of the object in the Amazon S3
--   bucket, which uniquely identifies the object in the bucket.</li>
--   </ul>
s3ArtifactLocation :: Text -> Text -> S3ArtifactLocation

-- | The name of the Amazon S3 bucket.
salBucketName :: Lens' S3ArtifactLocation Text

-- | The key of the object in the Amazon S3 bucket, which uniquely
--   identifies the object in the bucket.
salObjectKey :: Lens' S3ArtifactLocation Text

-- | Represents information about a stage to a job worker.
--   
--   <i>See:</i> <a>stageContext</a> smart constructor.
data StageContext

-- | Creates a value of <a>StageContext</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>scName</a> - The name of the stage.</li>
--   </ul>
stageContext :: StageContext

-- | The name of the stage.
scName :: Lens' StageContext (Maybe Text)

-- | Represents information about a stage and its definition.
--   
--   <i>See:</i> <a>stageDeclaration</a> smart constructor.
data StageDeclaration

-- | Creates a value of <a>StageDeclaration</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdBlockers</a> - Reserved for future use.</li>
--   <li><a>sdName</a> - The name of the stage.</li>
--   <li><a>sdActions</a> - The actions included in a stage.</li>
--   </ul>
stageDeclaration :: Text -> StageDeclaration

-- | Reserved for future use.
sdBlockers :: Lens' StageDeclaration [BlockerDeclaration]

-- | The name of the stage.
sdName :: Lens' StageDeclaration Text

-- | The actions included in a stage.
sdActions :: Lens' StageDeclaration [ActionDeclaration]

-- | Represents information about the run of a stage.
--   
--   <i>See:</i> <a>stageExecution</a> smart constructor.
data StageExecution

-- | Creates a value of <a>StageExecution</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sePipelineExecutionId</a> - The ID of the pipeline execution
--   associated with the stage.</li>
--   <li><a>seStatus</a> - The status of the stage, or for a completed
--   stage, the last status of the stage.</li>
--   </ul>
stageExecution :: Text -> StageExecutionStatus -> StageExecution

-- | The ID of the pipeline execution associated with the stage.
sePipelineExecutionId :: Lens' StageExecution Text

-- | The status of the stage, or for a completed stage, the last status of
--   the stage.
seStatus :: Lens' StageExecution StageExecutionStatus

-- | Represents information about the state of the stage.
--   
--   <i>See:</i> <a>stageState</a> smart constructor.
data StageState

-- | Creates a value of <a>StageState</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ssInboundTransitionState</a> - The state of the inbound
--   transition, which is either enabled or disabled.</li>
--   <li><a>ssActionStates</a> - The state of the stage.</li>
--   <li><a>ssStageName</a> - The name of the stage.</li>
--   <li><a>ssLatestExecution</a> - Information about the latest execution
--   in the stage, including its ID and status.</li>
--   </ul>
stageState :: StageState

-- | The state of the inbound transition, which is either enabled or
--   disabled.
ssInboundTransitionState :: Lens' StageState (Maybe TransitionState)

-- | The state of the stage.
ssActionStates :: Lens' StageState [ActionState]

-- | The name of the stage.
ssStageName :: Lens' StageState (Maybe Text)

-- | Information about the latest execution in the stage, including its ID
--   and status.
ssLatestExecution :: Lens' StageState (Maybe StageExecution)

-- | A response to a PollForThirdPartyJobs request returned by AWS
--   CodePipeline when there is a job to be worked upon by a partner
--   action.
--   
--   <i>See:</i> <a>thirdPartyJob</a> smart constructor.
data ThirdPartyJob

-- | Creates a value of <a>ThirdPartyJob</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tpjClientId</a> - 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.</li>
--   <li><a>tpjJobId</a> - The identifier used to identify the job in AWS
--   CodePipeline.</li>
--   </ul>
thirdPartyJob :: ThirdPartyJob

-- | 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.
tpjClientId :: Lens' ThirdPartyJob (Maybe Text)

-- | The identifier used to identify the job in AWS CodePipeline.
tpjJobId :: Lens' ThirdPartyJob (Maybe Text)

-- | Represents information about the job data for a partner action.
--   
--   <i>See:</i> <a>thirdPartyJobData</a> smart constructor.
data ThirdPartyJobData

-- | Creates a value of <a>ThirdPartyJobData</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tpjdContinuationToken</a> - A system-generated token, such as a
--   AWS CodeDeploy deployment ID, that a job requires in order to continue
--   the job asynchronously.</li>
--   <li><a>tpjdOutputArtifacts</a> - The name of the artifact that will be
--   the result of the action, if any. This name might be system-generated,
--   such as <a>MyBuiltApp</a>, or might be defined by the user when the
--   action is created.</li>
--   <li><a>tpjdArtifactCredentials</a> - Undocumented member.</li>
--   <li><a>tpjdPipelineContext</a> - Undocumented member.</li>
--   <li><a>tpjdEncryptionKey</a> - The encryption key used to encrypt and
--   decrypt data in the artifact store for the pipeline, such as an AWS
--   Key Management Service (AWS KMS) key. This is optional and might not
--   be present.</li>
--   <li><a>tpjdActionTypeId</a> - Undocumented member.</li>
--   <li><a>tpjdInputArtifacts</a> - The name of the artifact that will be
--   worked upon by the action, if any. This name might be
--   system-generated, such as <a>MyApp</a>, or might be defined by the
--   user when the action is created. The input artifact name must match
--   the name of an output artifact generated by an action in an earlier
--   action or stage of the pipeline.</li>
--   <li><a>tpjdActionConfiguration</a> - Undocumented member.</li>
--   </ul>
thirdPartyJobData :: ThirdPartyJobData

-- | A system-generated token, such as a AWS CodeDeploy deployment ID, that
--   a job requires in order to continue the job asynchronously.
tpjdContinuationToken :: Lens' ThirdPartyJobData (Maybe Text)

-- | The name of the artifact that will be the result of the action, if
--   any. This name might be system-generated, such as <a>MyBuiltApp</a>,
--   or might be defined by the user when the action is created.
tpjdOutputArtifacts :: Lens' ThirdPartyJobData [Artifact]

-- | Undocumented member.
tpjdArtifactCredentials :: Lens' ThirdPartyJobData (Maybe AWSSessionCredentials)

-- | Undocumented member.
tpjdPipelineContext :: Lens' ThirdPartyJobData (Maybe PipelineContext)

-- | The encryption key used to encrypt and decrypt data in the artifact
--   store for the pipeline, such as an AWS Key Management Service (AWS
--   KMS) key. This is optional and might not be present.
tpjdEncryptionKey :: Lens' ThirdPartyJobData (Maybe EncryptionKey)

-- | Undocumented member.
tpjdActionTypeId :: Lens' ThirdPartyJobData (Maybe ActionTypeId)

-- | The name of the artifact that will be worked upon by the action, if
--   any. This name might be system-generated, such as <a>MyApp</a>, or
--   might be defined by the user when the action is created. The input
--   artifact name must match the name of an output artifact generated by
--   an action in an earlier action or stage of the pipeline.
tpjdInputArtifacts :: Lens' ThirdPartyJobData [Artifact]

-- | Undocumented member.
tpjdActionConfiguration :: Lens' ThirdPartyJobData (Maybe ActionConfiguration)

-- | The details of a job sent in response to a GetThirdPartyJobDetails
--   request.
--   
--   <i>See:</i> <a>thirdPartyJobDetails</a> smart constructor.
data ThirdPartyJobDetails

-- | Creates a value of <a>ThirdPartyJobDetails</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tpjdData</a> - The data to be returned by the third party job
--   worker.</li>
--   <li><a>tpjdId</a> - The identifier used to identify the job details in
--   AWS CodePipeline.</li>
--   <li><a>tpjdNonce</a> - A system-generated random number that AWS
--   CodePipeline uses to ensure that the job is being worked on by only
--   one job worker. This number must be returned in the response.</li>
--   </ul>
thirdPartyJobDetails :: ThirdPartyJobDetails

-- | The data to be returned by the third party job worker.
tpjdData :: Lens' ThirdPartyJobDetails (Maybe ThirdPartyJobData)

-- | The identifier used to identify the job details in AWS CodePipeline.
tpjdId :: Lens' ThirdPartyJobDetails (Maybe Text)

-- | A system-generated random number that AWS CodePipeline uses to ensure
--   that the job is being worked on by only one job worker. This number
--   must be returned in the response.
tpjdNonce :: Lens' ThirdPartyJobDetails (Maybe Text)

-- | Represents information about the state of transitions between one
--   stage and another stage.
--   
--   <i>See:</i> <a>transitionState</a> smart constructor.
data TransitionState

-- | Creates a value of <a>TransitionState</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tsEnabled</a> - Whether the transition between stages is
--   enabled (true) or disabled (false).</li>
--   <li><a>tsDisabledReason</a> - The user-specified reason why the
--   transition between two stages of a pipeline was disabled.</li>
--   <li><a>tsLastChangedAt</a> - The timestamp when the transition state
--   was last changed.</li>
--   <li><a>tsLastChangedBy</a> - The ID of the user who last changed the
--   transition state.</li>
--   </ul>
transitionState :: TransitionState

-- | Whether the transition between stages is enabled (true) or disabled
--   (false).
tsEnabled :: Lens' TransitionState (Maybe Bool)

-- | The user-specified reason why the transition between two stages of a
--   pipeline was disabled.
tsDisabledReason :: Lens' TransitionState (Maybe Text)

-- | The timestamp when the transition state was last changed.
tsLastChangedAt :: Lens' TransitionState (Maybe UTCTime)

-- | The ID of the user who last changed the transition state.
tsLastChangedBy :: Lens' TransitionState (Maybe Text)


-- | 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.
module Network.AWS.CodePipeline.UpdatePipeline

-- | Creates a value of <a>UpdatePipeline</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>upPipeline</a> - The name of the pipeline to be updated.</li>
--   </ul>
updatePipeline :: PipelineDeclaration -> UpdatePipeline

-- | Represents the input of an update pipeline action.
--   
--   <i>See:</i> <a>updatePipeline</a> smart constructor.
data UpdatePipeline

-- | The name of the pipeline to be updated.
upPipeline :: Lens' UpdatePipeline PipelineDeclaration

-- | Creates a value of <a>UpdatePipelineResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uprsPipeline</a> - The structure of the updated pipeline.</li>
--   <li><a>uprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updatePipelineResponse :: Int -> UpdatePipelineResponse

-- | Represents the output of an update pipeline action.
--   
--   <i>See:</i> <a>updatePipelineResponse</a> smart constructor.
data UpdatePipelineResponse

-- | The structure of the updated pipeline.
uprsPipeline :: Lens' UpdatePipelineResponse (Maybe PipelineDeclaration)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
uprsResponseStatus :: Lens' UpdatePipelineResponse Int
instance GHC.Generics.Generic Network.AWS.CodePipeline.UpdatePipeline.UpdatePipelineResponse
instance Data.Data.Data Network.AWS.CodePipeline.UpdatePipeline.UpdatePipelineResponse
instance GHC.Show.Show Network.AWS.CodePipeline.UpdatePipeline.UpdatePipelineResponse
instance GHC.Read.Read Network.AWS.CodePipeline.UpdatePipeline.UpdatePipelineResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.UpdatePipeline.UpdatePipelineResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.UpdatePipeline.UpdatePipeline
instance Data.Data.Data Network.AWS.CodePipeline.UpdatePipeline.UpdatePipeline
instance GHC.Show.Show Network.AWS.CodePipeline.UpdatePipeline.UpdatePipeline
instance GHC.Read.Read Network.AWS.CodePipeline.UpdatePipeline.UpdatePipeline
instance GHC.Classes.Eq Network.AWS.CodePipeline.UpdatePipeline.UpdatePipeline
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.UpdatePipeline.UpdatePipeline
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.UpdatePipeline.UpdatePipeline
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.UpdatePipeline.UpdatePipeline
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.UpdatePipeline.UpdatePipeline
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.UpdatePipeline.UpdatePipeline
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.UpdatePipeline.UpdatePipeline
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.UpdatePipeline.UpdatePipeline
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.UpdatePipeline.UpdatePipelineResponse


module Network.AWS.CodePipeline.Waiters


-- | Starts the specified pipeline. Specifically, it begins processing the
--   latest commit to the source location specified as part of the
--   pipeline.
module Network.AWS.CodePipeline.StartPipelineExecution

-- | Creates a value of <a>StartPipelineExecution</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>speName</a> - The name of the pipeline to start.</li>
--   </ul>
startPipelineExecution :: Text -> StartPipelineExecution

-- | Represents the input of a start pipeline execution action.
--   
--   <i>See:</i> <a>startPipelineExecution</a> smart constructor.
data StartPipelineExecution

-- | The name of the pipeline to start.
speName :: Lens' StartPipelineExecution Text

-- | Creates a value of <a>StartPipelineExecutionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>spersPipelineExecutionId</a> - The unique system-generated ID
--   of the pipeline execution that was started.</li>
--   <li><a>spersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
startPipelineExecutionResponse :: Int -> StartPipelineExecutionResponse

-- | Represents the output of a start pipeline execution action.
--   
--   <i>See:</i> <a>startPipelineExecutionResponse</a> smart constructor.
data StartPipelineExecutionResponse

-- | The unique system-generated ID of the pipeline execution that was
--   started.
spersPipelineExecutionId :: Lens' StartPipelineExecutionResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
spersResponseStatus :: Lens' StartPipelineExecutionResponse Int
instance GHC.Generics.Generic Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecutionResponse
instance Data.Data.Data Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecutionResponse
instance GHC.Show.Show Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecutionResponse
instance GHC.Read.Read Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecutionResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecutionResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecution
instance Data.Data.Data Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecution
instance GHC.Show.Show Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecution
instance GHC.Read.Read Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecution
instance GHC.Classes.Eq Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecution
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecution
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecution
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecution
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecution
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecution
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecution
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecution
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecutionResponse


-- | Resumes the pipeline execution by retrying the last failed actions in
--   a stage.
module Network.AWS.CodePipeline.RetryStageExecution

-- | Creates a value of <a>RetryStageExecution</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rsePipelineName</a> - The name of the pipeline that contains
--   the failed stage.</li>
--   <li><a>rseStageName</a> - The name of the failed stage to be
--   retried.</li>
--   <li><a>rsePipelineExecutionId</a> - The ID of the pipeline execution
--   in the failed stage to be retried. Use the <tt>GetPipelineState</tt>
--   action to retrieve the current pipelineExecutionId of the failed
--   stage</li>
--   <li><a>rseRetryMode</a> - The scope of the retry attempt. Currently,
--   the only supported value is FAILED_ACTIONS.</li>
--   </ul>
retryStageExecution :: Text -> Text -> Text -> StageRetryMode -> RetryStageExecution

-- | Represents the input of a retry stage execution action.
--   
--   <i>See:</i> <a>retryStageExecution</a> smart constructor.
data RetryStageExecution

-- | The name of the pipeline that contains the failed stage.
rsePipelineName :: Lens' RetryStageExecution Text

-- | The name of the failed stage to be retried.
rseStageName :: Lens' RetryStageExecution Text

-- | The ID of the pipeline execution in the failed stage to be retried.
--   Use the <tt>GetPipelineState</tt> action to retrieve the current
--   pipelineExecutionId of the failed stage
rsePipelineExecutionId :: Lens' RetryStageExecution Text

-- | The scope of the retry attempt. Currently, the only supported value is
--   FAILED_ACTIONS.
rseRetryMode :: Lens' RetryStageExecution StageRetryMode

-- | Creates a value of <a>RetryStageExecutionResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rsersPipelineExecutionId</a> - The ID of the current workflow
--   execution in the failed stage.</li>
--   <li><a>rsersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
retryStageExecutionResponse :: Int -> RetryStageExecutionResponse

-- | Represents the output of a retry stage execution action.
--   
--   <i>See:</i> <a>retryStageExecutionResponse</a> smart constructor.
data RetryStageExecutionResponse

-- | The ID of the current workflow execution in the failed stage.
rsersPipelineExecutionId :: Lens' RetryStageExecutionResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rsersResponseStatus :: Lens' RetryStageExecutionResponse Int
instance GHC.Generics.Generic Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecutionResponse
instance Data.Data.Data Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecutionResponse
instance GHC.Show.Show Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecutionResponse
instance GHC.Read.Read Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecutionResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecutionResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecution
instance Data.Data.Data Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecution
instance GHC.Show.Show Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecution
instance GHC.Read.Read Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecution
instance GHC.Classes.Eq Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecution
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecution
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecution
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecution
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecution
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecution
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecution
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecution
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecutionResponse


-- | Represents the success of a third party job as returned to the
--   pipeline by a job worker. Only used for partner actions.
module Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult

-- | Creates a value of <a>PutThirdPartyJobSuccessResult</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ptpjsrContinuationToken</a> - 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.</li>
--   <li><a>ptpjsrExecutionDetails</a> - Undocumented member.</li>
--   <li><a>ptpjsrCurrentRevision</a> - Undocumented member.</li>
--   <li><a>ptpjsrJobId</a> - The ID of the job that successfully
--   completed. This is the same ID returned from
--   PollForThirdPartyJobs.</li>
--   <li><a>ptpjsrClientToken</a> - 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.</li>
--   </ul>
putThirdPartyJobSuccessResult :: Text -> Text -> PutThirdPartyJobSuccessResult

-- | Represents the input of a put third party job success result action.
--   
--   <i>See:</i> <a>putThirdPartyJobSuccessResult</a> smart constructor.
data PutThirdPartyJobSuccessResult

-- | 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.
ptpjsrContinuationToken :: Lens' PutThirdPartyJobSuccessResult (Maybe Text)

-- | Undocumented member.
ptpjsrExecutionDetails :: Lens' PutThirdPartyJobSuccessResult (Maybe ExecutionDetails)

-- | Undocumented member.
ptpjsrCurrentRevision :: Lens' PutThirdPartyJobSuccessResult (Maybe CurrentRevision)

-- | The ID of the job that successfully completed. This is the same ID
--   returned from PollForThirdPartyJobs.
ptpjsrJobId :: Lens' PutThirdPartyJobSuccessResult Text

-- | 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.
ptpjsrClientToken :: Lens' PutThirdPartyJobSuccessResult Text

-- | Creates a value of <a>PutThirdPartyJobSuccessResultResponse</a> with
--   the minimum fields required to make a request.
putThirdPartyJobSuccessResultResponse :: PutThirdPartyJobSuccessResultResponse

-- | <i>See:</i> <a>putThirdPartyJobSuccessResultResponse</a> smart
--   constructor.
data PutThirdPartyJobSuccessResultResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResultResponse
instance Data.Data.Data Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResultResponse
instance GHC.Show.Show Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResultResponse
instance GHC.Read.Read Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResultResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResultResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResult
instance Data.Data.Data Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResult
instance GHC.Show.Show Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResult
instance GHC.Read.Read Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResult
instance GHC.Classes.Eq Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResult
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResult
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResult
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResult
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResult
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResult
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResult
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResult
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResultResponse


-- | Represents the failure of a third party job as returned to the
--   pipeline by a job worker. Only used for partner actions.
module Network.AWS.CodePipeline.PutThirdPartyJobFailureResult

-- | Creates a value of <a>PutThirdPartyJobFailureResult</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ptpjfrJobId</a> - The ID of the job that failed. This is the
--   same ID returned from PollForThirdPartyJobs.</li>
--   <li><a>ptpjfrClientToken</a> - 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.</li>
--   <li><a>ptpjfrFailureDetails</a> - Undocumented member.</li>
--   </ul>
putThirdPartyJobFailureResult :: Text -> Text -> FailureDetails -> PutThirdPartyJobFailureResult

-- | Represents the input of a third party job failure result action.
--   
--   <i>See:</i> <a>putThirdPartyJobFailureResult</a> smart constructor.
data PutThirdPartyJobFailureResult

-- | The ID of the job that failed. This is the same ID returned from
--   PollForThirdPartyJobs.
ptpjfrJobId :: Lens' PutThirdPartyJobFailureResult Text

-- | 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.
ptpjfrClientToken :: Lens' PutThirdPartyJobFailureResult Text

-- | Undocumented member.
ptpjfrFailureDetails :: Lens' PutThirdPartyJobFailureResult FailureDetails

-- | Creates a value of <a>PutThirdPartyJobFailureResultResponse</a> with
--   the minimum fields required to make a request.
putThirdPartyJobFailureResultResponse :: PutThirdPartyJobFailureResultResponse

-- | <i>See:</i> <a>putThirdPartyJobFailureResultResponse</a> smart
--   constructor.
data PutThirdPartyJobFailureResultResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResultResponse
instance Data.Data.Data Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResultResponse
instance GHC.Show.Show Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResultResponse
instance GHC.Read.Read Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResultResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResultResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResult
instance Data.Data.Data Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResult
instance GHC.Show.Show Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResult
instance GHC.Read.Read Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResult
instance GHC.Classes.Eq Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResult
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResult
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResult
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResult
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResult
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResult
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResult
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResult
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResultResponse


-- | Represents the success of a job as returned to the pipeline by a job
--   worker. Only used for custom actions.
module Network.AWS.CodePipeline.PutJobSuccessResult

-- | Creates a value of <a>PutJobSuccessResult</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pjsrContinuationToken</a> - 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.</li>
--   <li><a>pjsrExecutionDetails</a> - The execution details of the
--   successful job, such as the actions taken by the job worker.</li>
--   <li><a>pjsrCurrentRevision</a> - The ID of the current revision of the
--   artifact successfully worked upon by the job.</li>
--   <li><a>pjsrJobId</a> - The unique system-generated ID of the job that
--   succeeded. This is the same ID returned from PollForJobs.</li>
--   </ul>
putJobSuccessResult :: Text -> PutJobSuccessResult

-- | Represents the input of a put job success result action.
--   
--   <i>See:</i> <a>putJobSuccessResult</a> smart constructor.
data PutJobSuccessResult

-- | 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.
pjsrContinuationToken :: Lens' PutJobSuccessResult (Maybe Text)

-- | The execution details of the successful job, such as the actions taken
--   by the job worker.
pjsrExecutionDetails :: Lens' PutJobSuccessResult (Maybe ExecutionDetails)

-- | The ID of the current revision of the artifact successfully worked
--   upon by the job.
pjsrCurrentRevision :: Lens' PutJobSuccessResult (Maybe CurrentRevision)

-- | The unique system-generated ID of the job that succeeded. This is the
--   same ID returned from PollForJobs.
pjsrJobId :: Lens' PutJobSuccessResult Text

-- | Creates a value of <a>PutJobSuccessResultResponse</a> with the minimum
--   fields required to make a request.
putJobSuccessResultResponse :: PutJobSuccessResultResponse

-- | <i>See:</i> <a>putJobSuccessResultResponse</a> smart constructor.
data PutJobSuccessResultResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResultResponse
instance Data.Data.Data Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResultResponse
instance GHC.Show.Show Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResultResponse
instance GHC.Read.Read Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResultResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResultResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResult
instance Data.Data.Data Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResult
instance GHC.Show.Show Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResult
instance GHC.Read.Read Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResult
instance GHC.Classes.Eq Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResult
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResult
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResult
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResult
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResult
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResult
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResult
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResult
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResultResponse


-- | Represents the failure of a job as returned to the pipeline by a job
--   worker. Only used for custom actions.
module Network.AWS.CodePipeline.PutJobFailureResult

-- | Creates a value of <a>PutJobFailureResult</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pjfrJobId</a> - The unique system-generated ID of the job that
--   failed. This is the same ID returned from PollForJobs.</li>
--   <li><a>pjfrFailureDetails</a> - The details about the failure of a
--   job.</li>
--   </ul>
putJobFailureResult :: Text -> FailureDetails -> PutJobFailureResult

-- | Represents the input of a put job failure result action.
--   
--   <i>See:</i> <a>putJobFailureResult</a> smart constructor.
data PutJobFailureResult

-- | The unique system-generated ID of the job that failed. This is the
--   same ID returned from PollForJobs.
pjfrJobId :: Lens' PutJobFailureResult Text

-- | The details about the failure of a job.
pjfrFailureDetails :: Lens' PutJobFailureResult FailureDetails

-- | Creates a value of <a>PutJobFailureResultResponse</a> with the minimum
--   fields required to make a request.
putJobFailureResultResponse :: PutJobFailureResultResponse

-- | <i>See:</i> <a>putJobFailureResultResponse</a> smart constructor.
data PutJobFailureResultResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResultResponse
instance Data.Data.Data Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResultResponse
instance GHC.Show.Show Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResultResponse
instance GHC.Read.Read Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResultResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResultResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResult
instance Data.Data.Data Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResult
instance GHC.Show.Show Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResult
instance GHC.Read.Read Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResult
instance GHC.Classes.Eq Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResult
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResult
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResult
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResult
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResult
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResult
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResult
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResult
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResultResponse


-- | Provides the response to a manual approval request to AWS
--   CodePipeline. Valid responses include Approved and Rejected.
module Network.AWS.CodePipeline.PutApprovalResult

-- | Creates a value of <a>PutApprovalResult</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>parPipelineName</a> - The name of the pipeline that contains
--   the action.</li>
--   <li><a>parStageName</a> - The name of the stage that contains the
--   action.</li>
--   <li><a>parActionName</a> - The name of the action for which approval
--   is requested.</li>
--   <li><a>parResult</a> - Represents information about the result of the
--   approval request.</li>
--   <li><a>parToken</a> - The system-generated token used to identify a
--   unique approval request. The token for each open approval request can
--   be obtained using the <tt>GetPipelineState</tt> action and is used to
--   validate that the approval request corresponding to this token is
--   still valid.</li>
--   </ul>
putApprovalResult :: Text -> Text -> Text -> ApprovalResult -> Text -> PutApprovalResult

-- | Represents the input of a put approval result action.
--   
--   <i>See:</i> <a>putApprovalResult</a> smart constructor.
data PutApprovalResult

-- | The name of the pipeline that contains the action.
parPipelineName :: Lens' PutApprovalResult Text

-- | The name of the stage that contains the action.
parStageName :: Lens' PutApprovalResult Text

-- | The name of the action for which approval is requested.
parActionName :: Lens' PutApprovalResult Text

-- | Represents information about the result of the approval request.
parResult :: Lens' PutApprovalResult ApprovalResult

-- | The system-generated token used to identify a unique approval request.
--   The token for each open approval request can be obtained using the
--   <tt>GetPipelineState</tt> action and is used to validate that the
--   approval request corresponding to this token is still valid.
parToken :: Lens' PutApprovalResult Text

-- | Creates a value of <a>PutApprovalResultResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>parrsApprovedAt</a> - The timestamp showing when the approval
--   or rejection was submitted.</li>
--   <li><a>parrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putApprovalResultResponse :: Int -> PutApprovalResultResponse

-- | Represents the output of a put approval result action.
--   
--   <i>See:</i> <a>putApprovalResultResponse</a> smart constructor.
data PutApprovalResultResponse

-- | The timestamp showing when the approval or rejection was submitted.
parrsApprovedAt :: Lens' PutApprovalResultResponse (Maybe UTCTime)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
parrsResponseStatus :: Lens' PutApprovalResultResponse Int
instance GHC.Generics.Generic Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResultResponse
instance Data.Data.Data Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResultResponse
instance GHC.Show.Show Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResultResponse
instance GHC.Read.Read Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResultResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResultResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResult
instance Data.Data.Data Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResult
instance GHC.Show.Show Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResult
instance GHC.Read.Read Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResult
instance GHC.Classes.Eq Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResult
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResult
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResult
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResult
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResult
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResult
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResult
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResult
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResultResponse


-- | Provides information to AWS CodePipeline about new revisions to a
--   source.
module Network.AWS.CodePipeline.PutActionRevision

-- | Creates a value of <a>PutActionRevision</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pPipelineName</a> - The name of the pipeline that will start
--   processing the revision to the source.</li>
--   <li><a>pStageName</a> - The name of the stage that contains the action
--   that will act upon the revision.</li>
--   <li><a>pActionName</a> - The name of the action that will process the
--   revision.</li>
--   <li><a>pActionRevision</a> - Undocumented member.</li>
--   </ul>
putActionRevision :: Text -> Text -> Text -> ActionRevision -> PutActionRevision

-- | Represents the input of a put action revision action.
--   
--   <i>See:</i> <a>putActionRevision</a> smart constructor.
data PutActionRevision

-- | The name of the pipeline that will start processing the revision to
--   the source.
pPipelineName :: Lens' PutActionRevision Text

-- | The name of the stage that contains the action that will act upon the
--   revision.
pStageName :: Lens' PutActionRevision Text

-- | The name of the action that will process the revision.
pActionName :: Lens' PutActionRevision Text

-- | Undocumented member.
pActionRevision :: Lens' PutActionRevision ActionRevision

-- | Creates a value of <a>PutActionRevisionResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>prsNewRevision</a> - Indicates whether the artifact revision
--   was previously used in an execution of the specified pipeline.</li>
--   <li><a>prsPipelineExecutionId</a> - The ID of the current workflow
--   state of the pipeline.</li>
--   <li><a>prsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putActionRevisionResponse :: Int -> PutActionRevisionResponse

-- | Represents the output of a put action revision action.
--   
--   <i>See:</i> <a>putActionRevisionResponse</a> smart constructor.
data PutActionRevisionResponse

-- | Indicates whether the artifact revision was previously used in an
--   execution of the specified pipeline.
prsNewRevision :: Lens' PutActionRevisionResponse (Maybe Bool)

-- | The ID of the current workflow state of the pipeline.
prsPipelineExecutionId :: Lens' PutActionRevisionResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
prsResponseStatus :: Lens' PutActionRevisionResponse Int
instance GHC.Generics.Generic Network.AWS.CodePipeline.PutActionRevision.PutActionRevisionResponse
instance Data.Data.Data Network.AWS.CodePipeline.PutActionRevision.PutActionRevisionResponse
instance GHC.Show.Show Network.AWS.CodePipeline.PutActionRevision.PutActionRevisionResponse
instance GHC.Read.Read Network.AWS.CodePipeline.PutActionRevision.PutActionRevisionResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.PutActionRevision.PutActionRevisionResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.PutActionRevision.PutActionRevision
instance Data.Data.Data Network.AWS.CodePipeline.PutActionRevision.PutActionRevision
instance GHC.Show.Show Network.AWS.CodePipeline.PutActionRevision.PutActionRevision
instance GHC.Read.Read Network.AWS.CodePipeline.PutActionRevision.PutActionRevision
instance GHC.Classes.Eq Network.AWS.CodePipeline.PutActionRevision.PutActionRevision
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.PutActionRevision.PutActionRevision
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.PutActionRevision.PutActionRevision
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.PutActionRevision.PutActionRevision
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.PutActionRevision.PutActionRevision
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.PutActionRevision.PutActionRevision
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.PutActionRevision.PutActionRevision
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.PutActionRevision.PutActionRevision
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.PutActionRevision.PutActionRevisionResponse


-- | Determines whether there are any third party jobs for a job worker to
--   act on. Only used for partner actions.
--   
--   <i>Important:</i> 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.
module Network.AWS.CodePipeline.PollForThirdPartyJobs

-- | Creates a value of <a>PollForThirdPartyJobs</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pftpjMaxBatchSize</a> - The maximum number of jobs to return in
--   a poll for jobs call.</li>
--   <li><a>pftpjActionTypeId</a> - Undocumented member.</li>
--   </ul>
pollForThirdPartyJobs :: ActionTypeId -> PollForThirdPartyJobs

-- | Represents the input of a poll for third party jobs action.
--   
--   <i>See:</i> <a>pollForThirdPartyJobs</a> smart constructor.
data PollForThirdPartyJobs

-- | The maximum number of jobs to return in a poll for jobs call.
pftpjMaxBatchSize :: Lens' PollForThirdPartyJobs (Maybe Natural)

-- | Undocumented member.
pftpjActionTypeId :: Lens' PollForThirdPartyJobs ActionTypeId

-- | Creates a value of <a>PollForThirdPartyJobsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pftpjrsJobs</a> - Information about the jobs to take action
--   on.</li>
--   <li><a>pftpjrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
pollForThirdPartyJobsResponse :: Int -> PollForThirdPartyJobsResponse

-- | Represents the output of a poll for third party jobs action.
--   
--   <i>See:</i> <a>pollForThirdPartyJobsResponse</a> smart constructor.
data PollForThirdPartyJobsResponse

-- | Information about the jobs to take action on.
pftpjrsJobs :: Lens' PollForThirdPartyJobsResponse [ThirdPartyJob]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
pftpjrsResponseStatus :: Lens' PollForThirdPartyJobsResponse Int
instance GHC.Generics.Generic Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobsResponse
instance Data.Data.Data Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobsResponse
instance GHC.Show.Show Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobsResponse
instance GHC.Read.Read Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobsResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobsResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobs
instance Data.Data.Data Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobs
instance GHC.Show.Show Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobs
instance GHC.Read.Read Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobs
instance GHC.Classes.Eq Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobs
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobs
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobs
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobs
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobs
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobs
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobs
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobs
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobsResponse


-- | Returns information about any jobs for AWS CodePipeline to act upon.
--   
--   <i>Important:</i> 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.
module Network.AWS.CodePipeline.PollForJobs

-- | Creates a value of <a>PollForJobs</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pfjMaxBatchSize</a> - The maximum number of jobs to return in a
--   poll for jobs call.</li>
--   <li><a>pfjQueryParam</a> - 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.</li>
--   <li><a>pfjActionTypeId</a> - Undocumented member.</li>
--   </ul>
pollForJobs :: ActionTypeId -> PollForJobs

-- | Represents the input of a poll for jobs action.
--   
--   <i>See:</i> <a>pollForJobs</a> smart constructor.
data PollForJobs

-- | The maximum number of jobs to return in a poll for jobs call.
pfjMaxBatchSize :: Lens' PollForJobs (Maybe Natural)

-- | 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.
pfjQueryParam :: Lens' PollForJobs (HashMap Text Text)

-- | Undocumented member.
pfjActionTypeId :: Lens' PollForJobs ActionTypeId

-- | Creates a value of <a>PollForJobsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pfjrsJobs</a> - Information about the jobs to take action
--   on.</li>
--   <li><a>pfjrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
pollForJobsResponse :: Int -> PollForJobsResponse

-- | Represents the output of a poll for jobs action.
--   
--   <i>See:</i> <a>pollForJobsResponse</a> smart constructor.
data PollForJobsResponse

-- | Information about the jobs to take action on.
pfjrsJobs :: Lens' PollForJobsResponse [Job]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
pfjrsResponseStatus :: Lens' PollForJobsResponse Int
instance GHC.Generics.Generic Network.AWS.CodePipeline.PollForJobs.PollForJobsResponse
instance Data.Data.Data Network.AWS.CodePipeline.PollForJobs.PollForJobsResponse
instance GHC.Show.Show Network.AWS.CodePipeline.PollForJobs.PollForJobsResponse
instance GHC.Read.Read Network.AWS.CodePipeline.PollForJobs.PollForJobsResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.PollForJobs.PollForJobsResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.PollForJobs.PollForJobs
instance Data.Data.Data Network.AWS.CodePipeline.PollForJobs.PollForJobs
instance GHC.Show.Show Network.AWS.CodePipeline.PollForJobs.PollForJobs
instance GHC.Read.Read Network.AWS.CodePipeline.PollForJobs.PollForJobs
instance GHC.Classes.Eq Network.AWS.CodePipeline.PollForJobs.PollForJobs
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.PollForJobs.PollForJobs
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.PollForJobs.PollForJobs
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.PollForJobs.PollForJobs
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.PollForJobs.PollForJobs
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.PollForJobs.PollForJobs
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.PollForJobs.PollForJobs
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.PollForJobs.PollForJobs
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.PollForJobs.PollForJobsResponse


-- | Gets a summary of all of the pipelines associated with your account.
module Network.AWS.CodePipeline.ListPipelines

-- | Creates a value of <a>ListPipelines</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lpNextToken</a> - 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.</li>
--   </ul>
listPipelines :: ListPipelines

-- | Represents the input of a list pipelines action.
--   
--   <i>See:</i> <a>listPipelines</a> smart constructor.
data ListPipelines

-- | 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.
lpNextToken :: Lens' ListPipelines (Maybe Text)

-- | Creates a value of <a>ListPipelinesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lprsPipelines</a> - The list of pipelines.</li>
--   <li><a>lprsNextToken</a> - If the amount of returned information is
--   significantly large, an identifier is also returned which can be used
--   in a subsequent list pipelines call to return the next set of
--   pipelines in the list.</li>
--   <li><a>lprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listPipelinesResponse :: Int -> ListPipelinesResponse

-- | Represents the output of a list pipelines action.
--   
--   <i>See:</i> <a>listPipelinesResponse</a> smart constructor.
data ListPipelinesResponse

-- | The list of pipelines.
lprsPipelines :: Lens' ListPipelinesResponse [PipelineSummary]

-- | If the amount of returned information is significantly large, an
--   identifier is also returned which can be used in a subsequent list
--   pipelines call to return the next set of pipelines in the list.
lprsNextToken :: Lens' ListPipelinesResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lprsResponseStatus :: Lens' ListPipelinesResponse Int
instance GHC.Generics.Generic Network.AWS.CodePipeline.ListPipelines.ListPipelinesResponse
instance Data.Data.Data Network.AWS.CodePipeline.ListPipelines.ListPipelinesResponse
instance GHC.Show.Show Network.AWS.CodePipeline.ListPipelines.ListPipelinesResponse
instance GHC.Read.Read Network.AWS.CodePipeline.ListPipelines.ListPipelinesResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.ListPipelines.ListPipelinesResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.ListPipelines.ListPipelines
instance Data.Data.Data Network.AWS.CodePipeline.ListPipelines.ListPipelines
instance GHC.Show.Show Network.AWS.CodePipeline.ListPipelines.ListPipelines
instance GHC.Read.Read Network.AWS.CodePipeline.ListPipelines.ListPipelines
instance GHC.Classes.Eq Network.AWS.CodePipeline.ListPipelines.ListPipelines
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.ListPipelines.ListPipelines
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.ListPipelines.ListPipelines
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.ListPipelines.ListPipelines
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.ListPipelines.ListPipelines
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.ListPipelines.ListPipelines
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.ListPipelines.ListPipelines
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.ListPipelines.ListPipelines
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.ListPipelines.ListPipelinesResponse


-- | Gets a summary of all AWS CodePipeline action types associated with
--   your account.
module Network.AWS.CodePipeline.ListActionTypes

-- | Creates a value of <a>ListActionTypes</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>latActionOwnerFilter</a> - Filters the list of action types to
--   those created by a specified entity.</li>
--   <li><a>latNextToken</a> - 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.</li>
--   </ul>
listActionTypes :: ListActionTypes

-- | Represents the input of a list action types action.
--   
--   <i>See:</i> <a>listActionTypes</a> smart constructor.
data ListActionTypes

-- | Filters the list of action types to those created by a specified
--   entity.
latActionOwnerFilter :: Lens' ListActionTypes (Maybe ActionOwner)

-- | 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.
latNextToken :: Lens' ListActionTypes (Maybe Text)

-- | Creates a value of <a>ListActionTypesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>latrsNextToken</a> - If the amount of returned information is
--   significantly large, an identifier is also returned which can be used
--   in a subsequent list action types call to return the next set of
--   action types in the list.</li>
--   <li><a>latrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>latrsActionTypes</a> - Provides details of the action
--   types.</li>
--   </ul>
listActionTypesResponse :: Int -> ListActionTypesResponse

-- | Represents the output of a list action types action.
--   
--   <i>See:</i> <a>listActionTypesResponse</a> smart constructor.
data ListActionTypesResponse

-- | If the amount of returned information is significantly large, an
--   identifier is also returned which can be used in a subsequent list
--   action types call to return the next set of action types in the list.
latrsNextToken :: Lens' ListActionTypesResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
latrsResponseStatus :: Lens' ListActionTypesResponse Int

-- | Provides details of the action types.
latrsActionTypes :: Lens' ListActionTypesResponse [ActionType]
instance GHC.Generics.Generic Network.AWS.CodePipeline.ListActionTypes.ListActionTypesResponse
instance Data.Data.Data Network.AWS.CodePipeline.ListActionTypes.ListActionTypesResponse
instance GHC.Show.Show Network.AWS.CodePipeline.ListActionTypes.ListActionTypesResponse
instance GHC.Read.Read Network.AWS.CodePipeline.ListActionTypes.ListActionTypesResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.ListActionTypes.ListActionTypesResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.ListActionTypes.ListActionTypes
instance Data.Data.Data Network.AWS.CodePipeline.ListActionTypes.ListActionTypes
instance GHC.Show.Show Network.AWS.CodePipeline.ListActionTypes.ListActionTypes
instance GHC.Read.Read Network.AWS.CodePipeline.ListActionTypes.ListActionTypes
instance GHC.Classes.Eq Network.AWS.CodePipeline.ListActionTypes.ListActionTypes
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.ListActionTypes.ListActionTypes
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.ListActionTypes.ListActionTypes
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.ListActionTypes.ListActionTypes
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.ListActionTypes.ListActionTypes
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.ListActionTypes.ListActionTypes
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.ListActionTypes.ListActionTypes
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.ListActionTypes.ListActionTypes
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.ListActionTypes.ListActionTypesResponse


-- | Requests the details of a job for a third party action. Only used for
--   partner actions.
--   
--   <i>Important:</i> 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.
module Network.AWS.CodePipeline.GetThirdPartyJobDetails

-- | Creates a value of <a>GetThirdPartyJobDetails</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gtpjdJobId</a> - The unique system-generated ID used for
--   identifying the job.</li>
--   <li><a>gtpjdClientToken</a> - 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.</li>
--   </ul>
getThirdPartyJobDetails :: Text -> Text -> GetThirdPartyJobDetails

-- | Represents the input of a get third party job details action.
--   
--   <i>See:</i> <a>getThirdPartyJobDetails</a> smart constructor.
data GetThirdPartyJobDetails

-- | The unique system-generated ID used for identifying the job.
gtpjdJobId :: Lens' GetThirdPartyJobDetails Text

-- | 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.
gtpjdClientToken :: Lens' GetThirdPartyJobDetails Text

-- | Creates a value of <a>GetThirdPartyJobDetailsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gtpjdrsJobDetails</a> - The details of the job, including any
--   protected values defined for the job.</li>
--   <li><a>gtpjdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getThirdPartyJobDetailsResponse :: Int -> GetThirdPartyJobDetailsResponse

-- | Represents the output of a get third party job details action.
--   
--   <i>See:</i> <a>getThirdPartyJobDetailsResponse</a> smart constructor.
data GetThirdPartyJobDetailsResponse

-- | The details of the job, including any protected values defined for the
--   job.
gtpjdrsJobDetails :: Lens' GetThirdPartyJobDetailsResponse (Maybe ThirdPartyJobDetails)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gtpjdrsResponseStatus :: Lens' GetThirdPartyJobDetailsResponse Int
instance GHC.Generics.Generic Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetailsResponse
instance Data.Data.Data Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetailsResponse
instance GHC.Show.Show Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetailsResponse
instance GHC.Read.Read Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetailsResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetailsResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetails
instance Data.Data.Data Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetails
instance GHC.Show.Show Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetails
instance GHC.Read.Read Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetails
instance GHC.Classes.Eq Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetails
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetails
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetails
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetails
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetails
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetails
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetails
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetails
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetailsResponse


-- | Returns information about the state of a pipeline, including the
--   stages and actions.
module Network.AWS.CodePipeline.GetPipelineState

-- | Creates a value of <a>GetPipelineState</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gpsName</a> - The name of the pipeline about which you want to
--   get information.</li>
--   </ul>
getPipelineState :: Text -> GetPipelineState

-- | Represents the input of a get pipeline state action.
--   
--   <i>See:</i> <a>getPipelineState</a> smart constructor.
data GetPipelineState

-- | The name of the pipeline about which you want to get information.
gpsName :: Lens' GetPipelineState Text

-- | Creates a value of <a>GetPipelineStateResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gpsrsPipelineName</a> - The name of the pipeline for which you
--   want to get the state.</li>
--   <li><a>gpsrsCreated</a> - The date and time the pipeline was created,
--   in timestamp format.</li>
--   <li><a>gpsrsStageStates</a> - A list of the pipeline stage output
--   information, including stage name, state, most recent run details,
--   whether the stage is disabled, and other data.</li>
--   <li><a>gpsrsPipelineVersion</a> - The version number of the
--   pipeline.</li>
--   <li><a>gpsrsUpdated</a> - The date and time the pipeline was last
--   updated, in timestamp format.</li>
--   <li><a>gpsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getPipelineStateResponse :: Int -> GetPipelineStateResponse

-- | Represents the output of a get pipeline state action.
--   
--   <i>See:</i> <a>getPipelineStateResponse</a> smart constructor.
data GetPipelineStateResponse

-- | The name of the pipeline for which you want to get the state.
gpsrsPipelineName :: Lens' GetPipelineStateResponse (Maybe Text)

-- | The date and time the pipeline was created, in timestamp format.
gpsrsCreated :: Lens' GetPipelineStateResponse (Maybe UTCTime)

-- | A list of the pipeline stage output information, including stage name,
--   state, most recent run details, whether the stage is disabled, and
--   other data.
gpsrsStageStates :: Lens' GetPipelineStateResponse [StageState]

-- | The version number of the pipeline.
gpsrsPipelineVersion :: Lens' GetPipelineStateResponse (Maybe Natural)

-- | The date and time the pipeline was last updated, in timestamp format.
gpsrsUpdated :: Lens' GetPipelineStateResponse (Maybe UTCTime)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gpsrsResponseStatus :: Lens' GetPipelineStateResponse Int
instance GHC.Generics.Generic Network.AWS.CodePipeline.GetPipelineState.GetPipelineStateResponse
instance Data.Data.Data Network.AWS.CodePipeline.GetPipelineState.GetPipelineStateResponse
instance GHC.Show.Show Network.AWS.CodePipeline.GetPipelineState.GetPipelineStateResponse
instance GHC.Read.Read Network.AWS.CodePipeline.GetPipelineState.GetPipelineStateResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.GetPipelineState.GetPipelineStateResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.GetPipelineState.GetPipelineState
instance Data.Data.Data Network.AWS.CodePipeline.GetPipelineState.GetPipelineState
instance GHC.Show.Show Network.AWS.CodePipeline.GetPipelineState.GetPipelineState
instance GHC.Read.Read Network.AWS.CodePipeline.GetPipelineState.GetPipelineState
instance GHC.Classes.Eq Network.AWS.CodePipeline.GetPipelineState.GetPipelineState
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.GetPipelineState.GetPipelineState
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.GetPipelineState.GetPipelineState
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.GetPipelineState.GetPipelineState
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.GetPipelineState.GetPipelineState
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.GetPipelineState.GetPipelineState
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.GetPipelineState.GetPipelineState
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.GetPipelineState.GetPipelineState
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.GetPipelineState.GetPipelineStateResponse


-- | 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.
module Network.AWS.CodePipeline.GetPipelineExecution

-- | Creates a value of <a>GetPipelineExecution</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gpePipelineName</a> - The name of the pipeline about which you
--   want to get execution details.</li>
--   <li><a>gpePipelineExecutionId</a> - The ID of the pipeline execution
--   about which you want to get execution details.</li>
--   </ul>
getPipelineExecution :: Text -> Text -> GetPipelineExecution

-- | Represents the input of a get pipeline execution action.
--   
--   <i>See:</i> <a>getPipelineExecution</a> smart constructor.
data GetPipelineExecution

-- | The name of the pipeline about which you want to get execution
--   details.
gpePipelineName :: Lens' GetPipelineExecution Text

-- | The ID of the pipeline execution about which you want to get execution
--   details.
gpePipelineExecutionId :: Lens' GetPipelineExecution Text

-- | Creates a value of <a>GetPipelineExecutionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gpersPipelineExecution</a> - Represents information about the
--   execution of a pipeline.</li>
--   <li><a>gpersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getPipelineExecutionResponse :: Int -> GetPipelineExecutionResponse

-- | Represents the output of a get pipeline execution action.
--   
--   <i>See:</i> <a>getPipelineExecutionResponse</a> smart constructor.
data GetPipelineExecutionResponse

-- | Represents information about the execution of a pipeline.
gpersPipelineExecution :: Lens' GetPipelineExecutionResponse (Maybe PipelineExecution)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gpersResponseStatus :: Lens' GetPipelineExecutionResponse Int
instance GHC.Generics.Generic Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecutionResponse
instance Data.Data.Data Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecutionResponse
instance GHC.Show.Show Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecutionResponse
instance GHC.Read.Read Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecutionResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecutionResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecution
instance Data.Data.Data Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecution
instance GHC.Show.Show Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecution
instance GHC.Read.Read Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecution
instance GHC.Classes.Eq Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecution
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecution
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecution
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecution
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecution
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecution
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecution
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecution
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecutionResponse


-- | 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 <tt>UpdatePipeline</tt> .
module Network.AWS.CodePipeline.GetPipeline

-- | Creates a value of <a>GetPipeline</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gpVersion</a> - The version number of the pipeline. If you do
--   not specify a version, defaults to the most current version.</li>
--   <li><a>gpName</a> - 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.</li>
--   </ul>
getPipeline :: Text -> GetPipeline

-- | Represents the input of a get pipeline action.
--   
--   <i>See:</i> <a>getPipeline</a> smart constructor.
data GetPipeline

-- | The version number of the pipeline. If you do not specify a version,
--   defaults to the most current version.
gpVersion :: Lens' GetPipeline (Maybe Natural)

-- | 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.
gpName :: Lens' GetPipeline Text

-- | Creates a value of <a>GetPipelineResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gprsPipeline</a> - Undocumented member.</li>
--   <li><a>gprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getPipelineResponse :: Int -> GetPipelineResponse

-- | Represents the output of a get pipeline action.
--   
--   <i>See:</i> <a>getPipelineResponse</a> smart constructor.
data GetPipelineResponse

-- | Undocumented member.
gprsPipeline :: Lens' GetPipelineResponse (Maybe PipelineDeclaration)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gprsResponseStatus :: Lens' GetPipelineResponse Int
instance GHC.Generics.Generic Network.AWS.CodePipeline.GetPipeline.GetPipelineResponse
instance Data.Data.Data Network.AWS.CodePipeline.GetPipeline.GetPipelineResponse
instance GHC.Show.Show Network.AWS.CodePipeline.GetPipeline.GetPipelineResponse
instance GHC.Read.Read Network.AWS.CodePipeline.GetPipeline.GetPipelineResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.GetPipeline.GetPipelineResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.GetPipeline.GetPipeline
instance Data.Data.Data Network.AWS.CodePipeline.GetPipeline.GetPipeline
instance GHC.Show.Show Network.AWS.CodePipeline.GetPipeline.GetPipeline
instance GHC.Read.Read Network.AWS.CodePipeline.GetPipeline.GetPipeline
instance GHC.Classes.Eq Network.AWS.CodePipeline.GetPipeline.GetPipeline
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.GetPipeline.GetPipeline
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.GetPipeline.GetPipeline
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.GetPipeline.GetPipeline
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.GetPipeline.GetPipeline
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.GetPipeline.GetPipeline
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.GetPipeline.GetPipeline
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.GetPipeline.GetPipeline
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.GetPipeline.GetPipelineResponse


-- | Returns information about a job. Only used for custom actions.
--   
--   <i>Important:</i> 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.
module Network.AWS.CodePipeline.GetJobDetails

-- | Creates a value of <a>GetJobDetails</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gjdJobId</a> - The unique system-generated ID for the job.</li>
--   </ul>
getJobDetails :: Text -> GetJobDetails

-- | Represents the input of a get job details action.
--   
--   <i>See:</i> <a>getJobDetails</a> smart constructor.
data GetJobDetails

-- | The unique system-generated ID for the job.
gjdJobId :: Lens' GetJobDetails Text

-- | Creates a value of <a>GetJobDetailsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gjdrsJobDetails</a> - The details of the job.</li>
--   <li><a>gjdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getJobDetailsResponse :: Int -> GetJobDetailsResponse

-- | Represents the output of a get job details action.
--   
--   <i>See:</i> <a>getJobDetailsResponse</a> smart constructor.
data GetJobDetailsResponse

-- | The details of the job.
gjdrsJobDetails :: Lens' GetJobDetailsResponse (Maybe JobDetails)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gjdrsResponseStatus :: Lens' GetJobDetailsResponse Int
instance GHC.Generics.Generic Network.AWS.CodePipeline.GetJobDetails.GetJobDetailsResponse
instance Data.Data.Data Network.AWS.CodePipeline.GetJobDetails.GetJobDetailsResponse
instance GHC.Show.Show Network.AWS.CodePipeline.GetJobDetails.GetJobDetailsResponse
instance GHC.Read.Read Network.AWS.CodePipeline.GetJobDetails.GetJobDetailsResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.GetJobDetails.GetJobDetailsResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.GetJobDetails.GetJobDetails
instance Data.Data.Data Network.AWS.CodePipeline.GetJobDetails.GetJobDetails
instance GHC.Show.Show Network.AWS.CodePipeline.GetJobDetails.GetJobDetails
instance GHC.Read.Read Network.AWS.CodePipeline.GetJobDetails.GetJobDetails
instance GHC.Classes.Eq Network.AWS.CodePipeline.GetJobDetails.GetJobDetails
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.GetJobDetails.GetJobDetails
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.GetJobDetails.GetJobDetails
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.GetJobDetails.GetJobDetails
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.GetJobDetails.GetJobDetails
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.GetJobDetails.GetJobDetails
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.GetJobDetails.GetJobDetails
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.GetJobDetails.GetJobDetails
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.GetJobDetails.GetJobDetailsResponse


-- | Enables artifacts in a pipeline to transition to a stage in a
--   pipeline.
module Network.AWS.CodePipeline.EnableStageTransition

-- | Creates a value of <a>EnableStageTransition</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>estPipelineName</a> - The name of the pipeline in which you
--   want to enable the flow of artifacts from one stage to another.</li>
--   <li><a>estStageName</a> - 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).</li>
--   <li><a>estTransitionType</a> - 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).</li>
--   </ul>
enableStageTransition :: Text -> Text -> StageTransitionType -> EnableStageTransition

-- | Represents the input of an enable stage transition action.
--   
--   <i>See:</i> <a>enableStageTransition</a> smart constructor.
data EnableStageTransition

-- | The name of the pipeline in which you want to enable the flow of
--   artifacts from one stage to another.
estPipelineName :: Lens' EnableStageTransition Text

-- | 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).
estStageName :: Lens' EnableStageTransition Text

-- | 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).
estTransitionType :: Lens' EnableStageTransition StageTransitionType

-- | Creates a value of <a>EnableStageTransitionResponse</a> with the
--   minimum fields required to make a request.
enableStageTransitionResponse :: EnableStageTransitionResponse

-- | <i>See:</i> <a>enableStageTransitionResponse</a> smart constructor.
data EnableStageTransitionResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransitionResponse
instance Data.Data.Data Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransitionResponse
instance GHC.Show.Show Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransitionResponse
instance GHC.Read.Read Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransitionResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransitionResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransition
instance Data.Data.Data Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransition
instance GHC.Show.Show Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransition
instance GHC.Read.Read Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransition
instance GHC.Classes.Eq Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransition
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransition
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransition
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransition
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransition
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransition
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransition
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransition
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransitionResponse


-- | Prevents artifacts in a pipeline from transitioning to the next stage
--   in the pipeline.
module Network.AWS.CodePipeline.DisableStageTransition

-- | Creates a value of <a>DisableStageTransition</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dstPipelineName</a> - The name of the pipeline in which you
--   want to disable the flow of artifacts from one stage to another.</li>
--   <li><a>dstStageName</a> - The name of the stage where you want to
--   disable the inbound or outbound transition of artifacts.</li>
--   <li><a>dstTransitionType</a> - 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).</li>
--   <li><a>dstReason</a> - 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.</li>
--   </ul>
disableStageTransition :: Text -> Text -> StageTransitionType -> Text -> DisableStageTransition

-- | Represents the input of a disable stage transition input action.
--   
--   <i>See:</i> <a>disableStageTransition</a> smart constructor.
data DisableStageTransition

-- | The name of the pipeline in which you want to disable the flow of
--   artifacts from one stage to another.
dstPipelineName :: Lens' DisableStageTransition Text

-- | The name of the stage where you want to disable the inbound or
--   outbound transition of artifacts.
dstStageName :: Lens' DisableStageTransition Text

-- | 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).
dstTransitionType :: Lens' DisableStageTransition StageTransitionType

-- | 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.
dstReason :: Lens' DisableStageTransition Text

-- | Creates a value of <a>DisableStageTransitionResponse</a> with the
--   minimum fields required to make a request.
disableStageTransitionResponse :: DisableStageTransitionResponse

-- | <i>See:</i> <a>disableStageTransitionResponse</a> smart constructor.
data DisableStageTransitionResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransitionResponse
instance Data.Data.Data Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransitionResponse
instance GHC.Show.Show Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransitionResponse
instance GHC.Read.Read Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransitionResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransitionResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransition
instance Data.Data.Data Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransition
instance GHC.Show.Show Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransition
instance GHC.Read.Read Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransition
instance GHC.Classes.Eq Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransition
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransition
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransition
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransition
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransition
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransition
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransition
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransition
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransitionResponse


-- | Deletes the specified pipeline.
module Network.AWS.CodePipeline.DeletePipeline

-- | Creates a value of <a>DeletePipeline</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpName</a> - The name of the pipeline to be deleted.</li>
--   </ul>
deletePipeline :: Text -> DeletePipeline

-- | Represents the input of a delete pipeline action.
--   
--   <i>See:</i> <a>deletePipeline</a> smart constructor.
data DeletePipeline

-- | The name of the pipeline to be deleted.
dpName :: Lens' DeletePipeline Text

-- | Creates a value of <a>DeletePipelineResponse</a> with the minimum
--   fields required to make a request.
deletePipelineResponse :: DeletePipelineResponse

-- | <i>See:</i> <a>deletePipelineResponse</a> smart constructor.
data DeletePipelineResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.DeletePipeline.DeletePipelineResponse
instance Data.Data.Data Network.AWS.CodePipeline.DeletePipeline.DeletePipelineResponse
instance GHC.Show.Show Network.AWS.CodePipeline.DeletePipeline.DeletePipelineResponse
instance GHC.Read.Read Network.AWS.CodePipeline.DeletePipeline.DeletePipelineResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.DeletePipeline.DeletePipelineResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.DeletePipeline.DeletePipeline
instance Data.Data.Data Network.AWS.CodePipeline.DeletePipeline.DeletePipeline
instance GHC.Show.Show Network.AWS.CodePipeline.DeletePipeline.DeletePipeline
instance GHC.Read.Read Network.AWS.CodePipeline.DeletePipeline.DeletePipeline
instance GHC.Classes.Eq Network.AWS.CodePipeline.DeletePipeline.DeletePipeline
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.DeletePipeline.DeletePipeline
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.DeletePipeline.DeletePipeline
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.DeletePipeline.DeletePipeline
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.DeletePipeline.DeletePipeline
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.DeletePipeline.DeletePipeline
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.DeletePipeline.DeletePipeline
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.DeletePipeline.DeletePipeline
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.DeletePipeline.DeletePipelineResponse


-- | 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.
--   
--   <i>Important:</i> You cannot recreate a custom action after it has
--   been deleted unless you increase the version number of the action.
module Network.AWS.CodePipeline.DeleteCustomActionType

-- | Creates a value of <a>DeleteCustomActionType</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcatCategory</a> - The category of the custom action that you
--   want to delete, such as source or deploy.</li>
--   <li><a>dcatProvider</a> - The provider of the service used in the
--   custom action, such as AWS CodeDeploy.</li>
--   <li><a>dcatVersion</a> - The version of the custom action to
--   delete.</li>
--   </ul>
deleteCustomActionType :: ActionCategory -> Text -> Text -> DeleteCustomActionType

-- | Represents the input of a delete custom action operation. The custom
--   action will be marked as deleted.
--   
--   <i>See:</i> <a>deleteCustomActionType</a> smart constructor.
data DeleteCustomActionType

-- | The category of the custom action that you want to delete, such as
--   source or deploy.
dcatCategory :: Lens' DeleteCustomActionType ActionCategory

-- | The provider of the service used in the custom action, such as AWS
--   CodeDeploy.
dcatProvider :: Lens' DeleteCustomActionType Text

-- | The version of the custom action to delete.
dcatVersion :: Lens' DeleteCustomActionType Text

-- | Creates a value of <a>DeleteCustomActionTypeResponse</a> with the
--   minimum fields required to make a request.
deleteCustomActionTypeResponse :: DeleteCustomActionTypeResponse

-- | <i>See:</i> <a>deleteCustomActionTypeResponse</a> smart constructor.
data DeleteCustomActionTypeResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionTypeResponse
instance Data.Data.Data Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionTypeResponse
instance GHC.Show.Show Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionTypeResponse
instance GHC.Read.Read Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionTypeResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionTypeResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionType
instance Data.Data.Data Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionType
instance GHC.Show.Show Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionType
instance GHC.Read.Read Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionType
instance GHC.Classes.Eq Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionType
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionType
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionType
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionType
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionType
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionType
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionType
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionType
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionTypeResponse


-- | Creates a pipeline.
module Network.AWS.CodePipeline.CreatePipeline

-- | Creates a value of <a>CreatePipeline</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cpPipeline</a> - Undocumented member.</li>
--   </ul>
createPipeline :: PipelineDeclaration -> CreatePipeline

-- | Represents the input of a create pipeline action.
--   
--   <i>See:</i> <a>createPipeline</a> smart constructor.
data CreatePipeline

-- | Undocumented member.
cpPipeline :: Lens' CreatePipeline PipelineDeclaration

-- | Creates a value of <a>CreatePipelineResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cprsPipeline</a> - Undocumented member.</li>
--   <li><a>cprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createPipelineResponse :: Int -> CreatePipelineResponse

-- | Represents the output of a create pipeline action.
--   
--   <i>See:</i> <a>createPipelineResponse</a> smart constructor.
data CreatePipelineResponse

-- | Undocumented member.
cprsPipeline :: Lens' CreatePipelineResponse (Maybe PipelineDeclaration)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cprsResponseStatus :: Lens' CreatePipelineResponse Int
instance GHC.Generics.Generic Network.AWS.CodePipeline.CreatePipeline.CreatePipelineResponse
instance Data.Data.Data Network.AWS.CodePipeline.CreatePipeline.CreatePipelineResponse
instance GHC.Show.Show Network.AWS.CodePipeline.CreatePipeline.CreatePipelineResponse
instance GHC.Read.Read Network.AWS.CodePipeline.CreatePipeline.CreatePipelineResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.CreatePipeline.CreatePipelineResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.CreatePipeline.CreatePipeline
instance Data.Data.Data Network.AWS.CodePipeline.CreatePipeline.CreatePipeline
instance GHC.Show.Show Network.AWS.CodePipeline.CreatePipeline.CreatePipeline
instance GHC.Read.Read Network.AWS.CodePipeline.CreatePipeline.CreatePipeline
instance GHC.Classes.Eq Network.AWS.CodePipeline.CreatePipeline.CreatePipeline
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.CreatePipeline.CreatePipeline
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.CreatePipeline.CreatePipeline
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.CreatePipeline.CreatePipeline
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.CreatePipeline.CreatePipeline
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.CreatePipeline.CreatePipeline
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.CreatePipeline.CreatePipeline
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.CreatePipeline.CreatePipeline
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.CreatePipeline.CreatePipelineResponse


-- | Creates a new custom action that can be used in all pipelines
--   associated with the AWS account. Only used for custom actions.
module Network.AWS.CodePipeline.CreateCustomActionType

-- | Creates a value of <a>CreateCustomActionType</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccatSettings</a> - Undocumented member.</li>
--   <li><a>ccatConfigurationProperties</a> - The configuration properties
--   for the custom action.</li>
--   <li><a>ccatCategory</a> - The category of the custom action, such as a
--   build action or a test action.</li>
--   <li><a>ccatProvider</a> - The provider of the service used in the
--   custom action, such as AWS CodeDeploy.</li>
--   <li><a>ccatVersion</a> - The version identifier of the custom
--   action.</li>
--   <li><a>ccatInputArtifactDetails</a> - Undocumented member.</li>
--   <li><a>ccatOutputArtifactDetails</a> - Undocumented member.</li>
--   </ul>
createCustomActionType :: ActionCategory -> Text -> Text -> ArtifactDetails -> ArtifactDetails -> CreateCustomActionType

-- | Represents the input of a create custom action operation.
--   
--   <i>See:</i> <a>createCustomActionType</a> smart constructor.
data CreateCustomActionType

-- | Undocumented member.
ccatSettings :: Lens' CreateCustomActionType (Maybe ActionTypeSettings)

-- | The configuration properties for the custom action.
ccatConfigurationProperties :: Lens' CreateCustomActionType [ActionConfigurationProperty]

-- | The category of the custom action, such as a build action or a test
--   action.
ccatCategory :: Lens' CreateCustomActionType ActionCategory

-- | The provider of the service used in the custom action, such as AWS
--   CodeDeploy.
ccatProvider :: Lens' CreateCustomActionType Text

-- | The version identifier of the custom action.
ccatVersion :: Lens' CreateCustomActionType Text

-- | Undocumented member.
ccatInputArtifactDetails :: Lens' CreateCustomActionType ArtifactDetails

-- | Undocumented member.
ccatOutputArtifactDetails :: Lens' CreateCustomActionType ArtifactDetails

-- | Creates a value of <a>CreateCustomActionTypeResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccatrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>ccatrsActionType</a> - Undocumented member.</li>
--   </ul>
createCustomActionTypeResponse :: Int -> ActionType -> CreateCustomActionTypeResponse

-- | Represents the output of a create custom action operation.
--   
--   <i>See:</i> <a>createCustomActionTypeResponse</a> smart constructor.
data CreateCustomActionTypeResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ccatrsResponseStatus :: Lens' CreateCustomActionTypeResponse Int

-- | Undocumented member.
ccatrsActionType :: Lens' CreateCustomActionTypeResponse ActionType
instance GHC.Generics.Generic Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionTypeResponse
instance Data.Data.Data Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionTypeResponse
instance GHC.Show.Show Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionTypeResponse
instance GHC.Read.Read Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionTypeResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionTypeResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionType
instance Data.Data.Data Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionType
instance GHC.Show.Show Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionType
instance GHC.Read.Read Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionType
instance GHC.Classes.Eq Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionType
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionType
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionType
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionType
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionType
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionType
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionType
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionType
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionTypeResponse


-- | Confirms a job worker has received the specified job. Only used for
--   partner actions.
module Network.AWS.CodePipeline.AcknowledgeThirdPartyJob

-- | Creates a value of <a>AcknowledgeThirdPartyJob</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>atpjJobId</a> - The unique system-generated ID of the job.</li>
--   <li><a>atpjNonce</a> - A system-generated random number that AWS
--   CodePipeline uses to ensure that the job is being worked on by only
--   one job worker. This number must be returned in the response.</li>
--   <li><a>atpjClientToken</a> - 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.</li>
--   </ul>
acknowledgeThirdPartyJob :: Text -> Text -> Text -> AcknowledgeThirdPartyJob

-- | Represents the input of an acknowledge third party job action.
--   
--   <i>See:</i> <a>acknowledgeThirdPartyJob</a> smart constructor.
data AcknowledgeThirdPartyJob

-- | The unique system-generated ID of the job.
atpjJobId :: Lens' AcknowledgeThirdPartyJob Text

-- | A system-generated random number that AWS CodePipeline uses to ensure
--   that the job is being worked on by only one job worker. This number
--   must be returned in the response.
atpjNonce :: Lens' AcknowledgeThirdPartyJob Text

-- | 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.
atpjClientToken :: Lens' AcknowledgeThirdPartyJob Text

-- | Creates a value of <a>AcknowledgeThirdPartyJobResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>atpjrsStatus</a> - The status information for the third party
--   job, if any.</li>
--   <li><a>atpjrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
acknowledgeThirdPartyJobResponse :: Int -> AcknowledgeThirdPartyJobResponse

-- | Represents the output of an acknowledge third party job action.
--   
--   <i>See:</i> <a>acknowledgeThirdPartyJobResponse</a> smart constructor.
data AcknowledgeThirdPartyJobResponse

-- | The status information for the third party job, if any.
atpjrsStatus :: Lens' AcknowledgeThirdPartyJobResponse (Maybe JobStatus)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
atpjrsResponseStatus :: Lens' AcknowledgeThirdPartyJobResponse Int
instance GHC.Generics.Generic Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJobResponse
instance Data.Data.Data Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJobResponse
instance GHC.Show.Show Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJobResponse
instance GHC.Read.Read Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJobResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJobResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJob
instance Data.Data.Data Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJob
instance GHC.Show.Show Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJob
instance GHC.Read.Read Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJob
instance GHC.Classes.Eq Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJob
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJob
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJob
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJob
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJob
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJob
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJob
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJob
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJobResponse


-- | Returns information about a specified job and whether that job has
--   been received by the job worker. Only used for custom actions.
module Network.AWS.CodePipeline.AcknowledgeJob

-- | Creates a value of <a>AcknowledgeJob</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ajJobId</a> - The unique system-generated ID of the job for
--   which you want to confirm receipt.</li>
--   <li><a>ajNonce</a> - A system-generated random number that AWS
--   CodePipeline uses to ensure that the job is being worked on by only
--   one job worker. This number must be returned in the response.</li>
--   </ul>
acknowledgeJob :: Text -> Text -> AcknowledgeJob

-- | Represents the input of an acknowledge job action.
--   
--   <i>See:</i> <a>acknowledgeJob</a> smart constructor.
data AcknowledgeJob

-- | The unique system-generated ID of the job for which you want to
--   confirm receipt.
ajJobId :: Lens' AcknowledgeJob Text

-- | A system-generated random number that AWS CodePipeline uses to ensure
--   that the job is being worked on by only one job worker. This number
--   must be returned in the response.
ajNonce :: Lens' AcknowledgeJob Text

-- | Creates a value of <a>AcknowledgeJobResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ajrsStatus</a> - Whether the job worker has received the
--   specified job.</li>
--   <li><a>ajrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
acknowledgeJobResponse :: Int -> AcknowledgeJobResponse

-- | Represents the output of an acknowledge job action.
--   
--   <i>See:</i> <a>acknowledgeJobResponse</a> smart constructor.
data AcknowledgeJobResponse

-- | Whether the job worker has received the specified job.
ajrsStatus :: Lens' AcknowledgeJobResponse (Maybe JobStatus)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ajrsResponseStatus :: Lens' AcknowledgeJobResponse Int
instance GHC.Generics.Generic Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJobResponse
instance Data.Data.Data Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJobResponse
instance GHC.Show.Show Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJobResponse
instance GHC.Read.Read Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJobResponse
instance GHC.Classes.Eq Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJobResponse
instance GHC.Generics.Generic Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJob
instance Data.Data.Data Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJob
instance GHC.Show.Show Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJob
instance GHC.Read.Read Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJob
instance GHC.Classes.Eq Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJob
instance Network.AWS.Types.AWSRequest Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJob
instance Data.Hashable.Class.Hashable Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJob
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJob
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJob
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJob
instance Network.AWS.Data.Path.ToPath Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJob
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJob
instance Control.DeepSeq.NFData Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJobResponse


-- | <b>AWS CodePipeline</b>
--   
--   <b>Overview</b>
--   
--   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 <a>AWS CodePipeline User Guide</a>
--   .
--   
--   You can use the AWS CodePipeline API to work with pipelines, stages,
--   actions, gates, and transitions, as described below.
--   
--   <i>Pipelines</i> 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:
--   
--   <ul>
--   <li><a>CreatePipeline</a> , which creates a uniquely-named
--   pipeline.</li>
--   <li><a>DeletePipeline</a> , which deletes the specified pipeline.</li>
--   <li><a>GetPipeline</a> , which returns information about a pipeline
--   structure.</li>
--   <li><a>GetPipelineExecution</a> , which returns information about a
--   specific execution of a pipeline.</li>
--   <li><a>GetPipelineState</a> , which returns information about the
--   current state of the stages and actions of a pipeline.</li>
--   <li><a>ListPipelines</a> , which gets a summary of all of the
--   pipelines associated with your account.</li>
--   <li><a>StartPipelineExecution</a> , which runs the the most recent
--   revision of an artifact through the pipeline.</li>
--   <li><a>UpdatePipeline</a> , which updates a pipeline with edits or
--   changes to the structure of the pipeline.</li>
--   </ul>
--   
--   Pipelines include <i>stages</i> , 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
--   <a>GetPipelineState</a> , which displays the status of a pipeline,
--   including the status of stages in the pipeline, or <a>GetPipeline</a>
--   , 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 <a>AWS CodePipeline Pipeline
--   Structure Reference</a> .
--   
--   Pipeline stages include <i>actions</i> , 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 <a>CreatePipeline</a> and <a>GetPipelineState</a> .
--   
--   Pipelines also include <i>transitions</i> , 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:
--   
--   <ul>
--   <li><a>DisableStageTransition</a> , which prevents artifacts from
--   transitioning to the next stage in a pipeline.</li>
--   <li><a>EnableStageTransition</a> , which enables transition of
--   artifacts between stages in a pipeline.</li>
--   </ul>
--   
--   <b>Using the API to integrate with AWS CodePipeline</b>
--   
--   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:
--   
--   <b>Jobs</b> , 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:
--   
--   <ul>
--   <li><a>AcknowledgeJob</a> , which confirms whether a job worker has
--   received the specified job,</li>
--   <li><a>GetJobDetails</a> , which returns the details of a job,</li>
--   <li><a>PollForJobs</a> , which determines whether there are any jobs
--   to act upon,</li>
--   <li><a>PutJobFailureResult</a> , which provides details of a job
--   failure, and</li>
--   <li><a>PutJobSuccessResult</a> , which provides details of a job
--   success.</li>
--   </ul>
--   
--   <b>Third party jobs</b> , 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:
--   
--   <ul>
--   <li><a>AcknowledgeThirdPartyJob</a> , which confirms whether a job
--   worker has received the specified job,</li>
--   <li><a>GetThirdPartyJobDetails</a> , which requests the details of a
--   job for a partner action,</li>
--   <li><a>PollForThirdPartyJobs</a> , which determines whether there are
--   any jobs to act upon,</li>
--   <li><a>PutThirdPartyJobFailureResult</a> , which provides details of a
--   job failure, and</li>
--   <li><a>PutThirdPartyJobSuccessResult</a> , which provides details of a
--   job success.</li>
--   </ul>
module Network.AWS.CodePipeline

-- | API version <tt>2015-07-09</tt> of the Amazon CodePipeline SDK
--   configuration.
codePipeline :: Service

-- | The client token was specified in an invalid format
_InvalidClientTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The validation was specified in an invalid format.
_ValidationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified nonce was specified in an invalid format.
_InvalidNonceException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified action cannot be found.
_ActionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The approval request already received a response or has expired.
_InvalidApprovalTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Reserved for future use.
_InvalidBlockerDeclarationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified job state was specified in an invalid format.
_InvalidJobStateException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified job was specified in an invalid format or cannot be
--   found.
_InvalidJobException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified pipeline version was specified in an invalid format or
--   cannot be found.
_PipelineVersionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | 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.
_StageNotRetryableException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The pipeline execution was specified in an invalid format or cannot be
--   found, or an execution ID does not belong to the specified pipeline.
_PipelineExecutionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified action type cannot be found.
_ActionTypeNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | 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.
_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified stage declaration was specified in an invalid format.
_InvalidStageDeclarationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified action declaration was specified in an invalid format.
_InvalidActionDeclarationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified stage was specified in an invalid format or cannot be
--   found.
_StageNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified structure was specified in an invalid format.
_InvalidStructureException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified job was specified in an invalid format or cannot be
--   found.
_JobNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The approval action has already been approved or rejected.
_ApprovalAlreadyCompletedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified pipeline name is already in use.
_PipelineNameInUseException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified pipeline was specified in an invalid format or cannot be
--   found.
_PipelineNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The number of pipelines associated with the AWS account has exceeded
--   the limit allowed for the account.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The stage has failed in a later run of the pipeline and the
--   pipelineExecutionId associated with the request is out of date.
_NotLatestPipelineExecutionException :: AsError a => Getting (First ServiceError) a ServiceError
data ActionCategory
Approval :: ActionCategory
Build :: ActionCategory
Deploy :: ActionCategory
Invoke :: ActionCategory
Source :: ActionCategory
Test :: ActionCategory
data ActionConfigurationPropertyType
Boolean :: ActionConfigurationPropertyType
Number :: ActionConfigurationPropertyType
String :: ActionConfigurationPropertyType
data ActionExecutionStatus
AESFailed :: ActionExecutionStatus
AESInProgress :: ActionExecutionStatus
AESSucceeded :: ActionExecutionStatus
data ActionOwner
AWS :: ActionOwner
Custom :: ActionOwner
ThirdParty :: ActionOwner
data ApprovalStatus
Approved :: ApprovalStatus
Rejected :: ApprovalStatus
data ArtifactLocationType
ALTS3 :: ArtifactLocationType
data ArtifactStoreType
S3 :: ArtifactStoreType
data BlockerType
Schedule :: BlockerType
data EncryptionKeyType
KMS :: EncryptionKeyType
data FailureType
ConfigurationError :: FailureType
JobFailed :: FailureType
PermissionError :: FailureType
RevisionOutOfSync :: FailureType
RevisionUnavailable :: FailureType
SystemUnavailable :: FailureType
data JobStatus
JSCreated :: JobStatus
JSDispatched :: JobStatus
JSFailed :: JobStatus
JSInProgress :: JobStatus
JSQueued :: JobStatus
JSSucceeded :: JobStatus
JSTimedOut :: JobStatus
data PipelineExecutionStatus
Failed :: PipelineExecutionStatus
InProgress :: PipelineExecutionStatus
Succeeded :: PipelineExecutionStatus
Superseded :: PipelineExecutionStatus
data StageExecutionStatus
SESFailed :: StageExecutionStatus
SESInProgress :: StageExecutionStatus
SESSucceeded :: StageExecutionStatus
data StageRetryMode
FailedActions :: StageRetryMode
data StageTransitionType
Inbound :: StageTransitionType
Outbound :: StageTransitionType

-- | Represents an AWS session credentials object. These credentials are
--   temporary credentials that are issued by AWS Secure Token Service
--   (STS). They can be used to access input and output artifacts in the
--   Amazon S3 bucket used to store artifact for the pipeline in AWS
--   CodePipeline.
--   
--   <i>See:</i> <a>awsSessionCredentials</a> smart constructor.
data AWSSessionCredentials

-- | Creates a value of <a>AWSSessionCredentials</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ascAccessKeyId</a> - The access key for the session.</li>
--   <li><a>ascSecretAccessKey</a> - The secret access key for the
--   session.</li>
--   <li><a>ascSessionToken</a> - The token for the session.</li>
--   </ul>
awsSessionCredentials :: Text -> Text -> Text -> AWSSessionCredentials

-- | The access key for the session.
ascAccessKeyId :: Lens' AWSSessionCredentials Text

-- | The secret access key for the session.
ascSecretAccessKey :: Lens' AWSSessionCredentials Text

-- | The token for the session.
ascSessionToken :: Lens' AWSSessionCredentials Text

-- | Represents information about an action configuration.
--   
--   <i>See:</i> <a>actionConfiguration</a> smart constructor.
data ActionConfiguration

-- | Creates a value of <a>ActionConfiguration</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acConfiguration</a> - The configuration data for the
--   action.</li>
--   </ul>
actionConfiguration :: ActionConfiguration

-- | The configuration data for the action.
acConfiguration :: Lens' ActionConfiguration (HashMap Text Text)

-- | Represents information about an action configuration property.
--   
--   <i>See:</i> <a>actionConfigurationProperty</a> smart constructor.
data ActionConfigurationProperty

-- | Creates a value of <a>ActionConfigurationProperty</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acpQueryable</a> - Indicates that the proprety will be used in
--   conjunction with PollForJobs. When creating a custom action, an action
--   can have up to one queryable property. If it has one, that property
--   must be both required and not secret. If you create a pipeline with a
--   custom action type, and that custom action contains a queryable
--   property, the value for that configuration property is subject to
--   additional restrictions. The value must be less than or equal to
--   twenty (20) characters. The value can contain only alphanumeric
--   characters, underscores, and hyphens.</li>
--   <li><a>acpType</a> - The type of the configuration property.</li>
--   <li><a>acpDescription</a> - The description of the action
--   configuration property that will be displayed to users.</li>
--   <li><a>acpName</a> - The name of the action configuration
--   property.</li>
--   <li><a>acpRequired</a> - Whether the configuration property is a
--   required value.</li>
--   <li><a>acpKey</a> - Whether the configuration property is a key.</li>
--   <li><a>acpSecret</a> - Whether the configuration property is secret.
--   Secrets are hidden from all calls except for GetJobDetails,
--   GetThirdPartyJobDetails, PollForJobs, and PollForThirdPartyJobs. When
--   updating a pipeline, passing * * * * * without changing any other
--   values of the action will preserve the prior value of the secret.</li>
--   </ul>
actionConfigurationProperty :: Text -> Bool -> Bool -> Bool -> ActionConfigurationProperty

-- | Indicates that the proprety will be used in conjunction with
--   PollForJobs. When creating a custom action, an action can have up to
--   one queryable property. If it has one, that property must be both
--   required and not secret. If you create a pipeline with a custom action
--   type, and that custom action contains a queryable property, the value
--   for that configuration property is subject to additional restrictions.
--   The value must be less than or equal to twenty (20) characters. The
--   value can contain only alphanumeric characters, underscores, and
--   hyphens.
acpQueryable :: Lens' ActionConfigurationProperty (Maybe Bool)

-- | The type of the configuration property.
acpType :: Lens' ActionConfigurationProperty (Maybe ActionConfigurationPropertyType)

-- | The description of the action configuration property that will be
--   displayed to users.
acpDescription :: Lens' ActionConfigurationProperty (Maybe Text)

-- | The name of the action configuration property.
acpName :: Lens' ActionConfigurationProperty Text

-- | Whether the configuration property is a required value.
acpRequired :: Lens' ActionConfigurationProperty Bool

-- | Whether the configuration property is a key.
acpKey :: Lens' ActionConfigurationProperty Bool

-- | Whether the configuration property is secret. Secrets are hidden from
--   all calls except for GetJobDetails, GetThirdPartyJobDetails,
--   PollForJobs, and PollForThirdPartyJobs. When updating a pipeline,
--   passing * * * * * without changing any other values of the action will
--   preserve the prior value of the secret.
acpSecret :: Lens' ActionConfigurationProperty Bool

-- | Represents the context of an action within the stage of a pipeline to
--   a job worker.
--   
--   <i>See:</i> <a>actionContext</a> smart constructor.
data ActionContext

-- | Creates a value of <a>ActionContext</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acName</a> - The name of the action within the context of a
--   job.</li>
--   </ul>
actionContext :: ActionContext

-- | The name of the action within the context of a job.
acName :: Lens' ActionContext (Maybe Text)

-- | Represents information about an action declaration.
--   
--   <i>See:</i> <a>actionDeclaration</a> smart constructor.
data ActionDeclaration

-- | Creates a value of <a>ActionDeclaration</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adOutputArtifacts</a> - The name or ID of the result of the
--   action declaration, such as a test or build artifact.</li>
--   <li><a>adRunOrder</a> - The order in which actions are run.</li>
--   <li><a>adConfiguration</a> - The action declaration's
--   configuration.</li>
--   <li><a>adInputArtifacts</a> - The name or ID of the artifact consumed
--   by the action, such as a test or build artifact.</li>
--   <li><a>adRoleARN</a> - The ARN of the IAM service role that will
--   perform the declared action. This is assumed through the roleArn for
--   the pipeline.</li>
--   <li><a>adName</a> - The action declaration's name.</li>
--   <li><a>adActionTypeId</a> - The configuration information for the
--   action type.</li>
--   </ul>
actionDeclaration :: Text -> ActionTypeId -> ActionDeclaration

-- | The name or ID of the result of the action declaration, such as a test
--   or build artifact.
adOutputArtifacts :: Lens' ActionDeclaration [OutputArtifact]

-- | The order in which actions are run.
adRunOrder :: Lens' ActionDeclaration (Maybe Natural)

-- | The action declaration's configuration.
adConfiguration :: Lens' ActionDeclaration (HashMap Text Text)

-- | The name or ID of the artifact consumed by the action, such as a test
--   or build artifact.
adInputArtifacts :: Lens' ActionDeclaration [InputArtifact]

-- | The ARN of the IAM service role that will perform the declared action.
--   This is assumed through the roleArn for the pipeline.
adRoleARN :: Lens' ActionDeclaration (Maybe Text)

-- | The action declaration's name.
adName :: Lens' ActionDeclaration Text

-- | The configuration information for the action type.
adActionTypeId :: Lens' ActionDeclaration ActionTypeId

-- | Represents information about the run of an action.
--   
--   <i>See:</i> <a>actionExecution</a> smart constructor.
data ActionExecution

-- | Creates a value of <a>ActionExecution</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aeLastUpdatedBy</a> - The ARN of the user who last changed the
--   pipeline.</li>
--   <li><a>aeSummary</a> - A summary of the run of the action.</li>
--   <li><a>aeStatus</a> - The status of the action, or for a completed
--   action, the last status of the action.</li>
--   <li><a>aeLastStatusChange</a> - The last status change of the
--   action.</li>
--   <li><a>aeToken</a> - The system-generated token used to identify a
--   unique approval request. The token for each open approval request can
--   be obtained using the GetPipelineState command and is used to validate
--   that the approval request corresponding to this token is still
--   valid.</li>
--   <li><a>aeExternalExecutionURL</a> - The URL of a resource external to
--   AWS that will be used when running the action, for example an external
--   repository URL.</li>
--   <li><a>aeExternalExecutionId</a> - The external ID of the run of the
--   action.</li>
--   <li><a>aeErrorDetails</a> - The details of an error returned by a URL
--   external to AWS.</li>
--   <li><a>aePercentComplete</a> - A percentage of completeness of the
--   action as it runs.</li>
--   </ul>
actionExecution :: ActionExecution

-- | The ARN of the user who last changed the pipeline.
aeLastUpdatedBy :: Lens' ActionExecution (Maybe Text)

-- | A summary of the run of the action.
aeSummary :: Lens' ActionExecution (Maybe Text)

-- | The status of the action, or for a completed action, the last status
--   of the action.
aeStatus :: Lens' ActionExecution (Maybe ActionExecutionStatus)

-- | The last status change of the action.
aeLastStatusChange :: Lens' ActionExecution (Maybe UTCTime)

-- | The system-generated token used to identify a unique approval request.
--   The token for each open approval request can be obtained using the
--   GetPipelineState command and is used to validate that the approval
--   request corresponding to this token is still valid.
aeToken :: Lens' ActionExecution (Maybe Text)

-- | The URL of a resource external to AWS that will be used when running
--   the action, for example an external repository URL.
aeExternalExecutionURL :: Lens' ActionExecution (Maybe Text)

-- | The external ID of the run of the action.
aeExternalExecutionId :: Lens' ActionExecution (Maybe Text)

-- | The details of an error returned by a URL external to AWS.
aeErrorDetails :: Lens' ActionExecution (Maybe ErrorDetails)

-- | A percentage of completeness of the action as it runs.
aePercentComplete :: Lens' ActionExecution (Maybe Natural)

-- | Represents information about the version (or revision) of an action.
--   
--   <i>See:</i> <a>actionRevision</a> smart constructor.
data ActionRevision

-- | Creates a value of <a>ActionRevision</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aRevisionId</a> - The system-generated unique ID that
--   identifies the revision number of the action.</li>
--   <li><a>aRevisionChangeId</a> - The unique identifier of the change
--   that set the state to this revision, for example a deployment ID or
--   timestamp.</li>
--   <li><a>aCreated</a> - The date and time when the most recent version
--   of the action was created, in timestamp format.</li>
--   </ul>
actionRevision :: Text -> Text -> UTCTime -> ActionRevision

-- | The system-generated unique ID that identifies the revision number of
--   the action.
aRevisionId :: Lens' ActionRevision Text

-- | The unique identifier of the change that set the state to this
--   revision, for example a deployment ID or timestamp.
aRevisionChangeId :: Lens' ActionRevision Text

-- | The date and time when the most recent version of the action was
--   created, in timestamp format.
aCreated :: Lens' ActionRevision UTCTime

-- | Represents information about the state of an action.
--   
--   <i>See:</i> <a>actionState</a> smart constructor.
data ActionState

-- | Creates a value of <a>ActionState</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asRevisionURL</a> - A URL link for more information about the
--   revision, such as a commit details page.</li>
--   <li><a>asEntityURL</a> - A URL link for more information about the
--   state of the action, such as a deployment group details page.</li>
--   <li><a>asActionName</a> - The name of the action.</li>
--   <li><a>asCurrentRevision</a> - Undocumented member.</li>
--   <li><a>asLatestExecution</a> - Undocumented member.</li>
--   </ul>
actionState :: ActionState

-- | A URL link for more information about the revision, such as a commit
--   details page.
asRevisionURL :: Lens' ActionState (Maybe Text)

-- | A URL link for more information about the state of the action, such as
--   a deployment group details page.
asEntityURL :: Lens' ActionState (Maybe Text)

-- | The name of the action.
asActionName :: Lens' ActionState (Maybe Text)

-- | Undocumented member.
asCurrentRevision :: Lens' ActionState (Maybe ActionRevision)

-- | Undocumented member.
asLatestExecution :: Lens' ActionState (Maybe ActionExecution)

-- | Returns information about the details of an action type.
--   
--   <i>See:</i> <a>actionType</a> smart constructor.
data ActionType

-- | Creates a value of <a>ActionType</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>atSettings</a> - The settings for the action type.</li>
--   <li><a>atActionConfigurationProperties</a> - The configuration
--   properties for the action type.</li>
--   <li><a>atId</a> - Undocumented member.</li>
--   <li><a>atInputArtifactDetails</a> - The details of the input artifact
--   for the action, such as its commit ID.</li>
--   <li><a>atOutputArtifactDetails</a> - The details of the output
--   artifact of the action, such as its commit ID.</li>
--   </ul>
actionType :: ActionTypeId -> ArtifactDetails -> ArtifactDetails -> ActionType

-- | The settings for the action type.
atSettings :: Lens' ActionType (Maybe ActionTypeSettings)

-- | The configuration properties for the action type.
atActionConfigurationProperties :: Lens' ActionType [ActionConfigurationProperty]

-- | Undocumented member.
atId :: Lens' ActionType ActionTypeId

-- | The details of the input artifact for the action, such as its commit
--   ID.
atInputArtifactDetails :: Lens' ActionType ArtifactDetails

-- | The details of the output artifact of the action, such as its commit
--   ID.
atOutputArtifactDetails :: Lens' ActionType ArtifactDetails

-- | Represents information about an action type.
--   
--   <i>See:</i> <a>actionTypeId</a> smart constructor.
data ActionTypeId

-- | Creates a value of <a>ActionTypeId</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>atiCategory</a> - A category defines what kind of action can be
--   taken in the stage, and constrains the provider type for the action.
--   Valid categories are limited to one of the values below.</li>
--   <li><a>atiOwner</a> - The creator of the action being called.</li>
--   <li><a>atiProvider</a> - The provider of the service being called by
--   the action. Valid providers are determined by the action category. For
--   example, an action in the Deploy category type might have a provider
--   of AWS CodeDeploy, which would be specified as CodeDeploy.</li>
--   <li><a>atiVersion</a> - A string that identifies the action type.</li>
--   </ul>
actionTypeId :: ActionCategory -> ActionOwner -> Text -> Text -> ActionTypeId

-- | A category defines what kind of action can be taken in the stage, and
--   constrains the provider type for the action. Valid categories are
--   limited to one of the values below.
atiCategory :: Lens' ActionTypeId ActionCategory

-- | The creator of the action being called.
atiOwner :: Lens' ActionTypeId ActionOwner

-- | The provider of the service being called by the action. Valid
--   providers are determined by the action category. For example, an
--   action in the Deploy category type might have a provider of AWS
--   CodeDeploy, which would be specified as CodeDeploy.
atiProvider :: Lens' ActionTypeId Text

-- | A string that identifies the action type.
atiVersion :: Lens' ActionTypeId Text

-- | Returns information about the settings for an action type.
--   
--   <i>See:</i> <a>actionTypeSettings</a> smart constructor.
data ActionTypeSettings

-- | Creates a value of <a>ActionTypeSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>atsThirdPartyConfigurationURL</a> - The URL of a sign-up page
--   where users can sign up for an external service and perform initial
--   configuration of the action provided by that service.</li>
--   <li><a>atsExecutionURLTemplate</a> - The URL returned to the AWS
--   CodePipeline console that contains a link to the top-level landing
--   page for the external system, such as console page for AWS CodeDeploy.
--   This link is shown on the pipeline view page in the AWS CodePipeline
--   console and provides a link to the execution entity of the external
--   action.</li>
--   <li><a>atsRevisionURLTemplate</a> - The URL returned to the AWS
--   CodePipeline console that contains a link to the page where customers
--   can update or change the configuration of the external action.</li>
--   <li><a>atsEntityURLTemplate</a> - The URL returned to the AWS
--   CodePipeline console that provides a deep link to the resources of the
--   external system, such as the configuration page for an AWS CodeDeploy
--   deployment group. This link is provided as part of the action display
--   within the pipeline.</li>
--   </ul>
actionTypeSettings :: ActionTypeSettings

-- | The URL of a sign-up page where users can sign up for an external
--   service and perform initial configuration of the action provided by
--   that service.
atsThirdPartyConfigurationURL :: Lens' ActionTypeSettings (Maybe Text)

-- | The URL returned to the AWS CodePipeline console that contains a link
--   to the top-level landing page for the external system, such as console
--   page for AWS CodeDeploy. This link is shown on the pipeline view page
--   in the AWS CodePipeline console and provides a link to the execution
--   entity of the external action.
atsExecutionURLTemplate :: Lens' ActionTypeSettings (Maybe Text)

-- | The URL returned to the AWS CodePipeline console that contains a link
--   to the page where customers can update or change the configuration of
--   the external action.
atsRevisionURLTemplate :: Lens' ActionTypeSettings (Maybe Text)

-- | The URL returned to the AWS CodePipeline console that provides a deep
--   link to the resources of the external system, such as the
--   configuration page for an AWS CodeDeploy deployment group. This link
--   is provided as part of the action display within the pipeline.
atsEntityURLTemplate :: Lens' ActionTypeSettings (Maybe Text)

-- | Represents information about the result of an approval request.
--   
--   <i>See:</i> <a>approvalResult</a> smart constructor.
data ApprovalResult

-- | Creates a value of <a>ApprovalResult</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>arSummary</a> - The summary of the current status of the
--   approval request.</li>
--   <li><a>arStatus</a> - The response submitted by a reviewer assigned to
--   an approval action request.</li>
--   </ul>
approvalResult :: Text -> ApprovalStatus -> ApprovalResult

-- | The summary of the current status of the approval request.
arSummary :: Lens' ApprovalResult Text

-- | The response submitted by a reviewer assigned to an approval action
--   request.
arStatus :: Lens' ApprovalResult ApprovalStatus

-- | Represents information about an artifact that will be worked upon by
--   actions in the pipeline.
--   
--   <i>See:</i> <a>artifact</a> smart constructor.
data Artifact

-- | Creates a value of <a>Artifact</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aLocation</a> - The location of an artifact.</li>
--   <li><a>aName</a> - The artifact's name.</li>
--   <li><a>aRevision</a> - The artifact's revision ID. Depending on the
--   type of object, this could be a commit ID (GitHub) or a revision ID
--   (Amazon S3).</li>
--   </ul>
artifact :: Artifact

-- | The location of an artifact.
aLocation :: Lens' Artifact (Maybe ArtifactLocation)

-- | The artifact's name.
aName :: Lens' Artifact (Maybe Text)

-- | The artifact's revision ID. Depending on the type of object, this
--   could be a commit ID (GitHub) or a revision ID (Amazon S3).
aRevision :: Lens' Artifact (Maybe Text)

-- | Returns information about the details of an artifact.
--   
--   <i>See:</i> <a>artifactDetails</a> smart constructor.
data ArtifactDetails

-- | Creates a value of <a>ArtifactDetails</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adMinimumCount</a> - The minimum number of artifacts allowed
--   for the action type.</li>
--   <li><a>adMaximumCount</a> - The maximum number of artifacts allowed
--   for the action type.</li>
--   </ul>
artifactDetails :: Natural -> Natural -> ArtifactDetails

-- | The minimum number of artifacts allowed for the action type.
adMinimumCount :: Lens' ArtifactDetails Natural

-- | The maximum number of artifacts allowed for the action type.
adMaximumCount :: Lens' ArtifactDetails Natural

-- | Represents information about the location of an artifact.
--   
--   <i>See:</i> <a>artifactLocation</a> smart constructor.
data ArtifactLocation

-- | Creates a value of <a>ArtifactLocation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>alS3Location</a> - The Amazon S3 bucket that contains the
--   artifact.</li>
--   <li><a>alType</a> - The type of artifact in the location.</li>
--   </ul>
artifactLocation :: ArtifactLocation

-- | The Amazon S3 bucket that contains the artifact.
alS3Location :: Lens' ArtifactLocation (Maybe S3ArtifactLocation)

-- | The type of artifact in the location.
alType :: Lens' ArtifactLocation (Maybe ArtifactLocationType)

-- | Represents revision details of an artifact.
--   
--   <i>See:</i> <a>artifactRevision</a> smart constructor.
data ArtifactRevision

-- | Creates a value of <a>ArtifactRevision</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>arRevisionSummary</a> - Summary information about the most
--   recent revision of the artifact. For GitHub and AWS CodeCommit
--   repositories, the commit message. For Amazon S3 buckets or actions,
--   the user-provided content of a
--   <tt>codepipeline-artifact-revision-summary</tt> key specified in the
--   object metadata.</li>
--   <li><a>arRevisionURL</a> - The commit ID for the artifact revision.
--   For artifacts stored in GitHub or AWS CodeCommit repositories, the
--   commit ID is linked to a commit details page.</li>
--   <li><a>arCreated</a> - The date and time when the most recent revision
--   of the artifact was created, in timestamp format.</li>
--   <li><a>arName</a> - The name of an artifact. This name might be
--   system-generated, such as <a>MyApp</a>, or might be defined by the
--   user when an action is created.</li>
--   <li><a>arRevisionId</a> - The revision ID of the artifact.</li>
--   <li><a>arRevisionChangeIdentifier</a> - An additional identifier for a
--   revision, such as a commit date or, for artifacts stored in Amazon S3
--   buckets, the ETag value.</li>
--   </ul>
artifactRevision :: ArtifactRevision

-- | Summary information about the most recent revision of the artifact.
--   For GitHub and AWS CodeCommit repositories, the commit message. For
--   Amazon S3 buckets or actions, the user-provided content of a
--   <tt>codepipeline-artifact-revision-summary</tt> key specified in the
--   object metadata.
arRevisionSummary :: Lens' ArtifactRevision (Maybe Text)

-- | The commit ID for the artifact revision. For artifacts stored in
--   GitHub or AWS CodeCommit repositories, the commit ID is linked to a
--   commit details page.
arRevisionURL :: Lens' ArtifactRevision (Maybe Text)

-- | The date and time when the most recent revision of the artifact was
--   created, in timestamp format.
arCreated :: Lens' ArtifactRevision (Maybe UTCTime)

-- | The name of an artifact. This name might be system-generated, such as
--   <a>MyApp</a>, or might be defined by the user when an action is
--   created.
arName :: Lens' ArtifactRevision (Maybe Text)

-- | The revision ID of the artifact.
arRevisionId :: Lens' ArtifactRevision (Maybe Text)

-- | An additional identifier for a revision, such as a commit date or, for
--   artifacts stored in Amazon S3 buckets, the ETag value.
arRevisionChangeIdentifier :: Lens' ArtifactRevision (Maybe Text)

-- | The Amazon S3 location where artifacts are stored for the pipeline. If
--   this Amazon S3 bucket is created manually, it must meet the
--   requirements for AWS CodePipeline. For more information, see the
--   <a>Concepts</a> .
--   
--   <i>See:</i> <a>artifactStore</a> smart constructor.
data ArtifactStore

-- | Creates a value of <a>ArtifactStore</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asEncryptionKey</a> - The encryption key used to encrypt the
--   data in the artifact store, such as an AWS Key Management Service (AWS
--   KMS) key. If this is undefined, the default key for Amazon S3 is
--   used.</li>
--   <li><a>asType</a> - The type of the artifact store, such as S3.</li>
--   <li><a>asLocation</a> - The location for storing the artifacts for a
--   pipeline, such as an S3 bucket or folder.</li>
--   </ul>
artifactStore :: ArtifactStoreType -> Text -> ArtifactStore

-- | The encryption key used to encrypt the data in the artifact store,
--   such as an AWS Key Management Service (AWS KMS) key. If this is
--   undefined, the default key for Amazon S3 is used.
asEncryptionKey :: Lens' ArtifactStore (Maybe EncryptionKey)

-- | The type of the artifact store, such as S3.
asType :: Lens' ArtifactStore ArtifactStoreType

-- | The location for storing the artifacts for a pipeline, such as an S3
--   bucket or folder.
asLocation :: Lens' ArtifactStore Text

-- | Reserved for future use.
--   
--   <i>See:</i> <a>blockerDeclaration</a> smart constructor.
data BlockerDeclaration

-- | Creates a value of <a>BlockerDeclaration</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bdName</a> - Reserved for future use.</li>
--   <li><a>bdType</a> - Reserved for future use.</li>
--   </ul>
blockerDeclaration :: Text -> BlockerType -> BlockerDeclaration

-- | Reserved for future use.
bdName :: Lens' BlockerDeclaration Text

-- | Reserved for future use.
bdType :: Lens' BlockerDeclaration BlockerType

-- | Represents information about a current revision.
--   
--   <i>See:</i> <a>currentRevision</a> smart constructor.
data CurrentRevision

-- | Creates a value of <a>CurrentRevision</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crRevisionSummary</a> - The summary of the most recent revision
--   of the artifact.</li>
--   <li><a>crCreated</a> - The date and time when the most recent revision
--   of the artifact was created, in timestamp format.</li>
--   <li><a>crRevision</a> - The revision ID of the current version of an
--   artifact.</li>
--   <li><a>crChangeIdentifier</a> - The change identifier for the current
--   revision.</li>
--   </ul>
currentRevision :: Text -> Text -> CurrentRevision

-- | The summary of the most recent revision of the artifact.
crRevisionSummary :: Lens' CurrentRevision (Maybe Text)

-- | The date and time when the most recent revision of the artifact was
--   created, in timestamp format.
crCreated :: Lens' CurrentRevision (Maybe UTCTime)

-- | The revision ID of the current version of an artifact.
crRevision :: Lens' CurrentRevision Text

-- | The change identifier for the current revision.
crChangeIdentifier :: Lens' CurrentRevision Text

-- | Represents information about the key used to encrypt data in the
--   artifact store, such as an AWS Key Management Service (AWS KMS) key.
--   
--   <i>See:</i> <a>encryptionKey</a> smart constructor.
data EncryptionKey

-- | Creates a value of <a>EncryptionKey</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ekId</a> - The ID used to identify the key. For an AWS KMS key,
--   this is the key ID or key ARN.</li>
--   <li><a>ekType</a> - The type of encryption key, such as an AWS Key
--   Management Service (AWS KMS) key. When creating or updating a
--   pipeline, the value must be set to <a>KMS</a>.</li>
--   </ul>
encryptionKey :: Text -> EncryptionKeyType -> EncryptionKey

-- | The ID used to identify the key. For an AWS KMS key, this is the key
--   ID or key ARN.
ekId :: Lens' EncryptionKey Text

-- | The type of encryption key, such as an AWS Key Management Service (AWS
--   KMS) key. When creating or updating a pipeline, the value must be set
--   to <a>KMS</a>.
ekType :: Lens' EncryptionKey EncryptionKeyType

-- | Represents information about an error in AWS CodePipeline.
--   
--   <i>See:</i> <a>errorDetails</a> smart constructor.
data ErrorDetails

-- | Creates a value of <a>ErrorDetails</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>edCode</a> - The system ID or error number code of the
--   error.</li>
--   <li><a>edMessage</a> - The text of the error message.</li>
--   </ul>
errorDetails :: ErrorDetails

-- | The system ID or error number code of the error.
edCode :: Lens' ErrorDetails (Maybe Text)

-- | The text of the error message.
edMessage :: Lens' ErrorDetails (Maybe Text)

-- | The details of the actions taken and results produced on an artifact
--   as it passes through stages in the pipeline.
--   
--   <i>See:</i> <a>executionDetails</a> smart constructor.
data ExecutionDetails

-- | Creates a value of <a>ExecutionDetails</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>edSummary</a> - The summary of the current status of the
--   actions.</li>
--   <li><a>edExternalExecutionId</a> - The system-generated unique ID of
--   this action used to identify this job worker in any external systems,
--   such as AWS CodeDeploy.</li>
--   <li><a>edPercentComplete</a> - The percentage of work completed on the
--   action, represented on a scale of zero to one hundred percent.</li>
--   </ul>
executionDetails :: ExecutionDetails

-- | The summary of the current status of the actions.
edSummary :: Lens' ExecutionDetails (Maybe Text)

-- | The system-generated unique ID of this action used to identify this
--   job worker in any external systems, such as AWS CodeDeploy.
edExternalExecutionId :: Lens' ExecutionDetails (Maybe Text)

-- | The percentage of work completed on the action, represented on a scale
--   of zero to one hundred percent.
edPercentComplete :: Lens' ExecutionDetails (Maybe Natural)

-- | Represents information about failure details.
--   
--   <i>See:</i> <a>failureDetails</a> smart constructor.
data FailureDetails

-- | Creates a value of <a>FailureDetails</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fdExternalExecutionId</a> - The external ID of the run of the
--   action that failed.</li>
--   <li><a>fdType</a> - The type of the failure.</li>
--   <li><a>fdMessage</a> - The message about the failure.</li>
--   </ul>
failureDetails :: FailureType -> Text -> FailureDetails

-- | The external ID of the run of the action that failed.
fdExternalExecutionId :: Lens' FailureDetails (Maybe Text)

-- | The type of the failure.
fdType :: Lens' FailureDetails FailureType

-- | The message about the failure.
fdMessage :: Lens' FailureDetails Text

-- | Represents information about an artifact to be worked on, such as a
--   test or build artifact.
--   
--   <i>See:</i> <a>inputArtifact</a> smart constructor.
data InputArtifact

-- | Creates a value of <a>InputArtifact</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iaName</a> - The name of the artifact to be worked on, for
--   example, "My App". The input artifact of an action must exactly match
--   the output artifact declared in a preceding action, but the input
--   artifact does not have to be the next action in strict sequence from
--   the action that provided the output artifact. Actions in parallel can
--   declare different output artifacts, which are in turn consumed by
--   different following actions.</li>
--   </ul>
inputArtifact :: Text -> InputArtifact

-- | The name of the artifact to be worked on, for example, "My App". The
--   input artifact of an action must exactly match the output artifact
--   declared in a preceding action, but the input artifact does not have
--   to be the next action in strict sequence from the action that provided
--   the output artifact. Actions in parallel can declare different output
--   artifacts, which are in turn consumed by different following actions.
iaName :: Lens' InputArtifact Text

-- | Represents information about a job.
--   
--   <i>See:</i> <a>job</a> smart constructor.
data Job

-- | Creates a value of <a>Job</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>jData</a> - Additional data about a job.</li>
--   <li><a>jAccountId</a> - The ID of the AWS account to use when
--   performing the job.</li>
--   <li><a>jId</a> - The unique system-generated ID of the job.</li>
--   <li><a>jNonce</a> - A system-generated random number that AWS
--   CodePipeline uses to ensure that the job is being worked on by only
--   one job worker. This number must be returned in the response.</li>
--   </ul>
job :: Job

-- | Additional data about a job.
jData :: Lens' Job (Maybe JobData)

-- | The ID of the AWS account to use when performing the job.
jAccountId :: Lens' Job (Maybe Text)

-- | The unique system-generated ID of the job.
jId :: Lens' Job (Maybe Text)

-- | A system-generated random number that AWS CodePipeline uses to ensure
--   that the job is being worked on by only one job worker. This number
--   must be returned in the response.
jNonce :: Lens' Job (Maybe Text)

-- | Represents additional information about a job required for a job
--   worker to complete the job.
--   
--   <i>See:</i> <a>jobData</a> smart constructor.
data JobData

-- | Creates a value of <a>JobData</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>jdContinuationToken</a> - A system-generated token, such as a
--   AWS CodeDeploy deployment ID, that a job requires in order to continue
--   the job asynchronously.</li>
--   <li><a>jdOutputArtifacts</a> - The output of the job.</li>
--   <li><a>jdArtifactCredentials</a> - Undocumented member.</li>
--   <li><a>jdPipelineContext</a> - Undocumented member.</li>
--   <li><a>jdEncryptionKey</a> - Undocumented member.</li>
--   <li><a>jdActionTypeId</a> - Undocumented member.</li>
--   <li><a>jdInputArtifacts</a> - The artifact supplied to the job.</li>
--   <li><a>jdActionConfiguration</a> - Undocumented member.</li>
--   </ul>
jobData :: JobData

-- | A system-generated token, such as a AWS CodeDeploy deployment ID, that
--   a job requires in order to continue the job asynchronously.
jdContinuationToken :: Lens' JobData (Maybe Text)

-- | The output of the job.
jdOutputArtifacts :: Lens' JobData [Artifact]

-- | Undocumented member.
jdArtifactCredentials :: Lens' JobData (Maybe AWSSessionCredentials)

-- | Undocumented member.
jdPipelineContext :: Lens' JobData (Maybe PipelineContext)

-- | Undocumented member.
jdEncryptionKey :: Lens' JobData (Maybe EncryptionKey)

-- | Undocumented member.
jdActionTypeId :: Lens' JobData (Maybe ActionTypeId)

-- | The artifact supplied to the job.
jdInputArtifacts :: Lens' JobData [Artifact]

-- | Undocumented member.
jdActionConfiguration :: Lens' JobData (Maybe ActionConfiguration)

-- | Represents information about the details of a job.
--   
--   <i>See:</i> <a>jobDetails</a> smart constructor.
data JobDetails

-- | Creates a value of <a>JobDetails</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>jdData</a> - Undocumented member.</li>
--   <li><a>jdAccountId</a> - The AWS account ID associated with the
--   job.</li>
--   <li><a>jdId</a> - The unique system-generated ID of the job.</li>
--   </ul>
jobDetails :: JobDetails

-- | Undocumented member.
jdData :: Lens' JobDetails (Maybe JobData)

-- | The AWS account ID associated with the job.
jdAccountId :: Lens' JobDetails (Maybe Text)

-- | The unique system-generated ID of the job.
jdId :: Lens' JobDetails (Maybe Text)

-- | Represents information about the output of an action.
--   
--   <i>See:</i> <a>outputArtifact</a> smart constructor.
data OutputArtifact

-- | Creates a value of <a>OutputArtifact</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oaName</a> - The name of the output of an artifact, such as "My
--   App". The input artifact of an action must exactly match the output
--   artifact declared in a preceding action, but the input artifact does
--   not have to be the next action in strict sequence from the action that
--   provided the output artifact. Actions in parallel can declare
--   different output artifacts, which are in turn consumed by different
--   following actions. Output artifact names must be unique within a
--   pipeline.</li>
--   </ul>
outputArtifact :: Text -> OutputArtifact

-- | The name of the output of an artifact, such as "My App". The input
--   artifact of an action must exactly match the output artifact declared
--   in a preceding action, but the input artifact does not have to be the
--   next action in strict sequence from the action that provided the
--   output artifact. Actions in parallel can declare different output
--   artifacts, which are in turn consumed by different following actions.
--   Output artifact names must be unique within a pipeline.
oaName :: Lens' OutputArtifact Text

-- | Represents information about a pipeline to a job worker.
--   
--   <i>See:</i> <a>pipelineContext</a> smart constructor.
data PipelineContext

-- | Creates a value of <a>PipelineContext</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcStage</a> - The stage of the pipeline.</li>
--   <li><a>pcPipelineName</a> - The name of the pipeline. This is a
--   user-specified value. Pipeline names must be unique across all
--   pipeline names under an Amazon Web Services account.</li>
--   <li><a>pcAction</a> - Undocumented member.</li>
--   </ul>
pipelineContext :: PipelineContext

-- | The stage of the pipeline.
pcStage :: Lens' PipelineContext (Maybe StageContext)

-- | The name of the pipeline. This is a user-specified value. Pipeline
--   names must be unique across all pipeline names under an Amazon Web
--   Services account.
pcPipelineName :: Lens' PipelineContext (Maybe Text)

-- | Undocumented member.
pcAction :: Lens' PipelineContext (Maybe ActionContext)

-- | Represents the structure of actions and stages to be performed in the
--   pipeline.
--   
--   <i>See:</i> <a>pipelineDeclaration</a> smart constructor.
data PipelineDeclaration

-- | Creates a value of <a>PipelineDeclaration</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pdVersion</a> - The version number of the pipeline. A new
--   pipeline always has a version number of 1. This number is
--   automatically incremented when a pipeline is updated.</li>
--   <li><a>pdName</a> - The name of the action to be performed.</li>
--   <li><a>pdRoleARN</a> - The Amazon Resource Name (ARN) for AWS
--   CodePipeline to use to either perform actions with no actionRoleArn,
--   or to use to assume roles for actions with an actionRoleArn.</li>
--   <li><a>pdArtifactStore</a> - Undocumented member.</li>
--   <li><a>pdStages</a> - The stage in which to perform the action.</li>
--   </ul>
pipelineDeclaration :: Text -> Text -> ArtifactStore -> PipelineDeclaration

-- | The version number of the pipeline. A new pipeline always has a
--   version number of 1. This number is automatically incremented when a
--   pipeline is updated.
pdVersion :: Lens' PipelineDeclaration (Maybe Natural)

-- | The name of the action to be performed.
pdName :: Lens' PipelineDeclaration Text

-- | The Amazon Resource Name (ARN) for AWS CodePipeline to use to either
--   perform actions with no actionRoleArn, or to use to assume roles for
--   actions with an actionRoleArn.
pdRoleARN :: Lens' PipelineDeclaration Text

-- | Undocumented member.
pdArtifactStore :: Lens' PipelineDeclaration ArtifactStore

-- | The stage in which to perform the action.
pdStages :: Lens' PipelineDeclaration [StageDeclaration]

-- | Represents information about an execution of a pipeline.
--   
--   <i>See:</i> <a>pipelineExecution</a> smart constructor.
data PipelineExecution

-- | Creates a value of <a>PipelineExecution</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>peStatus</a> - The status of the pipeline execution. *
--   InProgress: The pipeline execution is currently running. * Succeeded:
--   The pipeline execution completed successfully. * Superseded: While
--   this pipeline execution was waiting for the next stage to be
--   completed, a newer pipeline execution caught up and continued through
--   the pipeline instead. * Failed: The pipeline did not complete
--   successfully.</li>
--   <li><a>pePipelineName</a> - The name of the pipeline that was
--   executed.</li>
--   <li><a>pePipelineVersion</a> - The version number of the pipeline that
--   was executed.</li>
--   <li><a>pePipelineExecutionId</a> - The ID of the pipeline
--   execution.</li>
--   <li><a>peArtifactRevisions</a> - A list of ArtifactRevision objects
--   included in a pipeline execution.</li>
--   </ul>
pipelineExecution :: PipelineExecution

-- | The status of the pipeline execution. * InProgress: The pipeline
--   execution is currently running. * Succeeded: The pipeline execution
--   completed successfully. * Superseded: While this pipeline execution
--   was waiting for the next stage to be completed, a newer pipeline
--   execution caught up and continued through the pipeline instead. *
--   Failed: The pipeline did not complete successfully.
peStatus :: Lens' PipelineExecution (Maybe PipelineExecutionStatus)

-- | The name of the pipeline that was executed.
pePipelineName :: Lens' PipelineExecution (Maybe Text)

-- | The version number of the pipeline that was executed.
pePipelineVersion :: Lens' PipelineExecution (Maybe Natural)

-- | The ID of the pipeline execution.
pePipelineExecutionId :: Lens' PipelineExecution (Maybe Text)

-- | A list of ArtifactRevision objects included in a pipeline execution.
peArtifactRevisions :: Lens' PipelineExecution [ArtifactRevision]

-- | Returns a summary of a pipeline.
--   
--   <i>See:</i> <a>pipelineSummary</a> smart constructor.
data PipelineSummary

-- | Creates a value of <a>PipelineSummary</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psCreated</a> - The date and time the pipeline was created, in
--   timestamp format.</li>
--   <li><a>psName</a> - The name of the pipeline.</li>
--   <li><a>psVersion</a> - The version number of the pipeline.</li>
--   <li><a>psUpdated</a> - The date and time of the last update to the
--   pipeline, in timestamp format.</li>
--   </ul>
pipelineSummary :: PipelineSummary

-- | The date and time the pipeline was created, in timestamp format.
psCreated :: Lens' PipelineSummary (Maybe UTCTime)

-- | The name of the pipeline.
psName :: Lens' PipelineSummary (Maybe Text)

-- | The version number of the pipeline.
psVersion :: Lens' PipelineSummary (Maybe Natural)

-- | The date and time of the last update to the pipeline, in timestamp
--   format.
psUpdated :: Lens' PipelineSummary (Maybe UTCTime)

-- | The location of the Amazon S3 bucket that contains a revision.
--   
--   <i>See:</i> <a>s3ArtifactLocation</a> smart constructor.
data S3ArtifactLocation

-- | Creates a value of <a>S3ArtifactLocation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>salBucketName</a> - The name of the Amazon S3 bucket.</li>
--   <li><a>salObjectKey</a> - The key of the object in the Amazon S3
--   bucket, which uniquely identifies the object in the bucket.</li>
--   </ul>
s3ArtifactLocation :: Text -> Text -> S3ArtifactLocation

-- | The name of the Amazon S3 bucket.
salBucketName :: Lens' S3ArtifactLocation Text

-- | The key of the object in the Amazon S3 bucket, which uniquely
--   identifies the object in the bucket.
salObjectKey :: Lens' S3ArtifactLocation Text

-- | Represents information about a stage to a job worker.
--   
--   <i>See:</i> <a>stageContext</a> smart constructor.
data StageContext

-- | Creates a value of <a>StageContext</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>scName</a> - The name of the stage.</li>
--   </ul>
stageContext :: StageContext

-- | The name of the stage.
scName :: Lens' StageContext (Maybe Text)

-- | Represents information about a stage and its definition.
--   
--   <i>See:</i> <a>stageDeclaration</a> smart constructor.
data StageDeclaration

-- | Creates a value of <a>StageDeclaration</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdBlockers</a> - Reserved for future use.</li>
--   <li><a>sdName</a> - The name of the stage.</li>
--   <li><a>sdActions</a> - The actions included in a stage.</li>
--   </ul>
stageDeclaration :: Text -> StageDeclaration

-- | Reserved for future use.
sdBlockers :: Lens' StageDeclaration [BlockerDeclaration]

-- | The name of the stage.
sdName :: Lens' StageDeclaration Text

-- | The actions included in a stage.
sdActions :: Lens' StageDeclaration [ActionDeclaration]

-- | Represents information about the run of a stage.
--   
--   <i>See:</i> <a>stageExecution</a> smart constructor.
data StageExecution

-- | Creates a value of <a>StageExecution</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sePipelineExecutionId</a> - The ID of the pipeline execution
--   associated with the stage.</li>
--   <li><a>seStatus</a> - The status of the stage, or for a completed
--   stage, the last status of the stage.</li>
--   </ul>
stageExecution :: Text -> StageExecutionStatus -> StageExecution

-- | The ID of the pipeline execution associated with the stage.
sePipelineExecutionId :: Lens' StageExecution Text

-- | The status of the stage, or for a completed stage, the last status of
--   the stage.
seStatus :: Lens' StageExecution StageExecutionStatus

-- | Represents information about the state of the stage.
--   
--   <i>See:</i> <a>stageState</a> smart constructor.
data StageState

-- | Creates a value of <a>StageState</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ssInboundTransitionState</a> - The state of the inbound
--   transition, which is either enabled or disabled.</li>
--   <li><a>ssActionStates</a> - The state of the stage.</li>
--   <li><a>ssStageName</a> - The name of the stage.</li>
--   <li><a>ssLatestExecution</a> - Information about the latest execution
--   in the stage, including its ID and status.</li>
--   </ul>
stageState :: StageState

-- | The state of the inbound transition, which is either enabled or
--   disabled.
ssInboundTransitionState :: Lens' StageState (Maybe TransitionState)

-- | The state of the stage.
ssActionStates :: Lens' StageState [ActionState]

-- | The name of the stage.
ssStageName :: Lens' StageState (Maybe Text)

-- | Information about the latest execution in the stage, including its ID
--   and status.
ssLatestExecution :: Lens' StageState (Maybe StageExecution)

-- | A response to a PollForThirdPartyJobs request returned by AWS
--   CodePipeline when there is a job to be worked upon by a partner
--   action.
--   
--   <i>See:</i> <a>thirdPartyJob</a> smart constructor.
data ThirdPartyJob

-- | Creates a value of <a>ThirdPartyJob</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tpjClientId</a> - 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.</li>
--   <li><a>tpjJobId</a> - The identifier used to identify the job in AWS
--   CodePipeline.</li>
--   </ul>
thirdPartyJob :: ThirdPartyJob

-- | 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.
tpjClientId :: Lens' ThirdPartyJob (Maybe Text)

-- | The identifier used to identify the job in AWS CodePipeline.
tpjJobId :: Lens' ThirdPartyJob (Maybe Text)

-- | Represents information about the job data for a partner action.
--   
--   <i>See:</i> <a>thirdPartyJobData</a> smart constructor.
data ThirdPartyJobData

-- | Creates a value of <a>ThirdPartyJobData</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tpjdContinuationToken</a> - A system-generated token, such as a
--   AWS CodeDeploy deployment ID, that a job requires in order to continue
--   the job asynchronously.</li>
--   <li><a>tpjdOutputArtifacts</a> - The name of the artifact that will be
--   the result of the action, if any. This name might be system-generated,
--   such as <a>MyBuiltApp</a>, or might be defined by the user when the
--   action is created.</li>
--   <li><a>tpjdArtifactCredentials</a> - Undocumented member.</li>
--   <li><a>tpjdPipelineContext</a> - Undocumented member.</li>
--   <li><a>tpjdEncryptionKey</a> - The encryption key used to encrypt and
--   decrypt data in the artifact store for the pipeline, such as an AWS
--   Key Management Service (AWS KMS) key. This is optional and might not
--   be present.</li>
--   <li><a>tpjdActionTypeId</a> - Undocumented member.</li>
--   <li><a>tpjdInputArtifacts</a> - The name of the artifact that will be
--   worked upon by the action, if any. This name might be
--   system-generated, such as <a>MyApp</a>, or might be defined by the
--   user when the action is created. The input artifact name must match
--   the name of an output artifact generated by an action in an earlier
--   action or stage of the pipeline.</li>
--   <li><a>tpjdActionConfiguration</a> - Undocumented member.</li>
--   </ul>
thirdPartyJobData :: ThirdPartyJobData

-- | A system-generated token, such as a AWS CodeDeploy deployment ID, that
--   a job requires in order to continue the job asynchronously.
tpjdContinuationToken :: Lens' ThirdPartyJobData (Maybe Text)

-- | The name of the artifact that will be the result of the action, if
--   any. This name might be system-generated, such as <a>MyBuiltApp</a>,
--   or might be defined by the user when the action is created.
tpjdOutputArtifacts :: Lens' ThirdPartyJobData [Artifact]

-- | Undocumented member.
tpjdArtifactCredentials :: Lens' ThirdPartyJobData (Maybe AWSSessionCredentials)

-- | Undocumented member.
tpjdPipelineContext :: Lens' ThirdPartyJobData (Maybe PipelineContext)

-- | The encryption key used to encrypt and decrypt data in the artifact
--   store for the pipeline, such as an AWS Key Management Service (AWS
--   KMS) key. This is optional and might not be present.
tpjdEncryptionKey :: Lens' ThirdPartyJobData (Maybe EncryptionKey)

-- | Undocumented member.
tpjdActionTypeId :: Lens' ThirdPartyJobData (Maybe ActionTypeId)

-- | The name of the artifact that will be worked upon by the action, if
--   any. This name might be system-generated, such as <a>MyApp</a>, or
--   might be defined by the user when the action is created. The input
--   artifact name must match the name of an output artifact generated by
--   an action in an earlier action or stage of the pipeline.
tpjdInputArtifacts :: Lens' ThirdPartyJobData [Artifact]

-- | Undocumented member.
tpjdActionConfiguration :: Lens' ThirdPartyJobData (Maybe ActionConfiguration)

-- | The details of a job sent in response to a GetThirdPartyJobDetails
--   request.
--   
--   <i>See:</i> <a>thirdPartyJobDetails</a> smart constructor.
data ThirdPartyJobDetails

-- | Creates a value of <a>ThirdPartyJobDetails</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tpjdData</a> - The data to be returned by the third party job
--   worker.</li>
--   <li><a>tpjdId</a> - The identifier used to identify the job details in
--   AWS CodePipeline.</li>
--   <li><a>tpjdNonce</a> - A system-generated random number that AWS
--   CodePipeline uses to ensure that the job is being worked on by only
--   one job worker. This number must be returned in the response.</li>
--   </ul>
thirdPartyJobDetails :: ThirdPartyJobDetails

-- | The data to be returned by the third party job worker.
tpjdData :: Lens' ThirdPartyJobDetails (Maybe ThirdPartyJobData)

-- | The identifier used to identify the job details in AWS CodePipeline.
tpjdId :: Lens' ThirdPartyJobDetails (Maybe Text)

-- | A system-generated random number that AWS CodePipeline uses to ensure
--   that the job is being worked on by only one job worker. This number
--   must be returned in the response.
tpjdNonce :: Lens' ThirdPartyJobDetails (Maybe Text)

-- | Represents information about the state of transitions between one
--   stage and another stage.
--   
--   <i>See:</i> <a>transitionState</a> smart constructor.
data TransitionState

-- | Creates a value of <a>TransitionState</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tsEnabled</a> - Whether the transition between stages is
--   enabled (true) or disabled (false).</li>
--   <li><a>tsDisabledReason</a> - The user-specified reason why the
--   transition between two stages of a pipeline was disabled.</li>
--   <li><a>tsLastChangedAt</a> - The timestamp when the transition state
--   was last changed.</li>
--   <li><a>tsLastChangedBy</a> - The ID of the user who last changed the
--   transition state.</li>
--   </ul>
transitionState :: TransitionState

-- | Whether the transition between stages is enabled (true) or disabled
--   (false).
tsEnabled :: Lens' TransitionState (Maybe Bool)

-- | The user-specified reason why the transition between two stages of a
--   pipeline was disabled.
tsDisabledReason :: Lens' TransitionState (Maybe Text)

-- | The timestamp when the transition state was last changed.
tsLastChangedAt :: Lens' TransitionState (Maybe UTCTime)

-- | The ID of the user who last changed the transition state.
tsLastChangedBy :: Lens' TransitionState (Maybe Text)
