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


-- | Amazon EC2 Container Registry 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.ECR</a> or <a>the AWS documentation</a> to get
--   started.
@package amazonka-ecr
@version 1.6.1


module Network.AWS.ECR.Types

-- | API version <tt>2015-09-21</tt> of the Amazon EC2 Container Registry
--   SDK configuration.
ecr :: Service

-- | The specified layers could not be found, or the specified layer is not
--   valid for this repository.
_LayersNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified parameter is invalid. Review the available parameters
--   for the API request.
_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The image layer already exists in the associated repository.
_LayerAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | These errors are usually caused by a server-side issue.
_ServerException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified layer is not available because it is not associated with
--   an image. Unassociated image layers may be cleaned up at any time.
_LayerInaccessibleException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The layer digest calculation performed by Amazon ECR upon receipt of
--   the image layer does not match the digest specified.
_InvalidLayerException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Layer parts must be at least 5 MiB in size.
_LayerPartTooSmallException :: AsError a => Getting (First ServiceError) a ServiceError

-- | There is no dry run for this repository.
_LifecyclePolicyPreviewNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The image requested does not exist in the specified repository.
_ImageNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified image has already been pushed, and there were no changes
--   to the manifest or image tag after the last push.
_ImageAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified repository could not be found. Check the spelling of the
--   specified repository and ensure that you are performing operations on
--   the correct registry.
_RepositoryNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The previous lifecycle policy preview request has not completed.
--   Please try again later.
_LifecyclePolicyPreviewInProgressException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The upload could not be found, or the specified upload id is not valid
--   for this repository.
_UploadNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The lifecycle policy could not be found, and no policy is set to the
--   repository.
_LifecyclePolicyNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The layer part size is not valid, or the first byte specified is not
--   consecutive to the last byte of a previous layer part upload.
_InvalidLayerPartException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified repository contains images. To delete a repository that
--   contains images, you must force the deletion with the <tt>force</tt>
--   parameter.
_RepositoryNotEmptyException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified repository already exists in the specified registry.
_RepositoryAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified repository and registry combination does not have an
--   associated repository policy.
_RepositoryPolicyNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified layer upload does not contain any layer parts.
_EmptyUploadException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The operation did not succeed because it would have exceeded a service
--   limit for your account. For more information, see <a>Amazon ECR
--   Default Service Limits</a> in the Amazon Elastic Container Registry
--   User Guide.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
data ImageActionType
Expire :: ImageActionType
data ImageFailureCode
ImageNotFound :: ImageFailureCode
ImageTagDoesNotMatchDigest :: ImageFailureCode
InvalidImageDigest :: ImageFailureCode
InvalidImageTag :: ImageFailureCode
MissingDigestAndTag :: ImageFailureCode
data LayerAvailability
Available :: LayerAvailability
Unavailable :: LayerAvailability
data LayerFailureCode
InvalidLayerDigest :: LayerFailureCode
MissingLayerDigest :: LayerFailureCode
data LifecyclePolicyPreviewStatus
Complete :: LifecyclePolicyPreviewStatus
Expired :: LifecyclePolicyPreviewStatus
Failed :: LifecyclePolicyPreviewStatus
InProgress :: LifecyclePolicyPreviewStatus
data TagStatus
Tagged :: TagStatus
Untagged :: TagStatus

-- | An object representing authorization data for an Amazon ECR registry.
--   
--   <i>See:</i> <a>authorizationData</a> smart constructor.
data AuthorizationData

-- | Creates a value of <a>AuthorizationData</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adExpiresAt</a> - The Unix time in seconds and milliseconds
--   when the authorization token expires. Authorization tokens are valid
--   for 12 hours.</li>
--   <li><a>adProxyEndpoint</a> - The registry URL to use for this
--   authorization token in a <tt>docker login</tt> command. The Amazon ECR
--   registry URL format is
--   <tt><a>https://aws_account_id.dkr.ecr.region.amazonaws.com</a></tt> .
--   For example,
--   <tt><a>https://012345678910.dkr.ecr.us-east-1.amazonaws.com</a></tt>
--   ..</li>
--   <li><a>adAuthorizationToken</a> - A base64-encoded string that
--   contains authorization data for the specified Amazon ECR registry.
--   When the string is decoded, it is presented in the format
--   <tt>user:password</tt> for private registry authentication using
--   <tt>docker login</tt> .</li>
--   </ul>
authorizationData :: AuthorizationData

-- | The Unix time in seconds and milliseconds when the authorization token
--   expires. Authorization tokens are valid for 12 hours.
adExpiresAt :: Lens' AuthorizationData (Maybe UTCTime)

-- | The registry URL to use for this authorization token in a <tt>docker
--   login</tt> command. The Amazon ECR registry URL format is
--   <tt><a>https://aws_account_id.dkr.ecr.region.amazonaws.com</a></tt> .
--   For example,
--   <tt><a>https://012345678910.dkr.ecr.us-east-1.amazonaws.com</a></tt>
--   ..
adProxyEndpoint :: Lens' AuthorizationData (Maybe Text)

-- | A base64-encoded string that contains authorization data for the
--   specified Amazon ECR registry. When the string is decoded, it is
--   presented in the format <tt>user:password</tt> for private registry
--   authentication using <tt>docker login</tt> .
adAuthorizationToken :: Lens' AuthorizationData (Maybe Text)

-- | An object representing a filter on a <tt>DescribeImages</tt>
--   operation.
--   
--   <i>See:</i> <a>describeImagesFilter</a> smart constructor.
data DescribeImagesFilter

-- | Creates a value of <a>DescribeImagesFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>difTagStatus</a> - The tag status with which to filter your
--   <tt>DescribeImages</tt> results. You can filter results based on
--   whether they are <tt>TAGGED</tt> or <tt>UNTAGGED</tt> .</li>
--   </ul>
describeImagesFilter :: DescribeImagesFilter

-- | The tag status with which to filter your <tt>DescribeImages</tt>
--   results. You can filter results based on whether they are
--   <tt>TAGGED</tt> or <tt>UNTAGGED</tt> .
difTagStatus :: Lens' DescribeImagesFilter (Maybe TagStatus)

-- | An object representing an Amazon ECR image.
--   
--   <i>See:</i> <a>image</a> smart constructor.
data Image

-- | Creates a value of <a>Image</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iRegistryId</a> - The AWS account ID associated with the
--   registry containing the image.</li>
--   <li><a>iImageId</a> - An object containing the image tag and image
--   digest associated with an image.</li>
--   <li><a>iRepositoryName</a> - The name of the repository associated
--   with the image.</li>
--   <li><a>iImageManifest</a> - The image manifest associated with the
--   image.</li>
--   </ul>
image :: Image

-- | The AWS account ID associated with the registry containing the image.
iRegistryId :: Lens' Image (Maybe Text)

-- | An object containing the image tag and image digest associated with an
--   image.
iImageId :: Lens' Image (Maybe ImageIdentifier)

-- | The name of the repository associated with the image.
iRepositoryName :: Lens' Image (Maybe Text)

-- | The image manifest associated with the image.
iImageManifest :: Lens' Image (Maybe Text)

-- | An object that describes an image returned by a
--   <tt>DescribeImages</tt> operation.
--   
--   <i>See:</i> <a>imageDetail</a> smart constructor.
data ImageDetail

-- | Creates a value of <a>ImageDetail</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>idRegistryId</a> - The AWS account ID associated with the
--   registry to which this image belongs.</li>
--   <li><a>idImageTags</a> - The list of tags associated with this
--   image.</li>
--   <li><a>idImageSizeInBytes</a> - The size, in bytes, of the image in
--   the repository.</li>
--   <li><a>idImageDigest</a> - The <tt>sha256</tt> digest of the image
--   manifest.</li>
--   <li><a>idImagePushedAt</a> - The date and time, expressed in standard
--   JavaScript date format, at which the current image was pushed to the
--   repository.</li>
--   <li><a>idRepositoryName</a> - The name of the repository to which this
--   image belongs.</li>
--   </ul>
imageDetail :: ImageDetail

-- | The AWS account ID associated with the registry to which this image
--   belongs.
idRegistryId :: Lens' ImageDetail (Maybe Text)

-- | The list of tags associated with this image.
idImageTags :: Lens' ImageDetail [Text]

-- | The size, in bytes, of the image in the repository.
idImageSizeInBytes :: Lens' ImageDetail (Maybe Integer)

-- | The <tt>sha256</tt> digest of the image manifest.
idImageDigest :: Lens' ImageDetail (Maybe Text)

-- | The date and time, expressed in standard JavaScript date format, at
--   which the current image was pushed to the repository.
idImagePushedAt :: Lens' ImageDetail (Maybe UTCTime)

-- | The name of the repository to which this image belongs.
idRepositoryName :: Lens' ImageDetail (Maybe Text)

-- | An object representing an Amazon ECR image failure.
--   
--   <i>See:</i> <a>imageFailure</a> smart constructor.
data ImageFailure

-- | Creates a value of <a>ImageFailure</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ifFailureReason</a> - The reason for the failure.</li>
--   <li><a>ifFailureCode</a> - The code associated with the failure.</li>
--   <li><a>ifImageId</a> - The image ID associated with the failure.</li>
--   </ul>
imageFailure :: ImageFailure

-- | The reason for the failure.
ifFailureReason :: Lens' ImageFailure (Maybe Text)

-- | The code associated with the failure.
ifFailureCode :: Lens' ImageFailure (Maybe ImageFailureCode)

-- | The image ID associated with the failure.
ifImageId :: Lens' ImageFailure (Maybe ImageIdentifier)

-- | An object with identifying information for an Amazon ECR image.
--   
--   <i>See:</i> <a>imageIdentifier</a> smart constructor.
data ImageIdentifier

-- | Creates a value of <a>ImageIdentifier</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iiImageDigest</a> - The <tt>sha256</tt> digest of the image
--   manifest.</li>
--   <li><a>iiImageTag</a> - The tag used for the image.</li>
--   </ul>
imageIdentifier :: ImageIdentifier

-- | The <tt>sha256</tt> digest of the image manifest.
iiImageDigest :: Lens' ImageIdentifier (Maybe Text)

-- | The tag used for the image.
iiImageTag :: Lens' ImageIdentifier (Maybe Text)

-- | An object representing an Amazon ECR image layer.
--   
--   <i>See:</i> <a>layer</a> smart constructor.
data Layer

-- | Creates a value of <a>Layer</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lMediaType</a> - The media type of the layer, such as
--   <tt>application/vnd.docker.image.rootfs.diff.tar.gzip</tt> or
--   <tt>application/vnd.oci.image.layer.v1.tar+gzip</tt> .</li>
--   <li><a>lLayerDigest</a> - The <tt>sha256</tt> digest of the image
--   layer.</li>
--   <li><a>lLayerSize</a> - The size, in bytes, of the image layer.</li>
--   <li><a>lLayerAvailability</a> - The availability status of the image
--   layer.</li>
--   </ul>
layer :: Layer

-- | The media type of the layer, such as
--   <tt>application/vnd.docker.image.rootfs.diff.tar.gzip</tt> or
--   <tt>application/vnd.oci.image.layer.v1.tar+gzip</tt> .
lMediaType :: Lens' Layer (Maybe Text)

-- | The <tt>sha256</tt> digest of the image layer.
lLayerDigest :: Lens' Layer (Maybe Text)

-- | The size, in bytes, of the image layer.
lLayerSize :: Lens' Layer (Maybe Integer)

-- | The availability status of the image layer.
lLayerAvailability :: Lens' Layer (Maybe LayerAvailability)

-- | An object representing an Amazon ECR image layer failure.
--   
--   <i>See:</i> <a>layerFailure</a> smart constructor.
data LayerFailure

-- | Creates a value of <a>LayerFailure</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lfFailureReason</a> - The reason for the failure.</li>
--   <li><a>lfFailureCode</a> - The failure code associated with the
--   failure.</li>
--   <li><a>lfLayerDigest</a> - The layer digest associated with the
--   failure.</li>
--   </ul>
layerFailure :: LayerFailure

-- | The reason for the failure.
lfFailureReason :: Lens' LayerFailure (Maybe Text)

-- | The failure code associated with the failure.
lfFailureCode :: Lens' LayerFailure (Maybe LayerFailureCode)

-- | The layer digest associated with the failure.
lfLayerDigest :: Lens' LayerFailure (Maybe Text)

-- | The filter for the lifecycle policy preview.
--   
--   <i>See:</i> <a>lifecyclePolicyPreviewFilter</a> smart constructor.
data LifecyclePolicyPreviewFilter

