-- 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.6.0


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 authentication type is in an invalid format.
_InvalidWebhookAuthenticationParametersException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified webhook was entered in an invalid format or cannot be
--   found.
_WebhookNotFoundException :: 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 event filter rule is in an invalid format.
_InvalidWebhookFilterPatternException :: 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
data WebhookAuthenticationType
GithubHmac :: WebhookAuthenticationType
IP :: WebhookAuthenticationType
Unauthenticated :: WebhookAuthenticationType

-- | 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 property 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 property 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> - Represents information about the
--   version (or revision) of an action.</li>
--   <li><a>asLatestExecution</a> - Represents information about the run of
--   an action.</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)

-- | Represents information about the version (or revision) of an action.
asCurrentRevision :: Lens' ActionState (Maybe ActionRevision)

-- | Represents information about the run of an action.
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> - Represents information about an action type.</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]

-- | Represents information about an action type.
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 describes the action
--   version.</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 describes the action version.
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 bucket where artifacts are stored for the pipeline.
--   
--   <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 Amazon S3 bucket used for storing the
--   artifacts for a pipeline. You can specify the name of an S3 bucket but
--   not a folder within the bucket. A folder to contain the pipeline
--   artifacts is created for you based on the name of the pipeline. You
--   can use any Amazon S3 bucket in the same AWS Region as the pipeline to
--   store your pipeline artifacts.</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 Amazon S3 bucket used for storing the artifacts for a pipeline.
--   You can specify the name of an S3 bucket but not a folder within the
--   bucket. A folder to contain the pipeline artifacts is created for you
--   based on the name of the pipeline. You can use any Amazon S3 bucket in
--   the same AWS Region as the pipeline to store your pipeline artifacts.
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. Use this number in an <tt>AcknowledgeJob</tt>
--   request.</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. Use this
--   number in an <tt>AcknowledgeJob</tt> request.
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> - 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.</li>
--   <li><a>jdPipelineContext</a> - Represents information about a pipeline
--   to a job worker.</li>
--   <li><a>jdEncryptionKey</a> - Represents information about the key used
--   to encrypt data in the artifact store, such as an AWS Key Management
--   Service (AWS KMS) key.</li>
--   <li><a>jdActionTypeId</a> - Represents information about an action
--   type.</li>
--   <li><a>jdInputArtifacts</a> - The artifact supplied to the job.</li>
--   <li><a>jdActionConfiguration</a> - Represents information about an
--   action configuration.</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]

-- | 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.
jdArtifactCredentials :: Lens' JobData (Maybe AWSSessionCredentials)

-- | Represents information about a pipeline to a job worker.
jdPipelineContext :: Lens' JobData (Maybe PipelineContext)

-- | Represents information about the key used to encrypt data in the
--   artifact store, such as an AWS Key Management Service (AWS KMS) key.
jdEncryptionKey :: Lens' JobData (Maybe EncryptionKey)

-- | Represents information about an action type.
jdActionTypeId :: Lens' JobData (Maybe ActionTypeId)

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

-- | Represents information about an action configuration.
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> - Represents additional information about a job
--   required for a job worker to complete the job.</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

-- | Represents additional information about a job required for a job
--   worker to complete the job.
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)

-- | The detail returned for each webhook after listing webhooks, such as
--   the webhook URL, the webhook name, and the webhook ARN.
--   
--   <i>See:</i> <a>listWebhookItem</a> smart constructor.
data ListWebhookItem

-- | Creates a value of <a>ListWebhookItem</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>lwiArn</a> - The Amazon Resource Name (ARN) of the
--   webhook.</li>
--   <li><a>lwiErrorCode</a> - The number code of the error.</li>
--   <li><a>lwiLastTriggered</a> - The date and time a webhook was last
--   successfully triggered, in timestamp format.</li>
--   <li><a>lwiErrorMessage</a> - The text of the error message about the
--   webhook.</li>
--   <li><a>lwiDefinition</a> - The detail returned for each webhook, such
--   as the webhook authentication type and filter rules.</li>
--   <li><a>lwiUrl</a> - A unique URL generated by CodePipeline. When a
--   POST request is made to this URL, the defined pipeline is started as
--   long as the body of the post request satisfies the defined
--   authentication and filtering conditions. Deleting and re-creating a
--   webhook will make the old URL invalid and generate a new URL.</li>
--   </ul>
listWebhookItem :: WebhookDefinition -> Text -> ListWebhookItem

-- | The Amazon Resource Name (ARN) of the webhook.
lwiArn :: Lens' ListWebhookItem (Maybe Text)

-- | The number code of the error.
lwiErrorCode :: Lens' ListWebhookItem (Maybe Text)

-- | The date and time a webhook was last successfully triggered, in
--   timestamp format.
lwiLastTriggered :: Lens' ListWebhookItem (Maybe UTCTime)

-- | The text of the error message about the webhook.
lwiErrorMessage :: Lens' ListWebhookItem (Maybe Text)

-- | The detail returned for each webhook, such as the webhook
--   authentication type and filter rules.
lwiDefinition :: Lens' ListWebhookItem WebhookDefinition

-- | A unique URL generated by CodePipeline. When a POST request is made to
--   this URL, the defined pipeline is started as long as the body of the
--   post request satisfies the defined authentication and filtering
--   conditions. Deleting and re-creating a webhook will make the old URL
--   invalid and generate a new URL.
lwiUrl :: Lens' ListWebhookItem 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> - The context of an action to a job worker within
--   the stage of a pipeline.</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)

-- | The context of an action to a job worker within the stage of a
--   pipeline.
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> - Represents information about the Amazon
--   S3 bucket where artifacts are stored for the pipeline.</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

-- | Represents information about the Amazon S3 bucket where artifacts are
--   stored for the pipeline.
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 was completed successfully. * Superseded: While
--   this pipeline execution was waiting for the next stage to be
--   completed, a newer pipeline execution advanced and continued through
--   the pipeline instead. * Failed: The pipeline execution was not
--   completed 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
--   was completed successfully. * Superseded: While this pipeline
--   execution was waiting for the next stage to be completed, a newer
--   pipeline execution advanced and continued through the pipeline
--   instead. * Failed: The pipeline execution was not completed
--   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]

-- | Summary information about a pipeline execution.
--   
--   <i>See:</i> <a>pipelineExecutionSummary</a> smart constructor.
data PipelineExecutionSummary

