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


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

-- | 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 are no changes
--   to the manifest or image tag since 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 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 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 EC2 Container Registry User
--   Guide.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
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 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>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. Valid values are <tt>AVAILABLE</tt> and <tt>UNAVAILABLE</tt>
--   .</li>
--   </ul>
layer :: Layer

-- | 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. Valid values are
--   <tt>AVAILABLE</tt> and <tt>UNAVAILABLE</tt> .
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)

-- | 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, the AWS account
--   ID of the repository owner, the repository namespace, and then the
--   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/time
--   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> and <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, the AWS account ID of the repository owner, the
--   repository namespace, and then the 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/time 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> and <tt>pull</tt> operations.
rRepositoryURI :: Lens' Repository (Maybe Text)

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


-- | 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 that you are uploading layer parts to. If you do not specify
--   a registry, the default registry is assumed.</li>
--   <li><a>ulpRepositoryName</a> - The name of the repository that you are
--   uploading layer parts to.</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 that you are uploading
--   layer parts to. If you do not specify a registry, the default registry
--   is assumed.
ulpRegistryId :: Lens' UploadLayerPart (Maybe Text)

-- | The name of the repository that you are uploading layer parts to.
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 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
instance Control.DeepSeq.NFData Network.AWS.ECR.UploadLayerPart.UploadLayerPartResponse


module Network.AWS.ECR.Waiters


-- | 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 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
instance Control.DeepSeq.NFData Network.AWS.ECR.SetRepositoryPolicy.SetRepositoryPolicyResponse


-- | Creates or updates the image manifest 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>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 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 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
instance Control.DeepSeq.NFData Network.AWS.ECR.PutImage.PutImageResponse


-- | 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 to list images in. 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 whose image IDs are 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 to list images in. 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 whose image IDs are 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.Pager.AWSPager Network.AWS.ECR.ListImages.ListImages
instance Network.AWS.Types.AWSRequest 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
instance Control.DeepSeq.NFData Network.AWS.ECR.ListImages.ListImagesResponse


-- | 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 that you intend to upload layers to. If you do not specify a
--   registry, the default registry is assumed.</li>
--   <li><a>iluRepositoryName</a> - The name of the repository that you
--   intend to upload layers to.</li>
--   </ul>
initiateLayerUpload :: Text -> InitiateLayerUpload

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

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

-- | The name of the repository that you intend to upload layers to.
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 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
instance Control.DeepSeq.NFData Network.AWS.ECR.InitiateLayerUpload.InitiateLayerUploadResponse


-- | 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 whose policy
--   you want 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 whose policy you want 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 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
instance Control.DeepSeq.NFData Network.AWS.ECR.GetRepositoryPolicy.GetRepositoryPolicyResponse


-- | 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 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
instance Control.DeepSeq.NFData Network.AWS.ECR.GetDownloadURLForLayer.GetDownloadURLForLayerResponse


-- | 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 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
instance Control.DeepSeq.NFData Network.AWS.ECR.GetAuthorizationToken.GetAuthorizationTokenResponse


-- | 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.</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.</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.
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.
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.Pager.AWSPager Network.AWS.ECR.DescribeRepositories.DescribeRepositories
instance Network.AWS.Types.AWSRequest 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
instance Control.DeepSeq.NFData Network.AWS.ECR.DescribeRepositories.DescribeRepositoriesResponse


-- | Returns metadata about the images in a repository, including image
--   size 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 list 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.</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.</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 list 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.
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.
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.Pager.AWSPager Network.AWS.ECR.DescribeImages.DescribeImages
instance Network.AWS.Types.AWSRequest 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
instance Control.DeepSeq.NFData Network.AWS.ECR.DescribeImages.DescribeImagesResponse


-- | 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 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
instance Control.DeepSeq.NFData Network.AWS.ECR.DeleteRepositoryPolicy.DeleteRepositoryPolicyResponse


-- | 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> - Force the deletion of the repository if it
--   contains images.</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

-- | Force the deletion of the repository if it contains images.
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 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
instance Control.DeepSeq.NFData Network.AWS.ECR.DeleteRepository.DeleteRepositoryResponse


-- | 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 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
instance Control.DeepSeq.NFData Network.AWS.ECR.CreateRepository.CreateRepositoryResponse


-- | Inform Amazon ECR that the image layer upload for a specified
--   registry, repository name, and upload ID, has completed. 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 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
instance Control.DeepSeq.NFData Network.AWS.ECR.CompleteLayerUpload.CompleteLayerUploadResponse


-- | 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>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 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 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
instance Control.DeepSeq.NFData Network.AWS.ECR.BatchGetImage.BatchGetImageResponse


-- | Deletes a list of specified images within a specified repository.
--   Images are specified with either <tt>imageTag</tt> or
--   <tt>imageDigest</tt> .
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 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
instance Control.DeepSeq.NFData Network.AWS.ECR.BatchDeleteImage.BatchDeleteImageResponse


-- | 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 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
instance Control.DeepSeq.NFData Network.AWS.ECR.BatchCheckLayerAvailability.BatchCheckLayerAvailabilityResponse


-- | Amazon EC2 Container Registry (Amazon ECR) is a managed AWS 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 AWS 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

-- | 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 are no changes
--   to the manifest or image tag since 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 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 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 EC2 Container Registry User
--   Guide.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
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 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>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. Valid values are <tt>AVAILABLE</tt> and <tt>UNAVAILABLE</tt>
--   .</li>
--   </ul>
layer :: Layer

-- | 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. Valid values are
--   <tt>AVAILABLE</tt> and <tt>UNAVAILABLE</tt> .
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)

-- | 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, the AWS account
--   ID of the repository owner, the repository namespace, and then the
--   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/time
--   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> and <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, the AWS account ID of the repository owner, the
--   repository namespace, and then the 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/time 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> and <tt>pull</tt> operations.
rRepositoryURI :: Lens' Repository (Maybe Text)

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