-- | Creates a value of <a>LifecyclePolicyPreviewFilter</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lppfTagStatus</a> - The tag status of the image.</li>
--   </ul>
lifecyclePolicyPreviewFilter :: LifecyclePolicyPreviewFilter

-- | The tag status of the image.
lppfTagStatus :: Lens' LifecyclePolicyPreviewFilter (Maybe TagStatus)

-- | The result of the lifecycle policy preview.
--   
--   <i>See:</i> <a>lifecyclePolicyPreviewResult</a> smart constructor.
data LifecyclePolicyPreviewResult

-- | Creates a value of <a>LifecyclePolicyPreviewResult</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lpprImageTags</a> - The list of tags associated with this
--   image.</li>
--   <li><a>lpprAction</a> - The type of action to be taken.</li>
--   <li><a>lpprImageDigest</a> - The <tt>sha256</tt> digest of the image
--   manifest.</li>
--   <li><a>lpprImagePushedAt</a> - The date and time, expressed in
--   standard JavaScript date format, at which the current image was pushed
--   to the repository.</li>
--   <li><a>lpprAppliedRulePriority</a> - The priority of the applied
--   rule.</li>
--   </ul>
lifecyclePolicyPreviewResult :: LifecyclePolicyPreviewResult

-- | The list of tags associated with this image.
lpprImageTags :: Lens' LifecyclePolicyPreviewResult [Text]

-- | The type of action to be taken.
lpprAction :: Lens' LifecyclePolicyPreviewResult (Maybe LifecyclePolicyRuleAction)

-- | The <tt>sha256</tt> digest of the image manifest.
lpprImageDigest :: Lens' LifecyclePolicyPreviewResult (Maybe Text)

-- | The date and time, expressed in standard JavaScript date format, at
--   which the current image was pushed to the repository.
lpprImagePushedAt :: Lens' LifecyclePolicyPreviewResult (Maybe UTCTime)

-- | The priority of the applied rule.
lpprAppliedRulePriority :: Lens' LifecyclePolicyPreviewResult (Maybe Natural)

-- | The summary of the lifecycle policy preview request.
--   
--   <i>See:</i> <a>lifecyclePolicyPreviewSummary</a> smart constructor.
data LifecyclePolicyPreviewSummary

-- | Creates a value of <a>LifecyclePolicyPreviewSummary</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lppsExpiringImageTotalCount</a> - The number of expiring
--   images.</li>
--   </ul>
lifecyclePolicyPreviewSummary :: LifecyclePolicyPreviewSummary

-- | The number of expiring images.
lppsExpiringImageTotalCount :: Lens' LifecyclePolicyPreviewSummary (Maybe Natural)

-- | The type of action to be taken.
--   
--   <i>See:</i> <a>lifecyclePolicyRuleAction</a> smart constructor.
data LifecyclePolicyRuleAction

-- | Creates a value of <a>LifecyclePolicyRuleAction</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lpraType</a> - The type of action to be taken.</li>
--   </ul>
lifecyclePolicyRuleAction :: LifecyclePolicyRuleAction

-- | The type of action to be taken.
lpraType :: Lens' LifecyclePolicyRuleAction (Maybe ImageActionType)

-- | An object representing a filter on a <tt>ListImages</tt> operation.
--   
--   <i>See:</i> <a>listImagesFilter</a> smart constructor.
data ListImagesFilter

-- | Creates a value of <a>ListImagesFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lifTagStatus</a> - The tag status with which to filter your
--   <tt>ListImages</tt> results. You can filter results based on whether
--   they are <tt>TAGGED</tt> or <tt>UNTAGGED</tt> .</li>
--   </ul>
listImagesFilter :: ListImagesFilter

-- | The tag status with which to filter your <tt>ListImages</tt> results.
--   You can filter results based on whether they are <tt>TAGGED</tt> or
--   <tt>UNTAGGED</tt> .
lifTagStatus :: Lens' ListImagesFilter (Maybe TagStatus)

-- | An object representing a repository.
--   
--   <i>See:</i> <a>repository</a> smart constructor.
data Repository

-- | Creates a value of <a>Repository</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rRepositoryARN</a> - The Amazon Resource Name (ARN) that
--   identifies the repository. The ARN contains the <tt>arn:aws:ecr</tt>
--   namespace, followed by the region of the repository, AWS account ID of
--   the repository owner, repository namespace, and repository name. For
--   example, <tt>arn:aws:ecr:region:012345678910:repository/test</tt>
--   .</li>
--   <li><a>rCreatedAt</a> - The date and time, in JavaScript date format,
--   when the repository was created.</li>
--   <li><a>rRegistryId</a> - The AWS account ID associated with the
--   registry that contains the repository.</li>
--   <li><a>rRepositoryURI</a> - The URI for the repository. You can use
--   this URI for Docker <tt>push</tt> or <tt>pull</tt> operations.</li>
--   <li><a>rRepositoryName</a> - The name of the repository.</li>
--   </ul>
repository :: Repository

-- | The Amazon Resource Name (ARN) that identifies the repository. The ARN
--   contains the <tt>arn:aws:ecr</tt> namespace, followed by the region of
--   the repository, AWS account ID of the repository owner, repository
--   namespace, and repository name. For example,
--   <tt>arn:aws:ecr:region:012345678910:repository/test</tt> .
rRepositoryARN :: Lens' Repository (Maybe Text)

-- | The date and time, in JavaScript date format, when the repository was
--   created.
rCreatedAt :: Lens' Repository (Maybe UTCTime)

-- | The AWS account ID associated with the registry that contains the
--   repository.
rRegistryId :: Lens' Repository (Maybe Text)

-- | The URI for the repository. You can use this URI for Docker
--   <tt>push</tt> or <tt>pull</tt> operations.
rRepositoryURI :: Lens' Repository (Maybe Text)

-- | The name of the repository.
rRepositoryName :: Lens' Repository (Maybe Text)


-- | Starts a preview of the specified lifecycle policy. This allows you to
--   see the results before creating the lifecycle policy.
module Network.AWS.ECR.StartLifecyclePolicyPreview

-- | Creates a value of <a>StartLifecyclePolicyPreview</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>slppRegistryId</a> - The AWS account ID associated with the
--   registry that contains the repository. If you do not specify a
--   registry, the default registry is assumed.</li>
--   <li><a>slppLifecyclePolicyText</a> - The policy to be evaluated
--   against. If you do not specify a policy, the current policy for the
--   repository is used.</li>
--   <li><a>slppRepositoryName</a> - The name of the repository to be
--   evaluated.</li>
--   </ul>
startLifecyclePolicyPreview :: Text -> StartLifecyclePolicyPreview

-- | <i>See:</i> <a>startLifecyclePolicyPreview</a> smart constructor.
data StartLifecyclePolicyPreview

-- | The AWS account ID associated with the registry that contains the
--   repository. If you do not specify a registry, the default registry is
--   assumed.
slppRegistryId :: Lens' StartLifecyclePolicyPreview (Maybe Text)

-- | The policy to be evaluated against. If you do not specify a policy,
--   the current policy for the repository is used.
slppLifecyclePolicyText :: Lens' StartLifecyclePolicyPreview (Maybe Text)

-- | The name of the repository to be evaluated.
slppRepositoryName :: Lens' StartLifecyclePolicyPreview Text

-- | Creates a value of <a>StartLifecyclePolicyPreviewResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>slpprsStatus</a> - The status of the lifecycle policy preview
--   request.</li>
--   <li><a>slpprsRegistryId</a> - The registry ID associated with the
--   request.</li>
--   <li><a>slpprsLifecyclePolicyText</a> - The JSON repository policy
--   text.</li>
--   <li><a>slpprsRepositoryName</a> - The repository name associated with
--   the request.</li>
--   <li><a>slpprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
startLifecyclePolicyPreviewResponse :: Int -> StartLifecyclePolicyPreviewResponse

-- | <i>See:</i> <a>startLifecyclePolicyPreviewResponse</a> smart
--   constructor.
data StartLifecyclePolicyPreviewResponse

-- | The status of the lifecycle policy preview request.
slpprsStatus :: Lens' StartLifecyclePolicyPreviewResponse (Maybe LifecyclePolicyPreviewStatus)

-- | The registry ID associated with the request.
slpprsRegistryId :: Lens' StartLifecyclePolicyPreviewResponse (Maybe Text)

-- | The JSON repository policy text.
slpprsLifecyclePolicyText :: Lens' StartLifecyclePolicyPreviewResponse (Maybe Text)

-- | The repository name associated with the request.
slpprsRepositoryName :: Lens' StartLifecyclePolicyPreviewResponse (Maybe Text)

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


-- | Applies a repository policy on a specified repository to control
--   access permissions.
module Network.AWS.ECR.SetRepositoryPolicy

-- | Creates a value of <a>SetRepositoryPolicy</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srpForce</a> - If the policy you are attempting to set on a
--   repository policy would prevent you from setting another policy in the
--   future, you must force the <a>SetRepositoryPolicy</a> operation. This
--   is intended to prevent accidental repository lock outs.</li>
--   <li><a>srpRegistryId</a> - The AWS account ID associated with the
--   registry that contains the repository. If you do not specify a
--   registry, the default registry is assumed.</li>
--   <li><a>srpRepositoryName</a> - The name of the repository to receive
--   the policy.</li>
--   <li><a>srpPolicyText</a> - The JSON repository policy text to apply to
--   the repository.</li>
--   </ul>
setRepositoryPolicy :: Text -> Text -> SetRepositoryPolicy

-- | <i>See:</i> <a>setRepositoryPolicy</a> smart constructor.
data SetRepositoryPolicy

-- | If the policy you are attempting to set on a repository policy would
--   prevent you from setting another policy in the future, you must force
--   the <a>SetRepositoryPolicy</a> operation. This is intended to prevent
--   accidental repository lock outs.
srpForce :: Lens' SetRepositoryPolicy (Maybe Bool)

-- | The AWS account ID associated with the registry that contains the
--   repository. If you do not specify a registry, the default registry is
--   assumed.
srpRegistryId :: Lens' SetRepositoryPolicy (Maybe Text)

-- | The name of the repository to receive the policy.
srpRepositoryName :: Lens' SetRepositoryPolicy Text

-- | The JSON repository policy text to apply to the repository.
srpPolicyText :: Lens' SetRepositoryPolicy Text

-- | Creates a value of <a>SetRepositoryPolicyResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srprsRegistryId</a> - The registry ID associated with the
--   request.</li>
--   <li><a>srprsRepositoryName</a> - The repository name associated with
--   the request.</li>
--   <li><a>srprsPolicyText</a> - The JSON repository policy text applied
--   to the repository.</li>
--   <li><a>srprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
setRepositoryPolicyResponse :: Int -> SetRepositoryPolicyResponse

-- | <i>See:</i> <a>setRepositoryPolicyResponse</a> smart constructor.
data SetRepositoryPolicyResponse

-- | The registry ID associated with the request.
srprsRegistryId :: Lens' SetRepositoryPolicyResponse (Maybe Text)

-- | The repository name associated with the request.
srprsRepositoryName :: Lens' SetRepositoryPolicyResponse (Maybe Text)

-- | The JSON repository policy text applied to the repository.
srprsPolicyText :: Lens' SetRepositoryPolicyResponse (Maybe Text)

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


-- | Creates or updates a lifecycle policy. For information about lifecycle
--   policy syntax, see <a>Lifecycle Policy Template</a> .
module Network.AWS.ECR.PutLifecyclePolicy

-- | Creates a value of <a>PutLifecyclePolicy</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>plpRegistryId</a> - The AWS account ID associated with the
--   registry that contains the repository. If you do  not specify a
--   registry, the default registry is assumed.</li>
--   <li><a>plpRepositoryName</a> - The name of the repository to receive
--   the policy.</li>
--   <li><a>plpLifecyclePolicyText</a> - The JSON repository policy text to
--   apply to the repository.</li>
--   </ul>
putLifecyclePolicy :: Text -> Text -> PutLifecyclePolicy

-- | <i>See:</i> <a>putLifecyclePolicy</a> smart constructor.
data PutLifecyclePolicy

-- | The AWS account ID associated with the registry that contains the
--   repository. If you do  not specify a registry, the default registry is
--   assumed.
plpRegistryId :: Lens' PutLifecyclePolicy (Maybe Text)

-- | The name of the repository to receive the policy.
plpRepositoryName :: Lens' PutLifecyclePolicy Text