-- | Creates a value of <a>PipelineExecutionSummary</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>pesStatus</a> - The status of the pipeline execution. *
--   InProgress: The pipeline execution is currently running. * Succeeded:
--   The pipeline execution was completed successfully. * Superseded: While
--   this pipeline execution was waiting for the next stage to be
--   completed, a newer pipeline execution advanced and continued through
--   the pipeline instead. * Failed: The pipeline execution was not
--   completed successfully.</li>
--   <li><a>pesStartTime</a> - The date and time when the pipeline
--   execution began, in timestamp format.</li>
--   <li><a>pesPipelineExecutionId</a> - The ID of the pipeline
--   execution.</li>
--   <li><a>pesSourceRevisions</a> - Undocumented member.</li>
--   <li><a>pesLastUpdateTime</a> - The date and time of the last change to
--   the pipeline execution, in timestamp format.</li>
--   </ul>
pipelineExecutionSummary :: PipelineExecutionSummary

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

-- | The date and time when the pipeline execution began, in timestamp
--   format.
pesStartTime :: Lens' PipelineExecutionSummary (Maybe UTCTime)

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

-- | Undocumented member.
pesSourceRevisions :: Lens' PipelineExecutionSummary [SourceRevision]

-- | The date and time of the last change to the pipeline execution, in
--   timestamp format.
pesLastUpdateTime :: Lens' PipelineExecutionSummary (Maybe UTCTime)

-- | Information about a pipeline.
--   
--   <i>See:</i> <a>pipelineMetadata</a> smart constructor.
data PipelineMetadata

-- | Creates a value of <a>PipelineMetadata</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>pmCreated</a> - The date and time the pipeline was created, in
--   timestamp format.</li>
--   <li><a>pmPipelineARN</a> - The Amazon Resource Name (ARN) of the
--   pipeline.</li>
--   <li><a>pmUpdated</a> - The date and time the pipeline was last
--   updated, in timestamp format.</li>
--   </ul>
pipelineMetadata :: PipelineMetadata

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

-- | The Amazon Resource Name (ARN) of the pipeline.
pmPipelineARN :: Lens' PipelineMetadata (Maybe Text)

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

-- | 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

-- | <i>See:</i> <a>sourceRevision</a> smart constructor.
data SourceRevision

-- | Creates a value of <a>SourceRevision</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>srRevisionSummary</a> - Undocumented member.</li>
--   <li><a>srRevisionURL</a> - Undocumented member.</li>
--   <li><a>srRevisionId</a> - Undocumented member.</li>
--   <li><a>srActionName</a> - Undocumented member.</li>
--   </ul>
sourceRevision :: Text -> SourceRevision

-- | Undocumented member.
srRevisionSummary :: Lens' SourceRevision (Maybe Text)

-- | Undocumented member.
srRevisionURL :: Lens' SourceRevision (Maybe Text)

-- | Undocumented member.
srRevisionId :: Lens' SourceRevision (Maybe Text)

-- | Undocumented member.
srActionName :: Lens' SourceRevision 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> - 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.</li>
--   <li><a>tpjdPipelineContext</a> - Represents information about a
--   pipeline to a job worker.</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> - Represents information about an action
--   type.</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> - Represents information about an
--   action configuration.</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]

-- | 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.
tpjdArtifactCredentials :: Lens' ThirdPartyJobData (Maybe AWSSessionCredentials)

-- | Represents information about a pipeline to a job worker.
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)

-- | Represents information about an action type.
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]

-- | Represents information about an action configuration.
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. Use this number in an
--   <tt>AcknowledgeThirdPartyJob</tt> request.</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. Use this
--   number in an <tt>AcknowledgeThirdPartyJob</tt> request.
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)

-- | <i>See:</i> <a>webhookAuthConfiguration</a> smart constructor.
data WebhookAuthConfiguration

-- | Creates a value of <a>WebhookAuthConfiguration</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>wacAllowedIPRange</a> - Undocumented member.</li>
--   <li><a>wacSecretToken</a> - Undocumented member.</li>
--   </ul>
webhookAuthConfiguration :: WebhookAuthConfiguration

-- | Undocumented member.
wacAllowedIPRange :: Lens' WebhookAuthConfiguration (Maybe Text)

-- | Undocumented member.
wacSecretToken :: Lens' WebhookAuthConfiguration (Maybe Text)

-- | Represents information about a webhook and its definition.
--   
--   <i>See:</i> <a>webhookDefinition</a> smart constructor.
data WebhookDefinition

-- | Creates a value of <a>WebhookDefinition</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>wdName</a> - The name of the webhook.</li>
--   <li><a>wdTargetPipeline</a> - The name of the pipeline you want to
--   connect to the webhook.</li>
--   <li><a>wdTargetAction</a> - The name of the action in a pipeline you
--   want to connect to the webhook. The action must be from the source
--   (first) stage of the pipeline.</li>
--   <li><a>wdFilters</a> - A list of rules applied to the body/payload
--   sent in the POST request to a webhook URL. All defined rules must pass
--   for the request to be accepted and the pipeline started.</li>
--   <li><a>wdAuthentication</a> - Supported options are GITHUB_HMAC, IP
--   and UNAUTHENTICATED. * GITHUB_HMAC implements the authentication
--   scheme described here:
--   <a>https://developer.github.com/webhooks/securing/</a> * IP will
--   reject webhooks trigger requests unless they originate from an IP
--   within the IP range whitelisted in the authentication configuration. *
--   UNAUTHENTICATED will accept all webhook trigger requests regardless of
--   origin.</li>
--   <li><a>wdAuthenticationConfiguration</a> - Properties that configure
--   the authentication applied to incoming webhook trigger requests. The
--   required properties depend on the authentication type. For
--   GITHUB_HMAC, only the SecretToken property must be set. For IP, only
--   the AllowedIPRange property must be set to a valid CIDR range. For
--   UNAUTHENTICATED, no properties can be set.</li>
--   </ul>
webhookDefinition :: Text -> Text -> Text -> WebhookAuthenticationType -> WebhookAuthConfiguration -> WebhookDefinition

-- | The name of the webhook.
wdName :: Lens' WebhookDefinition Text

-- | The name of the pipeline you want to connect to the webhook.
wdTargetPipeline :: Lens' WebhookDefinition Text

-- | The name of the action in a pipeline you want to connect to the
--   webhook. The action must be from the source (first) stage of the
--   pipeline.
wdTargetAction :: Lens' WebhookDefinition Text

-- | A list of rules applied to the body/payload sent in the POST request
--   to a webhook URL. All defined rules must pass for the request to be
--   accepted and the pipeline started.
wdFilters :: Lens' WebhookDefinition [WebhookFilterRule]

-- | Supported options are GITHUB_HMAC, IP and UNAUTHENTICATED. *
--   GITHUB_HMAC implements the authentication scheme described here:
--   <a>https://developer.github.com/webhooks/securing/</a> * IP will
--   reject webhooks trigger requests unless they originate from an IP
--   within the IP range whitelisted in the authentication configuration. *
--   UNAUTHENTICATED will accept all webhook trigger requests regardless of
--   origin.
wdAuthentication :: Lens' WebhookDefinition WebhookAuthenticationType

-- | Properties that configure the authentication applied to incoming
--   webhook trigger requests. The required properties depend on the
--   authentication type. For GITHUB_HMAC, only the SecretToken property
--   must be set. For IP, only the AllowedIPRange property must be set to a
--   valid CIDR range. For UNAUTHENTICATED, no properties can be set.
wdAuthenticationConfiguration :: Lens' WebhookDefinition WebhookAuthConfiguration

-- | The event criteria that specify when a webhook notification is sent to
--   your URL.
--   
--   <i>See:</i> <a>webhookFilterRule</a> smart constructor.
data WebhookFilterRule

-- | Creates a value of <a>WebhookFilterRule</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>wfrMatchEquals</a> - The value selected by the JsonPath
--   expression must match what is supplied in the MatchEquals field,
--   otherwise the request will be ignored. Properties from the target
--   action configuration can be included as placeholders in this value by
--   surrounding the action configuration key with curly braces. For
--   example, if the value supplied here is "refs<i>heads</i>{Branch}" and
--   the target action has an action configuration property called
--   <a>Branch</a> with a value of "master", the MatchEquals value will be
--   evaluated as "refs<i>heads</i>master". A list of action configuration
--   properties for built-in action types can be found here: <a>Pipeline
--   Structure Reference Action Requirements</a> .</li>
--   <li><a>wfrJsonPath</a> - A JsonPath expression that will be applied to
--   the body<i>payload of the webhook. The value selected by JsonPath
--   expression must match the value specified in the matchEquals field,
--   otherwise the request will be ignored. More information on JsonPath
--   expressions can be found here:
--   https:</i><i>github.com</i>json-path/JsonPath.</li>
--   </ul>
webhookFilterRule :: Text -> WebhookFilterRule

-- | The value selected by the JsonPath expression must match what is
--   supplied in the MatchEquals field, otherwise the request will be
--   ignored. Properties from the target action configuration can be
--   included as placeholders in this value by surrounding the action
--   configuration key with curly braces. For example, if the value
--   supplied here is "refs<i>heads</i>{Branch}" and the target action has
--   an action configuration property called <a>Branch</a> with a value of
--   "master", the MatchEquals value will be evaluated as
--   "refs<i>heads</i>master". A list of action configuration properties
--   for built-in action types can be found here: <a>Pipeline Structure
--   Reference Action Requirements</a> .
wfrMatchEquals :: Lens' WebhookFilterRule (Maybe Text)

-- | A JsonPath expression that will be applied to the body<i>payload of
--   the webhook. The value selected by JsonPath expression must match the
--   value specified in the matchEquals field, otherwise the request will
--   be ignored. More information on JsonPath expressions can be found
--   here: https:</i><i>github.com</i>json-path/JsonPath.
wfrJsonPath :: Lens' WebhookFilterRule Text


-- | 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 StartPipelineExecution 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 StartPipelineExecution 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.StartPipelineExecution.StartPipelineExecutionResponse
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


-- | 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 RetryStageExecution 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 RetryStageExecution 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.RetryStageExecution.RetryStageExecutionResponse
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


-- | Configures a connection between the webhook that was created and the
--   external tool with events to be detected.
module Network.AWS.CodePipeline.RegisterWebhookWithThirdParty

-- | Creates a value of <a>RegisterWebhookWithThirdParty</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>rwwtpWebhookName</a> - The name of an existing webhook created
--   with PutWebhook to register with a supported third party.</li>
--   </ul>
registerWebhookWithThirdParty :: RegisterWebhookWithThirdParty

-- | <i>See:</i> <a>registerWebhookWithThirdParty</a> smart constructor.
data RegisterWebhookWithThirdParty

-- | The name of an existing webhook created with PutWebhook to register
--   with a supported third party.
rwwtpWebhookName :: Lens' RegisterWebhookWithThirdParty (Maybe Text)

-- | Creates a value of <a>RegisterWebhookWithThirdPartyResponse</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>rwwtprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
registerWebhookWithThirdPartyResponse :: Int -> RegisterWebhookWithThirdPartyResponse

-- | <i>See:</i> <a>registerWebhookWithThirdPartyResponse</a> smart
--   constructor.
data RegisterWebhookWithThirdPartyResponse

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


-- | Defines a webhook and returns a unique webhook URL generated by
--   CodePipeline. This URL can be supplied to third party source hosting
--   providers to call every time there's a code change. When CodePipeline
--   receives a POST request on this URL, the pipeline defined in the
--   webhook is started as long as the POST request satisfied the
--   authentication and filtering requirements supplied when defining the
--   webhook. RegisterWebhookWithThirdParty and
--   DeregisterWebhookWithThirdParty APIs can be used to automatically
--   configure supported third parties to call the generated webhook URL.
module Network.AWS.CodePipeline.PutWebhook

-- | Creates a value of <a>PutWebhook</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>pwWebhook</a> - The detail provided in an input file to create
--   the webhook, such as the webhook name, the pipeline name, and the
--   action name. Give the webhook a unique name which identifies the
--   webhook being defined. You may choose to name the webhook after the
--   pipeline and action it targets so that you can easily recognize what
--   it's used for later.</li>
--   </ul>
putWebhook :: WebhookDefinition -> PutWebhook

-- | <i>See:</i> <a>putWebhook</a> smart constructor.
data PutWebhook

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

-- | Creates a value of <a>PutWebhookResponse</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>pwrsWebhook</a> - The detail returned from creating the
--   webhook, such as the webhook name, webhook URL, and webhook ARN.</li>
--   <li><a>pwrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putWebhookResponse :: Int -> PutWebhookResponse

-- | <i>See:</i> <a>putWebhookResponse</a> smart constructor.
data PutWebhookResponse