-- | The JSON repository policy text to apply to the repository.
plpLifecyclePolicyText :: Lens' PutLifecyclePolicy Text

-- | Creates a value of <a>PutLifecyclePolicyResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>plprsRegistryId</a> - The registry ID associated with the
--   request.</li>
--   <li><a>plprsLifecyclePolicyText</a> - The JSON repository policy
--   text.</li>
--   <li><a>plprsRepositoryName</a> - The repository name associated with
--   the request.</li>
--   <li><a>plprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putLifecyclePolicyResponse :: Int -> PutLifecyclePolicyResponse

-- | <i>See:</i> <a>putLifecyclePolicyResponse</a> smart constructor.
data PutLifecyclePolicyResponse

-- | The registry ID associated with the request.
plprsRegistryId :: Lens' PutLifecyclePolicyResponse (Maybe Text)

-- | The JSON repository policy text.
plprsLifecyclePolicyText :: Lens' PutLifecyclePolicyResponse (Maybe Text)

-- | The repository name associated with the request.
plprsRepositoryName :: Lens' PutLifecyclePolicyResponse (Maybe Text)

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


-- | Creates or updates the image manifest and tags associated with an
--   image.
module Network.AWS.ECR.PutImage

-- | Creates a value of <a>PutImage</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>piRegistryId</a> - The AWS account ID associated with the
--   registry that contains the repository in which to put the image. If
--   you do not specify a registry, the default registry is assumed.</li>
--   <li><a>piImageTag</a> - The tag to associate with the image. This
--   parameter is required for images that use the Docker Image Manifest V2
--   Schema 2 or OCI formats.</li>
--   <li><a>piRepositoryName</a> - The name of the repository in which to
--   put the image.</li>
--   <li><a>piImageManifest</a> - The image manifest corresponding to the
--   image to be uploaded.</li>
--   </ul>
putImage :: Text -> Text -> PutImage

-- | <i>See:</i> <a>putImage</a> smart constructor.
data PutImage

-- | The AWS account ID associated with the registry that contains the
--   repository in which to put the image. If you do not specify a
--   registry, the default registry is assumed.
piRegistryId :: Lens' PutImage (Maybe Text)

-- | The tag to associate with the image. This parameter is required for
--   images that use the Docker Image Manifest V2 Schema 2 or OCI formats.
piImageTag :: Lens' PutImage (Maybe Text)

-- | The name of the repository in which to put the image.
piRepositoryName :: Lens' PutImage Text

-- | The image manifest corresponding to the image to be uploaded.
piImageManifest :: Lens' PutImage Text

-- | Creates a value of <a>PutImageResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pirsImage</a> - Details of the image uploaded.</li>
--   <li><a>pirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putImageResponse :: Int -> PutImageResponse

-- | <i>See:</i> <a>putImageResponse</a> smart constructor.
data PutImageResponse

-- | Details of the image uploaded.
pirsImage :: Lens' PutImageResponse (Maybe Image)

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


-- | Lists all the image IDs for a given repository.
--   
--   You can filter images based on whether or not they are tagged by
--   setting the <tt>tagStatus</tt> parameter to <tt>TAGGED</tt> or
--   <tt>UNTAGGED</tt> . For example, you can filter your results to return
--   only <tt>UNTAGGED</tt> images and then pipe that result to a
--   <tt>BatchDeleteImage</tt> operation to delete them. Or, you can filter
--   your results to return only <tt>TAGGED</tt> images to list all of the
--   tags in your repository.
--   
--   This operation returns paginated results.
module Network.AWS.ECR.ListImages

-- | Creates a value of <a>ListImages</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>liRegistryId</a> - The AWS account ID associated with the
--   registry that contains the repository in which to list images. If you
--   do not specify a registry, the default registry is assumed.</li>
--   <li><a>liNextToken</a> - The <tt>nextToken</tt> value returned from a
--   previous paginated <tt>ListImages</tt> request where
--   <tt>maxResults</tt> was used and the results exceeded the value of
--   that parameter. Pagination continues from the end of the previous
--   results that returned the <tt>nextToken</tt> value. This value is
--   <tt>null</tt> when there are no more results to return.</li>
--   <li><a>liFilter</a> - The filter key and value with which to filter
--   your <tt>ListImages</tt> results.</li>
--   <li><a>liMaxResults</a> - The maximum number of image results returned
--   by <tt>ListImages</tt> in paginated output. When this parameter is
--   used, <tt>ListImages</tt> only returns <tt>maxResults</tt> results in
--   a single page along with a <tt>nextToken</tt> response element. The
--   remaining results of the initial request can be seen by sending
--   another <tt>ListImages</tt> request with the returned
--   <tt>nextToken</tt> value. This value can be between 1 and 100. If this
--   parameter is not used, then <tt>ListImages</tt> returns up to 100
--   results and a <tt>nextToken</tt> value, if applicable.</li>
--   <li><a>liRepositoryName</a> - The repository with image IDs to be
--   listed.</li>
--   </ul>
listImages :: Text -> ListImages

-- | <i>See:</i> <a>listImages</a> smart constructor.
data ListImages

-- | The AWS account ID associated with the registry that contains the
--   repository in which to list images. If you do not specify a registry,
--   the default registry is assumed.
liRegistryId :: Lens' ListImages (Maybe Text)

-- | The <tt>nextToken</tt> value returned from a previous paginated
--   <tt>ListImages</tt> request where <tt>maxResults</tt> was used and the
--   results exceeded the value of that parameter. Pagination continues
--   from the end of the previous results that returned the
--   <tt>nextToken</tt> value. This value is <tt>null</tt> when there are
--   no more results to return.
liNextToken :: Lens' ListImages (Maybe Text)

-- | The filter key and value with which to filter your <tt>ListImages</tt>
--   results.
liFilter :: Lens' ListImages (Maybe ListImagesFilter)

-- | The maximum number of image results returned by <tt>ListImages</tt> in
--   paginated output. When this parameter is used, <tt>ListImages</tt>
--   only returns <tt>maxResults</tt> results in a single page along with a
--   <tt>nextToken</tt> response element. The remaining results of the
--   initial request can be seen by sending another <tt>ListImages</tt>
--   request with the returned <tt>nextToken</tt> value. This value can be
--   between 1 and 100. If this parameter is not used, then
--   <tt>ListImages</tt> returns up to 100 results and a <tt>nextToken</tt>
--   value, if applicable.
liMaxResults :: Lens' ListImages (Maybe Natural)

-- | The repository with image IDs to be listed.
liRepositoryName :: Lens' ListImages Text

-- | Creates a value of <a>ListImagesResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lirsImageIds</a> - The list of image IDs for the requested
--   repository.</li>
--   <li><a>lirsNextToken</a> - The <tt>nextToken</tt> value to include in
--   a future <tt>ListImages</tt> request. When the results of a
--   <tt>ListImages</tt> request exceed <tt>maxResults</tt> , this value
--   can be used to retrieve the next page of results. This value is
--   <tt>null</tt> when there are no more results to return.</li>
--   <li><a>lirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listImagesResponse :: Int -> ListImagesResponse

-- | <i>See:</i> <a>listImagesResponse</a> smart constructor.
data ListImagesResponse

-- | The list of image IDs for the requested repository.
lirsImageIds :: Lens' ListImagesResponse [ImageIdentifier]

-- | The <tt>nextToken</tt> value to include in a future
--   <tt>ListImages</tt> request. When the results of a <tt>ListImages</tt>
--   request exceed <tt>maxResults</tt> , this value can be used to
--   retrieve the next page of results. This value is <tt>null</tt> when
--   there are no more results to return.
lirsNextToken :: Lens' ListImagesResponse (Maybe Text)

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


-- | Notify Amazon ECR that you intend to upload an image layer.
module Network.AWS.ECR.InitiateLayerUpload

-- | Creates a value of <a>InitiateLayerUpload</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iluRegistryId</a> - The AWS account ID associated with the
--   registry to which you intend to upload layers. If you do not specify a
--   registry, the default registry is assumed.</li>
--   <li><a>iluRepositoryName</a> - The name of the repository to which you
--   intend to upload layers.</li>
--   </ul>
initiateLayerUpload :: Text -> InitiateLayerUpload

-- | <i>See:</i> <a>initiateLayerUpload</a> smart constructor.
data InitiateLayerUpload

-- | The AWS account ID associated with the registry to which you intend to
--   upload layers. If you do not specify a registry, the default registry
--   is assumed.
iluRegistryId :: Lens' InitiateLayerUpload (Maybe Text)

-- | The name of the repository to which you intend to upload layers.
iluRepositoryName :: Lens' InitiateLayerUpload Text

-- | Creates a value of <a>InitiateLayerUploadResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ilursPartSize</a> - The size, in bytes, that Amazon ECR expects
--   future layer part uploads to be.</li>
--   <li><a>ilursUploadId</a> - The upload ID for the layer upload. This
--   parameter is passed to further <tt>UploadLayerPart</tt> and
--   <tt>CompleteLayerUpload</tt> operations.</li>
--   <li><a>ilursResponseStatus</a> - -- | The response status code.</li>
--   </ul>
initiateLayerUploadResponse :: Int -> InitiateLayerUploadResponse

-- | <i>See:</i> <a>initiateLayerUploadResponse</a> smart constructor.
data InitiateLayerUploadResponse

-- | The size, in bytes, that Amazon ECR expects future layer part uploads
--   to be.
ilursPartSize :: Lens' InitiateLayerUploadResponse (Maybe Natural)

-- | The upload ID for the layer upload. This parameter is passed to
--   further <tt>UploadLayerPart</tt> and <tt>CompleteLayerUpload</tt>
--   operations.
ilursUploadId :: Lens' InitiateLayerUploadResponse (Maybe Text)

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


-- | Retrieves the repository policy for a specified repository.
module Network.AWS.ECR.GetRepositoryPolicy

-- | Creates a value of <a>GetRepositoryPolicy</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>grpRegistryId</a> - The AWS account ID associated with the
--   registry that contains the repository. If you do not specify a
--   registry, the default registry is assumed.</li>
--   <li><a>grpRepositoryName</a> - The name of the repository with the
--   policy to retrieve.</li>
--   </ul>
getRepositoryPolicy :: Text -> GetRepositoryPolicy

-- | <i>See:</i> <a>getRepositoryPolicy</a> smart constructor.
data GetRepositoryPolicy

-- | The AWS account ID associated with the registry that contains the
--   repository. If you do not specify a registry, the default registry is
--   assumed.
grpRegistryId :: Lens' GetRepositoryPolicy (Maybe Text)

-- | The name of the repository with the policy to retrieve.
grpRepositoryName :: Lens' GetRepositoryPolicy Text

-- | Creates a value of <a>GetRepositoryPolicyResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>grprsRegistryId</a> - The registry ID associated with the
--   request.</li>
--   <li><a>grprsRepositoryName</a> - The repository name associated with
--   the request.</li>
--   <li><a>grprsPolicyText</a> - The JSON repository policy text
--   associated with the repository.</li>
--   <li><a>grprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getRepositoryPolicyResponse :: Int -> GetRepositoryPolicyResponse

-- | <i>See:</i> <a>getRepositoryPolicyResponse</a> smart constructor.
data GetRepositoryPolicyResponse

-- | The registry ID associated with the request.
grprsRegistryId :: Lens' GetRepositoryPolicyResponse (Maybe Text)

-- | The repository name associated with the request.
grprsRepositoryName :: Lens' GetRepositoryPolicyResponse (Maybe Text)

-- | The JSON repository policy text associated with the repository.
grprsPolicyText :: Lens' GetRepositoryPolicyResponse (Maybe Text)

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


-- | Retrieves the results of the specified lifecycle policy preview
--   request.
module Network.AWS.ECR.GetLifecyclePolicyPreview