-- | The detail returned from creating the webhook, such as the webhook
--   name, webhook URL, and webhook ARN.
pwrsWebhook :: Lens' PutWebhookResponse (Maybe ListWebhookItem)

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


-- | 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> - The details of the actions taken
--   and results produced on an artifact as it passes through stages in the
--   pipeline.</li>
--   <li><a>ptpjsrCurrentRevision</a> - Represents information about a
--   current revision.</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 PutThirdPartyJobSuccessResult 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)

-- | The details of the actions taken and results produced on an artifact
--   as it passes through stages in the pipeline.
ptpjsrExecutionDetails :: Lens' PutThirdPartyJobSuccessResult (Maybe ExecutionDetails)

-- | Represents information about a current revision.
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 Control.DeepSeq.NFData Network.AWS.CodePipeline.PutThirdPartyJobSuccessResult.PutThirdPartyJobSuccessResultResponse
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


-- | 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> - Represents information about failure
--   details.</li>
--   </ul>
putThirdPartyJobFailureResult :: Text -> Text -> FailureDetails -> PutThirdPartyJobFailureResult

-- | Represents the input of a PutThirdPartyJobFailureResult 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

-- | Represents information about failure details.
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 Control.DeepSeq.NFData Network.AWS.CodePipeline.PutThirdPartyJobFailureResult.PutThirdPartyJobFailureResultResponse
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


-- | 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 PutJobSuccessResult 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.PutJobSuccessResult.PutJobSuccessResultResponse
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


-- | 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 PutJobFailureResult 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.PutJobFailureResult.PutJobFailureResultResponse
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


-- | 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 PutApprovalResult 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 PutApprovalResult 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.PutApprovalResult.PutApprovalResultResponse
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


-- | 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> - Represents information about the version
--   (or revision) of an action.</li>
--   </ul>
putActionRevision :: Text -> Text -> Text -> ActionRevision -> PutActionRevision

-- | Represents the input of a PutActionRevision 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

-- | Represents information about the version (or revision) of an action.
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 PutActionRevision 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.PutActionRevision.PutActionRevisionResponse
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


-- | 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> - Represents information about an action
--   type.</li>
--   </ul>
pollForThirdPartyJobs :: ActionTypeId -> PollForThirdPartyJobs

-- | Represents the input of a PollForThirdPartyJobs 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)

-- | Represents information about an action type.
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 PollForThirdPartyJobs 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.PollForThirdPartyJobs.PollForThirdPartyJobsResponse
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


-- | Returns information about any jobs for AWS CodePipeline to act upon.
--   PollForJobs is only valid for action types with <a>Custom</a> in the
--   owner field. If the action type contains <a>AWS</a> or
--   <a>ThirdParty</a> in the owner field, the PollForJobs action returns
--   an error.
--   
--   <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> - Represents information about an action
--   type.</li>
--   </ul>
pollForJobs :: ActionTypeId -> PollForJobs

-- | Represents the input of a PollForJobs 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)

-- | Represents information about an action type.
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 PollForJobs 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.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 Control.DeepSeq.NFData Network.AWS.CodePipeline.PollForJobs.PollForJobsResponse
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


-- | Gets a listing of all the webhooks in this region for this account.
--   The output lists all webhooks and includes the webhook URL and ARN, as
--   well the configuration for each webhook.
module Network.AWS.CodePipeline.ListWebhooks

-- | Creates a value of <a>ListWebhooks</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>lwNextToken</a> - The token that was returned from the previous
--   ListWebhooks call, which can be used to return the next set of
--   webhooks in the list.</li>
--   <li><a>lwMaxResults</a> - The maximum number of results to return in a
--   single call. To retrieve the remaining results, make another call with
--   the returned nextToken value.</li>
--   </ul>
listWebhooks :: ListWebhooks

-- | <i>See:</i> <a>listWebhooks</a> smart constructor.
data ListWebhooks

-- | The token that was returned from the previous ListWebhooks call, which
--   can be used to return the next set of webhooks in the list.
lwNextToken :: Lens' ListWebhooks (Maybe Text)

-- | The maximum number of results to return in a single call. To retrieve
--   the remaining results, make another call with the returned nextToken
--   value.
lwMaxResults :: Lens' ListWebhooks (Maybe Natural)

-- | Creates a value of <a>ListWebhooksResponse</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>lwrsNextToken</a> - If the amount of returned information is
--   significantly large, an identifier is also returned and can be used in
--   a subsequent ListWebhooks call to return the next set of webhooks in
--   the list.</li>
--   <li><a>lwrsWebhooks</a> - The JSON detail returned for each webhook in
--   the list output for the ListWebhooks call.</li>
--   <li><a>lwrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listWebhooksResponse :: Int -> ListWebhooksResponse

-- | <i>See:</i> <a>listWebhooksResponse</a> smart constructor.
data ListWebhooksResponse

-- | If the amount of returned information is significantly large, an
--   identifier is also returned and can be used in a subsequent
--   ListWebhooks call to return the next set of webhooks in the list.
lwrsNextToken :: Lens' ListWebhooksResponse (Maybe Text)

-- | The JSON detail returned for each webhook in the list output for the
--   ListWebhooks call.
lwrsWebhooks :: Lens' ListWebhooksResponse [ListWebhookItem]

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


-- | 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 ListPipelines 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 ListPipelines 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.ListPipelines.ListPipelinesResponse
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


-- | Gets a summary of the most recent executions for a pipeline.
module Network.AWS.CodePipeline.ListPipelineExecutions

-- | Creates a value of <a>ListPipelineExecutions</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>lpeNextToken</a> - The token that was returned from the
--   previous ListPipelineExecutions call, which can be used to return the
--   next set of pipeline executions in the list.</li>
--   <li><a>lpeMaxResults</a> - The maximum number of results to return in
--   a single call. To retrieve the remaining results, make another call
--   with the returned nextToken value. The available pipeline execution
--   history is limited to the most recent 12 months, based on pipeline
--   execution start times. Default value is 100.</li>
--   <li><a>lpePipelineName</a> - The name of the pipeline for which you
--   want to get execution summary information.</li>
--   </ul>
listPipelineExecutions :: Text -> ListPipelineExecutions

-- | Represents the input of a ListPipelineExecutions action.
--   
--   <i>See:</i> <a>listPipelineExecutions</a> smart constructor.
data ListPipelineExecutions