-- | Creates a value of <a>GetLifecyclePolicyPreview</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>glppRegistryId</a> - The AWS account ID associated with the
--   registry that contains the repository. If you do not specify a
--   registry, the default registry is assumed.</li>
--   <li><a>glppImageIds</a> - The list of imageIDs to be included.</li>
--   <li><a>glppNextToken</a> - The <tt>nextToken</tt> value returned from
--   a previous paginated  <tt>GetLifecyclePolicyPreviewRequest</tt>
--   request where <tt>maxResults</tt> was used and the  results exceeded
--   the value of that parameter. Pagination continues from the end of the 
--   previous results that returned the <tt>nextToken</tt> value. This
--   value is  <tt>null</tt> when there are no more results to return. This
--   option cannot be used when you specify images with <tt>imageIds</tt>
--   .</li>
--   <li><a>glppFilter</a> - An optional parameter that filters results
--   based on image tag status and all tags, if tagged.</li>
--   <li><a>glppMaxResults</a> - The maximum number of repository results
--   returned by <tt>GetLifecyclePolicyPreviewRequest</tt> in  paginated
--   output. When this parameter is used,
--   <tt>GetLifecyclePolicyPreviewRequest</tt> only returns 
--   <tt>maxResults</tt> results in a single page along with a
--   <tt>nextToken</tt> response element. The remaining results of the
--   initial request can be seen by sending  another
--   <tt>GetLifecyclePolicyPreviewRequest</tt> request with the returned
--   <tt>nextToken</tt> value. This value can be between 1 and 100. If
--   this  parameter is not used, then
--   <tt>GetLifecyclePolicyPreviewRequest</tt> returns up to  100 results
--   and a <tt>nextToken</tt> value, if  applicable. This option cannot be
--   used when you specify images with <tt>imageIds</tt> .</li>
--   <li><a>glppRepositoryName</a> - The name of the repository.</li>
--   </ul>
getLifecyclePolicyPreview :: Text -> GetLifecyclePolicyPreview

-- | <i>See:</i> <a>getLifecyclePolicyPreview</a> smart constructor.
data GetLifecyclePolicyPreview

-- | The AWS account ID associated with the registry that contains the
--   repository. If you do not specify a registry, the default registry is
--   assumed.
glppRegistryId :: Lens' GetLifecyclePolicyPreview (Maybe Text)

-- | The list of imageIDs to be included.
glppImageIds :: Lens' GetLifecyclePolicyPreview [ImageIdentifier]

-- | The <tt>nextToken</tt> value returned from a previous paginated 
--   <tt>GetLifecyclePolicyPreviewRequest</tt> request where
--   <tt>maxResults</tt> was used and the  results exceeded the value of
--   that parameter. Pagination continues from the end of the  previous
--   results that returned the <tt>nextToken</tt> value. This value is 
--   <tt>null</tt> when there are no more results to return. This option
--   cannot be used when you specify images with <tt>imageIds</tt> .
glppNextToken :: Lens' GetLifecyclePolicyPreview (Maybe Text)

-- | An optional parameter that filters results based on image tag status
--   and all tags, if tagged.
glppFilter :: Lens' GetLifecyclePolicyPreview (Maybe LifecyclePolicyPreviewFilter)

-- | The maximum number of repository results returned by
--   <tt>GetLifecyclePolicyPreviewRequest</tt> in  paginated output. When
--   this parameter is used, <tt>GetLifecyclePolicyPreviewRequest</tt> only
--   returns  <tt>maxResults</tt> results in a single page along with a
--   <tt>nextToken</tt> response element. The remaining results of the
--   initial request can be seen by sending  another
--   <tt>GetLifecyclePolicyPreviewRequest</tt> request with the returned
--   <tt>nextToken</tt> value. This value can be between 1 and 100. If
--   this  parameter is not used, then
--   <tt>GetLifecyclePolicyPreviewRequest</tt> returns up to  100 results
--   and a <tt>nextToken</tt> value, if  applicable. This option cannot be
--   used when you specify images with <tt>imageIds</tt> .
glppMaxResults :: Lens' GetLifecyclePolicyPreview (Maybe Natural)

-- | The name of the repository.
glppRepositoryName :: Lens' GetLifecyclePolicyPreview Text

-- | Creates a value of <a>GetLifecyclePolicyPreviewResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>glpprsSummary</a> - The list of images that is returned as a
--   result of the action.</li>
--   <li><a>glpprsStatus</a> - The status of the lifecycle policy preview
--   request.</li>
--   <li><a>glpprsRegistryId</a> - The registry ID associated with the
--   request.</li>
--   <li><a>glpprsLifecyclePolicyText</a> - The JSON lifecycle policy
--   text.</li>
--   <li><a>glpprsNextToken</a> - The <tt>nextToken</tt> value to include
--   in a future <tt>GetLifecyclePolicyPreview</tt> request. When the
--   results of a <tt>GetLifecyclePolicyPreview</tt> request exceed
--   <tt>maxResults</tt> , this value can be used to retrieve the next page
--   of results. This value is <tt>null</tt> when there are no more results
--   to return.</li>
--   <li><a>glpprsRepositoryName</a> - The repository name associated with
--   the request.</li>
--   <li><a>glpprsPreviewResults</a> - The results of the lifecycle policy
--   preview request.</li>
--   <li><a>glpprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getLifecyclePolicyPreviewResponse :: Int -> GetLifecyclePolicyPreviewResponse

-- | <i>See:</i> <a>getLifecyclePolicyPreviewResponse</a> smart
--   constructor.
data GetLifecyclePolicyPreviewResponse

-- | The list of images that is returned as a result of the action.
glpprsSummary :: Lens' GetLifecyclePolicyPreviewResponse (Maybe LifecyclePolicyPreviewSummary)

-- | The status of the lifecycle policy preview request.
glpprsStatus :: Lens' GetLifecyclePolicyPreviewResponse (Maybe LifecyclePolicyPreviewStatus)

-- | The registry ID associated with the request.
glpprsRegistryId :: Lens' GetLifecyclePolicyPreviewResponse (Maybe Text)

-- | The JSON lifecycle policy text.
glpprsLifecyclePolicyText :: Lens' GetLifecyclePolicyPreviewResponse (Maybe Text)

-- | The <tt>nextToken</tt> value to include in a future
--   <tt>GetLifecyclePolicyPreview</tt> request. When the results of a
--   <tt>GetLifecyclePolicyPreview</tt> request exceed <tt>maxResults</tt>
--   , this value can be used to retrieve the next page of results. This
--   value is <tt>null</tt> when there are no more results to return.
glpprsNextToken :: Lens' GetLifecyclePolicyPreviewResponse (Maybe Text)

-- | The repository name associated with the request.
glpprsRepositoryName :: Lens' GetLifecyclePolicyPreviewResponse (Maybe Text)

-- | The results of the lifecycle policy preview request.
glpprsPreviewResults :: Lens' GetLifecyclePolicyPreviewResponse [LifecyclePolicyPreviewResult]

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


-- | Retrieves the specified lifecycle policy.
module Network.AWS.ECR.GetLifecyclePolicy

-- | Creates a value of <a>GetLifecyclePolicy</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>glpRegistryId</a> - The AWS account ID associated with the
--   registry that contains the repository. If you do not specify a
--   registry, the default registry is assumed.</li>
--   <li><a>glpRepositoryName</a> - The name of the repository.</li>
--   </ul>
getLifecyclePolicy :: Text -> GetLifecyclePolicy

-- | <i>See:</i> <a>getLifecyclePolicy</a> smart constructor.
data GetLifecyclePolicy

-- | The AWS account ID associated with the registry that contains the
--   repository. If you do not specify a registry, the default registry is
--   assumed.
glpRegistryId :: Lens' GetLifecyclePolicy (Maybe Text)

-- | The name of the repository.
glpRepositoryName :: Lens' GetLifecyclePolicy Text

-- | Creates a value of <a>GetLifecyclePolicyResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>glprsRegistryId</a> - The registry ID associated with the
--   request.</li>
--   <li><a>glprsLastEvaluatedAt</a> - The time stamp of the last time that
--   the lifecycle policy was run.</li>
--   <li><a>glprsLifecyclePolicyText</a> - The JSON lifecycle policy
--   text.</li>
--   <li><a>glprsRepositoryName</a> - The repository name associated with
--   the request.</li>
--   <li><a>glprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getLifecyclePolicyResponse :: Int -> GetLifecyclePolicyResponse

-- | <i>See:</i> <a>getLifecyclePolicyResponse</a> smart constructor.
data GetLifecyclePolicyResponse

-- | The registry ID associated with the request.
glprsRegistryId :: Lens' GetLifecyclePolicyResponse (Maybe Text)

-- | The time stamp of the last time that the lifecycle policy was run.
glprsLastEvaluatedAt :: Lens' GetLifecyclePolicyResponse (Maybe UTCTime)

-- | The JSON lifecycle policy text.
glprsLifecyclePolicyText :: Lens' GetLifecyclePolicyResponse (Maybe Text)

-- | The repository name associated with the request.
glprsRepositoryName :: Lens' GetLifecyclePolicyResponse (Maybe Text)

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


-- | Retrieves the pre-signed Amazon S3 download URL corresponding to an
--   image layer. You can only get URLs for image layers that are
--   referenced in an image.
module Network.AWS.ECR.GetDownloadURLForLayer

-- | Creates a value of <a>GetDownloadURLForLayer</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gduflRegistryId</a> - The AWS account ID associated with the
--   registry that contains the image layer to download. If you do not
--   specify a registry, the default registry is assumed.</li>
--   <li><a>gduflRepositoryName</a> - The name of the repository that is
--   associated with the image layer to download.</li>
--   <li><a>gduflLayerDigest</a> - The digest of the image layer to
--   download.</li>
--   </ul>
getDownloadURLForLayer :: Text -> Text -> GetDownloadURLForLayer

-- | <i>See:</i> <a>getDownloadURLForLayer</a> smart constructor.
data GetDownloadURLForLayer

-- | The AWS account ID associated with the registry that contains the
--   image layer to download. If you do not specify a registry, the default
--   registry is assumed.
gduflRegistryId :: Lens' GetDownloadURLForLayer (Maybe Text)

-- | The name of the repository that is associated with the image layer to
--   download.
gduflRepositoryName :: Lens' GetDownloadURLForLayer Text

-- | The digest of the image layer to download.
gduflLayerDigest :: Lens' GetDownloadURLForLayer Text

-- | Creates a value of <a>GetDownloadURLForLayerResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gduflrsLayerDigest</a> - The digest of the image layer to
--   download.</li>
--   <li><a>gduflrsDownloadURL</a> - The pre-signed Amazon S3 download URL
--   for the requested layer.</li>
--   <li><a>gduflrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getDownloadURLForLayerResponse :: Int -> GetDownloadURLForLayerResponse

-- | <i>See:</i> <a>getDownloadURLForLayerResponse</a> smart constructor.
data GetDownloadURLForLayerResponse

-- | The digest of the image layer to download.
gduflrsLayerDigest :: Lens' GetDownloadURLForLayerResponse (Maybe Text)

-- | The pre-signed Amazon S3 download URL for the requested layer.
gduflrsDownloadURL :: Lens' GetDownloadURLForLayerResponse (Maybe Text)

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


-- | Retrieves a token that is valid for a specified registry for 12 hours.
--   This command allows you to use the <tt>docker</tt> CLI to push and
--   pull images with Amazon ECR. If you do not specify a registry, the
--   default registry is assumed.
--   
--   The <tt>authorizationToken</tt> returned for each registry specified
--   is a base64 encoded string that can be decoded and used in a
--   <tt>docker login</tt> command to authenticate to a registry. The AWS
--   CLI offers an <tt>aws ecr get-login</tt> command that simplifies the
--   login process.
module Network.AWS.ECR.GetAuthorizationToken

-- | Creates a value of <a>GetAuthorizationToken</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gatRegistryIds</a> - A list of AWS account IDs that are
--   associated with the registries for which to get authorization tokens.
--   If you do not specify a registry, the default registry is
--   assumed.</li>
--   </ul>
getAuthorizationToken :: GetAuthorizationToken

-- | <i>See:</i> <a>getAuthorizationToken</a> smart constructor.
data GetAuthorizationToken

-- | A list of AWS account IDs that are associated with the registries for
--   which to get authorization tokens. If you do not specify a registry,
--   the default registry is assumed.
gatRegistryIds :: Lens' GetAuthorizationToken (Maybe (NonEmpty Text))

-- | Creates a value of <a>GetAuthorizationTokenResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gatrsAuthorizationData</a> - A list of authorization token data
--   objects that correspond to the <tt>registryIds</tt> values in the
--   request.</li>
--   <li><a>gatrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getAuthorizationTokenResponse :: Int -> GetAuthorizationTokenResponse

-- | <i>See:</i> <a>getAuthorizationTokenResponse</a> smart constructor.
data GetAuthorizationTokenResponse

-- | A list of authorization token data objects that correspond to the
--   <tt>registryIds</tt> values in the request.
gatrsAuthorizationData :: Lens' GetAuthorizationTokenResponse [AuthorizationData]

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


-- | Describes image repositories in a registry.
--   
--   This operation returns paginated results.
module Network.AWS.ECR.DescribeRepositories

-- | Creates a value of <a>DescribeRepositories</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drRegistryId</a> - The AWS account ID associated with the
--   registry that contains the repositories to be described. If you do not
--   specify a registry, the default registry is assumed.</li>
--   <li><a>drRepositoryNames</a> - A list of repositories to describe. If
--   this parameter is omitted, then all repositories in a registry are
--   described.</li>
--   <li><a>drNextToken</a> - The <tt>nextToken</tt> value returned from a
--   previous paginated <tt>DescribeRepositories</tt> request where
--   <tt>maxResults</tt> was used and the results exceeded the value of
--   that parameter. Pagination continues from the end of the previous
--   results that returned the <tt>nextToken</tt> value. This value is
--   <tt>null</tt> when there are no more results to return. This option
--   cannot be used when you specify repositories with
--   <tt>repositoryNames</tt> .</li>
--   <li><a>drMaxResults</a> - The maximum number of repository results
--   returned by <tt>DescribeRepositories</tt> in paginated output. When
--   this parameter is used, <tt>DescribeRepositories</tt> only returns
--   <tt>maxResults</tt> results in a single page along with a
--   <tt>nextToken</tt> response element. The remaining results of the
--   initial request can be seen by sending another
--   <tt>DescribeRepositories</tt> request with the returned
--   <tt>nextToken</tt> value. This value can be between 1 and 100. If this
--   parameter is not used, then <tt>DescribeRepositories</tt> returns up
--   to 100 results and a <tt>nextToken</tt> value, if applicable. This
--   option cannot be used when you specify repositories with
--   <tt>repositoryNames</tt> .</li>
--   </ul>
describeRepositories :: DescribeRepositories

-- | <i>See:</i> <a>describeRepositories</a> smart constructor.
data DescribeRepositories

-- | The AWS account ID associated with the registry that contains the
--   repositories to be described. If you do not specify a registry, the
--   default registry is assumed.
drRegistryId :: Lens' DescribeRepositories (Maybe Text)

-- | A list of repositories to describe. If this parameter is omitted, then
--   all repositories in a registry are described.
drRepositoryNames :: Lens' DescribeRepositories (Maybe (NonEmpty Text))

-- | The <tt>nextToken</tt> value returned from a previous paginated
--   <tt>DescribeRepositories</tt> request where <tt>maxResults</tt> was
--   used and the results exceeded the value of that parameter. Pagination
--   continues from the end of the previous results that returned the
--   <tt>nextToken</tt> value. This value is <tt>null</tt> when there are
--   no more results to return. This option cannot be used when you specify
--   repositories with <tt>repositoryNames</tt> .
drNextToken :: Lens' DescribeRepositories (Maybe Text)

-- | The maximum number of repository results returned by
--   <tt>DescribeRepositories</tt> in paginated output. When this parameter
--   is used, <tt>DescribeRepositories</tt> only returns
--   <tt>maxResults</tt> results in a single page along with a
--   <tt>nextToken</tt> response element. The remaining results of the
--   initial request can be seen by sending another
--   <tt>DescribeRepositories</tt> request with the returned
--   <tt>nextToken</tt> value. This value can be between 1 and 100. If this
--   parameter is not used, then <tt>DescribeRepositories</tt> returns up
--   to 100 results and a <tt>nextToken</tt> value, if applicable. This
--   option cannot be used when you specify repositories with
--   <tt>repositoryNames</tt> .
drMaxResults :: Lens' DescribeRepositories (Maybe Natural)

-- | Creates a value of <a>DescribeRepositoriesResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drrsRepositories</a> - A list of repository objects
--   corresponding to valid repositories.</li>
--   <li><a>drrsNextToken</a> - The <tt>nextToken</tt> value to include in
--   a future <tt>DescribeRepositories</tt> request. When the results of a
--   <tt>DescribeRepositories</tt> request exceed <tt>maxResults</tt> ,
--   this value can be used to retrieve the next page of results. This
--   value is <tt>null</tt> when there are no more results to return.</li>
--   <li><a>drrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeRepositoriesResponse :: Int -> DescribeRepositoriesResponse

-- | <i>See:</i> <a>describeRepositoriesResponse</a> smart constructor.
data DescribeRepositoriesResponse

-- | A list of repository objects corresponding to valid repositories.
drrsRepositories :: Lens' DescribeRepositoriesResponse [Repository]

-- | The <tt>nextToken</tt> value to include in a future
--   <tt>DescribeRepositories</tt> request. When the results of a
--   <tt>DescribeRepositories</tt> request exceed <tt>maxResults</tt> ,
--   this value can be used to retrieve the next page of results. This
--   value is <tt>null</tt> when there are no more results to return.
drrsNextToken :: Lens' DescribeRepositoriesResponse (Maybe Text)

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


-- | Returns metadata about the images in a repository, including image
--   size, image tags, and creation date.
--   
--   This operation returns paginated results.
module Network.AWS.ECR.DescribeImages

-- | Creates a value of <a>DescribeImages</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>diRegistryId</a> - The AWS account ID associated with the
--   registry that contains the repository in which to describe images. If
--   you do not specify a registry, the default registry is assumed.</li>
--   <li><a>diImageIds</a> - The list of image IDs for the requested
--   repository.</li>
--   <li><a>diNextToken</a> - The <tt>nextToken</tt> value returned from a
--   previous paginated <tt>DescribeImages</tt> request where
--   <tt>maxResults</tt> was used and the results exceeded the value of
--   that parameter. Pagination continues from the end of the previous
--   results that returned the <tt>nextToken</tt> value. This value is
--   <tt>null</tt> when there are no more results to return. This option
--   cannot be used when you specify images with <tt>imageIds</tt> .</li>
--   <li><a>diFilter</a> - The filter key and value with which to filter
--   your <tt>DescribeImages</tt> results.</li>
--   <li><a>diMaxResults</a> - The maximum number of repository results
--   returned by <tt>DescribeImages</tt> in paginated output. When this
--   parameter is used, <tt>DescribeImages</tt> only returns
--   <tt>maxResults</tt> results in a single page along with a
--   <tt>nextToken</tt> response element. The remaining results of the
--   initial request can be seen by sending another <tt>DescribeImages</tt>
--   request with the returned <tt>nextToken</tt> value. This value can be
--   between 1 and 100. If this parameter is not used, then
--   <tt>DescribeImages</tt> returns up to 100 results and a
--   <tt>nextToken</tt> value, if applicable. This option cannot be used
--   when you specify images with <tt>imageIds</tt> .</li>
--   <li><a>diRepositoryName</a> - A list of repositories to describe. If
--   this parameter is omitted, then all repositories in a registry are
--   described.</li>
--   </ul>
describeImages :: Text -> DescribeImages

-- | <i>See:</i> <a>describeImages</a> smart constructor.
data DescribeImages

-- | The AWS account ID associated with the registry that contains the
--   repository in which to describe images. If you do not specify a
--   registry, the default registry is assumed.
diRegistryId :: Lens' DescribeImages (Maybe Text)

-- | The list of image IDs for the requested repository.
diImageIds :: Lens' DescribeImages [ImageIdentifier]

-- | The <tt>nextToken</tt> value returned from a previous paginated
--   <tt>DescribeImages</tt> request where <tt>maxResults</tt> was used and
--   the results exceeded the value of that parameter. Pagination continues
--   from the end of the previous results that returned the
--   <tt>nextToken</tt> value. This value is <tt>null</tt> when there are
--   no more results to return. This option cannot be used when you specify
--   images with <tt>imageIds</tt> .
diNextToken :: Lens' DescribeImages (Maybe Text)

-- | The filter key and value with which to filter your
--   <tt>DescribeImages</tt> results.
diFilter :: Lens' DescribeImages (Maybe DescribeImagesFilter)

-- | The maximum number of repository results returned by
--   <tt>DescribeImages</tt> in paginated output. When this parameter is
--   used, <tt>DescribeImages</tt> only returns <tt>maxResults</tt> results
--   in a single page along with a <tt>nextToken</tt> response element. The
--   remaining results of the initial request can be seen by sending
--   another <tt>DescribeImages</tt> request with the returned
--   <tt>nextToken</tt> value. This value can be between 1 and 100. If this
--   parameter is not used, then <tt>DescribeImages</tt> returns up to 100
--   results and a <tt>nextToken</tt> value, if applicable. This option
--   cannot be used when you specify images with <tt>imageIds</tt> .
diMaxResults :: Lens' DescribeImages (Maybe Natural)

-- | A list of repositories to describe. If this parameter is omitted, then
--   all repositories in a registry are described.
diRepositoryName :: Lens' DescribeImages Text

-- | Creates a value of <a>DescribeImagesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dirsImageDetails</a> - A list of <a>ImageDetail</a> objects
--   that contain data about the image.</li>
--   <li><a>dirsNextToken</a> - The <tt>nextToken</tt> value to include in
--   a future <tt>DescribeImages</tt> request. When the results of a
--   <tt>DescribeImages</tt> request exceed <tt>maxResults</tt> , this
--   value can be used to retrieve the next page of results. This value is
--   <tt>null</tt> when there are no more results to return.</li>
--   <li><a>dirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeImagesResponse :: Int -> DescribeImagesResponse

-- | <i>See:</i> <a>describeImagesResponse</a> smart constructor.
data DescribeImagesResponse

-- | A list of <a>ImageDetail</a> objects that contain data about the
--   image.
dirsImageDetails :: Lens' DescribeImagesResponse [ImageDetail]

-- | The <tt>nextToken</tt> value to include in a future
--   <tt>DescribeImages</tt> request. When the results of a
--   <tt>DescribeImages</tt> request exceed <tt>maxResults</tt> , this
--   value can be used to retrieve the next page of results. This value is
--   <tt>null</tt> when there are no more results to return.
dirsNextToken :: Lens' DescribeImagesResponse (Maybe Text)

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


-- | Deletes the repository policy from a specified repository.
module Network.AWS.ECR.DeleteRepositoryPolicy

-- | Creates a value of <a>DeleteRepositoryPolicy</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drpRegistryId</a> - The AWS account ID associated with the
--   registry that contains the repository policy to delete. If you do not
--   specify a registry, the default registry is assumed.</li>
--   <li><a>drpRepositoryName</a> - The name of the repository that is
--   associated with the repository policy to delete.</li>
--   </ul>
deleteRepositoryPolicy :: Text -> DeleteRepositoryPolicy

-- | <i>See:</i> <a>deleteRepositoryPolicy</a> smart constructor.
data DeleteRepositoryPolicy

-- | The AWS account ID associated with the registry that contains the
--   repository policy to delete. If you do not specify a registry, the
--   default registry is assumed.
drpRegistryId :: Lens' DeleteRepositoryPolicy (Maybe Text)

-- | The name of the repository that is associated with the repository
--   policy to delete.
drpRepositoryName :: Lens' DeleteRepositoryPolicy Text

-- | Creates a value of <a>DeleteRepositoryPolicyResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drprsRegistryId</a> - The registry ID associated with the
--   request.</li>
--   <li><a>drprsRepositoryName</a> - The repository name associated with
--   the request.</li>
--   <li><a>drprsPolicyText</a> - The JSON repository policy that was
--   deleted from the repository.</li>
--   <li><a>drprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteRepositoryPolicyResponse :: Int -> DeleteRepositoryPolicyResponse

-- | <i>See:</i> <a>deleteRepositoryPolicyResponse</a> smart constructor.
data DeleteRepositoryPolicyResponse

-- | The registry ID associated with the request.
drprsRegistryId :: Lens' DeleteRepositoryPolicyResponse (Maybe Text)

-- | The repository name associated with the request.
drprsRepositoryName :: Lens' DeleteRepositoryPolicyResponse (Maybe Text)

-- | The JSON repository policy that was deleted from the repository.
drprsPolicyText :: Lens' DeleteRepositoryPolicyResponse (Maybe Text)

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


-- | Deletes an existing image repository. If a repository contains images,
--   you must use the <tt>force</tt> option to delete it.
module Network.AWS.ECR.DeleteRepository

-- | Creates a value of <a>DeleteRepository</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dForce</a> - If a repository contains images, forces the
--   deletion.</li>
--   <li><a>dRegistryId</a> - The AWS account ID associated with the
--   registry that contains the repository to delete. If you do not specify
--   a registry, the default registry is assumed.</li>
--   <li><a>dRepositoryName</a> - The name of the repository to
--   delete.</li>
--   </ul>
deleteRepository :: Text -> DeleteRepository