-- | The token that was returned from the previous ListPipelineExecutions
--   call, which can be used to return the next set of pipeline executions
--   in the list.
lpeNextToken :: Lens' ListPipelineExecutions (Maybe Text)

-- | The maximum number of results to return in a single call. To retrieve
--   the remaining results, make another call with the returned nextToken
--   value. The available pipeline execution history is limited to the most
--   recent 12 months, based on pipeline execution start times. Default
--   value is 100.
lpeMaxResults :: Lens' ListPipelineExecutions (Maybe Natural)

-- | The name of the pipeline for which you want to get execution summary
--   information.
lpePipelineName :: Lens' ListPipelineExecutions Text

-- | Creates a value of <a>ListPipelineExecutionsResponse</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>lpersNextToken</a> - A token that can be used in the next
--   ListPipelineExecutions call. To view all items in the list, continue
--   to call this operation with each subsequent token until no more
--   nextToken values are returned.</li>
--   <li><a>lpersPipelineExecutionSummaries</a> - A list of executions in
--   the history of a pipeline.</li>
--   <li><a>lpersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listPipelineExecutionsResponse :: Int -> ListPipelineExecutionsResponse

-- | Represents the output of a ListPipelineExecutions action.
--   
--   <i>See:</i> <a>listPipelineExecutionsResponse</a> smart constructor.
data ListPipelineExecutionsResponse

-- | A token that can be used in the next ListPipelineExecutions call. To
--   view all items in the list, continue to call this operation with each
--   subsequent token until no more nextToken values are returned.
lpersNextToken :: Lens' ListPipelineExecutionsResponse (Maybe Text)

-- | A list of executions in the history of a pipeline.
lpersPipelineExecutionSummaries :: Lens' ListPipelineExecutionsResponse [PipelineExecutionSummary]

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


-- | 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 ListActionTypes 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 ListActionTypes 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.ListActionTypes.ListActionTypesResponse
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


-- | 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 GetThirdPartyJobDetails 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 GetThirdPartyJobDetails 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.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 Control.DeepSeq.NFData Network.AWS.CodePipeline.GetThirdPartyJobDetails.GetThirdPartyJobDetailsResponse
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


-- | 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 GetPipelineState 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 GetPipelineState 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.GetPipelineState.GetPipelineStateResponse
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


-- | 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 GetPipelineExecution 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 GetPipelineExecution 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.GetPipelineExecution.GetPipelineExecutionResponse
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


-- | 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 GetPipeline 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> - Represents the structure of actions and
--   stages to be performed in the pipeline.</li>
--   <li><a>gprsMetadata</a> - Represents the pipeline metadata information
--   returned as part of the output of a GetPipeline action.</li>
--   <li><a>gprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getPipelineResponse :: Int -> GetPipelineResponse

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

-- | Represents the structure of actions and stages to be performed in the
--   pipeline.
gprsPipeline :: Lens' GetPipelineResponse (Maybe PipelineDeclaration)

-- | Represents the pipeline metadata information returned as part of the
--   output of a GetPipeline action.
gprsMetadata :: Lens' GetPipelineResponse (Maybe PipelineMetadata)

-- | <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 Control.DeepSeq.NFData Network.AWS.CodePipeline.GetPipeline.GetPipelineResponse
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


-- | 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 GetJobDetails 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 GetJobDetails 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.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 Control.DeepSeq.NFData Network.AWS.CodePipeline.GetJobDetails.GetJobDetailsResponse
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


-- | 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 EnableStageTransition 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.EnableStageTransition.EnableStageTransitionResponse
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


-- | 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 DisableStageTransition 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.DisableStageTransition.DisableStageTransitionResponse
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


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

-- | Creates a value of <a>DeregisterWebhookWithThirdParty</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>dwwtpWebhookName</a> - The name of the webhook you want to
--   deregister.</li>
--   </ul>
deregisterWebhookWithThirdParty :: DeregisterWebhookWithThirdParty

-- | <i>See:</i> <a>deregisterWebhookWithThirdParty</a> smart constructor.
data DeregisterWebhookWithThirdParty

-- | The name of the webhook you want to deregister.
dwwtpWebhookName :: Lens' DeregisterWebhookWithThirdParty (Maybe Text)

-- | Creates a value of <a>DeregisterWebhookWithThirdPartyResponse</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>dwwtprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deregisterWebhookWithThirdPartyResponse :: Int -> DeregisterWebhookWithThirdPartyResponse

-- | <i>See:</i> <a>deregisterWebhookWithThirdPartyResponse</a> smart
--   constructor.
data DeregisterWebhookWithThirdPartyResponse

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


-- | Deletes a previously created webhook by name. Deleting the webhook
--   stops AWS CodePipeline from starting a pipeline every time an external
--   event occurs. The API will return successfully when trying to delete a
--   webhook that is already deleted. If a deleted webhook is re-created by
--   calling PutWebhook with the same name, it will have a different URL.
module Network.AWS.CodePipeline.DeleteWebhook

-- | Creates a value of <a>DeleteWebhook</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>dwName</a> - The name of the webhook you want to delete.</li>
--   </ul>
deleteWebhook :: Text -> DeleteWebhook

-- | <i>See:</i> <a>deleteWebhook</a> smart constructor.
data DeleteWebhook

-- | The name of the webhook you want to delete.
dwName :: Lens' DeleteWebhook Text

-- | Creates a value of <a>DeleteWebhookResponse</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>dwrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteWebhookResponse :: Int -> DeleteWebhookResponse

-- | <i>See:</i> <a>deleteWebhookResponse</a> smart constructor.
data DeleteWebhookResponse

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


-- | 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 DeletePipeline 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.DeletePipeline.DeletePipelineResponse
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


-- | 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> To re-create a custom action after it has been
--   deleted you must use a string in the version field that has never been
--   used before. This string can be an incremented version number, for
--   example. To restore a deleted custom action, use a JSON file that is
--   identical to the deleted action, including the original string in the
--   version field.
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 DeleteCustomActionType 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.DeleteCustomActionType.DeleteCustomActionTypeResponse
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


-- | 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> - Represents the structure of actions and stages
--   to be performed in the pipeline.</li>
--   </ul>
createPipeline :: PipelineDeclaration -> CreatePipeline

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

-- | Represents the structure of actions and stages to be performed in the
--   pipeline.
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> - Represents the structure of actions and
--   stages to be performed in the pipeline.</li>
--   <li><a>cprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createPipelineResponse :: Int -> CreatePipelineResponse

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

-- | Represents the structure of actions and stages to be performed in the
--   pipeline.
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 Control.DeepSeq.NFData Network.AWS.CodePipeline.CreatePipeline.CreatePipelineResponse
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


-- | 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> - Returns information about the settings for
--   an action type.</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> - The details of the input
--   artifact for the action, such as its commit ID.</li>
--   <li><a>ccatOutputArtifactDetails</a> - The details of the output
--   artifact of the action, such as its commit ID.</li>
--   </ul>
createCustomActionType :: ActionCategory -> Text -> Text -> ArtifactDetails -> ArtifactDetails -> CreateCustomActionType

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

-- | Returns information about the settings for an action type.
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

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

-- | The details of the output artifact of the action, such as its commit
--   ID.
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> - Returns information about the details of
--   an action type.</li>
--   </ul>
createCustomActionTypeResponse :: Int -> ActionType -> CreateCustomActionTypeResponse

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

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

-- | Returns information about the details of an action type.
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 Control.DeepSeq.NFData Network.AWS.CodePipeline.CreateCustomActionType.CreateCustomActionTypeResponse
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


-- | 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. Get this number from the response to a
--   <tt>GetThirdPartyJobDetails</tt> request.</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 AcknowledgeThirdPartyJob 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. Get this
--   number from the response to a <tt>GetThirdPartyJobDetails</tt>
--   request.
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 AcknowledgeThirdPartyJob 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.AcknowledgeThirdPartyJob.AcknowledgeThirdPartyJobResponse
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


-- | 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. Get this number from the response of the
--   <tt>PollForJobs</tt> request that returned this job.</li>
--   </ul>
acknowledgeJob :: Text -> Text -> AcknowledgeJob

-- | Represents the input of an AcknowledgeJob 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. Get this
--   number from the response of the <tt>PollForJobs</tt> request that
--   returned this job.
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 AcknowledgeJob 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.AcknowledgeJob.AcknowledgeJobResponse
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


-- | 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 UpdatePipeline 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 UpdatePipeline 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 Control.DeepSeq.NFData Network.AWS.CodePipeline.UpdatePipeline.UpdatePipelineResponse
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


module Network.AWS.CodePipeline.Waiters


-- | <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, and transitions, as described below.
--   
--   <i>Pipelines</i> are models of automated release processes. Each
--   pipeline is uniquely named, and consists of stages, actions, and
--   transitions.
--   
--   You can work with pipelines by calling:
--   
--   <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 the pipeline
--   structure and pipeline metadata, including the pipeline Amazon
--   Resource Name (ARN).</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>ListPipelineExecutions</a> , which gets a summary of the most
--   recent executions for a pipeline.</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> . 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> .
--   Valid action categories are:
--   
--   <ul>
--   <li>Source</li>
--   <li>Build</li>
--   <li>Test</li>
--   <li>Deploy</li>
--   <li>Approval</li>
--   <li>Invoke</li>
--   </ul>
--   
--   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 authentication type is in an invalid format.
_InvalidWebhookAuthenticationParametersException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified webhook was entered in an invalid format or cannot be
--   found.
_WebhookNotFoundException :: 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 event filter rule is in an invalid format.
_InvalidWebhookFilterPatternException :: 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
data WebhookAuthenticationType
GithubHmac :: WebhookAuthenticationType
IP :: WebhookAuthenticationType
Unauthenticated :: WebhookAuthenticationType

-- | 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 property 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 property 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> - Represents information about the
--   version (or revision) of an action.</li>
--   <li><a>asLatestExecution</a> - Represents information about the run of
--   an action.</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)

-- | Represents information about the version (or revision) of an action.
asCurrentRevision :: Lens' ActionState (Maybe ActionRevision)

-- | Represents information about the run of an action.
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> - Represents information about an action type.</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]

-- | Represents information about an action type.
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 describes the action
--   version.</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 describes the action version.
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 bucket where artifacts are stored for the pipeline.
--   
--   <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 Amazon S3 bucket used for storing the
--   artifacts for a pipeline. You can specify the name of an S3 bucket but
--   not a folder within the bucket. A folder to contain the pipeline
--   artifacts is created for you based on the name of the pipeline. You
--   can use any Amazon S3 bucket in the same AWS Region as the pipeline to
--   store your pipeline artifacts.</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 Amazon S3 bucket used for storing the artifacts for a pipeline.
--   You can specify the name of an S3 bucket but not a folder within the
--   bucket. A folder to contain the pipeline artifacts is created for you
--   based on the name of the pipeline. You can use any Amazon S3 bucket in
--   the same AWS Region as the pipeline to store your pipeline artifacts.
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. Use this number in an <tt>AcknowledgeJob</tt>
--   request.</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. Use this
--   number in an <tt>AcknowledgeJob</tt> request.
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> - 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.</li>
--   <li><a>jdPipelineContext</a> - Represents information about a pipeline
--   to a job worker.</li>
--   <li><a>jdEncryptionKey</a> - Represents information about the key used
--   to encrypt data in the artifact store, such as an AWS Key Management
--   Service (AWS KMS) key.</li>
--   <li><a>jdActionTypeId</a> - Represents information about an action
--   type.</li>
--   <li><a>jdInputArtifacts</a> - The artifact supplied to the job.</li>
--   <li><a>jdActionConfiguration</a> - Represents information about an
--   action configuration.</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]

-- | 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.
jdArtifactCredentials :: Lens' JobData (Maybe AWSSessionCredentials)

-- | Represents information about a pipeline to a job worker.
jdPipelineContext :: Lens' JobData (Maybe PipelineContext)

-- | Represents information about the key used to encrypt data in the
--   artifact store, such as an AWS Key Management Service (AWS KMS) key.
jdEncryptionKey :: Lens' JobData (Maybe EncryptionKey)

-- | Represents information about an action type.
jdActionTypeId :: Lens' JobData (Maybe ActionTypeId)

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

-- | Represents information about an action configuration.
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> - Represents additional information about a job
--   required for a job worker to complete the job.</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

-- | Represents additional information about a job required for a job
--   worker to complete the job.
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)

-- | The detail returned for each webhook after listing webhooks, such as
--   the webhook URL, the webhook name, and the webhook ARN.
--   
--   <i>See:</i> <a>listWebhookItem</a> smart constructor.
data ListWebhookItem