-- | <i>See:</i> <a>deleteRepository</a> smart constructor.
data DeleteRepository

-- | If a repository contains images, forces the deletion.
dForce :: Lens' DeleteRepository (Maybe Bool)

-- | The AWS account ID associated with the registry that contains the
--   repository to delete. If you do not specify a registry, the default
--   registry is assumed.
dRegistryId :: Lens' DeleteRepository (Maybe Text)

-- | The name of the repository to delete.
dRepositoryName :: Lens' DeleteRepository Text

-- | Creates a value of <a>DeleteRepositoryResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drsRepository</a> - The repository that was deleted.</li>
--   <li><a>drsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteRepositoryResponse :: Int -> DeleteRepositoryResponse

-- | <i>See:</i> <a>deleteRepositoryResponse</a> smart constructor.
data DeleteRepositoryResponse

-- | The repository that was deleted.
drsRepository :: Lens' DeleteRepositoryResponse (Maybe Repository)

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


-- | Deletes the specified lifecycle policy.
module Network.AWS.ECR.DeleteLifecyclePolicy

-- | Creates a value of <a>DeleteLifecyclePolicy</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlpRegistryId</a> - The AWS account ID associated with the
--   registry that contains the repository. If you do not specify a
--   registry, the default registry is assumed.</li>
--   <li><a>dlpRepositoryName</a> - The name of the repository.</li>
--   </ul>
deleteLifecyclePolicy :: Text -> DeleteLifecyclePolicy

-- | <i>See:</i> <a>deleteLifecyclePolicy</a> smart constructor.
data DeleteLifecyclePolicy

-- | The AWS account ID associated with the registry that contains the
--   repository. If you do not specify a registry, the default registry is
--   assumed.
dlpRegistryId :: Lens' DeleteLifecyclePolicy (Maybe Text)

-- | The name of the repository.
dlpRepositoryName :: Lens' DeleteLifecyclePolicy Text

-- | Creates a value of <a>DeleteLifecyclePolicyResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlprsRegistryId</a> - The registry ID associated with the
--   request.</li>
--   <li><a>dlprsLastEvaluatedAt</a> - The time stamp of the last time that
--   the lifecycle policy was run.</li>
--   <li><a>dlprsLifecyclePolicyText</a> - The JSON lifecycle policy
--   text.</li>
--   <li><a>dlprsRepositoryName</a> - The repository name associated with
--   the request.</li>
--   <li><a>dlprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteLifecyclePolicyResponse :: Int -> DeleteLifecyclePolicyResponse

-- | <i>See:</i> <a>deleteLifecyclePolicyResponse</a> smart constructor.
data DeleteLifecyclePolicyResponse

-- | The registry ID associated with the request.
dlprsRegistryId :: Lens' DeleteLifecyclePolicyResponse (Maybe Text)

-- | The time stamp of the last time that the lifecycle policy was run.
dlprsLastEvaluatedAt :: Lens' DeleteLifecyclePolicyResponse (Maybe UTCTime)

-- | The JSON lifecycle policy text.
dlprsLifecyclePolicyText :: Lens' DeleteLifecyclePolicyResponse (Maybe Text)

-- | The repository name associated with the request.
dlprsRepositoryName :: Lens' DeleteLifecyclePolicyResponse (Maybe Text)

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


-- | Creates an image repository.
module Network.AWS.ECR.CreateRepository

-- | Creates a value of <a>CreateRepository</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crRepositoryName</a> - The name to use for the repository. The
--   repository name may be specified on its own (such as
--   <tt>nginx-web-app</tt> ) or it can be prepended with a namespace to
--   group the repository into a category (such as
--   <tt>project-a/nginx-web-app</tt> ).</li>
--   </ul>
createRepository :: Text -> CreateRepository

-- | <i>See:</i> <a>createRepository</a> smart constructor.
data CreateRepository

-- | The name to use for the repository. The repository name may be
--   specified on its own (such as <tt>nginx-web-app</tt> ) or it can be
--   prepended with a namespace to group the repository into a category
--   (such as <tt>project-a/nginx-web-app</tt> ).
crRepositoryName :: Lens' CreateRepository Text

-- | Creates a value of <a>CreateRepositoryResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crrsRepository</a> - The repository that was created.</li>
--   <li><a>crrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createRepositoryResponse :: Int -> CreateRepositoryResponse

-- | <i>See:</i> <a>createRepositoryResponse</a> smart constructor.
data CreateRepositoryResponse

-- | The repository that was created.
crrsRepository :: Lens' CreateRepositoryResponse (Maybe Repository)

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


-- | Informs Amazon ECR that the image layer upload has completed for a
--   specified registry, repository name, and upload ID. You can optionally
--   provide a <tt>sha256</tt> digest of the image layer for data
--   validation purposes.
module Network.AWS.ECR.CompleteLayerUpload

-- | Creates a value of <a>CompleteLayerUpload</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cluRegistryId</a> - The AWS account ID associated with the
--   registry to which to upload layers. If you do not specify a registry,
--   the default registry is assumed.</li>
--   <li><a>cluRepositoryName</a> - The name of the repository to associate
--   with the image layer.</li>
--   <li><a>cluUploadId</a> - The upload ID from a previous
--   <tt>InitiateLayerUpload</tt> operation to associate with the image
--   layer.</li>
--   <li><a>cluLayerDigests</a> - The <tt>sha256</tt> digest of the image
--   layer.</li>
--   </ul>
completeLayerUpload :: Text -> Text -> NonEmpty Text -> CompleteLayerUpload

-- | <i>See:</i> <a>completeLayerUpload</a> smart constructor.
data CompleteLayerUpload

-- | The AWS account ID associated with the registry to which to upload
--   layers. If you do not specify a registry, the default registry is
--   assumed.
cluRegistryId :: Lens' CompleteLayerUpload (Maybe Text)

-- | The name of the repository to associate with the image layer.
cluRepositoryName :: Lens' CompleteLayerUpload Text

-- | The upload ID from a previous <tt>InitiateLayerUpload</tt> operation
--   to associate with the image layer.
cluUploadId :: Lens' CompleteLayerUpload Text

-- | The <tt>sha256</tt> digest of the image layer.
cluLayerDigests :: Lens' CompleteLayerUpload (NonEmpty Text)

-- | Creates a value of <a>CompleteLayerUploadResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>clursRegistryId</a> - The registry ID associated with the
--   request.</li>
--   <li><a>clursLayerDigest</a> - The <tt>sha256</tt> digest of the image
--   layer.</li>
--   <li><a>clursRepositoryName</a> - The repository name associated with
--   the request.</li>
--   <li><a>clursUploadId</a> - The upload ID associated with the
--   layer.</li>
--   <li><a>clursResponseStatus</a> - -- | The response status code.</li>
--   </ul>
completeLayerUploadResponse :: Int -> CompleteLayerUploadResponse

-- | <i>See:</i> <a>completeLayerUploadResponse</a> smart constructor.
data CompleteLayerUploadResponse

-- | The registry ID associated with the request.
clursRegistryId :: Lens' CompleteLayerUploadResponse (Maybe Text)

-- | The <tt>sha256</tt> digest of the image layer.
clursLayerDigest :: Lens' CompleteLayerUploadResponse (Maybe Text)

-- | The repository name associated with the request.
clursRepositoryName :: Lens' CompleteLayerUploadResponse (Maybe Text)

-- | The upload ID associated with the layer.
clursUploadId :: Lens' CompleteLayerUploadResponse (Maybe Text)

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


-- | Gets detailed information for specified images within a specified
--   repository. Images are specified with either <tt>imageTag</tt> or
--   <tt>imageDigest</tt> .
module Network.AWS.ECR.BatchGetImage

-- | Creates a value of <a>BatchGetImage</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgiRegistryId</a> - The AWS account ID associated with the
--   registry that contains the images to describe. If you do not specify a
--   registry, the default registry is assumed.</li>
--   <li><a>bgiAcceptedMediaTypes</a> - The accepted media types for the
--   request. Valid values:
--   <tt>application/vnd.docker.distribution.manifest.v1+json</tt> |
--   <tt>application/vnd.docker.distribution.manifest.v2+json</tt> |
--   <tt>application/vnd.oci.image.manifest.v1+json</tt></li>
--   <li><a>bgiRepositoryName</a> - The repository that contains the images
--   to describe.</li>
--   <li><a>bgiImageIds</a> - A list of image ID references that correspond
--   to images to describe. The format of the <tt>imageIds</tt> reference
--   is <tt>imageTag=tag</tt> or <tt>imageDigest=digest</tt> .</li>
--   </ul>
batchGetImage :: Text -> BatchGetImage

-- | <i>See:</i> <a>batchGetImage</a> smart constructor.
data BatchGetImage

-- | The AWS account ID associated with the registry that contains the
--   images to describe. If you do not specify a registry, the default
--   registry is assumed.
bgiRegistryId :: Lens' BatchGetImage (Maybe Text)

-- | The accepted media types for the request. Valid values:
--   <tt>application/vnd.docker.distribution.manifest.v1+json</tt> |
--   <tt>application/vnd.docker.distribution.manifest.v2+json</tt> |
--   <tt>application/vnd.oci.image.manifest.v1+json</tt>
bgiAcceptedMediaTypes :: Lens' BatchGetImage (Maybe (NonEmpty Text))

-- | The repository that contains the images to describe.
bgiRepositoryName :: Lens' BatchGetImage Text

-- | A list of image ID references that correspond to images to describe.
--   The format of the <tt>imageIds</tt> reference is <tt>imageTag=tag</tt>
--   or <tt>imageDigest=digest</tt> .
bgiImageIds :: Lens' BatchGetImage [ImageIdentifier]

-- | Creates a value of <a>BatchGetImageResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgirsImages</a> - A list of image objects corresponding to the
--   image references in the request.</li>
--   <li><a>bgirsFailures</a> - Any failures associated with the call.</li>
--   <li><a>bgirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
batchGetImageResponse :: Int -> BatchGetImageResponse

-- | <i>See:</i> <a>batchGetImageResponse</a> smart constructor.
data BatchGetImageResponse

-- | A list of image objects corresponding to the image references in the
--   request.
bgirsImages :: Lens' BatchGetImageResponse [Image]

-- | Any failures associated with the call.
bgirsFailures :: Lens' BatchGetImageResponse [ImageFailure]

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


-- | Deletes a list of specified images within a specified repository.
--   Images are specified with either <tt>imageTag</tt> or
--   <tt>imageDigest</tt> .
--   
--   You can remove a tag from an image by specifying the image's tag in
--   your request. When you remove the last tag from an image, the image is
--   deleted from your repository.
--   
--   You can completely delete an image (and all of its tags) by specifying
--   the image's digest in your request.
module Network.AWS.ECR.BatchDeleteImage

-- | Creates a value of <a>BatchDeleteImage</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bdiRegistryId</a> - The AWS account ID associated with the
--   registry that contains the image to delete. If you do not specify a
--   registry, the default registry is assumed.</li>
--   <li><a>bdiRepositoryName</a> - The repository that contains the image
--   to delete.</li>
--   <li><a>bdiImageIds</a> - A list of image ID references that correspond
--   to images to delete. The format of the <tt>imageIds</tt> reference is
--   <tt>imageTag=tag</tt> or <tt>imageDigest=digest</tt> .</li>
--   </ul>
batchDeleteImage :: Text -> BatchDeleteImage

-- | Deletes specified images within a specified repository. Images are
--   specified with either the <tt>imageTag</tt> or <tt>imageDigest</tt> .
--   
--   <i>See:</i> <a>batchDeleteImage</a> smart constructor.
data BatchDeleteImage

-- | The AWS account ID associated with the registry that contains the
--   image to delete. If you do not specify a registry, the default
--   registry is assumed.
bdiRegistryId :: Lens' BatchDeleteImage (Maybe Text)

-- | The repository that contains the image to delete.
bdiRepositoryName :: Lens' BatchDeleteImage Text

-- | A list of image ID references that correspond to images to delete. The
--   format of the <tt>imageIds</tt> reference is <tt>imageTag=tag</tt> or
--   <tt>imageDigest=digest</tt> .
bdiImageIds :: Lens' BatchDeleteImage [ImageIdentifier]

-- | Creates a value of <a>BatchDeleteImageResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bdirsFailures</a> - Any failures associated with the call.</li>
--   <li><a>bdirsImageIds</a> - The image IDs of the deleted images.</li>
--   <li><a>bdirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
batchDeleteImageResponse :: Int -> BatchDeleteImageResponse