-- | Creates a value of <a>ListWebhookItem</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>lwiArn</a> - The Amazon Resource Name (ARN) of the
--   webhook.</li>
--   <li><a>lwiErrorCode</a> - The number code of the error.</li>
--   <li><a>lwiLastTriggered</a> - The date and time a webhook was last
--   successfully triggered, in timestamp format.</li>
--   <li><a>lwiErrorMessage</a> - The text of the error message about the
--   webhook.</li>
--   <li><a>lwiDefinition</a> - The detail returned for each webhook, such
--   as the webhook authentication type and filter rules.</li>
--   <li><a>lwiUrl</a> - A unique URL generated by CodePipeline. When a
--   POST request is made to this URL, the defined pipeline is started as
--   long as the body of the post request satisfies the defined
--   authentication and filtering conditions. Deleting and re-creating a
--   webhook will make the old URL invalid and generate a new URL.</li>
--   </ul>
listWebhookItem :: WebhookDefinition -> Text -> ListWebhookItem

-- | The Amazon Resource Name (ARN) of the webhook.
lwiArn :: Lens' ListWebhookItem (Maybe Text)

-- | The number code of the error.
lwiErrorCode :: Lens' ListWebhookItem (Maybe Text)

-- | The date and time a webhook was last successfully triggered, in
--   timestamp format.
lwiLastTriggered :: Lens' ListWebhookItem (Maybe UTCTime)

-- | The text of the error message about the webhook.
lwiErrorMessage :: Lens' ListWebhookItem (Maybe Text)

-- | The detail returned for each webhook, such as the webhook
--   authentication type and filter rules.
lwiDefinition :: Lens' ListWebhookItem WebhookDefinition

-- | A unique URL generated by CodePipeline. When a POST request is made to
--   this URL, the defined pipeline is started as long as the body of the
--   post request satisfies the defined authentication and filtering
--   conditions. Deleting and re-creating a webhook will make the old URL
--   invalid and generate a new URL.
lwiUrl :: Lens' ListWebhookItem 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> - The context of an action to a job worker within
--   the stage of a pipeline.</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)

-- | The context of an action to a job worker within the stage of a
--   pipeline.
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> - Represents information about the Amazon
--   S3 bucket where artifacts are stored for the pipeline.</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

-- | Represents information about the Amazon S3 bucket where artifacts are
--   stored for the pipeline.
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 was completed successfully. * Superseded: While
--   this pipeline execution was waiting for the next stage to be
--   completed, a newer pipeline execution advanced and continued through
--   the pipeline instead. * Failed: The pipeline execution was not
--   completed 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
--   was completed successfully. * Superseded: While this pipeline
--   execution was waiting for the next stage to be completed, a newer
--   pipeline execution advanced and continued through the pipeline
--   instead. * Failed: The pipeline execution was not completed
--   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]

-- | Summary information about a pipeline execution.
--   
--   <i>See:</i> <a>pipelineExecutionSummary</a> smart constructor.
data PipelineExecutionSummary

-- | Creates a value of <a>PipelineExecutionSummary</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>pesStatus</a> - The status of the pipeline execution. *
--   InProgress: The pipeline execution is currently running. * Succeeded:
--   The pipeline execution was completed successfully. * Superseded: While
--   this pipeline execution was waiting for the next stage to be
--   completed, a newer pipeline execution advanced and continued through
--   the pipeline instead. * Failed: The pipeline execution was not
--   completed successfully.</li>
--   <li><a>pesStartTime</a> - The date and time when the pipeline
--   execution began, in timestamp format.</li>
--   <li><a>pesPipelineExecutionId</a> - The ID of the pipeline
--   execution.</li>
--   <li><a>pesSourceRevisions</a> - Undocumented member.</li>
--   <li><a>pesLastUpdateTime</a> - The date and time of the last change to
--   the pipeline execution, in timestamp format.</li>
--   </ul>
pipelineExecutionSummary :: PipelineExecutionSummary

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

-- | The date and time when the pipeline execution began, in timestamp
--   format.
pesStartTime :: Lens' PipelineExecutionSummary (Maybe UTCTime)

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

-- | Undocumented member.
pesSourceRevisions :: Lens' PipelineExecutionSummary [SourceRevision]

-- | The date and time of the last change to the pipeline execution, in
--   timestamp format.
pesLastUpdateTime :: Lens' PipelineExecutionSummary (Maybe UTCTime)

-- | Information about a pipeline.
--   
--   <i>See:</i> <a>pipelineMetadata</a> smart constructor.
data PipelineMetadata

-- | Creates a value of <a>PipelineMetadata</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>pmCreated</a> - The date and time the pipeline was created, in
--   timestamp format.</li>
--   <li><a>pmPipelineARN</a> - The Amazon Resource Name (ARN) of the
--   pipeline.</li>
--   <li><a>pmUpdated</a> - The date and time the pipeline was last
--   updated, in timestamp format.</li>
--   </ul>
pipelineMetadata :: PipelineMetadata

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

-- | The Amazon Resource Name (ARN) of the pipeline.
pmPipelineARN :: Lens' PipelineMetadata (Maybe Text)

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

-- | 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

-- | <i>See:</i> <a>sourceRevision</a> smart constructor.
data SourceRevision

-- | Creates a value of <a>SourceRevision</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>srRevisionSummary</a> - Undocumented member.</li>
--   <li><a>srRevisionURL</a> - Undocumented member.</li>
--   <li><a>srRevisionId</a> - Undocumented member.</li>
--   <li><a>srActionName</a> - Undocumented member.</li>
--   </ul>
sourceRevision :: Text -> SourceRevision

-- | Undocumented member.
srRevisionSummary :: Lens' SourceRevision (Maybe Text)

-- | Undocumented member.
srRevisionURL :: Lens' SourceRevision (Maybe Text)

-- | Undocumented member.
srRevisionId :: Lens' SourceRevision (Maybe Text)

-- | Undocumented member.
srActionName :: Lens' SourceRevision 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> - 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.</li>
--   <li><a>tpjdPipelineContext</a> - Represents information about a
--   pipeline to a job worker.</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> - Represents information about an action
--   type.</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> - Represents information about an
--   action configuration.</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]

-- | 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.
tpjdArtifactCredentials :: Lens' ThirdPartyJobData (Maybe AWSSessionCredentials)

-- | Represents information about a pipeline to a job worker.
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)

-- | Represents information about an action type.
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]

-- | Represents information about an action configuration.
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. Use this number in an
--   <tt>AcknowledgeThirdPartyJob</tt> request.</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. Use this
--   number in an <tt>AcknowledgeThirdPartyJob</tt> request.
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)