-- | <i>See:</i> <a>batchDeleteImageResponse</a> smart constructor.
data BatchDeleteImageResponse

-- | Any failures associated with the call.
bdirsFailures :: Lens' BatchDeleteImageResponse [ImageFailure]

-- | The image IDs of the deleted images.
bdirsImageIds :: Lens' BatchDeleteImageResponse [ImageIdentifier]

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


-- | Check the availability of multiple image layers in a specified
--   registry and repository.
module Network.AWS.ECR.BatchCheckLayerAvailability

-- | Creates a value of <a>BatchCheckLayerAvailability</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bclaRegistryId</a> - The AWS account ID associated with the
--   registry that contains the image layers to check. If you do not
--   specify a registry, the default registry is assumed.</li>
--   <li><a>bclaRepositoryName</a> - The name of the repository that is
--   associated with the image layers to check.</li>
--   <li><a>bclaLayerDigests</a> - The digests of the image layers to
--   check.</li>
--   </ul>
batchCheckLayerAvailability :: Text -> NonEmpty Text -> BatchCheckLayerAvailability

-- | <i>See:</i> <a>batchCheckLayerAvailability</a> smart constructor.
data BatchCheckLayerAvailability

-- | The AWS account ID associated with the registry that contains the
--   image layers to check. If you do not specify a registry, the default
--   registry is assumed.
bclaRegistryId :: Lens' BatchCheckLayerAvailability (Maybe Text)

-- | The name of the repository that is associated with the image layers to
--   check.
bclaRepositoryName :: Lens' BatchCheckLayerAvailability Text

-- | The digests of the image layers to check.
bclaLayerDigests :: Lens' BatchCheckLayerAvailability (NonEmpty Text)

-- | Creates a value of <a>BatchCheckLayerAvailabilityResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bclarsFailures</a> - Any failures associated with the
--   call.</li>
--   <li><a>bclarsLayers</a> - A list of image layer objects corresponding
--   to the image layer references in the request.</li>
--   <li><a>bclarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
batchCheckLayerAvailabilityResponse :: Int -> BatchCheckLayerAvailabilityResponse

-- | <i>See:</i> <a>batchCheckLayerAvailabilityResponse</a> smart
--   constructor.
data BatchCheckLayerAvailabilityResponse

-- | Any failures associated with the call.
bclarsFailures :: Lens' BatchCheckLayerAvailabilityResponse [LayerFailure]

-- | A list of image layer objects corresponding to the image layer
--   references in the request.
bclarsLayers :: Lens' BatchCheckLayerAvailabilityResponse [Layer]

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


-- | Uploads an image layer part to Amazon ECR.
module Network.AWS.ECR.UploadLayerPart

-- | Creates a value of <a>UploadLayerPart</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ulpRegistryId</a> - The AWS account ID associated with the
--   registry to which you are uploading layer parts. If you do not specify
--   a registry, the default registry is assumed.</li>
--   <li><a>ulpRepositoryName</a> - The name of the repository to which you
--   are uploading layer parts.</li>
--   <li><a>ulpUploadId</a> - The upload ID from a previous
--   <tt>InitiateLayerUpload</tt> operation to associate with the layer
--   part upload.</li>
--   <li><a>ulpPartFirstByte</a> - The integer value of the first byte of
--   the layer part.</li>
--   <li><a>ulpPartLastByte</a> - The integer value of the last byte of the
--   layer part.</li>
--   <li><a>ulpLayerPartBlob</a> - The base64-encoded layer part payload.--
--   <i>Note:</i> This <tt>Lens</tt> automatically encodes and decodes
--   Base64 data. The underlying isomorphism will encode to Base64
--   representation during serialisation, and decode from Base64
--   representation during deserialisation. This <tt>Lens</tt> accepts and
--   returns only raw unencoded data.</li>
--   </ul>
uploadLayerPart :: Text -> Text -> Natural -> Natural -> ByteString -> UploadLayerPart

-- | <i>See:</i> <a>uploadLayerPart</a> smart constructor.
data UploadLayerPart

-- | The AWS account ID associated with the registry to which you are
--   uploading layer parts. If you do not specify a registry, the default
--   registry is assumed.
ulpRegistryId :: Lens' UploadLayerPart (Maybe Text)

-- | The name of the repository to which you are uploading layer parts.
ulpRepositoryName :: Lens' UploadLayerPart Text

-- | The upload ID from a previous <tt>InitiateLayerUpload</tt> operation
--   to associate with the layer part upload.
ulpUploadId :: Lens' UploadLayerPart Text

-- | The integer value of the first byte of the layer part.
ulpPartFirstByte :: Lens' UploadLayerPart Natural

-- | The integer value of the last byte of the layer part.
ulpPartLastByte :: Lens' UploadLayerPart Natural

-- | The base64-encoded layer part payload.-- <i>Note:</i> This
--   <tt>Lens</tt> automatically encodes and decodes Base64 data. The
--   underlying isomorphism will encode to Base64 representation during
--   serialisation, and decode from Base64 representation during
--   deserialisation. This <tt>Lens</tt> accepts and returns only raw
--   unencoded data.
ulpLayerPartBlob :: Lens' UploadLayerPart ByteString

-- | Creates a value of <a>UploadLayerPartResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ulprsRegistryId</a> - The registry ID associated with the
--   request.</li>
--   <li><a>ulprsLastByteReceived</a> - The integer value of the last byte
--   received in the request.</li>
--   <li><a>ulprsRepositoryName</a> - The repository name associated with
--   the request.</li>
--   <li><a>ulprsUploadId</a> - The upload ID associated with the
--   request.</li>
--   <li><a>ulprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
uploadLayerPartResponse :: Int -> UploadLayerPartResponse

-- | <i>See:</i> <a>uploadLayerPartResponse</a> smart constructor.
data UploadLayerPartResponse

-- | The registry ID associated with the request.
ulprsRegistryId :: Lens' UploadLayerPartResponse (Maybe Text)

-- | The integer value of the last byte received in the request.
ulprsLastByteReceived :: Lens' UploadLayerPartResponse (Maybe Natural)

-- | The repository name associated with the request.
ulprsRepositoryName :: Lens' UploadLayerPartResponse (Maybe Text)

-- | The upload ID associated with the request.
ulprsUploadId :: Lens' UploadLayerPartResponse (Maybe Text)

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


module Network.AWS.ECR.Waiters


-- | Amazon Elastic Container Registry (Amazon ECR) is a managed Docker
--   registry service. Customers can use the familiar Docker CLI to push,
--   pull, and manage images. Amazon ECR provides a secure, scalable, and
--   reliable registry. Amazon ECR supports private Docker repositories
--   with resource-based permissions using IAM so that specific users or
--   Amazon EC2 instances can access repositories and images. Developers
--   can use the Docker CLI to author and manage images.
module Network.AWS.ECR

-- | API version <tt>2015-09-21</tt> of the Amazon EC2 Container Registry
--   SDK configuration.
ecr :: Service

-- | The specified layers could not be found, or the specified layer is not
--   valid for this repository.
_LayersNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified parameter is invalid. Review the available parameters
--   for the API request.
_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The image layer already exists in the associated repository.
_LayerAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | These errors are usually caused by a server-side issue.
_ServerException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified layer is not available because it is not associated with
--   an image. Unassociated image layers may be cleaned up at any time.
_LayerInaccessibleException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The layer digest calculation performed by Amazon ECR upon receipt of
--   the image layer does not match the digest specified.
_InvalidLayerException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Layer parts must be at least 5 MiB in size.
_LayerPartTooSmallException :: AsError a => Getting (First ServiceError) a ServiceError

-- | There is no dry run for this repository.
_LifecyclePolicyPreviewNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The image requested does not exist in the specified repository.
_ImageNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified image has already been pushed, and there were no changes
--   to the manifest or image tag after the last push.
_ImageAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified repository could not be found. Check the spelling of the
--   specified repository and ensure that you are performing operations on
--   the correct registry.
_RepositoryNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The previous lifecycle policy preview request has not completed.
--   Please try again later.
_LifecyclePolicyPreviewInProgressException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The upload could not be found, or the specified upload id is not valid
--   for this repository.
_UploadNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The lifecycle policy could not be found, and no policy is set to the
--   repository.
_LifecyclePolicyNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The layer part size is not valid, or the first byte specified is not
--   consecutive to the last byte of a previous layer part upload.
_InvalidLayerPartException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified repository contains images. To delete a repository that
--   contains images, you must force the deletion with the <tt>force</tt>
--   parameter.
_RepositoryNotEmptyException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified repository already exists in the specified registry.
_RepositoryAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified repository and registry combination does not have an
--   associated repository policy.
_RepositoryPolicyNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified layer upload does not contain any layer parts.
_EmptyUploadException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The operation did not succeed because it would have exceeded a service
--   limit for your account. For more information, see <a>Amazon ECR
--   Default Service Limits</a> in the Amazon Elastic Container Registry
--   User Guide.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
data ImageActionType
Expire :: ImageActionType
data ImageFailureCode
ImageNotFound :: ImageFailureCode
ImageTagDoesNotMatchDigest :: ImageFailureCode
InvalidImageDigest :: ImageFailureCode
InvalidImageTag :: ImageFailureCode
MissingDigestAndTag :: ImageFailureCode
data LayerAvailability
Available :: LayerAvailability
Unavailable :: LayerAvailability
data LayerFailureCode
InvalidLayerDigest :: LayerFailureCode
MissingLayerDigest :: LayerFailureCode
data LifecyclePolicyPreviewStatus
Complete :: LifecyclePolicyPreviewStatus
Expired :: LifecyclePolicyPreviewStatus
Failed :: LifecyclePolicyPreviewStatus
InProgress :: LifecyclePolicyPreviewStatus
data TagStatus
Tagged :: TagStatus
Untagged :: TagStatus

-- | An object representing authorization data for an Amazon ECR registry.
--   
--   <i>See:</i> <a>authorizationData</a> smart constructor.
data AuthorizationData

-- | Creates a value of <a>AuthorizationData</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adExpiresAt</a> - The Unix time in seconds and milliseconds
--   when the authorization token expires. Authorization tokens are valid
--   for 12 hours.</li>
--   <li><a>adProxyEndpoint</a> - The registry URL to use for this
--   authorization token in a <tt>docker login</tt> command. The Amazon ECR
--   registry URL format is
--   <tt><a>https://aws_account_id.dkr.ecr.region.amazonaws.com</a></tt> .
--   For example,
--   <tt><a>https://012345678910.dkr.ecr.us-east-1.amazonaws.com</a></tt>
--   ..</li>
--   <li><a>adAuthorizationToken</a> - A base64-encoded string that
--   contains authorization data for the specified Amazon ECR registry.
--   When the string is decoded, it is presented in the format
--   <tt>user:password</tt> for private registry authentication using
--   <tt>docker login</tt> .</li>
--   </ul>
authorizationData :: AuthorizationData

-- | The Unix time in seconds and milliseconds when the authorization token
--   expires. Authorization tokens are valid for 12 hours.
adExpiresAt :: Lens' AuthorizationData (Maybe UTCTime)

-- | The registry URL to use for this authorization token in a <tt>docker
--   login</tt> command. The Amazon ECR registry URL format is
--   <tt><a>https://aws_account_id.dkr.ecr.region.amazonaws.com</a></tt> .
--   For example,
--   <tt><a>https://012345678910.dkr.ecr.us-east-1.amazonaws.com</a></tt>
--   ..
adProxyEndpoint :: Lens' AuthorizationData (Maybe Text)

-- | A base64-encoded string that contains authorization data for the
--   specified Amazon ECR registry. When the string is decoded, it is
--   presented in the format <tt>user:password</tt> for private registry
--   authentication using <tt>docker login</tt> .
adAuthorizationToken :: Lens' AuthorizationData (Maybe Text)

-- | An object representing a filter on a <tt>DescribeImages</tt>
--   operation.
--   
--   <i>See:</i> <a>describeImagesFilter</a> smart constructor.
data DescribeImagesFilter

-- | Creates a value of <a>DescribeImagesFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>difTagStatus</a> - The tag status with which to filter your
--   <tt>DescribeImages</tt> results. You can filter results based on
--   whether they are <tt>TAGGED</tt> or <tt>UNTAGGED</tt> .</li>
--   </ul>
describeImagesFilter :: DescribeImagesFilter