-- | <i>See:</i> <a>webhookAuthConfiguration</a> smart constructor.
data WebhookAuthConfiguration

-- | Creates a value of <a>WebhookAuthConfiguration</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>wacAllowedIPRange</a> - Undocumented member.</li>
--   <li><a>wacSecretToken</a> - Undocumented member.</li>
--   </ul>
webhookAuthConfiguration :: WebhookAuthConfiguration

-- | Undocumented member.
wacAllowedIPRange :: Lens' WebhookAuthConfiguration (Maybe Text)

-- | Undocumented member.
wacSecretToken :: Lens' WebhookAuthConfiguration (Maybe Text)

-- | Represents information about a webhook and its definition.
--   
--   <i>See:</i> <a>webhookDefinition</a> smart constructor.
data WebhookDefinition

-- | Creates a value of <a>WebhookDefinition</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>wdName</a> - The name of the webhook.</li>
--   <li><a>wdTargetPipeline</a> - The name of the pipeline you want to
--   connect to the webhook.</li>
--   <li><a>wdTargetAction</a> - The name of the action in a pipeline you
--   want to connect to the webhook. The action must be from the source
--   (first) stage of the pipeline.</li>
--   <li><a>wdFilters</a> - A list of rules applied to the body/payload
--   sent in the POST request to a webhook URL. All defined rules must pass
--   for the request to be accepted and the pipeline started.</li>
--   <li><a>wdAuthentication</a> - Supported options are GITHUB_HMAC, IP
--   and UNAUTHENTICATED. * GITHUB_HMAC implements the authentication
--   scheme described here:
--   <a>https://developer.github.com/webhooks/securing/</a> * IP will
--   reject webhooks trigger requests unless they originate from an IP
--   within the IP range whitelisted in the authentication configuration. *
--   UNAUTHENTICATED will accept all webhook trigger requests regardless of
--   origin.</li>
--   <li><a>wdAuthenticationConfiguration</a> - Properties that configure
--   the authentication applied to incoming webhook trigger requests. The
--   required properties depend on the authentication type. For
--   GITHUB_HMAC, only the SecretToken property must be set. For IP, only
--   the AllowedIPRange property must be set to a valid CIDR range. For
--   UNAUTHENTICATED, no properties can be set.</li>
--   </ul>
webhookDefinition :: Text -> Text -> Text -> WebhookAuthenticationType -> WebhookAuthConfiguration -> WebhookDefinition

-- | The name of the webhook.
wdName :: Lens' WebhookDefinition Text

-- | The name of the pipeline you want to connect to the webhook.
wdTargetPipeline :: Lens' WebhookDefinition Text

-- | The name of the action in a pipeline you want to connect to the
--   webhook. The action must be from the source (first) stage of the
--   pipeline.
wdTargetAction :: Lens' WebhookDefinition Text

-- | A list of rules applied to the body/payload sent in the POST request
--   to a webhook URL. All defined rules must pass for the request to be
--   accepted and the pipeline started.
wdFilters :: Lens' WebhookDefinition [WebhookFilterRule]

-- | Supported options are GITHUB_HMAC, IP and UNAUTHENTICATED. *
--   GITHUB_HMAC implements the authentication scheme described here:
--   <a>https://developer.github.com/webhooks/securing/</a> * IP will
--   reject webhooks trigger requests unless they originate from an IP
--   within the IP range whitelisted in the authentication configuration. *
--   UNAUTHENTICATED will accept all webhook trigger requests regardless of
--   origin.
wdAuthentication :: Lens' WebhookDefinition WebhookAuthenticationType

-- | Properties that configure the authentication applied to incoming
--   webhook trigger requests. The required properties depend on the
--   authentication type. For GITHUB_HMAC, only the SecretToken property
--   must be set. For IP, only the AllowedIPRange property must be set to a
--   valid CIDR range. For UNAUTHENTICATED, no properties can be set.
wdAuthenticationConfiguration :: Lens' WebhookDefinition WebhookAuthConfiguration

-- | The event criteria that specify when a webhook notification is sent to
--   your URL.
--   
--   <i>See:</i> <a>webhookFilterRule</a> smart constructor.
data WebhookFilterRule

-- | Creates a value of <a>WebhookFilterRule</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>wfrMatchEquals</a> - The value selected by the JsonPath
--   expression must match what is supplied in the MatchEquals field,
--   otherwise the request will be ignored. Properties from the target
--   action configuration can be included as placeholders in this value by
--   surrounding the action configuration key with curly braces. For
--   example, if the value supplied here is "refs<i>heads</i>{Branch}" and
--   the target action has an action configuration property called
--   <a>Branch</a> with a value of "master", the MatchEquals value will be
--   evaluated as "refs<i>heads</i>master". A list of action configuration
--   properties for built-in action types can be found here: <a>Pipeline
--   Structure Reference Action Requirements</a> .</li>
--   <li><a>wfrJsonPath</a> - A JsonPath expression that will be applied to
--   the body<i>payload of the webhook. The value selected by JsonPath
--   expression must match the value specified in the matchEquals field,
--   otherwise the request will be ignored. More information on JsonPath
--   expressions can be found here:
--   https:</i><i>github.com</i>json-path/JsonPath.</li>
--   </ul>
webhookFilterRule :: Text -> WebhookFilterRule

-- | The value selected by the JsonPath expression must match what is
--   supplied in the MatchEquals field, otherwise the request will be
--   ignored. Properties from the target action configuration can be
--   included as placeholders in this value by surrounding the action
--   configuration key with curly braces. For example, if the value
--   supplied here is "refs<i>heads</i>{Branch}" and the target action has
--   an action configuration property called <a>Branch</a> with a value of
--   "master", the MatchEquals value will be evaluated as
--   "refs<i>heads</i>master". A list of action configuration properties
--   for built-in action types can be found here: <a>Pipeline Structure
--   Reference Action Requirements</a> .
wfrMatchEquals :: Lens' WebhookFilterRule (Maybe Text)

-- | A JsonPath expression that will be applied to the body<i>payload of
--   the webhook. The value selected by JsonPath expression must match the
--   value specified in the matchEquals field, otherwise the request will
--   be ignored. More information on JsonPath expressions can be found
--   here: https:</i><i>github.com</i>json-path/JsonPath.
wfrJsonPath :: Lens' WebhookFilterRule Text