-- | The tag status with which to filter your <tt>DescribeImages</tt>
--   results. You can filter results based on whether they are
--   <tt>TAGGED</tt> or <tt>UNTAGGED</tt> .
difTagStatus :: Lens' DescribeImagesFilter (Maybe TagStatus)

-- | An object representing an Amazon ECR image.
--   
--   <i>See:</i> <a>image</a> smart constructor.
data Image

-- | Creates a value of <a>Image</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iRegistryId</a> - The AWS account ID associated with the
--   registry containing the image.</li>
--   <li><a>iImageId</a> - An object containing the image tag and image
--   digest associated with an image.</li>
--   <li><a>iRepositoryName</a> - The name of the repository associated
--   with the image.</li>
--   <li><a>iImageManifest</a> - The image manifest associated with the
--   image.</li>
--   </ul>
image :: Image

-- | The AWS account ID associated with the registry containing the image.
iRegistryId :: Lens' Image (Maybe Text)

-- | An object containing the image tag and image digest associated with an
--   image.
iImageId :: Lens' Image (Maybe ImageIdentifier)

-- | The name of the repository associated with the image.
iRepositoryName :: Lens' Image (Maybe Text)

-- | The image manifest associated with the image.
iImageManifest :: Lens' Image (Maybe Text)

-- | An object that describes an image returned by a
--   <tt>DescribeImages</tt> operation.
--   
--   <i>See:</i> <a>imageDetail</a> smart constructor.
data ImageDetail

-- | Creates a value of <a>ImageDetail</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>idRegistryId</a> - The AWS account ID associated with the
--   registry to which this image belongs.</li>
--   <li><a>idImageTags</a> - The list of tags associated with this
--   image.</li>
--   <li><a>idImageSizeInBytes</a> - The size, in bytes, of the image in
--   the repository.</li>
--   <li><a>idImageDigest</a> - The <tt>sha256</tt> digest of the image
--   manifest.</li>
--   <li><a>idImagePushedAt</a> - The date and time, expressed in standard
--   JavaScript date format, at which the current image was pushed to the
--   repository.</li>
--   <li><a>idRepositoryName</a> - The name of the repository to which this
--   image belongs.</li>
--   </ul>
imageDetail :: ImageDetail

-- | The AWS account ID associated with the registry to which this image
--   belongs.
idRegistryId :: Lens' ImageDetail (Maybe Text)

-- | The list of tags associated with this image.
idImageTags :: Lens' ImageDetail [Text]

-- | The size, in bytes, of the image in the repository.
idImageSizeInBytes :: Lens' ImageDetail (Maybe Integer)

-- | The <tt>sha256</tt> digest of the image manifest.
idImageDigest :: Lens' ImageDetail (Maybe Text)

-- | The date and time, expressed in standard JavaScript date format, at
--   which the current image was pushed to the repository.
idImagePushedAt :: Lens' ImageDetail (Maybe UTCTime)

-- | The name of the repository to which this image belongs.
idRepositoryName :: Lens' ImageDetail (Maybe Text)

-- | An object representing an Amazon ECR image failure.
--   
--   <i>See:</i> <a>imageFailure</a> smart constructor.
data ImageFailure

-- | Creates a value of <a>ImageFailure</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ifFailureReason</a> - The reason for the failure.</li>
--   <li><a>ifFailureCode</a> - The code associated with the failure.</li>
--   <li><a>ifImageId</a> - The image ID associated with the failure.</li>
--   </ul>
imageFailure :: ImageFailure

-- | The reason for the failure.
ifFailureReason :: Lens' ImageFailure (Maybe Text)

-- | The code associated with the failure.
ifFailureCode :: Lens' ImageFailure (Maybe ImageFailureCode)

-- | The image ID associated with the failure.
ifImageId :: Lens' ImageFailure (Maybe ImageIdentifier)

-- | An object with identifying information for an Amazon ECR image.
--   
--   <i>See:</i> <a>imageIdentifier</a> smart constructor.
data ImageIdentifier

-- | Creates a value of <a>ImageIdentifier</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iiImageDigest</a> - The <tt>sha256</tt> digest of the image
--   manifest.</li>
--   <li><a>iiImageTag</a> - The tag used for the image.</li>
--   </ul>
imageIdentifier :: ImageIdentifier

-- | The <tt>sha256</tt> digest of the image manifest.
iiImageDigest :: Lens' ImageIdentifier (Maybe Text)

-- | The tag used for the image.
iiImageTag :: Lens' ImageIdentifier (Maybe Text)

-- | An object representing an Amazon ECR image layer.
--   
--   <i>See:</i> <a>layer</a> smart constructor.
data Layer

-- | Creates a value of <a>Layer</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lMediaType</a> - The media type of the layer, such as
--   <tt>application/vnd.docker.image.rootfs.diff.tar.gzip</tt> or
--   <tt>application/vnd.oci.image.layer.v1.tar+gzip</tt> .</li>
--   <li><a>lLayerDigest</a> - The <tt>sha256</tt> digest of the image
--   layer.</li>
--   <li><a>lLayerSize</a> - The size, in bytes, of the image layer.</li>
--   <li><a>lLayerAvailability</a> - The availability status of the image
--   layer.</li>
--   </ul>
layer :: Layer

-- | The media type of the layer, such as
--   <tt>application/vnd.docker.image.rootfs.diff.tar.gzip</tt> or
--   <tt>application/vnd.oci.image.layer.v1.tar+gzip</tt> .
lMediaType :: Lens' Layer (Maybe Text)

-- | The <tt>sha256</tt> digest of the image layer.
lLayerDigest :: Lens' Layer (Maybe Text)

-- | The size, in bytes, of the image layer.
lLayerSize :: Lens' Layer (Maybe Integer)

-- | The availability status of the image layer.
lLayerAvailability :: Lens' Layer (Maybe LayerAvailability)

-- | An object representing an Amazon ECR image layer failure.
--   
--   <i>See:</i> <a>layerFailure</a> smart constructor.
data LayerFailure

-- | Creates a value of <a>LayerFailure</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lfFailureReason</a> - The reason for the failure.</li>
--   <li><a>lfFailureCode</a> - The failure code associated with the
--   failure.</li>
--   <li><a>lfLayerDigest</a> - The layer digest associated with the
--   failure.</li>
--   </ul>
layerFailure :: LayerFailure

-- | The reason for the failure.
lfFailureReason :: Lens' LayerFailure (Maybe Text)

-- | The failure code associated with the failure.
lfFailureCode :: Lens' LayerFailure (Maybe LayerFailureCode)

-- | The layer digest associated with the failure.
lfLayerDigest :: Lens' LayerFailure (Maybe Text)

-- | The filter for the lifecycle policy preview.
--   
--   <i>See:</i> <a>lifecyclePolicyPreviewFilter</a> smart constructor.
data LifecyclePolicyPreviewFilter

-- | Creates a value of <a>LifecyclePolicyPreviewFilter</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lppfTagStatus</a> - The tag status of the image.</li>
--   </ul>
lifecyclePolicyPreviewFilter :: LifecyclePolicyPreviewFilter

-- | The tag status of the image.
lppfTagStatus :: Lens' LifecyclePolicyPreviewFilter (Maybe TagStatus)

-- | The result of the lifecycle policy preview.
--   
--   <i>See:</i> <a>lifecyclePolicyPreviewResult</a> smart constructor.
data LifecyclePolicyPreviewResult

-- | Creates a value of <a>LifecyclePolicyPreviewResult</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lpprImageTags</a> - The list of tags associated with this
--   image.</li>
--   <li><a>lpprAction</a> - The type of action to be taken.</li>
--   <li><a>lpprImageDigest</a> - The <tt>sha256</tt> digest of the image
--   manifest.</li>
--   <li><a>lpprImagePushedAt</a> - The date and time, expressed in
--   standard JavaScript date format, at which the current image was pushed
--   to the repository.</li>
--   <li><a>lpprAppliedRulePriority</a> - The priority of the applied
--   rule.</li>
--   </ul>
lifecyclePolicyPreviewResult :: LifecyclePolicyPreviewResult

-- | The list of tags associated with this image.
lpprImageTags :: Lens' LifecyclePolicyPreviewResult [Text]

-- | The type of action to be taken.
lpprAction :: Lens' LifecyclePolicyPreviewResult (Maybe LifecyclePolicyRuleAction)

-- | The <tt>sha256</tt> digest of the image manifest.
lpprImageDigest :: Lens' LifecyclePolicyPreviewResult (Maybe Text)

-- | The date and time, expressed in standard JavaScript date format, at
--   which the current image was pushed to the repository.
lpprImagePushedAt :: Lens' LifecyclePolicyPreviewResult (Maybe UTCTime)

-- | The priority of the applied rule.
lpprAppliedRulePriority :: Lens' LifecyclePolicyPreviewResult (Maybe Natural)

-- | The summary of the lifecycle policy preview request.
--   
--   <i>See:</i> <a>lifecyclePolicyPreviewSummary</a> smart constructor.
data LifecyclePolicyPreviewSummary

-- | Creates a value of <a>LifecyclePolicyPreviewSummary</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lppsExpiringImageTotalCount</a> - The number of expiring
--   images.</li>
--   </ul>
lifecyclePolicyPreviewSummary :: LifecyclePolicyPreviewSummary

-- | The number of expiring images.
lppsExpiringImageTotalCount :: Lens' LifecyclePolicyPreviewSummary (Maybe Natural)

-- | The type of action to be taken.
--   
--   <i>See:</i> <a>lifecyclePolicyRuleAction</a> smart constructor.
data LifecyclePolicyRuleAction

-- | Creates a value of <a>LifecyclePolicyRuleAction</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lpraType</a> - The type of action to be taken.</li>
--   </ul>
lifecyclePolicyRuleAction :: LifecyclePolicyRuleAction

-- | The type of action to be taken.
lpraType :: Lens' LifecyclePolicyRuleAction (Maybe ImageActionType)

-- | An object representing a filter on a <tt>ListImages</tt> operation.
--   
--   <i>See:</i> <a>listImagesFilter</a> smart constructor.
data ListImagesFilter

-- | Creates a value of <a>ListImagesFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lifTagStatus</a> - The tag status with which to filter your
--   <tt>ListImages</tt> results. You can filter results based on whether
--   they are <tt>TAGGED</tt> or <tt>UNTAGGED</tt> .</li>
--   </ul>
listImagesFilter :: ListImagesFilter

-- | The tag status with which to filter your <tt>ListImages</tt> results.
--   You can filter results based on whether they are <tt>TAGGED</tt> or
--   <tt>UNTAGGED</tt> .
lifTagStatus :: Lens' ListImagesFilter (Maybe TagStatus)

-- | An object representing a repository.
--   
--   <i>See:</i> <a>repository</a> smart constructor.
data Repository

-- | Creates a value of <a>Repository</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rRepositoryARN</a> - The Amazon Resource Name (ARN) that
--   identifies the repository. The ARN contains the <tt>arn:aws:ecr</tt>
--   namespace, followed by the region of the repository, AWS account ID of
--   the repository owner, repository namespace, and repository name. For
--   example, <tt>arn:aws:ecr:region:012345678910:repository/test</tt>
--   .</li>
--   <li><a>rCreatedAt</a> - The date and time, in JavaScript date format,
--   when the repository was created.</li>
--   <li><a>rRegistryId</a> - The AWS account ID associated with the
--   registry that contains the repository.</li>
--   <li><a>rRepositoryURI</a> - The URI for the repository. You can use
--   this URI for Docker <tt>push</tt> or <tt>pull</tt> operations.</li>
--   <li><a>rRepositoryName</a> - The name of the repository.</li>
--   </ul>
repository :: Repository

-- | The Amazon Resource Name (ARN) that identifies the repository. The ARN
--   contains the <tt>arn:aws:ecr</tt> namespace, followed by the region of
--   the repository, AWS account ID of the repository owner, repository
--   namespace, and repository name. For example,
--   <tt>arn:aws:ecr:region:012345678910:repository/test</tt> .
rRepositoryARN :: Lens' Repository (Maybe Text)

-- | The date and time, in JavaScript date format, when the repository was
--   created.
rCreatedAt :: Lens' Repository (Maybe UTCTime)

-- | The AWS account ID associated with the registry that contains the
--   repository.
rRegistryId :: Lens' Repository (Maybe Text)

-- | The URI for the repository. You can use this URI for Docker
--   <tt>push</tt> or <tt>pull</tt> operations.
rRepositoryURI :: Lens' Repository (Maybe Text)

-- | The name of the repository.
rRepositoryName :: Lens' Repository (Maybe Text)
