-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Amazon CloudFront SDK.
--
-- The types from this library are intended to be used with
-- amazonka, 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 lens or lens-family-core.
--
-- See Network.AWS.CloudFront or the AWS documentation to
-- get started.
@package amazonka-cloudfront
@version 1.6.1
module Network.AWS.CloudFront.Types
-- | API version 2017-10-30 of the Amazon CloudFront SDK
-- configuration.
cloudFront :: Service
-- | Prism for TooManyOriginCustomHeaders' errors.
_TooManyOriginCustomHeaders :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidTagging' errors.
_InvalidTagging :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidErrorCode' errors.
_InvalidErrorCode :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified profile for field-level encryption doesn't exist.
_NoSuchFieldLevelEncryptionProfile :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified profile for field-level encryption is in use.
_FieldLevelEncryptionProfileInUse :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidOriginReadTimeout' errors.
_InvalidOriginReadTimeout :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum number of profiles for field-level encryption have been
-- created.
_TooManyFieldLevelEncryptionProfiles :: AsError a => Getting (First ServiceError) a ServiceError
-- | You cannot create more cache behaviors for the distribution.
_TooManyCacheBehaviors :: AsError a => Getting (First ServiceError) a ServiceError
-- | Processing your request would cause you to exceed the maximum number
-- of origin access identities allowed.
_TooManyCloudFrontOriginAccessIdentities :: AsError a => Getting (First ServiceError) a ServiceError
-- | The origin access identity is not valid or doesn't exist.
_InvalidOriginAccessIdentity :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for DistributionNotDisabled' errors.
_DistributionNotDisabled :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified streaming distribution does not exist.
_NoSuchStreamingDistribution :: AsError a => Getting (First ServiceError) a ServiceError
-- | The value of Quantity and the size of Items don't
-- match.
_InconsistentQuantities :: AsError a => Getting (First ServiceError) a ServiceError
-- | The argument is invalid.
_InvalidArgument :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidOriginKeepaliveTimeout' errors.
_InvalidOriginKeepaliveTimeout :: AsError a => Getting (First ServiceError) a ServiceError
-- | You have exceeded the maximum number of allowable InProgress
-- invalidation batch requests, or invalidation objects.
_TooManyInvalidationsInProgress :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidWebACLId' errors.
_InvalidWebACLId :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for TooManyQueryStringParameters' errors.
_TooManyQueryStringParameters :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum number of query arg profiles for field-level encryption
-- have been created.
_TooManyFieldLevelEncryptionQueryArgProfiles :: AsError a => Getting (First ServiceError) a ServiceError
-- | Your request contains more CNAMEs than are allowed per distribution.
_TooManyDistributionCNAMEs :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified origin access identity does not exist.
_NoSuchCloudFrontOriginAccessIdentity :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for CloudFrontOriginAccessIdentityInUse' errors.
_CloudFrontOriginAccessIdentityInUse :: AsError a => Getting (First ServiceError) a ServiceError
-- | Processing your request would cause you to exceed the maximum number
-- of streaming distributions allowed.
_TooManyStreamingDistributions :: AsError a => Getting (First ServiceError) a ServiceError
-- | You can't change the value of a public key.
_CannotChangeImmutablePublicKeyFields :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for BatchTooLarge' errors.
_BatchTooLarge :: AsError a => Getting (First ServiceError) a ServiceError
-- | Your request contains more cookie names in the whitelist than are
-- allowed per cache behavior.
_TooManyCookieNamesInWhiteList :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified Lambda function association is invalid.
_InvalidLambdaFunctionAssociation :: AsError a => Getting (First ServiceError) a ServiceError
-- | Your request contains forward cookies option which doesn't match with
-- the expectation for the whitelisted list of cookie names.
-- Either list of cookie names has been specified when not allowed or
-- list of cookie names is missing when expected.
_InvalidForwardCookies :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified configuration for field-level encryption is in use.
_FieldLevelEncryptionConfigInUse :: AsError a => Getting (First ServiceError) a ServiceError
-- | Your request contains more trusted signers than are allowed per
-- distribution.
_TooManyTrustedSigners :: AsError a => Getting (First ServiceError) a ServiceError
-- | The Amazon S3 origin server specified does not refer to a valid Amazon
-- S3 bucket.
_InvalidOrigin :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified invalidation does not exist.
_NoSuchInvalidation :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified public key already exists.
_PublicKeyAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
-- | No origin exists with the specified Origin Id .
_NoSuchOrigin :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidTTLOrder' errors.
_InvalidTTLOrder :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for StreamingDistributionNotDisabled' errors.
_StreamingDistributionNotDisabled :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for TooManyHeadersInForwardedValues' errors.
_TooManyHeadersInForwardedValues :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for NoSuchResource' errors.
_NoSuchResource :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum number of encryption entities for field-level encryption
-- have been created.
_TooManyFieldLevelEncryptionEncryptionEntities :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for TooManyStreamingDistributionCNAMEs' errors.
_TooManyStreamingDistributionCNAMEs :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified profile for field-level encryption already exists.
_FieldLevelEncryptionProfileAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for ResourceInUse' errors.
_ResourceInUse :: AsError a => Getting (First ServiceError) a ServiceError
-- | This operation requires the HTTPS protocol. Ensure that you specify
-- the HTTPS protocol in your request, or omit the
-- RequiredProtocols element from your distribution
-- configuration.
_InvalidRequiredProtocol :: AsError a => Getting (First ServiceError) a ServiceError
-- | Processing your request would cause you to exceed the maximum number
-- of distributions allowed.
_TooManyDistributions :: AsError a => Getting (First ServiceError) a ServiceError
-- | You cannot create anymore custom SSL/TLS certificates.
_TooManyCertificates :: AsError a => Getting (First ServiceError) a ServiceError
-- | The caller reference you attempted to create the distribution with is
-- associated with another distribution.
_DistributionAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum number of distributions have been associated with the
-- specified configuration for field-level encryption.
_TooManyDistributionsAssociatedToFieldLevelEncryptionConfig :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidQueryStringParameters' errors.
_InvalidQueryStringParameters :: AsError a => Getting (First ServiceError) a ServiceError
-- | This operation requires a body. Ensure that the body is present and
-- the Content-Type header is set.
_MissingBody :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified configuration for field-level encryption can't be
-- associated with the specified cache behavior.
_IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior :: AsError a => Getting (First ServiceError) a ServiceError
-- | Origin and CallerReference cannot be updated.
_IllegalUpdate :: AsError a => Getting (First ServiceError) a ServiceError
-- | The If-Match version is missing or not valid for the
-- distribution.
_InvalidIfMatchVersion :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified configuration for field-level encryption already exists.
_FieldLevelEncryptionConfigAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
-- | The precondition given in one or more of the request-header fields
-- evaluated to false .
_PreconditionFailed :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidResponseCode' errors.
_InvalidResponseCode :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidHeadersForS3Origin' errors.
_InvalidHeadersForS3Origin :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for CNAMEAlreadyExists' errors.
_CNAMEAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified public key doesn't exist.
_NoSuchPublicKey :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified public key is in use.
_PublicKeyInUse :: AsError a => Getting (First ServiceError) a ServiceError
-- | One or more of your trusted signers don't exist.
_TrustedSignerDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError
-- | You cannot specify SSLv3 as the minimum protocol version if you only
-- want to support only clients that support Server Name Indication
-- (SNI).
_InvalidProtocolSettings :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum number of public keys for field-level encryption have been
-- created. To create a new public key, delete one of the existing keys.
_TooManyPublicKeys :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified configuration for field-level encryption doesn't exist.
_NoSuchFieldLevelEncryptionConfig :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum number of content type profiles for field-level encryption
-- have been created.
_TooManyFieldLevelEncryptionContentTypeProfiles :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum number of field patterns for field-level encryption have
-- been created.
_TooManyFieldLevelEncryptionFieldPatterns :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum number of configurations for field-level encryption have
-- been created.
_TooManyFieldLevelEncryptionConfigs :: AsError a => Getting (First ServiceError) a ServiceError
-- | Your request contains more Lambda function associations than are
-- allowed per distribution.
_TooManyLambdaFunctionAssociations :: AsError a => Getting (First ServiceError) a ServiceError
-- | If the CallerReference is a value you already sent in a
-- previous request to create an identity but the content of the
-- CloudFrontOriginAccessIdentityConfig is different from the
-- original request, CloudFront returns a
-- CloudFrontOriginAccessIdentityAlreadyExists error.
_CloudFrontOriginAccessIdentityAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
-- | You cannot create more origins for the distribution.
_TooManyOrigins :: AsError a => Getting (First ServiceError) a ServiceError
-- | The relative path is too big, is not URL-encoded, or does not begin
-- with a slash (/).
_InvalidRelativePath :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for StreamingDistributionAlreadyExists' errors.
_StreamingDistributionAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
-- | No profile specified for the field-level encryption query argument.
_QueryArgProfileEmpty :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidMinimumProtocolVersion' errors.
_InvalidMinimumProtocolVersion :: AsError a => Getting (First ServiceError) a ServiceError
-- | Access denied.
_AccessDenied :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidViewerCertificate' errors.
_InvalidViewerCertificate :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified distribution does not exist.
_NoSuchDistribution :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum size of a profile for field-level encryption was exceeded.
_FieldLevelEncryptionProfileSizeExceeded :: AsError a => Getting (First ServiceError) a ServiceError
-- | The default root object file name is too big or contains an invalid
-- character.
_InvalidDefaultRootObject :: AsError a => Getting (First ServiceError) a ServiceError
-- | Processing your request would cause the maximum number of
-- distributions with Lambda function associations per owner to be
-- exceeded.
_TooManyDistributionsWithLambdaAssociations :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidGeoRestrictionParameter' errors.
_InvalidGeoRestrictionParameter :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidLocationCode' errors.
_InvalidLocationCode :: AsError a => Getting (First ServiceError) a ServiceError
data CertificateSource
Acm :: CertificateSource
Cloudfront :: CertificateSource
IAM :: CertificateSource
data EventType
OriginRequest :: EventType
OriginResponse :: EventType
ViewerRequest :: EventType
ViewerResponse :: EventType
data Format
URLEncoded :: Format
data GeoRestrictionType
Blacklist :: GeoRestrictionType
None :: GeoRestrictionType
Whitelist :: GeoRestrictionType
data HTTPVersion
HTTP1_1 :: HTTPVersion
HTTP2 :: HTTPVersion
data ItemSelection
ISAll :: ItemSelection
ISNone :: ItemSelection
ISWhitelist :: ItemSelection
data Method
Delete :: Method
Get :: Method
Head :: Method
Options :: Method
Patch :: Method
Post :: Method
Put :: Method
data MinimumProtocolVersion
MPVSSLV3 :: MinimumProtocolVersion
MPVTLSV1 :: MinimumProtocolVersion
MPVTLSV12016 :: MinimumProtocolVersion
MPVTLSV1_12016 :: MinimumProtocolVersion
MPVTLSV1_22018 :: MinimumProtocolVersion
data OriginProtocolPolicy
HTTPOnly :: OriginProtocolPolicy
HTTPSOnly :: OriginProtocolPolicy
MatchViewer :: OriginProtocolPolicy
data PriceClass
PriceClass100 :: PriceClass
PriceClass200 :: PriceClass
PriceClassAll :: PriceClass
data SSLProtocol
SSLV3 :: SSLProtocol
TLSV1 :: SSLProtocol
TLSV1_1 :: SSLProtocol
TLSV1_2 :: SSLProtocol
data SSLSupportMethod
SNIOnly :: SSLSupportMethod
VIP :: SSLSupportMethod
data ViewerProtocolPolicy
VPPAllowAll :: ViewerProtocolPolicy
VPPHTTPSOnly :: ViewerProtocolPolicy
VPPRedirectToHTTPS :: ViewerProtocolPolicy
-- | A complex type that lists the AWS accounts, if any, that you included
-- in the TrustedSigners complex type for this distribution.
-- These are the accounts that you want to allow to create signed URLs
-- for private content.
--
-- The Signer complex type lists the AWS account number of the
-- trusted signer or self if the signer is the AWS account that
-- created the distribution. The Signer element also includes
-- the IDs of any active CloudFront key pairs that are associated with
-- the trusted signer's AWS account. If no KeyPairId element
-- appears for a Signer , that signer can't create signed URLs.
--
-- For more information, see Serving Private Content through
-- CloudFront in the Amazon CloudFront Developer Guide .
--
-- See: activeTrustedSigners smart constructor.
data ActiveTrustedSigners
-- | Creates a value of ActiveTrustedSigners with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - atsItems - A complex type that contains one Signer
-- complex type for each trusted signer that is specified in the
-- TrustedSigners complex type. For more information, see
-- ActiveTrustedSigners .
-- - atsEnabled - Enabled is true if any of the AWS
-- accounts listed in the TrustedSigners complex type for this
-- RTMP distribution have active CloudFront key pairs. If not,
-- Enabled is false . For more information, see
-- ActiveTrustedSigners .
-- - atsQuantity - A complex type that contains one
-- Signer complex type for each trusted signer specified in the
-- TrustedSigners complex type. For more information, see
-- ActiveTrustedSigners .
--
activeTrustedSigners :: Bool -> Int -> ActiveTrustedSigners
-- | A complex type that contains one Signer complex type for each
-- trusted signer that is specified in the TrustedSigners
-- complex type. For more information, see ActiveTrustedSigners .
atsItems :: Lens' ActiveTrustedSigners [Signer]
-- | Enabled is true if any of the AWS accounts listed in the
-- TrustedSigners complex type for this RTMP distribution have
-- active CloudFront key pairs. If not, Enabled is
-- false . For more information, see ActiveTrustedSigners
-- .
atsEnabled :: Lens' ActiveTrustedSigners Bool
-- | A complex type that contains one Signer complex type for each
-- trusted signer specified in the TrustedSigners complex type.
-- For more information, see ActiveTrustedSigners .
atsQuantity :: Lens' ActiveTrustedSigners Int
-- | A complex type that contains information about CNAMEs (alternate
-- domain names), if any, for this distribution.
--
-- See: aliases smart constructor.
data Aliases
-- | Creates a value of Aliases with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - aItems - A complex type that contains the CNAME aliases, if
-- any, that you want to associate with this distribution.
-- - aQuantity - The number of CNAME aliases, if any, that you
-- want to associate with this distribution.
--
aliases :: Int -> Aliases
-- | A complex type that contains the CNAME aliases, if any, that you want
-- to associate with this distribution.
aItems :: Lens' Aliases [Text]
-- | The number of CNAME aliases, if any, that you want to associate with
-- this distribution.
aQuantity :: Lens' Aliases Int
-- | A complex type that controls which HTTP methods CloudFront processes
-- and forwards to your Amazon S3 bucket or your custom origin. There are
-- three choices:
--
--
-- - CloudFront forwards only GET and HEAD
-- requests.
-- - CloudFront forwards only GET , HEAD , and
-- OPTIONS requests.
-- - CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST
-- , and DELETE requests.
--
--
-- If you pick the third choice, you may need to restrict access to your
-- Amazon S3 bucket or to your custom origin so users can't perform
-- operations that you don't want them to. For example, you might not
-- want users to have permissions to delete objects from your origin.
--
-- See: allowedMethods smart constructor.
data AllowedMethods
-- | Creates a value of AllowedMethods with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - amCachedMethods - Undocumented member.
-- - amQuantity - The number of HTTP methods that you want
-- CloudFront to forward to your origin. Valid values are 2 (for
-- GET and HEAD requests), 3 (for GET ,
-- HEAD , and OPTIONS requests) and 7 (for GET,
-- HEAD, OPTIONS, PUT, PATCH, POST , and DELETE
-- requests).
-- - amItems - A complex type that contains the HTTP methods
-- that you want CloudFront to process and forward to your origin.
--
allowedMethods :: Int -> AllowedMethods
-- | Undocumented member.
amCachedMethods :: Lens' AllowedMethods (Maybe CachedMethods)
-- | The number of HTTP methods that you want CloudFront to forward to your
-- origin. Valid values are 2 (for GET and HEAD
-- requests), 3 (for GET , HEAD , and OPTIONS
-- requests) and 7 (for GET, HEAD, OPTIONS, PUT, PATCH, POST ,
-- and DELETE requests).
amQuantity :: Lens' AllowedMethods Int
-- | A complex type that contains the HTTP methods that you want CloudFront
-- to process and forward to your origin.
amItems :: Lens' AllowedMethods [Method]
-- | A complex type that describes how CloudFront processes requests.
--
-- You must create at least as many cache behaviors (including the
-- default cache behavior) as you have origins if you want CloudFront to
-- distribute objects from all of the origins. Each cache behavior
-- specifies the one origin from which you want CloudFront to get
-- objects. If you have two origins and only the default cache behavior,
-- the default cache behavior will cause CloudFront to get objects from
-- one of the origins, but the other origin is never used.
--
-- For the current limit on the number of cache behaviors that you can
-- add to a distribution, see Amazon CloudFront Limits in the
-- AWS General Reference .
--
-- If you don't want to specify any cache behaviors, include only an
-- empty CacheBehaviors element. Don't include an empty
-- CacheBehavior element, or CloudFront returns a
-- MalformedXML error.
--
-- To delete all cache behaviors in an existing distribution, update the
-- distribution configuration and include only an empty
-- CacheBehaviors element.
--
-- To add, change, or remove one or more cache behaviors, update the
-- distribution configuration and specify all of the cache behaviors that
-- you want to include in the updated distribution.
--
-- For more information about cache behaviors, see Cache Behaviors
-- in the Amazon CloudFront Developer Guide .
--
-- See: cacheBehavior smart constructor.
data CacheBehavior
-- | Creates a value of CacheBehavior with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cbAllowedMethods - Undocumented member.
-- - cbLambdaFunctionAssociations - A complex type that contains
-- zero or more Lambda function associations for a cache behavior.
-- - cbMaxTTL - The maximum amount of time that you want objects
-- to stay in CloudFront caches before CloudFront forwards another
-- request to your origin to determine whether the object has been
-- updated. The value that you specify applies only when your origin adds
-- HTTP headers such as Cache-Control max-age ,
-- Cache-Control s-maxage , and Expires to objects. For
-- more information, see Specifying How Long Objects and Errors Stay
-- in a CloudFront Edge Cache (Expiration) in the Amazon
-- CloudFront Developer Guide .
-- - cbCompress - Whether you want CloudFront to automatically
-- compress certain files for this cache behavior. If so, specify true;
-- if not, specify false. For more information, see Serving Compressed
-- Files in the Amazon CloudFront Developer Guide .
-- - cbSmoothStreaming - Indicates whether you want to
-- distribute media files in the Microsoft Smooth Streaming format using
-- the origin that is associated with this cache behavior. If so, specify
-- true ; if not, specify false . If you specify
-- true for SmoothStreaming , you can still distribute
-- other content using this cache behavior if the content matches the
-- value of PathPattern .
-- - cbDefaultTTL - The default amount of time that you want
-- objects to stay in CloudFront caches before CloudFront forwards
-- another request to your origin to determine whether the object has
-- been updated. The value that you specify applies only when your origin
-- does not add HTTP headers such as Cache-Control max-age ,
-- Cache-Control s-maxage , and Expires to objects. For
-- more information, see Specifying How Long Objects and Errors Stay
-- in a CloudFront Edge Cache (Expiration) in the Amazon
-- CloudFront Developer Guide .
-- - cbFieldLevelEncryptionId - Undocumented member.
-- - cbPathPattern - The pattern (for example,
-- images/*.jpg ) that specifies which requests to apply the
-- behavior to. When CloudFront receives a viewer request, the requested
-- path is compared with path patterns in the order in which cache
-- behaviors are listed in the distribution. The path pattern for the
-- default cache behavior is * and cannot be changed. If the
-- request for an object does not match the path pattern for any cache
-- behaviors, CloudFront applies the behavior in the default cache
-- behavior. For more information, see Path Pattern in the
-- Amazon CloudFront Developer Guide .
-- - cbTargetOriginId - The value of ID for the origin
-- that you want CloudFront to route requests to when a request matches
-- the path pattern either for a cache behavior or for the default cache
-- behavior.
-- - cbForwardedValues - A complex type that specifies how
-- CloudFront handles query strings and cookies.
-- - cbTrustedSigners - A complex type that specifies the AWS
-- accounts, if any, that you want to allow to create signed URLs for
-- private content. If you want to require signed URLs in requests for
-- objects in the target origin that match the PathPattern for
-- this cache behavior, specify true for Enabled , and
-- specify the applicable values for Quantity and Items
-- . For more information, see Serving Private Content through
-- CloudFront in the Amazon Amazon CloudFront Developer Guide
-- . If you don't want to require signed URLs in requests for objects
-- that match PathPattern , specify false for
-- Enabled and 0 for Quantity . Omit
-- Items . To add, change, or remove one or more trusted
-- signers, change Enabled to true (if it's currently
-- false ), change Quantity as applicable, and specify
-- all of the trusted signers that you want to include in the updated
-- distribution.
-- - cbViewerProtocolPolicy - The protocol that viewers can use
-- to access the files in the origin specified by TargetOriginId
-- when a request matches the path pattern in PathPattern . You
-- can specify the following options: * allow-all : Viewers can
-- use HTTP or HTTPS. * redirect-to-https : If a viewer submits
-- an HTTP request, CloudFront returns an HTTP status code of 301 (Moved
-- Permanently) to the viewer along with the HTTPS URL. The viewer then
-- resubmits the request using the new URL. * https-only : If a
-- viewer sends an HTTP request, CloudFront returns an HTTP status code
-- of 403 (Forbidden). For more information about requiring the HTTPS
-- protocol, see Using an HTTPS Connection to Access Your Objects
-- in the Amazon CloudFront Developer Guide .
-- - cbMinTTL - The minimum amount of time that you want objects
-- to stay in CloudFront caches before CloudFront forwards another
-- request to your origin to determine whether the object has been
-- updated. For more information, see Specifying How Long Objects and
-- Errors Stay in a CloudFront Edge Cache (Expiration) in the
-- Amazon Amazon CloudFront Developer Guide . You must specify
-- 0 for MinTTL if you configure CloudFront to forward
-- all headers to your origin (under Headers , if you specify
-- 1 for Quantity and * for Name
-- ).
--
cacheBehavior :: Text -> Text -> ForwardedValues -> TrustedSigners -> ViewerProtocolPolicy -> Integer -> CacheBehavior
-- | Undocumented member.
cbAllowedMethods :: Lens' CacheBehavior (Maybe AllowedMethods)
-- | A complex type that contains zero or more Lambda function associations
-- for a cache behavior.
cbLambdaFunctionAssociations :: Lens' CacheBehavior (Maybe LambdaFunctionAssociations)
-- | The maximum amount of time that you want objects to stay in CloudFront
-- caches before CloudFront forwards another request to your origin to
-- determine whether the object has been updated. The value that you
-- specify applies only when your origin adds HTTP headers such as
-- Cache-Control max-age , Cache-Control s-maxage , and
-- Expires to objects. For more information, see Specifying
-- How Long Objects and Errors Stay in a CloudFront Edge Cache
-- (Expiration) in the Amazon CloudFront Developer Guide .
cbMaxTTL :: Lens' CacheBehavior (Maybe Integer)
-- | Whether you want CloudFront to automatically compress certain files
-- for this cache behavior. If so, specify true; if not, specify false.
-- For more information, see Serving Compressed Files in the
-- Amazon CloudFront Developer Guide .
cbCompress :: Lens' CacheBehavior (Maybe Bool)
-- | Indicates whether you want to distribute media files in the Microsoft
-- Smooth Streaming format using the origin that is associated with this
-- cache behavior. If so, specify true ; if not, specify
-- false . If you specify true for
-- SmoothStreaming , you can still distribute other content
-- using this cache behavior if the content matches the value of
-- PathPattern .
cbSmoothStreaming :: Lens' CacheBehavior (Maybe Bool)
-- | The default amount of time that you want objects to stay in CloudFront
-- caches before CloudFront forwards another request to your origin to
-- determine whether the object has been updated. The value that you
-- specify applies only when your origin does not add HTTP headers such
-- as Cache-Control max-age , Cache-Control s-maxage ,
-- and Expires to objects. For more information, see
-- Specifying How Long Objects and Errors Stay in a CloudFront Edge
-- Cache (Expiration) in the Amazon CloudFront Developer Guide
-- .
cbDefaultTTL :: Lens' CacheBehavior (Maybe Integer)
-- | Undocumented member.
cbFieldLevelEncryptionId :: Lens' CacheBehavior (Maybe Text)
-- | The pattern (for example, images/*.jpg ) that specifies which
-- requests to apply the behavior to. When CloudFront receives a viewer
-- request, the requested path is compared with path patterns in the
-- order in which cache behaviors are listed in the distribution. The
-- path pattern for the default cache behavior is * and cannot
-- be changed. If the request for an object does not match the path
-- pattern for any cache behaviors, CloudFront applies the behavior in
-- the default cache behavior. For more information, see Path
-- Pattern in the Amazon CloudFront Developer Guide .
cbPathPattern :: Lens' CacheBehavior Text
-- | The value of ID for the origin that you want CloudFront to
-- route requests to when a request matches the path pattern either for a
-- cache behavior or for the default cache behavior.
cbTargetOriginId :: Lens' CacheBehavior Text
-- | A complex type that specifies how CloudFront handles query strings and
-- cookies.
cbForwardedValues :: Lens' CacheBehavior ForwardedValues
-- | A complex type that specifies the AWS accounts, if any, that you want
-- to allow to create signed URLs for private content. If you want to
-- require signed URLs in requests for objects in the target origin that
-- match the PathPattern for this cache behavior, specify
-- true for Enabled , and specify the applicable values
-- for Quantity and Items . For more information, see
-- Serving Private Content through CloudFront in the Amazon
-- Amazon CloudFront Developer Guide . If you don't want to require
-- signed URLs in requests for objects that match PathPattern ,
-- specify false for Enabled and 0 for
-- Quantity . Omit Items . To add, change, or remove
-- one or more trusted signers, change Enabled to true
-- (if it's currently false ), change Quantity as
-- applicable, and specify all of the trusted signers that you want to
-- include in the updated distribution.
cbTrustedSigners :: Lens' CacheBehavior TrustedSigners
-- | The protocol that viewers can use to access the files in the origin
-- specified by TargetOriginId when a request matches the path
-- pattern in PathPattern . You can specify the following
-- options: * allow-all : Viewers can use HTTP or HTTPS. *
-- redirect-to-https : If a viewer submits an HTTP request,
-- CloudFront returns an HTTP status code of 301 (Moved Permanently) to
-- the viewer along with the HTTPS URL. The viewer then resubmits the
-- request using the new URL. * https-only : If a viewer sends
-- an HTTP request, CloudFront returns an HTTP status code of 403
-- (Forbidden). For more information about requiring the HTTPS protocol,
-- see Using an HTTPS Connection to Access Your Objects in the
-- Amazon CloudFront Developer Guide .
cbViewerProtocolPolicy :: Lens' CacheBehavior ViewerProtocolPolicy
-- | The minimum amount of time that you want objects to stay in CloudFront
-- caches before CloudFront forwards another request to your origin to
-- determine whether the object has been updated. For more information,
-- see Specifying How Long Objects and Errors Stay in a CloudFront
-- Edge Cache (Expiration) in the Amazon Amazon CloudFront
-- Developer Guide . You must specify 0 for MinTTL
-- if you configure CloudFront to forward all headers to your origin
-- (under Headers , if you specify 1 for
-- Quantity and * for Name ).
cbMinTTL :: Lens' CacheBehavior Integer
-- | A complex type that contains zero or more CacheBehavior
-- elements.
--
-- See: cacheBehaviors smart constructor.
data CacheBehaviors
-- | Creates a value of CacheBehaviors with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cbItems - Optional: A complex type that contains cache
-- behaviors for this distribution. If Quantity is 0 ,
-- you can omit Items .
-- - cbQuantity - The number of cache behaviors for this
-- distribution.
--
cacheBehaviors :: Int -> CacheBehaviors
-- | Optional: A complex type that contains cache behaviors for this
-- distribution. If Quantity is 0 , you can omit
-- Items .
cbItems :: Lens' CacheBehaviors [CacheBehavior]
-- | The number of cache behaviors for this distribution.
cbQuantity :: Lens' CacheBehaviors Int
-- | A complex type that controls whether CloudFront caches the response to
-- requests using the specified HTTP methods. There are two choices:
--
--
-- - CloudFront caches responses to GET and HEAD
-- requests.
-- - CloudFront caches responses to GET , HEAD , and
-- OPTIONS requests.
--
--
-- If you pick the second choice for your Amazon S3 Origin, you may need
-- to forward Access-Control-Request-Method,
-- Access-Control-Request-Headers, and Origin headers for the responses
-- to be cached correctly.
--
-- See: cachedMethods smart constructor.
data CachedMethods
-- | Creates a value of CachedMethods with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cmQuantity - The number of HTTP methods for which you want
-- CloudFront to cache responses. Valid values are 2 (for
-- caching responses to GET and HEAD requests) and
-- 3 (for caching responses to GET , HEAD ,
-- and OPTIONS requests).
-- - cmItems - A complex type that contains the HTTP methods
-- that you want CloudFront to cache responses to.
--
cachedMethods :: Int -> CachedMethods
-- | The number of HTTP methods for which you want CloudFront to cache
-- responses. Valid values are 2 (for caching responses to
-- GET and HEAD requests) and 3 (for caching
-- responses to GET , HEAD , and OPTIONS
-- requests).
cmQuantity :: Lens' CachedMethods Int
-- | A complex type that contains the HTTP methods that you want CloudFront
-- to cache responses to.
cmItems :: Lens' CachedMethods [Method]
-- | CloudFront origin access identity.
--
-- See: cloudFrontOriginAccessIdentity smart constructor.
data CloudFrontOriginAccessIdentity
-- | Creates a value of CloudFrontOriginAccessIdentity with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cfoaiCloudFrontOriginAccessIdentityConfig - The current
-- configuration information for the identity.
-- - cfoaiId - The ID for the origin access identity, for
-- example, E74FTE3AJFJ256A .
-- - cfoaiS3CanonicalUserId - The Amazon S3 canonical user ID
-- for the origin access identity, used when giving the origin access
-- identity read permission to an object in Amazon S3.
--
cloudFrontOriginAccessIdentity :: Text -> Text -> CloudFrontOriginAccessIdentity
-- | The current configuration information for the identity.
cfoaiCloudFrontOriginAccessIdentityConfig :: Lens' CloudFrontOriginAccessIdentity (Maybe CloudFrontOriginAccessIdentityConfig)
-- | The ID for the origin access identity, for example,
-- E74FTE3AJFJ256A .
cfoaiId :: Lens' CloudFrontOriginAccessIdentity Text
-- | The Amazon S3 canonical user ID for the origin access identity, used
-- when giving the origin access identity read permission to an object in
-- Amazon S3.
cfoaiS3CanonicalUserId :: Lens' CloudFrontOriginAccessIdentity Text
-- | Origin access identity configuration. Send a GET request to
-- the /CloudFront API version CloudFrontidentity
-- ID/config resource.
--
-- See: cloudFrontOriginAccessIdentityConfig smart
-- constructor.
data CloudFrontOriginAccessIdentityConfig
-- | Creates a value of CloudFrontOriginAccessIdentityConfig with
-- the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cfoaicCallerReference - A unique number that ensures the
-- request can't be replayed. If the CallerReference is new (no
-- matter the content of the
-- CloudFrontOriginAccessIdentityConfig object), a new origin
-- access identity is created. If the CallerReference is a value
-- already sent in a previous identity request, and the content of the
-- CloudFrontOriginAccessIdentityConfig is identical to the
-- original request (ignoring white space), the response includes the
-- same information returned to the original request. If the
-- CallerReference is a value you already sent in a previous
-- request to create an identity, but the content of the
-- CloudFrontOriginAccessIdentityConfig is different from the
-- original request, CloudFront returns a
-- CloudFrontOriginAccessIdentityAlreadyExists error.
-- - cfoaicComment - Any comments you want to include about the
-- origin access identity.
--
cloudFrontOriginAccessIdentityConfig :: Text -> Text -> CloudFrontOriginAccessIdentityConfig
-- | A unique number that ensures the request can't be replayed. If the
-- CallerReference is new (no matter the content of the
-- CloudFrontOriginAccessIdentityConfig object), a new origin
-- access identity is created. If the CallerReference is a value
-- already sent in a previous identity request, and the content of the
-- CloudFrontOriginAccessIdentityConfig is identical to the
-- original request (ignoring white space), the response includes the
-- same information returned to the original request. If the
-- CallerReference is a value you already sent in a previous
-- request to create an identity, but the content of the
-- CloudFrontOriginAccessIdentityConfig is different from the
-- original request, CloudFront returns a
-- CloudFrontOriginAccessIdentityAlreadyExists error.
cfoaicCallerReference :: Lens' CloudFrontOriginAccessIdentityConfig Text
-- | Any comments you want to include about the origin access identity.
cfoaicComment :: Lens' CloudFrontOriginAccessIdentityConfig Text
-- | Lists the origin access identities for CloudFront.Send a GET
-- request to the /CloudFront API version
-- origin-access-identitycloudfront resource. The response
-- includes a CloudFrontOriginAccessIdentityList element with
-- zero or more CloudFrontOriginAccessIdentitySummary child
-- elements. By default, your entire list of origin access identities is
-- returned in one single page. If the list is long, you can paginate it
-- using the MaxItems and Marker parameters.
--
-- See: cloudFrontOriginAccessIdentityList smart
-- constructor.
data CloudFrontOriginAccessIdentityList
-- | Creates a value of CloudFrontOriginAccessIdentityList with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cfoailItems - A complex type that contains one
-- CloudFrontOriginAccessIdentitySummary element for each origin
-- access identity that was created by the current AWS account.
-- - cfoailNextMarker - If IsTruncated is true
-- , this element is present and contains the value you can use for the
-- Marker request parameter to continue listing your origin
-- access identities where they left off.
-- - cfoailMarker - Use this when paginating results to indicate
-- where to begin in your list of origin access identities. The results
-- include identities in the list that occur after the marker. To get the
-- next page of results, set the Marker to the value of the
-- NextMarker from the current page's response (which is also
-- the ID of the last identity on that page).
-- - cfoailMaxItems - The maximum number of origin access
-- identities you want in the response body.
-- - cfoailIsTruncated - A flag that indicates whether more
-- origin access identities remain to be listed. If your results were
-- truncated, you can make a follow-up pagination request using the
-- Marker request parameter to retrieve more items in the
-- list.
-- - cfoailQuantity - The number of CloudFront origin access
-- identities that were created by the current AWS account.
--
cloudFrontOriginAccessIdentityList :: Text -> Int -> Bool -> Int -> CloudFrontOriginAccessIdentityList
-- | A complex type that contains one
-- CloudFrontOriginAccessIdentitySummary element for each origin
-- access identity that was created by the current AWS account.
cfoailItems :: Lens' CloudFrontOriginAccessIdentityList [CloudFrontOriginAccessIdentitySummary]
-- | If IsTruncated is true , this element is present and
-- contains the value you can use for the Marker request
-- parameter to continue listing your origin access identities where they
-- left off.
cfoailNextMarker :: Lens' CloudFrontOriginAccessIdentityList (Maybe Text)
-- | Use this when paginating results to indicate where to begin in your
-- list of origin access identities. The results include identities in
-- the list that occur after the marker. To get the next page of results,
-- set the Marker to the value of the NextMarker from
-- the current page's response (which is also the ID of the last identity
-- on that page).
cfoailMarker :: Lens' CloudFrontOriginAccessIdentityList Text
-- | The maximum number of origin access identities you want in the
-- response body.
cfoailMaxItems :: Lens' CloudFrontOriginAccessIdentityList Int
-- | A flag that indicates whether more origin access identities remain to
-- be listed. If your results were truncated, you can make a follow-up
-- pagination request using the Marker request parameter to
-- retrieve more items in the list.
cfoailIsTruncated :: Lens' CloudFrontOriginAccessIdentityList Bool
-- | The number of CloudFront origin access identities that were created by
-- the current AWS account.
cfoailQuantity :: Lens' CloudFrontOriginAccessIdentityList Int
-- | Summary of the information about a CloudFront origin access identity.
--
-- See: cloudFrontOriginAccessIdentitySummary smart
-- constructor.
data CloudFrontOriginAccessIdentitySummary
-- | Creates a value of CloudFrontOriginAccessIdentitySummary with
-- the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cfoaisId - The ID for the origin access identity. For
-- example: E74FTE3AJFJ256A .
-- - cfoaisS3CanonicalUserId - The Amazon S3 canonical user ID
-- for the origin access identity, which you use when giving the origin
-- access identity read permission to an object in Amazon S3.
-- - cfoaisComment - The comment for this origin access
-- identity, as originally specified when created.
--
cloudFrontOriginAccessIdentitySummary :: Text -> Text -> Text -> CloudFrontOriginAccessIdentitySummary
-- | The ID for the origin access identity. For example:
-- E74FTE3AJFJ256A .
cfoaisId :: Lens' CloudFrontOriginAccessIdentitySummary Text
-- | The Amazon S3 canonical user ID for the origin access identity, which
-- you use when giving the origin access identity read permission to an
-- object in Amazon S3.
cfoaisS3CanonicalUserId :: Lens' CloudFrontOriginAccessIdentitySummary Text
-- | The comment for this origin access identity, as originally specified
-- when created.
cfoaisComment :: Lens' CloudFrontOriginAccessIdentitySummary Text
-- | A field-level encryption content type profile.
--
-- See: contentTypeProfile smart constructor.
data ContentTypeProfile
-- | Creates a value of ContentTypeProfile with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - ctpProfileId - The profile ID for a field-level encryption
-- content type-profile mapping.
-- - ctpFormat - The format for a field-level encryption content
-- type-profile mapping.
-- - ctpContentType - The content type for a field-level
-- encryption content type-profile mapping.
--
contentTypeProfile :: Format -> Text -> ContentTypeProfile
-- | The profile ID for a field-level encryption content type-profile
-- mapping.
ctpProfileId :: Lens' ContentTypeProfile (Maybe Text)
-- | The format for a field-level encryption content type-profile mapping.
ctpFormat :: Lens' ContentTypeProfile Format
-- | The content type for a field-level encryption content type-profile
-- mapping.
ctpContentType :: Lens' ContentTypeProfile Text
-- | The configuration for a field-level encryption content type-profile
-- mapping.
--
-- See: contentTypeProfileConfig smart constructor.
data ContentTypeProfileConfig
-- | Creates a value of ContentTypeProfileConfig with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - ctpcContentTypeProfiles - The configuration for a
-- field-level encryption content type-profile.
-- - ctpcForwardWhenContentTypeIsUnknown - The setting in a
-- field-level encryption content type-profile mapping that specifies
-- what to do when an unknown content type is provided for the profile.
-- If true, content is forwarded without being encrypted when the content
-- type is unknown. If false (the default), an error is returned when the
-- content type is unknown.
--
contentTypeProfileConfig :: Bool -> ContentTypeProfileConfig
-- | The configuration for a field-level encryption content type-profile.
ctpcContentTypeProfiles :: Lens' ContentTypeProfileConfig (Maybe ContentTypeProfiles)
-- | The setting in a field-level encryption content type-profile mapping
-- that specifies what to do when an unknown content type is provided for
-- the profile. If true, content is forwarded without being encrypted
-- when the content type is unknown. If false (the default), an error is
-- returned when the content type is unknown.
ctpcForwardWhenContentTypeIsUnknown :: Lens' ContentTypeProfileConfig Bool
-- | Field-level encryption content type-profile.
--
-- See: contentTypeProfiles smart constructor.
data ContentTypeProfiles
-- | Creates a value of ContentTypeProfiles with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - ctpItems - Items in a field-level encryption content
-- type-profile mapping.
-- - ctpQuantity - The number of field-level encryption content
-- type-profile mappings.
--
contentTypeProfiles :: Int -> ContentTypeProfiles
-- | Items in a field-level encryption content type-profile mapping.
ctpItems :: Lens' ContentTypeProfiles [ContentTypeProfile]
-- | The number of field-level encryption content type-profile mappings.
ctpQuantity :: Lens' ContentTypeProfiles Int
-- | A complex type that specifies whether you want CloudFront to forward
-- cookies to the origin and, if so, which ones. For more information
-- about forwarding cookies to the origin, see How CloudFront
-- Forwards, Caches, and Logs Cookies in the Amazon CloudFront
-- Developer Guide .
--
-- See: cookieNames smart constructor.
data CookieNames
-- | Creates a value of CookieNames with the minimum fields required
-- to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cnItems - A complex type that contains one Name
-- element for each cookie that you want CloudFront to forward to the
-- origin for this cache behavior.
-- - cnQuantity - The number of different cookies that you want
-- CloudFront to forward to the origin for this cache behavior.
--
cookieNames :: Int -> CookieNames
-- | A complex type that contains one Name element for each cookie
-- that you want CloudFront to forward to the origin for this cache
-- behavior.
cnItems :: Lens' CookieNames [Text]
-- | The number of different cookies that you want CloudFront to forward to
-- the origin for this cache behavior.
cnQuantity :: Lens' CookieNames Int
-- | A complex type that specifies whether you want CloudFront to forward
-- cookies to the origin and, if so, which ones. For more information
-- about forwarding cookies to the origin, see How CloudFront
-- Forwards, Caches, and Logs Cookies in the Amazon CloudFront
-- Developer Guide .
--
-- See: cookiePreference smart constructor.
data CookiePreference
-- | Creates a value of CookiePreference with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cpWhitelistedNames - Required if you specify
-- whitelist for the value of Forward: . A complex type
-- that specifies how many different cookies you want CloudFront to
-- forward to the origin for this cache behavior and, if you want to
-- forward selected cookies, the names of those cookies. If you specify
-- all or none for the value of Forward , omit
-- WhitelistedNames . If you change the value of
-- Forward from whitelist to all or none and you don't
-- delete the WhitelistedNames element and its child elements,
-- CloudFront deletes them automatically. For the current limit on the
-- number of cookie names that you can whitelist for each cache behavior,
-- see Amazon CloudFront Limits in the AWS General
-- Reference .
-- - cpForward - Specifies which cookies to forward to the
-- origin for this cache behavior: all, none, or the list of cookies
-- specified in the WhitelistedNames complex type. Amazon S3
-- doesn't process cookies. When the cache behavior is forwarding
-- requests to an Amazon S3 origin, specify none for the Forward
-- element.
--
cookiePreference :: ItemSelection -> CookiePreference
-- | Required if you specify whitelist for the value of
-- Forward: . A complex type that specifies how many different
-- cookies you want CloudFront to forward to the origin for this cache
-- behavior and, if you want to forward selected cookies, the names of
-- those cookies. If you specify all or none for the value of
-- Forward , omit WhitelistedNames . If you change the
-- value of Forward from whitelist to all or none and
-- you don't delete the WhitelistedNames element and its child
-- elements, CloudFront deletes them automatically. For the current limit
-- on the number of cookie names that you can whitelist for each cache
-- behavior, see Amazon CloudFront Limits in the AWS General
-- Reference .
cpWhitelistedNames :: Lens' CookiePreference (Maybe CookieNames)
-- | Specifies which cookies to forward to the origin for this cache
-- behavior: all, none, or the list of cookies specified in the
-- WhitelistedNames complex type. Amazon S3 doesn't process
-- cookies. When the cache behavior is forwarding requests to an Amazon
-- S3 origin, specify none for the Forward element.
cpForward :: Lens' CookiePreference ItemSelection
-- | A complex type that controls:
--
--
-- - Whether CloudFront replaces HTTP status codes in the 4xx and 5xx
-- range with custom error messages before returning the response to the
-- viewer.
-- - How long CloudFront caches HTTP status codes in the 4xx and 5xx
-- range.
--
--
-- For more information about custom error pages, see Customizing
-- Error Responses in the Amazon CloudFront Developer Guide .
--
-- See: customErrorResponse smart constructor.
data CustomErrorResponse
-- | Creates a value of CustomErrorResponse with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - ceResponsePagePath - The path to the custom error page that
-- you want CloudFront to return to a viewer when your origin returns the
-- HTTP status code specified by ErrorCode , for example,
-- 4xx-errors403-forbidden.html . If you want to store
-- your objects and your custom error pages in different locations, your
-- distribution must include a cache behavior for which the following is
-- true: * The value of PathPattern matches the path to your
-- custom error messages. For example, suppose you saved custom error
-- pages for 4xx errors in an Amazon S3 bucket in a directory named
-- /4xx-errors . Your distribution must include a cache behavior
-- for which the path pattern routes requests for your custom error pages
-- to that location, for example, 4xx-errors* . * The
-- value of TargetOriginId specifies the value of the
-- ID element for the origin that contains your custom error
-- pages. If you specify a value for ResponsePagePath , you must
-- also specify a value for ResponseCode . If you don't want to
-- specify a value, include an empty element,
-- ResponsePagePath , in the XML document. We recommend
-- that you store custom error pages in an Amazon S3 bucket. If you store
-- custom error pages on an HTTP server and the server starts to return
-- 5xx errors, CloudFront can't get the files that you want to return to
-- viewers because the origin server is unavailable.
-- - ceResponseCode - The HTTP status code that you want
-- CloudFront to return to the viewer along with the custom error page.
-- There are a variety of reasons that you might want CloudFront to
-- return a status code different from the status code that your origin
-- returned to CloudFront, for example: * Some Internet devices (some
-- firewalls and corporate proxies, for example) intercept HTTP 4xx and
-- 5xx and prevent the response from being returned to the viewer. If you
-- substitute 200 , the response typically won't be intercepted.
-- * If you don't care about distinguishing among different client errors
-- or server errors, you can specify 400 or 500 as the
-- ResponseCode for all 4xx or 5xx errors. * You might want to
-- return a 200 status code (OK) and static website so your
-- customers don't know that your website is down. If you specify a value
-- for ResponseCode , you must also specify a value for
-- ResponsePagePath . If you don't want to specify a value,
-- include an empty element, ResponseCode , in the XML
-- document.
-- - ceErrorCachingMinTTL - The minimum amount of time, in
-- seconds, that you want CloudFront to cache the HTTP status code
-- specified in ErrorCode . When this time period has elapsed,
-- CloudFront queries your origin to see whether the problem that caused
-- the error has been resolved and the requested object is now available.
-- If you don't want to specify a value, include an empty element,
-- ErrorCachingMinTTL , in the XML document. For more
-- information, see Customizing Error Responses in the Amazon
-- CloudFront Developer Guide .
-- - ceErrorCode - The HTTP status code for which you want to
-- specify a custom error page and/or a caching duration.
--
customErrorResponse :: Int -> CustomErrorResponse
-- | The path to the custom error page that you want CloudFront to return
-- to a viewer when your origin returns the HTTP status code specified by
-- ErrorCode , for example,
-- 4xx-errors403-forbidden.html . If you want to store
-- your objects and your custom error pages in different locations, your
-- distribution must include a cache behavior for which the following is
-- true: * The value of PathPattern matches the path to your
-- custom error messages. For example, suppose you saved custom error
-- pages for 4xx errors in an Amazon S3 bucket in a directory named
-- /4xx-errors . Your distribution must include a cache behavior
-- for which the path pattern routes requests for your custom error pages
-- to that location, for example, 4xx-errors* . * The
-- value of TargetOriginId specifies the value of the
-- ID element for the origin that contains your custom error
-- pages. If you specify a value for ResponsePagePath , you must
-- also specify a value for ResponseCode . If you don't want to
-- specify a value, include an empty element,
-- ResponsePagePath , in the XML document. We recommend
-- that you store custom error pages in an Amazon S3 bucket. If you store
-- custom error pages on an HTTP server and the server starts to return
-- 5xx errors, CloudFront can't get the files that you want to return to
-- viewers because the origin server is unavailable.
ceResponsePagePath :: Lens' CustomErrorResponse (Maybe Text)
-- | The HTTP status code that you want CloudFront to return to the viewer
-- along with the custom error page. There are a variety of reasons that
-- you might want CloudFront to return a status code different from the
-- status code that your origin returned to CloudFront, for example: *
-- Some Internet devices (some firewalls and corporate proxies, for
-- example) intercept HTTP 4xx and 5xx and prevent the response from
-- being returned to the viewer. If you substitute 200 , the
-- response typically won't be intercepted. * If you don't care about
-- distinguishing among different client errors or server errors, you can
-- specify 400 or 500 as the ResponseCode for
-- all 4xx or 5xx errors. * You might want to return a 200
-- status code (OK) and static website so your customers don't know that
-- your website is down. If you specify a value for ResponseCode
-- , you must also specify a value for ResponsePagePath . If you
-- don't want to specify a value, include an empty element,
-- ResponseCode , in the XML document.
ceResponseCode :: Lens' CustomErrorResponse (Maybe Text)
-- | The minimum amount of time, in seconds, that you want CloudFront to
-- cache the HTTP status code specified in ErrorCode . When this
-- time period has elapsed, CloudFront queries your origin to see whether
-- the problem that caused the error has been resolved and the requested
-- object is now available. If you don't want to specify a value, include
-- an empty element, ErrorCachingMinTTL , in the XML
-- document. For more information, see Customizing Error Responses
-- in the Amazon CloudFront Developer Guide .
ceErrorCachingMinTTL :: Lens' CustomErrorResponse (Maybe Integer)
-- | The HTTP status code for which you want to specify a custom error page
-- and/or a caching duration.
ceErrorCode :: Lens' CustomErrorResponse Int
-- | A complex type that controls:
--
--
-- - Whether CloudFront replaces HTTP status codes in the 4xx and 5xx
-- range with custom error messages before returning the response to the
-- viewer.
-- - How long CloudFront caches HTTP status codes in the 4xx and 5xx
-- range.
--
--
-- For more information about custom error pages, see Customizing
-- Error Responses in the Amazon CloudFront Developer Guide .
--
-- See: customErrorResponses smart constructor.
data CustomErrorResponses
-- | Creates a value of CustomErrorResponses with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cerItems - A complex type that contains a
-- CustomErrorResponse element for each HTTP status code for
-- which you want to specify a custom error page and/or a caching
-- duration.
-- - cerQuantity - The number of HTTP status codes for which you
-- want to specify a custom error page and/or a caching duration. If
-- Quantity is 0 , you can omit Items .
--
customErrorResponses :: Int -> CustomErrorResponses
-- | A complex type that contains a CustomErrorResponse element
-- for each HTTP status code for which you want to specify a custom error
-- page and/or a caching duration.
cerItems :: Lens' CustomErrorResponses [CustomErrorResponse]
-- | The number of HTTP status codes for which you want to specify a custom
-- error page and/or a caching duration. If Quantity is
-- 0 , you can omit Items .
cerQuantity :: Lens' CustomErrorResponses Int
-- | A complex type that contains the list of Custom Headers for each
-- origin.
--
-- See: customHeaders smart constructor.
data CustomHeaders
-- | Creates a value of CustomHeaders with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - chItems - Optional : A list that contains one
-- OriginCustomHeader element for each custom header that you
-- want CloudFront to forward to the origin. If Quantity is 0 ,
-- omit Items .
-- - chQuantity - The number of custom headers, if any, for this
-- distribution.
--
customHeaders :: Int -> CustomHeaders
-- | Optional : A list that contains one OriginCustomHeader
-- element for each custom header that you want CloudFront to forward to
-- the origin. If Quantity is 0 , omit Items .
chItems :: Lens' CustomHeaders [OriginCustomHeader]
-- | The number of custom headers, if any, for this distribution.
chQuantity :: Lens' CustomHeaders Int
-- | A customer origin.
--
-- See: customOriginConfig smart constructor.
data CustomOriginConfig
-- | Creates a value of CustomOriginConfig with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cocOriginKeepaliveTimeout - You can create a custom
-- keep-alive timeout. All timeout units are in seconds. The default
-- keep-alive timeout is 5 seconds, but you can configure custom timeout
-- lengths using the CloudFront API. The minimum timeout length is 1
-- second; the maximum is 60 seconds. If you need to increase the maximum
-- time limit, contact the AWS Support Center .
-- - cocOriginReadTimeout - You can create a custom origin read
-- timeout. All timeout units are in seconds. The default origin read
-- timeout is 30 seconds, but you can configure custom timeout lengths
-- using the CloudFront API. The minimum timeout length is 4 seconds; the
-- maximum is 60 seconds. If you need to increase the maximum time limit,
-- contact the AWS Support Center .
-- - cocOriginSSLProtocols - The SSL/TLS protocols that you want
-- CloudFront to use when communicating with your origin over HTTPS.
-- - cocHTTPPort - The HTTP port the custom origin listens
-- on.
-- - cocHTTPSPort - The HTTPS port the custom origin listens
-- on.
-- - cocOriginProtocolPolicy - The origin protocol policy to
-- apply to your origin.
--
customOriginConfig :: Int -> Int -> OriginProtocolPolicy -> CustomOriginConfig
-- | You can create a custom keep-alive timeout. All timeout units are in
-- seconds. The default keep-alive timeout is 5 seconds, but you can
-- configure custom timeout lengths using the CloudFront API. The minimum
-- timeout length is 1 second; the maximum is 60 seconds. If you need to
-- increase the maximum time limit, contact the AWS Support Center
-- .
cocOriginKeepaliveTimeout :: Lens' CustomOriginConfig (Maybe Int)
-- | You can create a custom origin read timeout. All timeout units are in
-- seconds. The default origin read timeout is 30 seconds, but you can
-- configure custom timeout lengths using the CloudFront API. The minimum
-- timeout length is 4 seconds; the maximum is 60 seconds. If you need to
-- increase the maximum time limit, contact the AWS Support Center
-- .
cocOriginReadTimeout :: Lens' CustomOriginConfig (Maybe Int)
-- | The SSL/TLS protocols that you want CloudFront to use when
-- communicating with your origin over HTTPS.
cocOriginSSLProtocols :: Lens' CustomOriginConfig (Maybe OriginSSLProtocols)
-- | The HTTP port the custom origin listens on.
cocHTTPPort :: Lens' CustomOriginConfig Int
-- | The HTTPS port the custom origin listens on.
cocHTTPSPort :: Lens' CustomOriginConfig Int
-- | The origin protocol policy to apply to your origin.
cocOriginProtocolPolicy :: Lens' CustomOriginConfig OriginProtocolPolicy
-- | A complex type that describes the default cache behavior if you don't
-- specify a CacheBehavior element or if files don't match any
-- of the values of PathPattern in CacheBehavior
-- elements. You must create exactly one default cache behavior.
--
-- See: defaultCacheBehavior smart constructor.
data DefaultCacheBehavior
-- | Creates a value of DefaultCacheBehavior with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - dcbAllowedMethods - Undocumented member.
-- - dcbLambdaFunctionAssociations - A complex type that
-- contains zero or more Lambda function associations for a cache
-- behavior.
-- - dcbMaxTTL - Undocumented member.
-- - dcbCompress - Whether you want CloudFront to automatically
-- compress certain files for this cache behavior. If so, specify
-- true ; if not, specify false . For more information,
-- see Serving Compressed Files in the Amazon CloudFront
-- Developer Guide .
-- - dcbSmoothStreaming - Indicates whether you want to
-- distribute media files in the Microsoft Smooth Streaming format using
-- the origin that is associated with this cache behavior. If so, specify
-- true ; if not, specify false . If you specify
-- true for SmoothStreaming , you can still distribute
-- other content using this cache behavior if the content matches the
-- value of PathPattern .
-- - dcbDefaultTTL - The default amount of time that you want
-- objects to stay in CloudFront caches before CloudFront forwards
-- another request to your origin to determine whether the object has
-- been updated. The value that you specify applies only when your origin
-- does not add HTTP headers such as Cache-Control max-age ,
-- Cache-Control s-maxage , and Expires to objects. For
-- more information, see Specifying How Long Objects and Errors Stay
-- in a CloudFront Edge Cache (Expiration) in the Amazon
-- CloudFront Developer Guide .
-- - dcbFieldLevelEncryptionId - Undocumented member.
-- - dcbTargetOriginId - The value of ID for the origin
-- that you want CloudFront to route requests to when a request matches
-- the path pattern either for a cache behavior or for the default cache
-- behavior.
-- - dcbForwardedValues - A complex type that specifies how
-- CloudFront handles query strings and cookies.
-- - dcbTrustedSigners - A complex type that specifies the AWS
-- accounts, if any, that you want to allow to create signed URLs for
-- private content. If you want to require signed URLs in requests for
-- objects in the target origin that match the PathPattern for
-- this cache behavior, specify true for Enabled , and
-- specify the applicable values for Quantity and Items
-- . For more information, see Serving Private Content through
-- CloudFront in the Amazon Amazon CloudFront Developer Guide
-- . If you don't want to require signed URLs in requests for objects
-- that match PathPattern , specify false for
-- Enabled and 0 for Quantity . Omit
-- Items . To add, change, or remove one or more trusted
-- signers, change Enabled to true (if it's currently
-- false ), change Quantity as applicable, and specify
-- all of the trusted signers that you want to include in the updated
-- distribution.
-- - dcbViewerProtocolPolicy - The protocol that viewers can use
-- to access the files in the origin specified by TargetOriginId
-- when a request matches the path pattern in PathPattern . You
-- can specify the following options: * allow-all : Viewers can
-- use HTTP or HTTPS. * redirect-to-https : If a viewer submits
-- an HTTP request, CloudFront returns an HTTP status code of 301 (Moved
-- Permanently) to the viewer along with the HTTPS URL. The viewer then
-- resubmits the request using the new URL. * https-only : If a
-- viewer sends an HTTP request, CloudFront returns an HTTP status code
-- of 403 (Forbidden). For more information about requiring the HTTPS
-- protocol, see Using an HTTPS Connection to Access Your Objects
-- in the Amazon CloudFront Developer Guide .
-- - dcbMinTTL - The minimum amount of time that you want
-- objects to stay in CloudFront caches before CloudFront forwards
-- another request to your origin to determine whether the object has
-- been updated. For more information, see Specifying How Long Objects
-- and Errors Stay in a CloudFront Edge Cache (Expiration) in the
-- Amazon Amazon CloudFront Developer Guide . You must specify
-- 0 for MinTTL if you configure CloudFront to forward
-- all headers to your origin (under Headers , if you specify
-- 1 for Quantity and * for Name
-- ).
--
defaultCacheBehavior :: Text -> ForwardedValues -> TrustedSigners -> ViewerProtocolPolicy -> Integer -> DefaultCacheBehavior
-- | Undocumented member.
dcbAllowedMethods :: Lens' DefaultCacheBehavior (Maybe AllowedMethods)
-- | A complex type that contains zero or more Lambda function associations
-- for a cache behavior.
dcbLambdaFunctionAssociations :: Lens' DefaultCacheBehavior (Maybe LambdaFunctionAssociations)
-- | Undocumented member.
dcbMaxTTL :: Lens' DefaultCacheBehavior (Maybe Integer)
-- | Whether you want CloudFront to automatically compress certain files
-- for this cache behavior. If so, specify true ; if not,
-- specify false . For more information, see Serving
-- Compressed Files in the Amazon CloudFront Developer Guide .
dcbCompress :: Lens' DefaultCacheBehavior (Maybe Bool)
-- | Indicates whether you want to distribute media files in the Microsoft
-- Smooth Streaming format using the origin that is associated with this
-- cache behavior. If so, specify true ; if not, specify
-- false . If you specify true for
-- SmoothStreaming , you can still distribute other content
-- using this cache behavior if the content matches the value of
-- PathPattern .
dcbSmoothStreaming :: Lens' DefaultCacheBehavior (Maybe Bool)
-- | The default amount of time that you want objects to stay in CloudFront
-- caches before CloudFront forwards another request to your origin to
-- determine whether the object has been updated. The value that you
-- specify applies only when your origin does not add HTTP headers such
-- as Cache-Control max-age , Cache-Control s-maxage ,
-- and Expires to objects. For more information, see
-- Specifying How Long Objects and Errors Stay in a CloudFront Edge
-- Cache (Expiration) in the Amazon CloudFront Developer Guide
-- .
dcbDefaultTTL :: Lens' DefaultCacheBehavior (Maybe Integer)
-- | Undocumented member.
dcbFieldLevelEncryptionId :: Lens' DefaultCacheBehavior (Maybe Text)
-- | The value of ID for the origin that you want CloudFront to
-- route requests to when a request matches the path pattern either for a
-- cache behavior or for the default cache behavior.
dcbTargetOriginId :: Lens' DefaultCacheBehavior Text
-- | A complex type that specifies how CloudFront handles query strings and
-- cookies.
dcbForwardedValues :: Lens' DefaultCacheBehavior ForwardedValues
-- | A complex type that specifies the AWS accounts, if any, that you want
-- to allow to create signed URLs for private content. If you want to
-- require signed URLs in requests for objects in the target origin that
-- match the PathPattern for this cache behavior, specify
-- true for Enabled , and specify the applicable values
-- for Quantity and Items . For more information, see
-- Serving Private Content through CloudFront in the Amazon
-- Amazon CloudFront Developer Guide . If you don't want to require
-- signed URLs in requests for objects that match PathPattern ,
-- specify false for Enabled and 0 for
-- Quantity . Omit Items . To add, change, or remove
-- one or more trusted signers, change Enabled to true
-- (if it's currently false ), change Quantity as
-- applicable, and specify all of the trusted signers that you want to
-- include in the updated distribution.
dcbTrustedSigners :: Lens' DefaultCacheBehavior TrustedSigners
-- | The protocol that viewers can use to access the files in the origin
-- specified by TargetOriginId when a request matches the path
-- pattern in PathPattern . You can specify the following
-- options: * allow-all : Viewers can use HTTP or HTTPS. *
-- redirect-to-https : If a viewer submits an HTTP request,
-- CloudFront returns an HTTP status code of 301 (Moved Permanently) to
-- the viewer along with the HTTPS URL. The viewer then resubmits the
-- request using the new URL. * https-only : If a viewer sends
-- an HTTP request, CloudFront returns an HTTP status code of 403
-- (Forbidden). For more information about requiring the HTTPS protocol,
-- see Using an HTTPS Connection to Access Your Objects in the
-- Amazon CloudFront Developer Guide .
dcbViewerProtocolPolicy :: Lens' DefaultCacheBehavior ViewerProtocolPolicy
-- | The minimum amount of time that you want objects to stay in CloudFront
-- caches before CloudFront forwards another request to your origin to
-- determine whether the object has been updated. For more information,
-- see Specifying How Long Objects and Errors Stay in a CloudFront
-- Edge Cache (Expiration) in the Amazon Amazon CloudFront
-- Developer Guide . You must specify 0 for MinTTL
-- if you configure CloudFront to forward all headers to your origin
-- (under Headers , if you specify 1 for
-- Quantity and * for Name ).
dcbMinTTL :: Lens' DefaultCacheBehavior Integer
-- | The distribution's information.
--
-- See: distribution smart constructor.
data Distribution
-- | Creates a value of Distribution with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - dId - The identifier for the distribution. For example:
-- EDFDVBD632BHDS5 .
-- - dARN - The ARN (Amazon Resource Name) for the distribution.
-- For example:
-- arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
-- , where 123456789012 is your AWS account ID.
-- - dStatus - This response element indicates the current
-- status of the distribution. When the status is Deployed , the
-- distribution's information is fully propagated to all CloudFront edge
-- locations.
-- - dLastModifiedTime - The date and time the distribution was
-- last modified.
-- - dInProgressInvalidationBatches - The number of invalidation
-- batches currently in progress.
-- - dDomainName - The domain name corresponding to the
-- distribution, for example, d111111abcdef8.cloudfront.net
-- .
-- - dActiveTrustedSigners - CloudFront automatically adds this
-- element to the response only if you've set up the distribution to
-- serve private content with signed URLs. The element lists the key pair
-- IDs that CloudFront is aware of for each trusted signer. The
-- Signer child element lists the AWS account number of the
-- trusted signer (or an empty Self element if the signer is
-- you). The Signer element also includes the IDs of any active
-- key pairs associated with the trusted signer's AWS account. If no
-- KeyPairId element appears for a Signer , that signer
-- can't create working signed URLs.
-- - dDistributionConfig - The current configuration information
-- for the distribution. Send a GET request to the
-- /CloudFront API version distribution IDconfig
-- resource.
--
distribution :: Text -> Text -> Text -> UTCTime -> Int -> Text -> ActiveTrustedSigners -> DistributionConfig -> Distribution
-- | The identifier for the distribution. For example:
-- EDFDVBD632BHDS5 .
dId :: Lens' Distribution Text
-- | The ARN (Amazon Resource Name) for the distribution. For example:
-- arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
-- , where 123456789012 is your AWS account ID.
dARN :: Lens' Distribution Text
-- | This response element indicates the current status of the
-- distribution. When the status is Deployed , the
-- distribution's information is fully propagated to all CloudFront edge
-- locations.
dStatus :: Lens' Distribution Text
-- | The date and time the distribution was last modified.
dLastModifiedTime :: Lens' Distribution UTCTime
-- | The number of invalidation batches currently in progress.
dInProgressInvalidationBatches :: Lens' Distribution Int
-- | The domain name corresponding to the distribution, for example,
-- d111111abcdef8.cloudfront.net .
dDomainName :: Lens' Distribution Text
-- | CloudFront automatically adds this element to the response only if
-- you've set up the distribution to serve private content with signed
-- URLs. The element lists the key pair IDs that CloudFront is aware of
-- for each trusted signer. The Signer child element lists the
-- AWS account number of the trusted signer (or an empty Self
-- element if the signer is you). The Signer element also
-- includes the IDs of any active key pairs associated with the trusted
-- signer's AWS account. If no KeyPairId element appears for a
-- Signer , that signer can't create working signed URLs.
dActiveTrustedSigners :: Lens' Distribution ActiveTrustedSigners
-- | The current configuration information for the distribution. Send a
-- GET request to the /CloudFront API version
-- distribution IDconfig resource.
dDistributionConfig :: Lens' Distribution DistributionConfig
-- | A distribution configuration.
--
-- See: distributionConfig smart constructor.
data DistributionConfig
-- | Creates a value of DistributionConfig with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - dcHTTPVersion - (Optional) Specify the maximum HTTP version
-- that you want viewers to use to communicate with CloudFront. The
-- default value for new web distributions is http2. Viewers that don't
-- support HTTP2 automatically use an earlier HTTP version. For
-- viewers and CloudFront to use HTTP2, viewers must support TLS 1.2
-- or later, and must support Server Name Identification (SNI). In
-- general, configuring CloudFront to communicate with viewers using
-- HTTP2 reduces latency. You can improve performance by optimizing
-- for HTTP2. For more information, do an Internet search for "http/2
-- optimization."
-- - dcAliases - A complex type that contains information about
-- CNAMEs (alternate domain names), if any, for this distribution.
-- - dcDefaultRootObject - The object that you want CloudFront
-- to request from your origin (for example, index.html ) when a
-- viewer requests the root URL for your distribution
-- (http://www.example.com ) instead of an object in your
-- distribution
-- (http://www.example.com/product-description.html ).
-- Specifying a default root object avoids exposing the contents of your
-- distribution. Specify only the object name, for example,
-- index.html . Don't add a / before the object name.
-- If you don't want to specify a default root object when you create a
-- distribution, include an empty DefaultRootObject element. To
-- delete the default root object from an existing distribution, update
-- the distribution configuration and include an empty
-- DefaultRootObject element. To replace the default root
-- object, update the distribution configuration and specify the new
-- object. For more information about the default root object, see
-- Creating a Default Root Object in the Amazon CloudFront
-- Developer Guide .
-- - dcPriceClass - The price class that corresponds with the
-- maximum price that you want to pay for CloudFront service. If you
-- specify PriceClass_All , CloudFront responds to requests for
-- your objects from all CloudFront edge locations. If you specify a
-- price class other than PriceClass_All , CloudFront serves
-- your objects from the CloudFront edge location that has the lowest
-- latency among the edge locations in your price class. Viewers who are
-- in or near regions that are excluded from your specified price class
-- may encounter slower performance. For more information about price
-- classes, see Choosing the Price Class for a CloudFront
-- Distribution in the Amazon CloudFront Developer Guide . For
-- information about CloudFront pricing, including how price classes map
-- to CloudFront regions, see Amazon CloudFront Pricing .
-- - dcCustomErrorResponses - A complex type that controls the
-- following: * Whether CloudFront replaces HTTP status codes in the 4xx
-- and 5xx range with custom error messages before returning the response
-- to the viewer. * How long CloudFront caches HTTP status codes in the
-- 4xx and 5xx range. For more information about custom error pages, see
-- Customizing Error Responses in the Amazon CloudFront
-- Developer Guide .
-- - dcWebACLId - A unique identifier that specifies the AWS WAF
-- web ACL, if any, to associate with this distribution. AWS WAF is a web
-- application firewall that lets you monitor the HTTP and HTTPS requests
-- that are forwarded to CloudFront, and lets you control access to your
-- content. Based on conditions that you specify, such as the IP
-- addresses that requests originate from or the values of query strings,
-- CloudFront responds to requests either with the requested content or
-- with an HTTP 403 status code (Forbidden). You can also configure
-- CloudFront to return a custom error page when a request is blocked.
-- For more information about AWS WAF, see the AWS WAF Developer
-- Guide .
-- - dcViewerCertificate - Undocumented member.
-- - dcRestrictions - Undocumented member.
-- - dcLogging - A complex type that controls whether access
-- logs are written for the distribution. For more information about
-- logging, see Access Logs in the Amazon CloudFront Developer
-- Guide .
-- - dcCacheBehaviors - A complex type that contains zero or
-- more CacheBehavior elements.
-- - dcIsIPV6Enabled - If you want CloudFront to respond to IPv6
-- DNS requests with an IPv6 address for your distribution, specify
-- true . If you specify false , CloudFront responds to
-- IPv6 DNS requests with the DNS response code NOERROR and with
-- no IP addresses. This allows viewers to submit a second request, for
-- an IPv4 address for your distribution. In general, you should enable
-- IPv6 if you have users on IPv6 networks who want to access your
-- content. However, if you're using signed URLs or signed cookies to
-- restrict access to your content, and if you're using a custom policy
-- that includes the IpAddress parameter to restrict the IP
-- addresses that can access your content, don't enable IPv6. If you want
-- to restrict access to some content by IP address and not restrict
-- access to other content (or restrict access but not by IP address),
-- you can create two distributions. For more information, see
-- Creating a Signed URL Using a Custom Policy in the Amazon
-- CloudFront Developer Guide . If you're using an Amazon Route 53
-- alias resource record set to route traffic to your CloudFront
-- distribution, you need to create a second alias resource record set
-- when both of the following are true: * You enable IPv6 for the
-- distribution * You're using alternate domain names in the URLs for
-- your objects For more information, see Routing Traffic to an Amazon
-- CloudFront Web Distribution by Using Your Domain Name in the
-- Amazon Route 53 Developer Guide . If you created a CNAME
-- resource record set, either with Amazon Route 53 or with another DNS
-- service, you don't need to make any changes. A CNAME record will route
-- traffic to your distribution regardless of the IP address format of
-- the viewer request.
-- - dcCallerReference - A unique value (for example, a
-- date-time stamp) that ensures that the request can't be replayed. If
-- the value of CallerReference is new (regardless of the
-- content of the DistributionConfig object), CloudFront creates
-- a new distribution. If CallerReference is a value you already
-- sent in a previous request to create a distribution, and if the
-- content of the DistributionConfig is identical to the
-- original request (ignoring white space), CloudFront returns the same
-- the response that it returned to the original request. If
-- CallerReference is a value you already sent in a previous
-- request to create a distribution but the content of the
-- DistributionConfig is different from the original request,
-- CloudFront returns a DistributionAlreadyExists error.
-- - dcOrigins - A complex type that contains information about
-- origins for this distribution.
-- - dcDefaultCacheBehavior - A complex type that describes the
-- default cache behavior if you don't specify a CacheBehavior
-- element or if files don't match any of the values of
-- PathPattern in CacheBehavior elements. You must
-- create exactly one default cache behavior.
-- - dcComment - Any comments you want to include about the
-- distribution. If you don't want to specify a comment, include an empty
-- Comment element. To delete an existing comment, update the
-- distribution configuration and include an empty Comment
-- element. To add or change a comment, update the distribution
-- configuration and specify the new comment.
-- - dcEnabled - From this field, you can enable or disable the
-- selected distribution. If you specify false for
-- Enabled but you specify values for Bucket and
-- Prefix , the values are automatically deleted.
--
distributionConfig :: Text -> Origins -> DefaultCacheBehavior -> Text -> Bool -> DistributionConfig
-- | (Optional) Specify the maximum HTTP version that you want viewers to
-- use to communicate with CloudFront. The default value for new web
-- distributions is http2. Viewers that don't support HTTP2
-- automatically use an earlier HTTP version. For viewers and CloudFront
-- to use HTTP2, viewers must support TLS 1.2 or later, and must
-- support Server Name Identification (SNI). In general, configuring
-- CloudFront to communicate with viewers using HTTP2 reduces latency.
-- You can improve performance by optimizing for HTTP2. For more
-- information, do an Internet search for "http/2 optimization."
dcHTTPVersion :: Lens' DistributionConfig (Maybe HTTPVersion)
-- | A complex type that contains information about CNAMEs (alternate
-- domain names), if any, for this distribution.
dcAliases :: Lens' DistributionConfig (Maybe Aliases)
-- | The object that you want CloudFront to request from your origin (for
-- example, index.html ) when a viewer requests the root URL for
-- your distribution (http://www.example.com ) instead of
-- an object in your distribution
-- (http://www.example.com/product-description.html ).
-- Specifying a default root object avoids exposing the contents of your
-- distribution. Specify only the object name, for example,
-- index.html . Don't add a / before the object name.
-- If you don't want to specify a default root object when you create a
-- distribution, include an empty DefaultRootObject element. To
-- delete the default root object from an existing distribution, update
-- the distribution configuration and include an empty
-- DefaultRootObject element. To replace the default root
-- object, update the distribution configuration and specify the new
-- object. For more information about the default root object, see
-- Creating a Default Root Object in the Amazon CloudFront
-- Developer Guide .
dcDefaultRootObject :: Lens' DistributionConfig (Maybe Text)
-- | The price class that corresponds with the maximum price that you want
-- to pay for CloudFront service. If you specify PriceClass_All
-- , CloudFront responds to requests for your objects from all CloudFront
-- edge locations. If you specify a price class other than
-- PriceClass_All , CloudFront serves your objects from the
-- CloudFront edge location that has the lowest latency among the edge
-- locations in your price class. Viewers who are in or near regions that
-- are excluded from your specified price class may encounter slower
-- performance. For more information about price classes, see Choosing
-- the Price Class for a CloudFront Distribution in the Amazon
-- CloudFront Developer Guide . For information about CloudFront
-- pricing, including how price classes map to CloudFront regions, see
-- Amazon CloudFront Pricing .
dcPriceClass :: Lens' DistributionConfig (Maybe PriceClass)
-- | A complex type that controls the following: * Whether CloudFront
-- replaces HTTP status codes in the 4xx and 5xx range with custom error
-- messages before returning the response to the viewer. * How long
-- CloudFront caches HTTP status codes in the 4xx and 5xx range. For more
-- information about custom error pages, see Customizing Error
-- Responses in the Amazon CloudFront Developer Guide .
dcCustomErrorResponses :: Lens' DistributionConfig (Maybe CustomErrorResponses)
-- | A unique identifier that specifies the AWS WAF web ACL, if any, to
-- associate with this distribution. AWS WAF is a web application
-- firewall that lets you monitor the HTTP and HTTPS requests that are
-- forwarded to CloudFront, and lets you control access to your content.
-- Based on conditions that you specify, such as the IP addresses that
-- requests originate from or the values of query strings, CloudFront
-- responds to requests either with the requested content or with an HTTP
-- 403 status code (Forbidden). You can also configure CloudFront to
-- return a custom error page when a request is blocked. For more
-- information about AWS WAF, see the AWS WAF Developer Guide .
dcWebACLId :: Lens' DistributionConfig (Maybe Text)
-- | Undocumented member.
dcViewerCertificate :: Lens' DistributionConfig (Maybe ViewerCertificate)
-- | Undocumented member.
dcRestrictions :: Lens' DistributionConfig (Maybe Restrictions)
-- | A complex type that controls whether access logs are written for the
-- distribution. For more information about logging, see Access
-- Logs in the Amazon CloudFront Developer Guide .
dcLogging :: Lens' DistributionConfig (Maybe LoggingConfig)
-- | A complex type that contains zero or more CacheBehavior
-- elements.
dcCacheBehaviors :: Lens' DistributionConfig (Maybe CacheBehaviors)
-- | If you want CloudFront to respond to IPv6 DNS requests with an IPv6
-- address for your distribution, specify true . If you specify
-- false , CloudFront responds to IPv6 DNS requests with the DNS
-- response code NOERROR and with no IP addresses. This allows
-- viewers to submit a second request, for an IPv4 address for your
-- distribution. In general, you should enable IPv6 if you have users on
-- IPv6 networks who want to access your content. However, if you're
-- using signed URLs or signed cookies to restrict access to your
-- content, and if you're using a custom policy that includes the
-- IpAddress parameter to restrict the IP addresses that can
-- access your content, don't enable IPv6. If you want to restrict access
-- to some content by IP address and not restrict access to other content
-- (or restrict access but not by IP address), you can create two
-- distributions. For more information, see Creating a Signed URL
-- Using a Custom Policy in the Amazon CloudFront Developer
-- Guide . If you're using an Amazon Route 53 alias resource record
-- set to route traffic to your CloudFront distribution, you need to
-- create a second alias resource record set when both of the following
-- are true: * You enable IPv6 for the distribution * You're using
-- alternate domain names in the URLs for your objects For more
-- information, see Routing Traffic to an Amazon CloudFront Web
-- Distribution by Using Your Domain Name in the Amazon Route 53
-- Developer Guide . If you created a CNAME resource record set,
-- either with Amazon Route 53 or with another DNS service, you don't
-- need to make any changes. A CNAME record will route traffic to your
-- distribution regardless of the IP address format of the viewer
-- request.
dcIsIPV6Enabled :: Lens' DistributionConfig (Maybe Bool)
-- | A unique value (for example, a date-time stamp) that ensures that the
-- request can't be replayed. If the value of CallerReference is
-- new (regardless of the content of the DistributionConfig
-- object), CloudFront creates a new distribution. If
-- CallerReference is a value you already sent in a previous
-- request to create a distribution, and if the content of the
-- DistributionConfig is identical to the original request
-- (ignoring white space), CloudFront returns the same the response that
-- it returned to the original request. If CallerReference is a
-- value you already sent in a previous request to create a distribution
-- but the content of the DistributionConfig is different from
-- the original request, CloudFront returns a
-- DistributionAlreadyExists error.
dcCallerReference :: Lens' DistributionConfig Text
-- | A complex type that contains information about origins for this
-- distribution.
dcOrigins :: Lens' DistributionConfig Origins
-- | A complex type that describes the default cache behavior if you don't
-- specify a CacheBehavior element or if files don't match any
-- of the values of PathPattern in CacheBehavior
-- elements. You must create exactly one default cache behavior.
dcDefaultCacheBehavior :: Lens' DistributionConfig DefaultCacheBehavior
-- | Any comments you want to include about the distribution. If you don't
-- want to specify a comment, include an empty Comment element.
-- To delete an existing comment, update the distribution configuration
-- and include an empty Comment element. To add or change a
-- comment, update the distribution configuration and specify the new
-- comment.
dcComment :: Lens' DistributionConfig Text
-- | From this field, you can enable or disable the selected distribution.
-- If you specify false for Enabled but you specify
-- values for Bucket and Prefix , the values are
-- automatically deleted.
dcEnabled :: Lens' DistributionConfig Bool
-- | A distribution Configuration and a list of tags to be associated with
-- the distribution.
--
-- See: distributionConfigWithTags smart constructor.
data DistributionConfigWithTags
-- | Creates a value of DistributionConfigWithTags with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
distributionConfigWithTags :: DistributionConfig -> Tags -> DistributionConfigWithTags
-- | A distribution configuration.
dcwtDistributionConfig :: Lens' DistributionConfigWithTags DistributionConfig
-- | A complex type that contains zero or more Tag elements.
dcwtTags :: Lens' DistributionConfigWithTags Tags
-- | A distribution list.
--
-- See: distributionList smart constructor.
data DistributionList
-- | Creates a value of DistributionList with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - dlItems - A complex type that contains one
-- DistributionSummary element for each distribution that was
-- created by the current AWS account.
-- - dlNextMarker - If IsTruncated is true ,
-- this element is present and contains the value you can use for the
-- Marker request parameter to continue listing your
-- distributions where they left off.
-- - dlMarker - The value you provided for the Marker
-- request parameter.
-- - dlMaxItems - The value you provided for the
-- MaxItems request parameter.
-- - dlIsTruncated - A flag that indicates whether more
-- distributions remain to be listed. If your results were truncated, you
-- can make a follow-up pagination request using the Marker
-- request parameter to retrieve more distributions in the list.
-- - dlQuantity - The number of distributions that were created
-- by the current AWS account.
--
distributionList :: Text -> Int -> Bool -> Int -> DistributionList
-- | A complex type that contains one DistributionSummary element
-- for each distribution that was created by the current AWS account.
dlItems :: Lens' DistributionList [DistributionSummary]
-- | If IsTruncated is true , this element is present and
-- contains the value you can use for the Marker request
-- parameter to continue listing your distributions where they left off.
dlNextMarker :: Lens' DistributionList (Maybe Text)
-- | The value you provided for the Marker request parameter.
dlMarker :: Lens' DistributionList Text
-- | The value you provided for the MaxItems request parameter.
dlMaxItems :: Lens' DistributionList Int
-- | A flag that indicates whether more distributions remain to be listed.
-- If your results were truncated, you can make a follow-up pagination
-- request using the Marker request parameter to retrieve more
-- distributions in the list.
dlIsTruncated :: Lens' DistributionList Bool
-- | The number of distributions that were created by the current AWS
-- account.
dlQuantity :: Lens' DistributionList Int
-- | A summary of the information about a CloudFront distribution.
--
-- See: distributionSummary smart constructor.
data DistributionSummary
-- | Creates a value of DistributionSummary with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - dsId - The identifier for the distribution. For example:
-- EDFDVBD632BHDS5 .
-- - dsARN - The ARN (Amazon Resource Name) for the
-- distribution. For example:
-- arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
-- , where 123456789012 is your AWS account ID.
-- - dsStatus - The current status of the distribution. When the
-- status is Deployed , the distribution's information is
-- propagated to all CloudFront edge locations.
-- - dsLastModifiedTime - The date and time the distribution was
-- last modified.
-- - dsDomainName - The domain name that corresponds to the
-- distribution, for example, d111111abcdef8.cloudfront.net
-- .
-- - dsAliases - A complex type that contains information about
-- CNAMEs (alternate domain names), if any, for this distribution.
-- - dsOrigins - A complex type that contains information about
-- origins for this distribution.
-- - dsDefaultCacheBehavior - A complex type that describes the
-- default cache behavior if you don't specify a CacheBehavior
-- element or if files don't match any of the values of
-- PathPattern in CacheBehavior elements. You must
-- create exactly one default cache behavior.
-- - dsCacheBehaviors - A complex type that contains zero or
-- more CacheBehavior elements.
-- - dsCustomErrorResponses - A complex type that contains zero
-- or more CustomErrorResponses elements.
-- - dsComment - The comment originally specified when this
-- distribution was created.
-- - dsPriceClass - Undocumented member.
-- - dsEnabled - Whether the distribution is enabled to accept
-- user requests for content.
-- - dsViewerCertificate - Undocumented member.
-- - dsRestrictions - Undocumented member.
-- - dsWebACLId - The Web ACL Id (if any) associated with the
-- distribution.
-- - dsHTTPVersion - Specify the maximum HTTP version that you
-- want viewers to use to communicate with CloudFront. The default value
-- for new web distributions is http2 . Viewers that don't
-- support HTTP/2 will automatically use an earlier
-- version.
-- - dsIsIPV6Enabled - Whether CloudFront responds to IPv6 DNS
-- requests with an IPv6 address for your distribution.
--
distributionSummary :: Text -> Text -> Text -> UTCTime -> Text -> Aliases -> Origins -> DefaultCacheBehavior -> CacheBehaviors -> CustomErrorResponses -> Text -> PriceClass -> Bool -> ViewerCertificate -> Restrictions -> Text -> HTTPVersion -> Bool -> DistributionSummary
-- | The identifier for the distribution. For example:
-- EDFDVBD632BHDS5 .
dsId :: Lens' DistributionSummary Text
-- | The ARN (Amazon Resource Name) for the distribution. For example:
-- arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
-- , where 123456789012 is your AWS account ID.
dsARN :: Lens' DistributionSummary Text
-- | The current status of the distribution. When the status is
-- Deployed , the distribution's information is propagated to
-- all CloudFront edge locations.
dsStatus :: Lens' DistributionSummary Text
-- | The date and time the distribution was last modified.
dsLastModifiedTime :: Lens' DistributionSummary UTCTime
-- | The domain name that corresponds to the distribution, for example,
-- d111111abcdef8.cloudfront.net .
dsDomainName :: Lens' DistributionSummary Text
-- | A complex type that contains information about CNAMEs (alternate
-- domain names), if any, for this distribution.
dsAliases :: Lens' DistributionSummary Aliases
-- | A complex type that contains information about origins for this
-- distribution.
dsOrigins :: Lens' DistributionSummary Origins
-- | A complex type that describes the default cache behavior if you don't
-- specify a CacheBehavior element or if files don't match any
-- of the values of PathPattern in CacheBehavior
-- elements. You must create exactly one default cache behavior.
dsDefaultCacheBehavior :: Lens' DistributionSummary DefaultCacheBehavior
-- | A complex type that contains zero or more CacheBehavior
-- elements.
dsCacheBehaviors :: Lens' DistributionSummary CacheBehaviors
-- | A complex type that contains zero or more
-- CustomErrorResponses elements.
dsCustomErrorResponses :: Lens' DistributionSummary CustomErrorResponses
-- | The comment originally specified when this distribution was created.
dsComment :: Lens' DistributionSummary Text
-- | Undocumented member.
dsPriceClass :: Lens' DistributionSummary PriceClass
-- | Whether the distribution is enabled to accept user requests for
-- content.
dsEnabled :: Lens' DistributionSummary Bool
-- | Undocumented member.
dsViewerCertificate :: Lens' DistributionSummary ViewerCertificate
-- | Undocumented member.
dsRestrictions :: Lens' DistributionSummary Restrictions
-- | The Web ACL Id (if any) associated with the distribution.
dsWebACLId :: Lens' DistributionSummary Text
-- | Specify the maximum HTTP version that you want viewers to use to
-- communicate with CloudFront. The default value for new web
-- distributions is http2 . Viewers that don't support
-- HTTP/2 will automatically use an earlier version.
dsHTTPVersion :: Lens' DistributionSummary HTTPVersion
-- | Whether CloudFront responds to IPv6 DNS requests with an IPv6 address
-- for your distribution.
dsIsIPV6Enabled :: Lens' DistributionSummary Bool
-- | Complex data type for field-level encryption profiles that includes
-- all of the encryption entities.
--
-- See: encryptionEntities smart constructor.
data EncryptionEntities
-- | Creates a value of EncryptionEntities with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - eeItems - An array of field patterns in a field-level
-- encryption content type-profile mapping.
-- - eeQuantity - Number of field pattern items in a field-level
-- encryption content type-profile mapping.
--
encryptionEntities :: Int -> EncryptionEntities
-- | An array of field patterns in a field-level encryption content
-- type-profile mapping.
eeItems :: Lens' EncryptionEntities [EncryptionEntity]
-- | Number of field pattern items in a field-level encryption content
-- type-profile mapping.
eeQuantity :: Lens' EncryptionEntities Int
-- | Complex data type for field-level encryption profiles that includes
-- the encryption key and field pattern specifications.
--
-- See: encryptionEntity smart constructor.
data EncryptionEntity
-- | Creates a value of EncryptionEntity with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - eePublicKeyId - The public key associated with a set of
-- field-level encryption patterns, to be used when encrypting the fields
-- that match the patterns.
-- - eeProviderId - The provider associated with the public key
-- being used for encryption. This value must also be provided with the
-- private key for applications to be able to decrypt data.
-- - eeFieldPatterns - Field patterns in a field-level
-- encryption content type profile specify the fields that you want to be
-- encrypted. You can provide the full field name, or any beginning
-- characters followed by a wildcard (*). You can't overlap field
-- patterns. For example, you can't have both ABC* and AB*. Note that
-- field patterns are case-sensitive.
--
encryptionEntity :: Text -> Text -> FieldPatterns -> EncryptionEntity
-- | The public key associated with a set of field-level encryption
-- patterns, to be used when encrypting the fields that match the
-- patterns.
eePublicKeyId :: Lens' EncryptionEntity Text
-- | The provider associated with the public key being used for encryption.
-- This value must also be provided with the private key for applications
-- to be able to decrypt data.
eeProviderId :: Lens' EncryptionEntity Text
-- | Field patterns in a field-level encryption content type profile
-- specify the fields that you want to be encrypted. You can provide the
-- full field name, or any beginning characters followed by a wildcard
-- (*). You can't overlap field patterns. For example, you can't have
-- both ABC* and AB*. Note that field patterns are case-sensitive.
eeFieldPatterns :: Lens' EncryptionEntity FieldPatterns
-- | A complex data type that includes the profile configurations and other
-- options specified for field-level encryption.
--
-- See: fieldLevelEncryption smart constructor.
data FieldLevelEncryption
-- | Creates a value of FieldLevelEncryption with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - fleId - The configuration ID for a field-level encryption
-- configuration which includes a set of profiles that specify certain
-- selected data fields to be encrypted by specific public keys.
-- - fleLastModifiedTime - The last time the field-level
-- encryption configuration was changed.
-- - fleFieldLevelEncryptionConfig - A complex data type that
-- includes the profile configurations specified for field-level
-- encryption.
--
fieldLevelEncryption :: Text -> UTCTime -> FieldLevelEncryptionConfig -> FieldLevelEncryption
-- | The configuration ID for a field-level encryption configuration which
-- includes a set of profiles that specify certain selected data fields
-- to be encrypted by specific public keys.
fleId :: Lens' FieldLevelEncryption Text
-- | The last time the field-level encryption configuration was changed.
fleLastModifiedTime :: Lens' FieldLevelEncryption UTCTime
-- | A complex data type that includes the profile configurations specified
-- for field-level encryption.
fleFieldLevelEncryptionConfig :: Lens' FieldLevelEncryption FieldLevelEncryptionConfig
-- | A complex data type that includes the profile configurations specified
-- for field-level encryption.
--
-- See: fieldLevelEncryptionConfig smart constructor.
data FieldLevelEncryptionConfig
-- | Creates a value of FieldLevelEncryptionConfig with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - flecQueryArgProfileConfig - A complex data type that
-- specifies when to forward content if a profile isn't found and the
-- profile that can be provided as a query argument in a request.
-- - flecContentTypeProfileConfig - A complex data type that
-- specifies when to forward content if a content type isn't recognized
-- and profiles to use as by default in a request if a query argument
-- doesn't specify a profile to use.
-- - flecComment - An optional comment about the
-- configuration.
-- - flecCallerReference - A unique number that ensures the
-- request can't be replayed.
--
fieldLevelEncryptionConfig :: Text -> FieldLevelEncryptionConfig
-- | A complex data type that specifies when to forward content if a
-- profile isn't found and the profile that can be provided as a query
-- argument in a request.
flecQueryArgProfileConfig :: Lens' FieldLevelEncryptionConfig (Maybe QueryArgProfileConfig)
-- | A complex data type that specifies when to forward content if a
-- content type isn't recognized and profiles to use as by default in a
-- request if a query argument doesn't specify a profile to use.
flecContentTypeProfileConfig :: Lens' FieldLevelEncryptionConfig (Maybe ContentTypeProfileConfig)
-- | An optional comment about the configuration.
flecComment :: Lens' FieldLevelEncryptionConfig (Maybe Text)
-- | A unique number that ensures the request can't be replayed.
flecCallerReference :: Lens' FieldLevelEncryptionConfig Text
-- | List of field-level encrpytion configurations.
--
-- See: fieldLevelEncryptionList smart constructor.
data FieldLevelEncryptionList
-- | Creates a value of FieldLevelEncryptionList with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - flelItems - An array of field-level encryption items.
-- - flelNextMarker - If there are more elements to be listed,
-- this element is present and contains the value that you can use for
-- the Marker request parameter to continue listing your
-- configurations where you left off.
-- - flelMaxItems - The maximum number of elements you want in
-- the response body.
-- - flelQuantity - The number of field-level encryption
-- items.
--
fieldLevelEncryptionList :: Int -> Int -> FieldLevelEncryptionList
-- | An array of field-level encryption items.
flelItems :: Lens' FieldLevelEncryptionList [FieldLevelEncryptionSummary]
-- | If there are more elements to be listed, this element is present and
-- contains the value that you can use for the Marker request
-- parameter to continue listing your configurations where you left off.
flelNextMarker :: Lens' FieldLevelEncryptionList (Maybe Text)
-- | The maximum number of elements you want in the response body.
flelMaxItems :: Lens' FieldLevelEncryptionList Int
-- | The number of field-level encryption items.
flelQuantity :: Lens' FieldLevelEncryptionList Int
-- | A complex data type for field-level encryption profiles.
--
-- See: fieldLevelEncryptionProfile smart constructor.
data FieldLevelEncryptionProfile
-- | Creates a value of FieldLevelEncryptionProfile with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - flepId - The ID for a field-level encryption profile
-- configuration which includes a set of profiles that specify certain
-- selected data fields to be encrypted by specific public keys.
-- - flepLastModifiedTime - The last time the field-level
-- encryption profile was updated.
-- - flepFieldLevelEncryptionProfileConfig - A complex data type
-- that includes the profile name and the encryption entities for the
-- field-level encryption profile.
--
fieldLevelEncryptionProfile :: Text -> UTCTime -> FieldLevelEncryptionProfileConfig -> FieldLevelEncryptionProfile
-- | The ID for a field-level encryption profile configuration which
-- includes a set of profiles that specify certain selected data fields
-- to be encrypted by specific public keys.
flepId :: Lens' FieldLevelEncryptionProfile Text
-- | The last time the field-level encryption profile was updated.
flepLastModifiedTime :: Lens' FieldLevelEncryptionProfile UTCTime
-- | A complex data type that includes the profile name and the encryption
-- entities for the field-level encryption profile.
flepFieldLevelEncryptionProfileConfig :: Lens' FieldLevelEncryptionProfile FieldLevelEncryptionProfileConfig
-- | A complex data type of profiles for the field-level encryption.
--
-- See: fieldLevelEncryptionProfileConfig smart
-- constructor.
data FieldLevelEncryptionProfileConfig
-- | Creates a value of FieldLevelEncryptionProfileConfig with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - flepcComment - An optional comment for the field-level
-- encryption profile.
-- - flepcName - Profile name for the field-level encryption
-- profile.
-- - flepcCallerReference - A unique number that ensures the
-- request can't be replayed.
-- - flepcEncryptionEntities - A complex data type of encryption
-- entities for the field-level encryption profile that include the
-- public key ID, provider, and field patterns for specifying which
-- fields to encrypt with this key.
--
fieldLevelEncryptionProfileConfig :: Text -> Text -> EncryptionEntities -> FieldLevelEncryptionProfileConfig
-- | An optional comment for the field-level encryption profile.
flepcComment :: Lens' FieldLevelEncryptionProfileConfig (Maybe Text)
-- | Profile name for the field-level encryption profile.
flepcName :: Lens' FieldLevelEncryptionProfileConfig Text
-- | A unique number that ensures the request can't be replayed.
flepcCallerReference :: Lens' FieldLevelEncryptionProfileConfig Text
-- | A complex data type of encryption entities for the field-level
-- encryption profile that include the public key ID, provider, and field
-- patterns for specifying which fields to encrypt with this key.
flepcEncryptionEntities :: Lens' FieldLevelEncryptionProfileConfig EncryptionEntities
-- | List of field-level encryption profiles.
--
-- See: fieldLevelEncryptionProfileList smart constructor.
data FieldLevelEncryptionProfileList
-- | Creates a value of FieldLevelEncryptionProfileList with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - fleplItems - The field-level encryption profile items.
-- - fleplNextMarker - If there are more elements to be listed,
-- this element is present and contains the value that you can use for
-- the Marker request parameter to continue listing your
-- profiles where you left off.
-- - fleplMaxItems - The maximum number of field-level
-- encryption profiles you want in the response body.
-- - fleplQuantity - The number of field-level encryption
-- profiles.
--
fieldLevelEncryptionProfileList :: Int -> Int -> FieldLevelEncryptionProfileList
-- | The field-level encryption profile items.
fleplItems :: Lens' FieldLevelEncryptionProfileList [FieldLevelEncryptionProfileSummary]
-- | If there are more elements to be listed, this element is present and
-- contains the value that you can use for the Marker request
-- parameter to continue listing your profiles where you left off.
fleplNextMarker :: Lens' FieldLevelEncryptionProfileList (Maybe Text)
-- | The maximum number of field-level encryption profiles you want in the
-- response body.
fleplMaxItems :: Lens' FieldLevelEncryptionProfileList Int
-- | The number of field-level encryption profiles.
fleplQuantity :: Lens' FieldLevelEncryptionProfileList Int
-- | The field-level encryption profile summary.
--
-- See: fieldLevelEncryptionProfileSummary smart
-- constructor.
data FieldLevelEncryptionProfileSummary
-- | Creates a value of FieldLevelEncryptionProfileSummary with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - flepsComment - An optional comment for the field-level
-- encryption profile summary.
-- - flepsId - ID for the field-level encryption profile
-- summary.
-- - flepsLastModifiedTime - The time when the the field-level
-- encryption profile summary was last updated.
-- - flepsName - Name for the field-level encryption profile
-- summary.
-- - flepsEncryptionEntities - A complex data type of encryption
-- entities for the field-level encryption profile that include the
-- public key ID, provider, and field patterns for specifying which
-- fields to encrypt with this key.
--
fieldLevelEncryptionProfileSummary :: Text -> UTCTime -> Text -> EncryptionEntities -> FieldLevelEncryptionProfileSummary
-- | An optional comment for the field-level encryption profile summary.
flepsComment :: Lens' FieldLevelEncryptionProfileSummary (Maybe Text)
-- | ID for the field-level encryption profile summary.
flepsId :: Lens' FieldLevelEncryptionProfileSummary Text
-- | The time when the the field-level encryption profile summary was last
-- updated.
flepsLastModifiedTime :: Lens' FieldLevelEncryptionProfileSummary UTCTime
-- | Name for the field-level encryption profile summary.
flepsName :: Lens' FieldLevelEncryptionProfileSummary Text
-- | A complex data type of encryption entities for the field-level
-- encryption profile that include the public key ID, provider, and field
-- patterns for specifying which fields to encrypt with this key.
flepsEncryptionEntities :: Lens' FieldLevelEncryptionProfileSummary EncryptionEntities
-- | A summary of a field-level encryption item.
--
-- See: fieldLevelEncryptionSummary smart constructor.
data FieldLevelEncryptionSummary
-- | Creates a value of FieldLevelEncryptionSummary with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
fieldLevelEncryptionSummary :: Text -> UTCTime -> FieldLevelEncryptionSummary
-- | A summary of a query argument-profile mapping.
flesQueryArgProfileConfig :: Lens' FieldLevelEncryptionSummary (Maybe QueryArgProfileConfig)
-- | A summary of a content type-profile mapping.
flesContentTypeProfileConfig :: Lens' FieldLevelEncryptionSummary (Maybe ContentTypeProfileConfig)
-- | An optional comment about the field-level encryption item.
flesComment :: Lens' FieldLevelEncryptionSummary (Maybe Text)
-- | The unique ID of a field-level encryption item.
flesId :: Lens' FieldLevelEncryptionSummary Text
-- | The last time that the summary of field-level encryption items was
-- modified.
flesLastModifiedTime :: Lens' FieldLevelEncryptionSummary UTCTime
-- | A complex data type that includes the field patterns to match for
-- field-level encryption.
--
-- See: fieldPatterns smart constructor.
data FieldPatterns
-- | Creates a value of FieldPatterns with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - fpItems - An array of the field-level encryption field
-- patterns.
-- - fpQuantity - The number of field-level encryption field
-- patterns.
--
fieldPatterns :: Int -> FieldPatterns
-- | An array of the field-level encryption field patterns.
fpItems :: Lens' FieldPatterns [Text]
-- | The number of field-level encryption field patterns.
fpQuantity :: Lens' FieldPatterns Int
-- | A complex type that specifies how CloudFront handles query strings and
-- cookies.
--
-- See: forwardedValues smart constructor.
data ForwardedValues
-- | Creates a value of ForwardedValues with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - fvQueryStringCacheKeys - A complex type that contains
-- information about the query string parameters that you want CloudFront
-- to use for caching for this cache behavior.
-- - fvHeaders - A complex type that specifies the
-- Headers , if any, that you want CloudFront to base caching on
-- for this cache behavior.
-- - fvQueryString - Indicates whether you want CloudFront to
-- forward query strings to the origin that is associated with this cache
-- behavior and cache based on the query string parameters. CloudFront
-- behavior depends on the value of QueryString and on the
-- values that you specify for QueryStringCacheKeys , if any: If
-- you specify true for QueryString and you don't specify any
-- values for QueryStringCacheKeys , CloudFront forwards all
-- query string parameters to the origin and caches based on all query
-- string parameters. Depending on how many query string parameters and
-- values you have, this can adversely affect performance because
-- CloudFront must forward more requests to the origin. If you specify
-- true for QueryString and you specify one or more values for
-- QueryStringCacheKeys , CloudFront forwards all query string
-- parameters to the origin, but it only caches based on the query string
-- parameters that you specify. If you specify false for
-- QueryString , CloudFront doesn't forward any query string
-- parameters to the origin, and doesn't cache based on query string
-- parameters. For more information, see Configuring CloudFront to
-- Cache Based on Query String Parameters in the Amazon CloudFront
-- Developer Guide .
-- - fvCookies - A complex type that specifies whether you want
-- CloudFront to forward cookies to the origin and, if so, which ones.
-- For more information about forwarding cookies to the origin, see
-- How CloudFront Forwards, Caches, and Logs Cookies in the
-- Amazon CloudFront Developer Guide .
--
forwardedValues :: Bool -> CookiePreference -> ForwardedValues
-- | A complex type that contains information about the query string
-- parameters that you want CloudFront to use for caching for this cache
-- behavior.
fvQueryStringCacheKeys :: Lens' ForwardedValues (Maybe QueryStringCacheKeys)
-- | A complex type that specifies the Headers , if any, that you
-- want CloudFront to base caching on for this cache behavior.
fvHeaders :: Lens' ForwardedValues (Maybe Headers)
-- | Indicates whether you want CloudFront to forward query strings to the
-- origin that is associated with this cache behavior and cache based on
-- the query string parameters. CloudFront behavior depends on the value
-- of QueryString and on the values that you specify for
-- QueryStringCacheKeys , if any: If you specify true for
-- QueryString and you don't specify any values for
-- QueryStringCacheKeys , CloudFront forwards all query string
-- parameters to the origin and caches based on all query string
-- parameters. Depending on how many query string parameters and values
-- you have, this can adversely affect performance because CloudFront
-- must forward more requests to the origin. If you specify true for
-- QueryString and you specify one or more values for
-- QueryStringCacheKeys , CloudFront forwards all query string
-- parameters to the origin, but it only caches based on the query string
-- parameters that you specify. If you specify false for
-- QueryString , CloudFront doesn't forward any query string
-- parameters to the origin, and doesn't cache based on query string
-- parameters. For more information, see Configuring CloudFront to
-- Cache Based on Query String Parameters in the Amazon CloudFront
-- Developer Guide .
fvQueryString :: Lens' ForwardedValues Bool
-- | A complex type that specifies whether you want CloudFront to forward
-- cookies to the origin and, if so, which ones. For more information
-- about forwarding cookies to the origin, see How CloudFront
-- Forwards, Caches, and Logs Cookies in the Amazon CloudFront
-- Developer Guide .
fvCookies :: Lens' ForwardedValues CookiePreference
-- | A complex type that controls the countries in which your content is
-- distributed. CloudFront determines the location of your users using
-- MaxMind GeoIP databases.
--
-- See: geoRestriction smart constructor.
data GeoRestriction
-- | Creates a value of GeoRestriction with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - grItems - A complex type that contains a Location
-- element for each country in which you want CloudFront either to
-- distribute your content (whitelist ) or not distribute your
-- content (blacklist ). The Location element is a
-- two-letter, uppercase country code for a country that you want to
-- include in your blacklist or whitelist . Include one
-- Location element for each country. CloudFront and
-- MaxMind both use ISO 3166 country codes. For the
-- current list of countries and the corresponding codes, see ISO
-- 3166-1-alpha-2 code on the International Organization for
-- Standardization website. You can also refer to the country list on
-- the CloudFront console, which includes both country names and
-- codes.
-- - grRestrictionType - The method that you want to use to
-- restrict distribution of your content by country: * none : No
-- geo restriction is enabled, meaning access to content is not
-- restricted by client geo location. * blacklist : The
-- Location elements specify the countries in which you don't
-- want CloudFront to distribute your content. * whitelist : The
-- Location elements specify the countries in which you want
-- CloudFront to distribute your content.
-- - grQuantity - When geo restriction is enabled ,
-- this is the number of countries in your whitelist or
-- blacklist . Otherwise, when it is not enabled,
-- Quantity is 0 , and you can omit Items
-- .
--
geoRestriction :: GeoRestrictionType -> Int -> GeoRestriction
-- | A complex type that contains a Location element for each
-- country in which you want CloudFront either to distribute your content
-- (whitelist ) or not distribute your content
-- (blacklist ). The Location element is a two-letter,
-- uppercase country code for a country that you want to include in your
-- blacklist or whitelist . Include one
-- Location element for each country. CloudFront and
-- MaxMind both use ISO 3166 country codes. For the
-- current list of countries and the corresponding codes, see ISO
-- 3166-1-alpha-2 code on the International Organization for
-- Standardization website. You can also refer to the country list on
-- the CloudFront console, which includes both country names and codes.
grItems :: Lens' GeoRestriction [Text]
-- | The method that you want to use to restrict distribution of your
-- content by country: * none : No geo restriction is enabled,
-- meaning access to content is not restricted by client geo location. *
-- blacklist : The Location elements specify the
-- countries in which you don't want CloudFront to distribute your
-- content. * whitelist : The Location elements specify
-- the countries in which you want CloudFront to distribute your content.
grRestrictionType :: Lens' GeoRestriction GeoRestrictionType
-- | When geo restriction is enabled , this is the number of
-- countries in your whitelist or blacklist .
-- Otherwise, when it is not enabled, Quantity is 0 ,
-- and you can omit Items .
grQuantity :: Lens' GeoRestriction Int
-- | A complex type that specifies the request headers, if any, that you
-- want CloudFront to base caching on for this cache behavior.
--
-- For the headers that you specify, CloudFront caches separate versions
-- of a specified object based on the header values in viewer requests.
-- For example, suppose viewer requests for logo.jpg contain a
-- custom product header that has a value of either
-- acme or apex , and you configure CloudFront to cache
-- your content based on values in the product header.
-- CloudFront forwards the product header to the origin and
-- caches the response from the origin once for each header value. For
-- more information about caching based on header values, see How
-- CloudFront Forwards and Caches Headers in the Amazon CloudFront
-- Developer Guide .
--
-- See: headers smart constructor.
data Headers
-- | Creates a value of Headers with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - hItems - A list that contains one Name element for
-- each header that you want CloudFront to use for caching in this cache
-- behavior. If Quantity is 0 , omit Items
-- .
-- - hQuantity - The number of different headers that you want
-- CloudFront to base caching on for this cache behavior. You can
-- configure each cache behavior in a web distribution to do one of the
-- following: * Forward all headers to your origin : Specify
-- 1 for Quantity and * for Name .
-- Important: CloudFront doesn't cache the objects that are
-- associated with this cache behavior. Instead, CloudFront sends every
-- request to the origin. * Forward a whitelist of headers you
-- specify : Specify the number of headers that you want CloudFront
-- to base caching on. Then specify the header names in Name
-- elements. CloudFront caches your objects based on the values in the
-- specified headers. * Forward only the default headers : Specify
-- 0 for Quantity and omit Items . In this
-- configuration, CloudFront doesn't cache based on the values in the
-- request headers. Regardless of which option you choose, CloudFront
-- forwards headers to your origin based on whether the origin is an S3
-- bucket or a custom origin. See the following documentation: * S3
-- bucket : See HTTP Request Headers That CloudFront Removes or
-- Updates * Custom origin : See HTTP Request Headers and
-- CloudFront Behavior
--
headers :: Int -> Headers
-- | A list that contains one Name element for each header that
-- you want CloudFront to use for caching in this cache behavior. If
-- Quantity is 0 , omit Items .
hItems :: Lens' Headers [Text]
-- | The number of different headers that you want CloudFront to base
-- caching on for this cache behavior. You can configure each cache
-- behavior in a web distribution to do one of the following: *
-- Forward all headers to your origin : Specify 1 for
-- Quantity and * for Name . Important:
-- CloudFront doesn't cache the objects that are associated with this
-- cache behavior. Instead, CloudFront sends every request to the origin.
-- * Forward a whitelist of headers you specify : Specify the
-- number of headers that you want CloudFront to base caching on. Then
-- specify the header names in Name elements. CloudFront caches
-- your objects based on the values in the specified headers. *
-- Forward only the default headers : Specify 0 for
-- Quantity and omit Items . In this configuration,
-- CloudFront doesn't cache based on the values in the request headers.
-- Regardless of which option you choose, CloudFront forwards headers to
-- your origin based on whether the origin is an S3 bucket or a custom
-- origin. See the following documentation: * S3 bucket : See
-- HTTP Request Headers That CloudFront Removes or Updates *
-- Custom origin : See HTTP Request Headers and CloudFront
-- Behavior
hQuantity :: Lens' Headers Int
-- | An invalidation.
--
-- See: invalidation smart constructor.
data Invalidation
-- | Creates a value of Invalidation with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - iId - The identifier for the invalidation request. For
-- example: IDFDVBD632BHDS5 .
-- - iStatus - The status of the invalidation request. When the
-- invalidation batch is finished, the status is Completed
-- .
-- - iCreateTime - The date and time the invalidation request
-- was first made.
-- - iInvalidationBatch - The current invalidation information
-- for the batch request.
--
invalidation :: Text -> Text -> UTCTime -> InvalidationBatch -> Invalidation
-- | The identifier for the invalidation request. For example:
-- IDFDVBD632BHDS5 .
iId :: Lens' Invalidation Text
-- | The status of the invalidation request. When the invalidation batch is
-- finished, the status is Completed .
iStatus :: Lens' Invalidation Text
-- | The date and time the invalidation request was first made.
iCreateTime :: Lens' Invalidation UTCTime
-- | The current invalidation information for the batch request.
iInvalidationBatch :: Lens' Invalidation InvalidationBatch
-- | An invalidation batch.
--
-- See: invalidationBatch smart constructor.
data InvalidationBatch
-- | Creates a value of InvalidationBatch with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - ibPaths - A complex type that contains information about
-- the objects that you want to invalidate. For more information, see
-- Specifying the Objects to Invalidate in the Amazon
-- CloudFront Developer Guide .
-- - ibCallerReference - A value that you specify to uniquely
-- identify an invalidation request. CloudFront uses the value to prevent
-- you from accidentally resubmitting an identical request. Whenever you
-- create a new invalidation request, you must specify a new value for
-- CallerReference and change other values in the request as
-- applicable. One way to ensure that the value of
-- CallerReference is unique is to use a timestamp ,
-- for example, 20120301090000 . If you make a second
-- invalidation request with the same value for CallerReference
-- , and if the rest of the request is the same, CloudFront doesn't
-- create a new invalidation request. Instead, CloudFront returns
-- information about the invalidation request that you previously created
-- with the same CallerReference . If CallerReference
-- is a value you already sent in a previous invalidation batch request
-- but the content of any Path is different from the original
-- request, CloudFront returns an InvalidationBatchAlreadyExists
-- error.
--
invalidationBatch :: Paths -> Text -> InvalidationBatch
-- | A complex type that contains information about the objects that you
-- want to invalidate. For more information, see Specifying the
-- Objects to Invalidate in the Amazon CloudFront Developer
-- Guide .
ibPaths :: Lens' InvalidationBatch Paths
-- | A value that you specify to uniquely identify an invalidation request.
-- CloudFront uses the value to prevent you from accidentally
-- resubmitting an identical request. Whenever you create a new
-- invalidation request, you must specify a new value for
-- CallerReference and change other values in the request as
-- applicable. One way to ensure that the value of
-- CallerReference is unique is to use a timestamp ,
-- for example, 20120301090000 . If you make a second
-- invalidation request with the same value for CallerReference
-- , and if the rest of the request is the same, CloudFront doesn't
-- create a new invalidation request. Instead, CloudFront returns
-- information about the invalidation request that you previously created
-- with the same CallerReference . If CallerReference
-- is a value you already sent in a previous invalidation batch request
-- but the content of any Path is different from the original
-- request, CloudFront returns an InvalidationBatchAlreadyExists
-- error.
ibCallerReference :: Lens' InvalidationBatch Text
-- | The InvalidationList complex type describes the list of
-- invalidation objects. For more information about invalidation, see
-- Invalidating Objects (Web Distributions Only) in the Amazon
-- CloudFront Developer Guide .
--
-- See: invalidationList smart constructor.
data InvalidationList
-- | Creates a value of InvalidationList with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - ilItems - A complex type that contains one
-- InvalidationSummary element for each invalidation batch
-- created by the current AWS account.
-- - ilNextMarker - If IsTruncated is true ,
-- this element is present and contains the value that you can use for
-- the Marker request parameter to continue listing your
-- invalidation batches where they left off.
-- - ilMarker - The value that you provided for the
-- Marker request parameter.
-- - ilMaxItems - The value that you provided for the
-- MaxItems request parameter.
-- - ilIsTruncated - A flag that indicates whether more
-- invalidation batch requests remain to be listed. If your results were
-- truncated, you can make a follow-up pagination request using the
-- Marker request parameter to retrieve more invalidation
-- batches in the list.
-- - ilQuantity - The number of invalidation batches that were
-- created by the current AWS account.
--
invalidationList :: Text -> Int -> Bool -> Int -> InvalidationList
-- | A complex type that contains one InvalidationSummary element
-- for each invalidation batch created by the current AWS account.
ilItems :: Lens' InvalidationList [InvalidationSummary]
-- | If IsTruncated is true , this element is present and
-- contains the value that you can use for the Marker request
-- parameter to continue listing your invalidation batches where they
-- left off.
ilNextMarker :: Lens' InvalidationList (Maybe Text)
-- | The value that you provided for the Marker request parameter.
ilMarker :: Lens' InvalidationList Text
-- | The value that you provided for the MaxItems request
-- parameter.
ilMaxItems :: Lens' InvalidationList Int
-- | A flag that indicates whether more invalidation batch requests remain
-- to be listed. If your results were truncated, you can make a follow-up
-- pagination request using the Marker request parameter to
-- retrieve more invalidation batches in the list.
ilIsTruncated :: Lens' InvalidationList Bool
-- | The number of invalidation batches that were created by the current
-- AWS account.
ilQuantity :: Lens' InvalidationList Int
-- | A summary of an invalidation request.
--
-- See: invalidationSummary smart constructor.
data InvalidationSummary
-- | Creates a value of InvalidationSummary with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - isId - The unique ID for an invalidation request.
-- - isCreateTime - Undocumented member.
-- - isStatus - The status of an invalidation request.
--
invalidationSummary :: Text -> UTCTime -> Text -> InvalidationSummary
-- | The unique ID for an invalidation request.
isId :: Lens' InvalidationSummary Text
-- | Undocumented member.
isCreateTime :: Lens' InvalidationSummary UTCTime
-- | The status of an invalidation request.
isStatus :: Lens' InvalidationSummary Text
-- | A complex type that lists the active CloudFront key pairs, if any,
-- that are associated with AwsAccountNumber .
--
-- For more information, see ActiveTrustedSigners .
--
-- See: keyPairIds smart constructor.
data KeyPairIds
-- | Creates a value of KeyPairIds with the minimum fields required
-- to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - kpiItems - A complex type that lists the active CloudFront
-- key pairs, if any, that are associated with AwsAccountNumber
-- . For more information, see ActiveTrustedSigners .
-- - kpiQuantity - The number of active CloudFront key pairs for
-- AwsAccountNumber . For more information, see
-- ActiveTrustedSigners .
--
keyPairIds :: Int -> KeyPairIds
-- | A complex type that lists the active CloudFront key pairs, if any,
-- that are associated with AwsAccountNumber . For more
-- information, see ActiveTrustedSigners .
kpiItems :: Lens' KeyPairIds [Text]
-- | The number of active CloudFront key pairs for
-- AwsAccountNumber . For more information, see
-- ActiveTrustedSigners .
kpiQuantity :: Lens' KeyPairIds Int
-- | A complex type that contains a Lambda function association.
--
-- See: lambdaFunctionAssociation smart constructor.
data LambdaFunctionAssociation
-- | Creates a value of LambdaFunctionAssociation with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - lfaLambdaFunctionARN - The ARN of the Lambda function. You
-- must specify the ARN of a function version; you can't specify a Lambda
-- alias or $LATEST.
-- - lfaEventType - Specifies the event type that triggers a
-- Lambda function invocation. You can specify the following values: *
-- viewer-request : The function executes when CloudFront
-- receives a request from a viewer and before it checks to see whether
-- the requested object is in the edge cache. * origin-request :
-- The function executes only when CloudFront forwards a request to your
-- origin. When the requested object is in the edge cache, the function
-- doesn't execute. * origin-response : The function executes
-- after CloudFront receives a response from the origin and before it
-- caches the object in the response. When the requested object is in the
-- edge cache, the function doesn't execute. If the origin returns an
-- HTTP status code other than HTTP 200 (OK), the function doesn't
-- execute. * viewer-response : The function executes before
-- CloudFront returns the requested object to the viewer. The function
-- executes regardless of whether the object was already in the edge
-- cache. If the origin returns an HTTP status code other than HTTP 200
-- (OK), the function doesn't execute.
--
lambdaFunctionAssociation :: Text -> EventType -> LambdaFunctionAssociation
-- | The ARN of the Lambda function. You must specify the ARN of a function
-- version; you can't specify a Lambda alias or $LATEST.
lfaLambdaFunctionARN :: Lens' LambdaFunctionAssociation Text
-- | Specifies the event type that triggers a Lambda function invocation.
-- You can specify the following values: * viewer-request : The
-- function executes when CloudFront receives a request from a viewer and
-- before it checks to see whether the requested object is in the edge
-- cache. * origin-request : The function executes only when
-- CloudFront forwards a request to your origin. When the requested
-- object is in the edge cache, the function doesn't execute. *
-- origin-response : The function executes after CloudFront
-- receives a response from the origin and before it caches the object in
-- the response. When the requested object is in the edge cache, the
-- function doesn't execute. If the origin returns an HTTP status code
-- other than HTTP 200 (OK), the function doesn't execute. *
-- viewer-response : The function executes before CloudFront
-- returns the requested object to the viewer. The function executes
-- regardless of whether the object was already in the edge cache. If the
-- origin returns an HTTP status code other than HTTP 200 (OK), the
-- function doesn't execute.
lfaEventType :: Lens' LambdaFunctionAssociation EventType
-- | A complex type that specifies a list of Lambda functions associations
-- for a cache behavior.
--
-- If you want to invoke one or more Lambda functions triggered by
-- requests that match the PathPattern of the cache behavior,
-- specify the applicable values for Quantity and Items
-- . Note that there can be up to 4 LambdaFunctionAssociation
-- items in this list (one for each possible value of EventType
-- ) and each EventType can be associated with the Lambda
-- function only once.
--
-- If you don't want to invoke any Lambda functions for the requests that
-- match PathPattern , specify 0 for Quantity
-- and omit Items .
--
-- See: lambdaFunctionAssociations smart constructor.
data LambdaFunctionAssociations
-- | Creates a value of LambdaFunctionAssociations with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - lfaItems - Optional : A complex type that contains
-- LambdaFunctionAssociation items for this cache behavior. If
-- Quantity is 0 , you can omit Items .
-- - lfaQuantity - The number of Lambda function associations
-- for this cache behavior.
--
lambdaFunctionAssociations :: Int -> LambdaFunctionAssociations
-- | Optional : A complex type that contains
-- LambdaFunctionAssociation items for this cache behavior. If
-- Quantity is 0 , you can omit Items .
lfaItems :: Lens' LambdaFunctionAssociations [LambdaFunctionAssociation]
-- | The number of Lambda function associations for this cache behavior.
lfaQuantity :: Lens' LambdaFunctionAssociations Int
-- | A complex type that controls whether access logs are written for the
-- distribution.
--
-- See: loggingConfig smart constructor.
data LoggingConfig
-- | Creates a value of LoggingConfig with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - lcEnabled - Specifies whether you want CloudFront to save
-- access logs to an Amazon S3 bucket. If you don't want to enable
-- logging when you create a distribution or if you want to disable
-- logging for an existing distribution, specify false for
-- Enabled , and specify empty Bucket and
-- Prefix elements. If you specify false for
-- Enabled but you specify values for Bucket ,
-- prefix , and IncludeCookies , the values are
-- automatically deleted.
-- - lcIncludeCookies - Specifies whether you want CloudFront to
-- include cookies in access logs, specify true for
-- IncludeCookies . If you choose to include cookies in logs,
-- CloudFront logs all cookies regardless of how you configure the cache
-- behaviors for this distribution. If you don't want to include cookies
-- when you create a distribution or if you want to disable include
-- cookies for an existing distribution, specify false for
-- IncludeCookies .
-- - lcBucket - The Amazon S3 bucket to store the access logs
-- in, for example, myawslogbucket.s3.amazonaws.com .
-- - lcPrefix - An optional string that you want CloudFront to
-- prefix to the access log filenames for this distribution, for
-- example, myprefix/ . If you want to enable logging, but you
-- don't want to specify a prefix, you still must include an empty
-- Prefix element in the Logging element.
--
loggingConfig :: Bool -> Bool -> Text -> Text -> LoggingConfig
-- | Specifies whether you want CloudFront to save access logs to an Amazon
-- S3 bucket. If you don't want to enable logging when you create a
-- distribution or if you want to disable logging for an existing
-- distribution, specify false for Enabled , and
-- specify empty Bucket and Prefix elements. If you
-- specify false for Enabled but you specify values for
-- Bucket , prefix , and IncludeCookies , the
-- values are automatically deleted.
lcEnabled :: Lens' LoggingConfig Bool
-- | Specifies whether you want CloudFront to include cookies in access
-- logs, specify true for IncludeCookies . If you
-- choose to include cookies in logs, CloudFront logs all cookies
-- regardless of how you configure the cache behaviors for this
-- distribution. If you don't want to include cookies when you create a
-- distribution or if you want to disable include cookies for an existing
-- distribution, specify false for IncludeCookies .
lcIncludeCookies :: Lens' LoggingConfig Bool
-- | The Amazon S3 bucket to store the access logs in, for example,
-- myawslogbucket.s3.amazonaws.com .
lcBucket :: Lens' LoggingConfig Text
-- | An optional string that you want CloudFront to prefix to the access
-- log filenames for this distribution, for example,
-- myprefix/ . If you want to enable logging, but you don't want
-- to specify a prefix, you still must include an empty Prefix
-- element in the Logging element.
lcPrefix :: Lens' LoggingConfig Text
-- | A complex type that describes the Amazon S3 bucket or the HTTP server
-- (for example, a web server) from which CloudFront gets your files. You
-- must create at least one origin.
--
-- For the current limit on the number of origins that you can create for
-- a distribution, see Amazon CloudFront Limits in the AWS
-- General Reference .
--
-- See: origin smart constructor.
data Origin
-- | Creates a value of Origin with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - oCustomHeaders - A complex type that contains names and
-- values for the custom headers that you want.
-- - oCustomOriginConfig - A complex type that contains
-- information about a custom origin. If the origin is an Amazon S3
-- bucket, use the S3OriginConfig element instead.
-- - oS3OriginConfig - A complex type that contains information
-- about the Amazon S3 origin. If the origin is a custom origin, use the
-- CustomOriginConfig element instead.
-- - oOriginPath - An optional element that causes CloudFront to
-- request your content from a directory in your Amazon S3 bucket or your
-- custom origin. When you include the OriginPath element,
-- specify the directory name, beginning with a / . CloudFront
-- appends the directory name to the value of DomainName , for
-- example, example.com/production . Do not include a /
-- at the end of the directory name. For example, suppose you've
-- specified the following values for your distribution: *
-- DomainName : An Amazon S3 bucket named myawsbucket .
-- * OriginPath : /production * CNAME :
-- example.com When a user enters
-- example.com/index.html in a browser, CloudFront sends a
-- request to Amazon S3 for
-- myawsbucketproductionindex.html . When a user enters
-- example.comacmeindex.html in a browser, CloudFront
-- sends a request to Amazon S3 for
-- myawsbucketproductionacme/index.html .
-- - oId - A unique identifier for the origin. The value of
-- Id must be unique within the distribution. When you specify
-- the value of TargetOriginId for the default cache behavior or
-- for another cache behavior, you indicate the origin to which you want
-- the cache behavior to route requests by specifying the value of the
-- Id element for that origin. When a request matches the path
-- pattern for that cache behavior, CloudFront routes the request to the
-- specified origin. For more information, see Cache Behavior
-- Settings in the Amazon CloudFront Developer Guide .
-- - oDomainName - Amazon S3 origins : The DNS name of
-- the Amazon S3 bucket from which you want CloudFront to get objects for
-- this origin, for example, myawsbucket.s3.amazonaws.com .
-- Constraints for Amazon S3 origins: * If you configured Amazon S3
-- Transfer Acceleration for your bucket, don't specify the
-- s3-accelerate endpoint for DomainName . * The bucket
-- name must be between 3 and 63 characters long (inclusive). * The
-- bucket name must contain only lowercase characters, numbers, periods,
-- underscores, and dashes. * The bucket name must not contain adjacent
-- periods. Custom Origins : The DNS domain name for the HTTP
-- server from which you want CloudFront to get objects for this origin,
-- for example, www.example.com . Constraints for custom
-- origins: * DomainName must be a valid DNS name that contains
-- only a-z, A-Z, 0-9, dot (.), hyphen (-), or underscore (_) characters.
-- * The name cannot exceed 128 characters.
--
origin :: Text -> Text -> Origin
-- | A complex type that contains names and values for the custom headers
-- that you want.
oCustomHeaders :: Lens' Origin (Maybe CustomHeaders)
-- | A complex type that contains information about a custom origin. If the
-- origin is an Amazon S3 bucket, use the S3OriginConfig element
-- instead.
oCustomOriginConfig :: Lens' Origin (Maybe CustomOriginConfig)
-- | A complex type that contains information about the Amazon S3 origin.
-- If the origin is a custom origin, use the CustomOriginConfig
-- element instead.
oS3OriginConfig :: Lens' Origin (Maybe S3OriginConfig)
-- | An optional element that causes CloudFront to request your content
-- from a directory in your Amazon S3 bucket or your custom origin. When
-- you include the OriginPath element, specify the directory
-- name, beginning with a / . CloudFront appends the directory
-- name to the value of DomainName , for example,
-- example.com/production . Do not include a / at the
-- end of the directory name. For example, suppose you've specified the
-- following values for your distribution: * DomainName : An
-- Amazon S3 bucket named myawsbucket . * OriginPath :
-- /production * CNAME : example.com When a
-- user enters example.com/index.html in a browser, CloudFront
-- sends a request to Amazon S3 for
-- myawsbucketproductionindex.html . When a user enters
-- example.comacmeindex.html in a browser, CloudFront
-- sends a request to Amazon S3 for
-- myawsbucketproductionacme/index.html .
oOriginPath :: Lens' Origin (Maybe Text)
-- | A unique identifier for the origin. The value of Id must be
-- unique within the distribution. When you specify the value of
-- TargetOriginId for the default cache behavior or for another
-- cache behavior, you indicate the origin to which you want the cache
-- behavior to route requests by specifying the value of the Id
-- element for that origin. When a request matches the path pattern for
-- that cache behavior, CloudFront routes the request to the specified
-- origin. For more information, see Cache Behavior Settings in
-- the Amazon CloudFront Developer Guide .
oId :: Lens' Origin Text
-- | Amazon S3 origins : The DNS name of the Amazon S3 bucket from
-- which you want CloudFront to get objects for this origin, for example,
-- myawsbucket.s3.amazonaws.com . Constraints for Amazon S3
-- origins: * If you configured Amazon S3 Transfer Acceleration for your
-- bucket, don't specify the s3-accelerate endpoint for
-- DomainName . * The bucket name must be between 3 and 63
-- characters long (inclusive). * The bucket name must contain only
-- lowercase characters, numbers, periods, underscores, and dashes. * The
-- bucket name must not contain adjacent periods. Custom Origins :
-- The DNS domain name for the HTTP server from which you want CloudFront
-- to get objects for this origin, for example, www.example.com
-- . Constraints for custom origins: * DomainName must be a
-- valid DNS name that contains only a-z, A-Z, 0-9, dot (.), hyphen (-),
-- or underscore (_) characters. * The name cannot exceed 128 characters.
oDomainName :: Lens' Origin Text
-- | A complex type that contains HeaderName and
-- HeaderValue elements, if any, for this distribution.
--
-- See: originCustomHeader smart constructor.
data OriginCustomHeader
-- | Creates a value of OriginCustomHeader with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
originCustomHeader :: Text -> Text -> OriginCustomHeader
-- | The name of a header that you want CloudFront to forward to your
-- origin. For more information, see Forwarding Custom Headers to Your
-- Origin (Web Distributions Only) in the Amazon Amazon CloudFront
-- Developer Guide .
ochHeaderName :: Lens' OriginCustomHeader Text
-- | The value for the header that you specified in the HeaderName
-- field.
ochHeaderValue :: Lens' OriginCustomHeader Text
-- | A complex type that contains information about the SSL/TLS protocols
-- that CloudFront can use when establishing an HTTPS connection with
-- your origin.
--
-- See: originSSLProtocols smart constructor.
data OriginSSLProtocols
-- | Creates a value of OriginSSLProtocols with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - ospQuantity - The number of SSL/TLS protocols that you want
-- to allow CloudFront to use when establishing an HTTPS connection with
-- this origin.
-- - ospItems - A list that contains allowed SSL/TLS protocols
-- for this distribution.
--
originSSLProtocols :: Int -> OriginSSLProtocols
-- | The number of SSL/TLS protocols that you want to allow CloudFront to
-- use when establishing an HTTPS connection with this origin.
ospQuantity :: Lens' OriginSSLProtocols Int
-- | A list that contains allowed SSL/TLS protocols for this distribution.
ospItems :: Lens' OriginSSLProtocols [SSLProtocol]
-- | A complex type that contains information about origins for this
-- distribution.
--
-- See: origins smart constructor.
data Origins
-- | Creates a value of Origins with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - oItems - A complex type that contains origins for this
-- distribution.
-- - oQuantity - The number of origins for this
-- distribution.
--
origins :: Int -> Origins
-- | A complex type that contains origins for this distribution.
oItems :: Lens' Origins (Maybe (NonEmpty Origin))
-- | The number of origins for this distribution.
oQuantity :: Lens' Origins Int
-- | A complex type that contains information about the objects that you
-- want to invalidate. For more information, see Specifying the
-- Objects to Invalidate in the Amazon CloudFront Developer
-- Guide .
--
-- See: paths smart constructor.
data Paths
-- | Creates a value of Paths with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - pItems - A complex type that contains a list of the paths
-- that you want to invalidate.
-- - pQuantity - The number of objects that you want to
-- invalidate.
--
paths :: Int -> Paths
-- | A complex type that contains a list of the paths that you want to
-- invalidate.
pItems :: Lens' Paths [Text]
-- | The number of objects that you want to invalidate.
pQuantity :: Lens' Paths Int
-- | A complex data type of public keys you add to CloudFront to use with
-- features like field-level encryption.
--
-- See: publicKey smart constructor.
data PublicKey
-- | Creates a value of PublicKey with the minimum fields required
-- to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - pkId - A unique ID assigned to a public key you've added to
-- CloudFront.
-- - pkCreatedTime - A time you added a public key to
-- CloudFront.
-- - pkPublicKeyConfig - A complex data type for a public key
-- you add to CloudFront to use with features like field-level
-- encryption.
--
publicKey :: Text -> UTCTime -> PublicKeyConfig -> PublicKey
-- | A unique ID assigned to a public key you've added to CloudFront.
pkId :: Lens' PublicKey Text
-- | A time you added a public key to CloudFront.
pkCreatedTime :: Lens' PublicKey UTCTime
-- | A complex data type for a public key you add to CloudFront to use with
-- features like field-level encryption.
pkPublicKeyConfig :: Lens' PublicKey PublicKeyConfig
-- | Information about a public key you add to CloudFront to use with
-- features like field-level encryption.
--
-- See: publicKeyConfig smart constructor.
data PublicKeyConfig
-- | Creates a value of PublicKeyConfig with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - pkcComment - An optional comment about a public key.
-- - pkcCallerReference - A unique number that ensures the
-- request can't be replayed.
-- - pkcName - The name for a public key you add to CloudFront
-- to use with features like field-level encryption.
-- - pkcEncodedKey - The encoded public key that you want to add
-- to CloudFront to use with features like field-level encryption.
--
publicKeyConfig :: Text -> Text -> Text -> PublicKeyConfig
-- | An optional comment about a public key.
pkcComment :: Lens' PublicKeyConfig (Maybe Text)
-- | A unique number that ensures the request can't be replayed.
pkcCallerReference :: Lens' PublicKeyConfig Text
-- | The name for a public key you add to CloudFront to use with features
-- like field-level encryption.
pkcName :: Lens' PublicKeyConfig Text
-- | The encoded public key that you want to add to CloudFront to use with
-- features like field-level encryption.
pkcEncodedKey :: Lens' PublicKeyConfig Text
-- | A list of public keys you've added to CloudFront to use with features
-- like field-level encryption.
--
-- See: publicKeyList smart constructor.
data PublicKeyList
-- | Creates a value of PublicKeyList with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - pklItems - An array of information about a public key you
-- add to CloudFront to use with features like field-level
-- encryption.
-- - pklNextMarker - If there are more elements to be listed,
-- this element is present and contains the value that you can use for
-- the Marker request parameter to continue listing your public
-- keys where you left off.
-- - pklMaxItems - The maximum number of public keys you want in
-- the response body.
-- - pklQuantity - The number of public keys you added to
-- CloudFront to use with features like field-level encryption.
--
publicKeyList :: Int -> Int -> PublicKeyList
-- | An array of information about a public key you add to CloudFront to
-- use with features like field-level encryption.
pklItems :: Lens' PublicKeyList [PublicKeySummary]
-- | If there are more elements to be listed, this element is present and
-- contains the value that you can use for the Marker request
-- parameter to continue listing your public keys where you left off.
pklNextMarker :: Lens' PublicKeyList (Maybe Text)
-- | The maximum number of public keys you want in the response body.
pklMaxItems :: Lens' PublicKeyList Int
-- | The number of public keys you added to CloudFront to use with features
-- like field-level encryption.
pklQuantity :: Lens' PublicKeyList Int
-- | Public key information summary.
--
-- See: publicKeySummary smart constructor.
data PublicKeySummary
-- | Creates a value of PublicKeySummary with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - pksComment - Comment for public key information
-- summary.
-- - pksId - ID for public key information summary.
-- - pksName - Name for public key information summary.
-- - pksCreatedTime - Creation time for public key information
-- summary.
-- - pksEncodedKey - Encoded key for public key information
-- summary.
--
publicKeySummary :: Text -> Text -> UTCTime -> Text -> PublicKeySummary
-- | Comment for public key information summary.
pksComment :: Lens' PublicKeySummary (Maybe Text)
-- | ID for public key information summary.
pksId :: Lens' PublicKeySummary Text
-- | Name for public key information summary.
pksName :: Lens' PublicKeySummary Text
-- | Creation time for public key information summary.
pksCreatedTime :: Lens' PublicKeySummary UTCTime
-- | Encoded key for public key information summary.
pksEncodedKey :: Lens' PublicKeySummary Text
-- | Query argument-profile mapping for field-level encryption.
--
-- See: queryArgProfile smart constructor.
data QueryArgProfile
-- | Creates a value of QueryArgProfile with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - qapQueryArg - Query argument for field-level encryption
-- query argument-profile mapping.
-- - qapProfileId - ID of profile to use for field-level
-- encryption query argument-profile mapping
--
queryArgProfile :: Text -> Text -> QueryArgProfile
-- | Query argument for field-level encryption query argument-profile
-- mapping.
qapQueryArg :: Lens' QueryArgProfile Text
-- | ID of profile to use for field-level encryption query argument-profile
-- mapping
qapProfileId :: Lens' QueryArgProfile Text
-- | Configuration for query argument-profile mapping for field-level
-- encryption.
--
-- See: queryArgProfileConfig smart constructor.
data QueryArgProfileConfig
-- | Creates a value of QueryArgProfileConfig with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - qapcQueryArgProfiles - Profiles specified for query
-- argument-profile mapping for field-level encryption.
-- - qapcForwardWhenQueryArgProfileIsUnknown - Flag to set if
-- you want a request to be forwarded to the origin even if the profile
-- specified by the field-level encryption query argument, fle-profile,
-- is unknown.
--
queryArgProfileConfig :: Bool -> QueryArgProfileConfig
-- | Profiles specified for query argument-profile mapping for field-level
-- encryption.
qapcQueryArgProfiles :: Lens' QueryArgProfileConfig (Maybe QueryArgProfiles)
-- | Flag to set if you want a request to be forwarded to the origin even
-- if the profile specified by the field-level encryption query argument,
-- fle-profile, is unknown.
qapcForwardWhenQueryArgProfileIsUnknown :: Lens' QueryArgProfileConfig Bool
-- | Query argument-profile mapping for field-level encryption.
--
-- See: queryArgProfiles smart constructor.
data QueryArgProfiles
-- | Creates a value of QueryArgProfiles with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - qapItems - Number of items for query argument-profile
-- mapping for field-level encryption.
-- - qapQuantity - Number of profiles for query argument-profile
-- mapping for field-level encryption.
--
queryArgProfiles :: Int -> QueryArgProfiles
-- | Number of items for query argument-profile mapping for field-level
-- encryption.
qapItems :: Lens' QueryArgProfiles [QueryArgProfile]
-- | Number of profiles for query argument-profile mapping for field-level
-- encryption.
qapQuantity :: Lens' QueryArgProfiles Int
-- | See: queryStringCacheKeys smart constructor.
data QueryStringCacheKeys
-- | Creates a value of QueryStringCacheKeys with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - qsckItems - (Optional) A list that contains the query
-- string parameters that you want CloudFront to use as a basis for
-- caching for this cache behavior. If Quantity is 0, you can
-- omit Items .
-- - qsckQuantity - The number of whitelisted query
-- string parameters for this cache behavior.
--
queryStringCacheKeys :: Int -> QueryStringCacheKeys
-- | (Optional) A list that contains the query string parameters that you
-- want CloudFront to use as a basis for caching for this cache behavior.
-- If Quantity is 0, you can omit Items .
qsckItems :: Lens' QueryStringCacheKeys [Text]
-- | The number of whitelisted query string parameters for this
-- cache behavior.
qsckQuantity :: Lens' QueryStringCacheKeys Int
-- | A complex type that identifies ways in which you want to restrict
-- distribution of your content.
--
-- See: restrictions smart constructor.
data Restrictions
-- | Creates a value of Restrictions with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
restrictions :: GeoRestriction -> Restrictions
-- | Undocumented member.
rGeoRestriction :: Lens' Restrictions GeoRestriction
-- | A complex type that contains information about the Amazon S3 bucket
-- from which you want CloudFront to get your media files for
-- distribution.
--
-- See: s3Origin smart constructor.
data S3Origin
-- | Creates a value of S3Origin with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - soDomainName - The DNS name of the Amazon S3 origin.
-- - soOriginAccessIdentity - The CloudFront origin access
-- identity to associate with the RTMP distribution. Use an origin access
-- identity to configure the distribution so that end users can only
-- access objects in an Amazon S3 bucket through CloudFront. If you want
-- end users to be able to access objects using either the CloudFront URL
-- or the Amazon S3 URL, specify an empty OriginAccessIdentity
-- element. To delete the origin access identity from an existing
-- distribution, update the distribution configuration and include an
-- empty OriginAccessIdentity element. To replace the origin
-- access identity, update the distribution configuration and specify the
-- new origin access identity. For more information, see Using an
-- Origin Access Identity to Restrict Access to Your Amazon S3
-- Content in the Amazon Amazon CloudFront Developer Guide
-- .
--
s3Origin :: Text -> Text -> S3Origin
-- | The DNS name of the Amazon S3 origin.
soDomainName :: Lens' S3Origin Text
-- | The CloudFront origin access identity to associate with the RTMP
-- distribution. Use an origin access identity to configure the
-- distribution so that end users can only access objects in an Amazon S3
-- bucket through CloudFront. If you want end users to be able to access
-- objects using either the CloudFront URL or the Amazon S3 URL, specify
-- an empty OriginAccessIdentity element. To delete the origin
-- access identity from an existing distribution, update the distribution
-- configuration and include an empty OriginAccessIdentity
-- element. To replace the origin access identity, update the
-- distribution configuration and specify the new origin access identity.
-- For more information, see Using an Origin Access Identity to
-- Restrict Access to Your Amazon S3 Content in the Amazon Amazon
-- CloudFront Developer Guide .
soOriginAccessIdentity :: Lens' S3Origin Text
-- | A complex type that contains information about the Amazon S3 origin.
-- If the origin is a custom origin, use the CustomOriginConfig
-- element instead.
--
-- See: s3OriginConfig smart constructor.
data S3OriginConfig
-- | Creates a value of S3OriginConfig with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - socOriginAccessIdentity - The CloudFront origin access
-- identity to associate with the origin. Use an origin access identity
-- to configure the origin so that viewers can only access objects
-- in an Amazon S3 bucket through CloudFront. The format of the value is:
-- origin-access-identitycloudfrontID-of-origin-access-identity
-- where ID-of-origin-access-identity is the value that
-- CloudFront returned in the ID element when you created the
-- origin access identity. If you want viewers to be able to access
-- objects using either the CloudFront URL or the Amazon S3 URL, specify
-- an empty OriginAccessIdentity element. To delete the origin
-- access identity from an existing distribution, update the distribution
-- configuration and include an empty OriginAccessIdentity
-- element. To replace the origin access identity, update the
-- distribution configuration and specify the new origin access identity.
-- For more information about the origin access identity, see Serving
-- Private Content through CloudFront in the Amazon CloudFront
-- Developer Guide .
--
s3OriginConfig :: Text -> S3OriginConfig
-- | The CloudFront origin access identity to associate with the origin.
-- Use an origin access identity to configure the origin so that viewers
-- can only access objects in an Amazon S3 bucket through
-- CloudFront. The format of the value is:
-- origin-access-identitycloudfrontID-of-origin-access-identity
-- where ID-of-origin-access-identity is the value that
-- CloudFront returned in the ID element when you created the
-- origin access identity. If you want viewers to be able to access
-- objects using either the CloudFront URL or the Amazon S3 URL, specify
-- an empty OriginAccessIdentity element. To delete the origin
-- access identity from an existing distribution, update the distribution
-- configuration and include an empty OriginAccessIdentity
-- element. To replace the origin access identity, update the
-- distribution configuration and specify the new origin access identity.
-- For more information about the origin access identity, see Serving
-- Private Content through CloudFront in the Amazon CloudFront
-- Developer Guide .
socOriginAccessIdentity :: Lens' S3OriginConfig Text
-- | A complex type that lists the AWS accounts that were included in the
-- TrustedSigners complex type, as well as their active
-- CloudFront key pair IDs, if any.
--
-- See: signer smart constructor.
data Signer
-- | Creates a value of Signer with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - sAWSAccountNumber - An AWS account that is included in the
-- TrustedSigners complex type for this RTMP distribution. Valid
-- values include: * self , which is the AWS account used to
-- create the distribution. * An AWS account number.
-- - sKeyPairIds - A complex type that lists the active
-- CloudFront key pairs, if any, that are associated with
-- AwsAccountNumber .
--
signer :: Signer
-- | An AWS account that is included in the TrustedSigners complex
-- type for this RTMP distribution. Valid values include: * self
-- , which is the AWS account used to create the distribution. * An AWS
-- account number.
sAWSAccountNumber :: Lens' Signer (Maybe Text)
-- | A complex type that lists the active CloudFront key pairs, if any,
-- that are associated with AwsAccountNumber .
sKeyPairIds :: Lens' Signer (Maybe KeyPairIds)
-- | A streaming distribution.
--
-- See: streamingDistribution smart constructor.
data StreamingDistribution
-- | Creates a value of StreamingDistribution with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - sdLastModifiedTime - The date and time that the
-- distribution was last modified.
-- - sdId - The identifier for the RTMP distribution. For
-- example: EGTXBD79EXAMPLE .
-- - sdARN - Undocumented member.
-- - sdStatus - The current status of the RTMP distribution.
-- When the status is Deployed , the distribution's information
-- is propagated to all CloudFront edge locations.
-- - sdDomainName - The domain name that corresponds to the
-- streaming distribution, for example,
-- s5c39gqb8ow64r.cloudfront.net .
-- - sdActiveTrustedSigners - A complex type that lists the AWS
-- accounts, if any, that you included in the TrustedSigners
-- complex type for this distribution. These are the accounts that you
-- want to allow to create signed URLs for private content. The
-- Signer complex type lists the AWS account number of the
-- trusted signer or self if the signer is the AWS account that
-- created the distribution. The Signer element also includes
-- the IDs of any active CloudFront key pairs that are associated with
-- the trusted signer's AWS account. If no KeyPairId element
-- appears for a Signer , that signer can't create signed URLs.
-- For more information, see Serving Private Content through
-- CloudFront in the Amazon CloudFront Developer Guide .
-- - sdStreamingDistributionConfig - The current configuration
-- information for the RTMP distribution.
--
streamingDistribution :: Text -> Text -> Text -> Text -> ActiveTrustedSigners -> StreamingDistributionConfig -> StreamingDistribution
-- | The date and time that the distribution was last modified.
sdLastModifiedTime :: Lens' StreamingDistribution (Maybe UTCTime)
-- | The identifier for the RTMP distribution. For example:
-- EGTXBD79EXAMPLE .
sdId :: Lens' StreamingDistribution Text
-- | Undocumented member.
sdARN :: Lens' StreamingDistribution Text
-- | The current status of the RTMP distribution. When the status is
-- Deployed , the distribution's information is propagated to
-- all CloudFront edge locations.
sdStatus :: Lens' StreamingDistribution Text
-- | The domain name that corresponds to the streaming distribution, for
-- example, s5c39gqb8ow64r.cloudfront.net .
sdDomainName :: Lens' StreamingDistribution Text
-- | A complex type that lists the AWS accounts, if any, that you included
-- in the TrustedSigners complex type for this distribution.
-- These are the accounts that you want to allow to create signed URLs
-- for private content. The Signer complex type lists the AWS
-- account number of the trusted signer or self if the signer is
-- the AWS account that created the distribution. The Signer
-- element also includes the IDs of any active CloudFront key pairs that
-- are associated with the trusted signer's AWS account. If no
-- KeyPairId element appears for a Signer , that signer
-- can't create signed URLs. For more information, see Serving Private
-- Content through CloudFront in the Amazon CloudFront Developer
-- Guide .
sdActiveTrustedSigners :: Lens' StreamingDistribution ActiveTrustedSigners
-- | The current configuration information for the RTMP distribution.
sdStreamingDistributionConfig :: Lens' StreamingDistribution StreamingDistributionConfig
-- | The RTMP distribution's configuration information.
--
-- See: streamingDistributionConfig smart constructor.
data StreamingDistributionConfig
-- | Creates a value of StreamingDistributionConfig with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - sdcAliases - A complex type that contains information about
-- CNAMEs (alternate domain names), if any, for this streaming
-- distribution.
-- - sdcPriceClass - A complex type that contains information
-- about price class for this streaming distribution.
-- - sdcLogging - A complex type that controls whether access
-- logs are written for the streaming distribution.
-- - sdcCallerReference - A unique number that ensures that the
-- request can't be replayed. If the CallerReference is new (no
-- matter the content of the StreamingDistributionConfig
-- object), a new streaming distribution is created. If the
-- CallerReference is a value that you already sent in a
-- previous request to create a streaming distribution, and the content
-- of the StreamingDistributionConfig is identical to the
-- original request (ignoring white space), the response includes the
-- same information returned to the original request. If the
-- CallerReference is a value that you already sent in a
-- previous request to create a streaming distribution but the content of
-- the StreamingDistributionConfig is different from the
-- original request, CloudFront returns a
-- DistributionAlreadyExists error.
-- - sdcS3Origin - A complex type that contains information
-- about the Amazon S3 bucket from which you want CloudFront to get your
-- media files for distribution.
-- - sdcComment - Any comments you want to include about the
-- streaming distribution.
-- - sdcTrustedSigners - A complex type that specifies any AWS
-- accounts that you want to permit to create signed URLs for private
-- content. If you want the distribution to use signed URLs, include this
-- element; if you want the distribution to use public URLs, remove this
-- element. For more information, see Serving Private Content through
-- CloudFront in the Amazon CloudFront Developer Guide .
-- - sdcEnabled - Whether the streaming distribution is enabled
-- to accept user requests for content.
--
streamingDistributionConfig :: Text -> S3Origin -> Text -> TrustedSigners -> Bool -> StreamingDistributionConfig
-- | A complex type that contains information about CNAMEs (alternate
-- domain names), if any, for this streaming distribution.
sdcAliases :: Lens' StreamingDistributionConfig (Maybe Aliases)
-- | A complex type that contains information about price class for this
-- streaming distribution.
sdcPriceClass :: Lens' StreamingDistributionConfig (Maybe PriceClass)
-- | A complex type that controls whether access logs are written for the
-- streaming distribution.
sdcLogging :: Lens' StreamingDistributionConfig (Maybe StreamingLoggingConfig)
-- | A unique number that ensures that the request can't be replayed. If
-- the CallerReference is new (no matter the content of the
-- StreamingDistributionConfig object), a new streaming
-- distribution is created. If the CallerReference is a value
-- that you already sent in a previous request to create a streaming
-- distribution, and the content of the
-- StreamingDistributionConfig is identical to the original
-- request (ignoring white space), the response includes the same
-- information returned to the original request. If the
-- CallerReference is a value that you already sent in a
-- previous request to create a streaming distribution but the content of
-- the StreamingDistributionConfig is different from the
-- original request, CloudFront returns a
-- DistributionAlreadyExists error.
sdcCallerReference :: Lens' StreamingDistributionConfig Text
-- | A complex type that contains information about the Amazon S3 bucket
-- from which you want CloudFront to get your media files for
-- distribution.
sdcS3Origin :: Lens' StreamingDistributionConfig S3Origin
-- | Any comments you want to include about the streaming distribution.
sdcComment :: Lens' StreamingDistributionConfig Text
-- | A complex type that specifies any AWS accounts that you want to permit
-- to create signed URLs for private content. If you want the
-- distribution to use signed URLs, include this element; if you want the
-- distribution to use public URLs, remove this element. For more
-- information, see Serving Private Content through CloudFront in
-- the Amazon CloudFront Developer Guide .
sdcTrustedSigners :: Lens' StreamingDistributionConfig TrustedSigners
-- | Whether the streaming distribution is enabled to accept user requests
-- for content.
sdcEnabled :: Lens' StreamingDistributionConfig Bool
-- | A streaming distribution Configuration and a list of tags to be
-- associated with the streaming distribution.
--
-- See: streamingDistributionConfigWithTags smart
-- constructor.
data StreamingDistributionConfigWithTags
-- | Creates a value of StreamingDistributionConfigWithTags with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
streamingDistributionConfigWithTags :: StreamingDistributionConfig -> Tags -> StreamingDistributionConfigWithTags
-- | A streaming distribution Configuration.
sdcwtStreamingDistributionConfig :: Lens' StreamingDistributionConfigWithTags StreamingDistributionConfig
-- | A complex type that contains zero or more Tag elements.
sdcwtTags :: Lens' StreamingDistributionConfigWithTags Tags
-- | A streaming distribution list.
--
-- See: streamingDistributionList smart constructor.
data StreamingDistributionList
-- | Creates a value of StreamingDistributionList with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - sdlItems - A complex type that contains one
-- StreamingDistributionSummary element for each distribution
-- that was created by the current AWS account.
-- - sdlNextMarker - If IsTruncated is true ,
-- this element is present and contains the value you can use for the
-- Marker request parameter to continue listing your RTMP
-- distributions where they left off.
-- - sdlMarker - The value you provided for the Marker
-- request parameter.
-- - sdlMaxItems - The value you provided for the
-- MaxItems request parameter.
-- - sdlIsTruncated - A flag that indicates whether more
-- streaming distributions remain to be listed. If your results were
-- truncated, you can make a follow-up pagination request using the
-- Marker request parameter to retrieve more distributions in
-- the list.
-- - sdlQuantity - The number of streaming distributions that
-- were created by the current AWS account.
--
streamingDistributionList :: Text -> Int -> Bool -> Int -> StreamingDistributionList
-- | A complex type that contains one StreamingDistributionSummary
-- element for each distribution that was created by the current AWS
-- account.
sdlItems :: Lens' StreamingDistributionList [StreamingDistributionSummary]
-- | If IsTruncated is true , this element is present and
-- contains the value you can use for the Marker request
-- parameter to continue listing your RTMP distributions where they left
-- off.
sdlNextMarker :: Lens' StreamingDistributionList (Maybe Text)
-- | The value you provided for the Marker request parameter.
sdlMarker :: Lens' StreamingDistributionList Text
-- | The value you provided for the MaxItems request parameter.
sdlMaxItems :: Lens' StreamingDistributionList Int
-- | A flag that indicates whether more streaming distributions remain to
-- be listed. If your results were truncated, you can make a follow-up
-- pagination request using the Marker request parameter to
-- retrieve more distributions in the list.
sdlIsTruncated :: Lens' StreamingDistributionList Bool
-- | The number of streaming distributions that were created by the current
-- AWS account.
sdlQuantity :: Lens' StreamingDistributionList Int
-- | A summary of the information for an Amazon CloudFront streaming
-- distribution.
--
-- See: streamingDistributionSummary smart constructor.
data StreamingDistributionSummary
-- | Creates a value of StreamingDistributionSummary with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - sdsId - The identifier for the distribution, for example,
-- EDFDVBD632BHDS5 .
-- - sdsARN - The ARN (Amazon Resource Name) for the streaming
-- distribution. For example:
-- arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5
-- , where 123456789012 is your AWS account ID.
-- - sdsStatus - Indicates the current status of the
-- distribution. When the status is Deployed , the
-- distribution's information is fully propagated throughout the Amazon
-- CloudFront system.
-- - sdsLastModifiedTime - The date and time the distribution
-- was last modified.
-- - sdsDomainName - The domain name corresponding to the
-- distribution, for example, d111111abcdef8.cloudfront.net
-- .
-- - sdsS3Origin - A complex type that contains information
-- about the Amazon S3 bucket from which you want CloudFront to get your
-- media files for distribution.
-- - sdsAliases - A complex type that contains information about
-- CNAMEs (alternate domain names), if any, for this streaming
-- distribution.
-- - sdsTrustedSigners - A complex type that specifies the AWS
-- accounts, if any, that you want to allow to create signed URLs for
-- private content. If you want to require signed URLs in requests for
-- objects in the target origin that match the PathPattern for
-- this cache behavior, specify true for Enabled , and
-- specify the applicable values for Quantity and Items
-- .If you don't want to require signed URLs in requests for objects that
-- match PathPattern , specify false for
-- Enabled and 0 for Quantity . Omit
-- Items . To add, change, or remove one or more trusted
-- signers, change Enabled to true (if it's currently
-- false ), change Quantity as applicable, and specify
-- all of the trusted signers that you want to include in the updated
-- distribution.
-- - sdsComment - The comment originally specified when this
-- distribution was created.
-- - sdsPriceClass - Undocumented member.
-- - sdsEnabled - Whether the distribution is enabled to accept
-- end user requests for content.
--
streamingDistributionSummary :: Text -> Text -> Text -> UTCTime -> Text -> S3Origin -> Aliases -> TrustedSigners -> Text -> PriceClass -> Bool -> StreamingDistributionSummary
-- | The identifier for the distribution, for example,
-- EDFDVBD632BHDS5 .
sdsId :: Lens' StreamingDistributionSummary Text
-- | The ARN (Amazon Resource Name) for the streaming distribution. For
-- example:
-- arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5
-- , where 123456789012 is your AWS account ID.
sdsARN :: Lens' StreamingDistributionSummary Text
-- | Indicates the current status of the distribution. When the status is
-- Deployed , the distribution's information is fully propagated
-- throughout the Amazon CloudFront system.
sdsStatus :: Lens' StreamingDistributionSummary Text
-- | The date and time the distribution was last modified.
sdsLastModifiedTime :: Lens' StreamingDistributionSummary UTCTime
-- | The domain name corresponding to the distribution, for example,
-- d111111abcdef8.cloudfront.net .
sdsDomainName :: Lens' StreamingDistributionSummary Text
-- | A complex type that contains information about the Amazon S3 bucket
-- from which you want CloudFront to get your media files for
-- distribution.
sdsS3Origin :: Lens' StreamingDistributionSummary S3Origin
-- | A complex type that contains information about CNAMEs (alternate
-- domain names), if any, for this streaming distribution.
sdsAliases :: Lens' StreamingDistributionSummary Aliases
-- | A complex type that specifies the AWS accounts, if any, that you want
-- to allow to create signed URLs for private content. If you want to
-- require signed URLs in requests for objects in the target origin that
-- match the PathPattern for this cache behavior, specify
-- true for Enabled , and specify the applicable values
-- for Quantity and Items .If you don't want to require
-- signed URLs in requests for objects that match PathPattern ,
-- specify false for Enabled and 0 for
-- Quantity . Omit Items . To add, change, or remove
-- one or more trusted signers, change Enabled to true
-- (if it's currently false ), change Quantity as
-- applicable, and specify all of the trusted signers that you want to
-- include in the updated distribution.
sdsTrustedSigners :: Lens' StreamingDistributionSummary TrustedSigners
-- | The comment originally specified when this distribution was created.
sdsComment :: Lens' StreamingDistributionSummary Text
-- | Undocumented member.
sdsPriceClass :: Lens' StreamingDistributionSummary PriceClass
-- | Whether the distribution is enabled to accept end user requests for
-- content.
sdsEnabled :: Lens' StreamingDistributionSummary Bool
-- | A complex type that controls whether access logs are written for this
-- streaming distribution.
--
-- See: streamingLoggingConfig smart constructor.
data StreamingLoggingConfig
-- | Creates a value of StreamingLoggingConfig with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - slcEnabled - Specifies whether you want CloudFront to save
-- access logs to an Amazon S3 bucket. If you don't want to enable
-- logging when you create a streaming distribution or if you want to
-- disable logging for an existing streaming distribution, specify
-- false for Enabled , and specify empty
-- Bucket and Prefix elements. If you specify
-- false for Enabled but you specify values for
-- Bucket and Prefix , the values are automatically
-- deleted.
-- - slcBucket - The Amazon S3 bucket to store the access logs
-- in, for example, myawslogbucket.s3.amazonaws.com .
-- - slcPrefix - An optional string that you want CloudFront to
-- prefix to the access log filenames for this streaming distribution,
-- for example, myprefix/ . If you want to enable logging, but
-- you don't want to specify a prefix, you still must include an empty
-- Prefix element in the Logging element.
--
streamingLoggingConfig :: Bool -> Text -> Text -> StreamingLoggingConfig
-- | Specifies whether you want CloudFront to save access logs to an Amazon
-- S3 bucket. If you don't want to enable logging when you create a
-- streaming distribution or if you want to disable logging for an
-- existing streaming distribution, specify false for
-- Enabled , and specify empty Bucket and
-- Prefix elements. If you specify false for
-- Enabled but you specify values for Bucket and
-- Prefix , the values are automatically deleted.
slcEnabled :: Lens' StreamingLoggingConfig Bool
-- | The Amazon S3 bucket to store the access logs in, for example,
-- myawslogbucket.s3.amazonaws.com .
slcBucket :: Lens' StreamingLoggingConfig Text
-- | An optional string that you want CloudFront to prefix to the access
-- log filenames for this streaming distribution, for example,
-- myprefix/ . If you want to enable logging, but you don't want
-- to specify a prefix, you still must include an empty Prefix
-- element in the Logging element.
slcPrefix :: Lens' StreamingLoggingConfig Text
-- | A complex type that contains Tag key and Tag value.
--
-- See: tag smart constructor.
data Tag
-- | Creates a value of Tag with the minimum fields required to make
-- a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - tagValue - A string that contains an optional Tag
-- value. The string length should be between 0 and 256 characters. Valid
-- characters include a-z , A-Z , 0-9 , space,
-- and the special characters _ - . : / = + @ .
-- - tagKey - A string that contains Tag key. The
-- string length should be between 1 and 128 characters. Valid characters
-- include a-z , A-Z , 0-9 , space, and the
-- special characters _ - . : / = + @ .
--
tag :: Text -> Tag
-- | A string that contains an optional Tag value. The string
-- length should be between 0 and 256 characters. Valid characters
-- include a-z , A-Z , 0-9 , space, and the
-- special characters _ - . : / = + @ .
tagValue :: Lens' Tag (Maybe Text)
-- | A string that contains Tag key. The string length should be
-- between 1 and 128 characters. Valid characters include a-z ,
-- A-Z , 0-9 , space, and the special characters _
-- - . : / = + @ .
tagKey :: Lens' Tag Text
-- | A complex type that contains zero or more Tag elements.
--
-- See: tagKeys smart constructor.
data TagKeys
-- | Creates a value of TagKeys with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - tkItems - A complex type that contains Tag key
-- elements.
--
tagKeys :: TagKeys
-- | A complex type that contains Tag key elements.
tkItems :: Lens' TagKeys [Text]
-- | A complex type that contains zero or more Tag elements.
--
-- See: tags smart constructor.
data Tags
-- | Creates a value of Tags with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - tItems - A complex type that contains Tag
-- elements.
--
tags :: Tags
-- | A complex type that contains Tag elements.
tItems :: Lens' Tags [Tag]
-- | A complex type that specifies the AWS accounts, if any, that you want
-- to allow to create signed URLs for private content.
--
-- If you want to require signed URLs in requests for objects in the
-- target origin that match the PathPattern for this cache
-- behavior, specify true for Enabled , and specify the
-- applicable values for Quantity and Items . For more
-- information, see Serving Private Content through CloudFront in
-- the Amazon Amazon CloudFront Developer Guide .
--
-- If you don't want to require signed URLs in requests for objects that
-- match PathPattern , specify false for
-- Enabled and 0 for Quantity . Omit
-- Items .
--
-- To add, change, or remove one or more trusted signers, change
-- Enabled to true (if it's currently false ),
-- change Quantity as applicable, and specify all of the trusted
-- signers that you want to include in the updated distribution.
--
-- For more information about updating the distribution configuration,
-- see DistributionConfig .
--
-- See: trustedSigners smart constructor.
data TrustedSigners
-- | Creates a value of TrustedSigners with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - tsItems - Optional : A complex type that contains
-- trusted signers for this cache behavior. If Quantity is
-- 0 , you can omit Items .
-- - tsEnabled - Specifies whether you want to require viewers
-- to use signed URLs to access the files specified by
-- PathPattern and TargetOriginId .
-- - tsQuantity - The number of trusted signers for this cache
-- behavior.
--
trustedSigners :: Bool -> Int -> TrustedSigners
-- | Optional : A complex type that contains trusted signers for
-- this cache behavior. If Quantity is 0 , you can omit
-- Items .
tsItems :: Lens' TrustedSigners [Text]
-- | Specifies whether you want to require viewers to use signed URLs to
-- access the files specified by PathPattern and
-- TargetOriginId .
tsEnabled :: Lens' TrustedSigners Bool
-- | The number of trusted signers for this cache behavior.
tsQuantity :: Lens' TrustedSigners Int
-- | A complex type that specifies the following:
--
--
-- - Whether you want viewers to use HTTP or HTTPS to request your
-- objects.
-- - If you want viewers to use HTTPS, whether you're using an
-- alternate domain name such as example.com or the CloudFront
-- domain name for your distribution, such as
-- d111111abcdef8.cloudfront.net .
-- - If you're using an alternate domain name, whether AWS Certificate
-- Manager (ACM) provided the certificate, or you purchased a certificate
-- from a third-party certificate authority and imported it into ACM or
-- uploaded it to the IAM certificate store.
--
--
-- You must specify only one of the following values:
--
--
-- - 'ViewerCertificate$ACMCertificateArn'
-- - 'ViewerCertificate$IAMCertificateId'
-- - 'ViewerCertificate$CloudFrontDefaultCertificate'
--
--
-- Don't specify false for CloudFrontDefaultCertificate
-- .
--
-- If you want viewers to use HTTP instead of HTTPS to request your
-- objects : Specify the following value:
--
--
-- CloudFrontDefaultCertificatetrueCloudFrontDefaultCertificate
--
--
-- In addition, specify allow-all for
-- ViewerProtocolPolicy for all of your cache behaviors.
--
-- If you want viewers to use HTTPS to request your objects :
-- Choose the type of certificate that you want to use based on whether
-- you're using an alternate domain name for your objects or the
-- CloudFront domain name:
--
--
-- - If you're using an alternate domain name, such as
-- example.com : Specify one of the following values, depending on
-- whether ACM provided your certificate or you purchased your
-- certificate from third-party certificate authority:
-- - ACMCertificateArnARN for ACM SSL/TLS certificate
-- ACMCertificateArn where ARN for ACM SSL/TLS
-- certificate is the ARN for the ACM SSL/TLS certificate that
-- you want to use for this distribution.
-- - IAMCertificateIdIAM certificate ID
-- IAMCertificateId where IAM certificate ID
-- is the ID that IAM returned when you added the certificate to the IAM
-- certificate store.
--
--
-- If you specify ACMCertificateArn or IAMCertificateId
-- , you must also specify a value for SSLSupportMethod .
--
-- If you choose to use an ACM certificate or a certificate in the IAM
-- certificate store, we recommend that you use only an alternate domain
-- name in your object URLs (https://example.com/logo.jpg
-- ). If you use the domain name that is associated with your CloudFront
-- distribution (such as
-- https://d111111abcdef8.cloudfront.net/logo.jpg ) and
-- the viewer supports SNI , then CloudFront behaves normally.
-- However, if the browser does not support SNI, the user's experience
-- depends on the value that you choose for SSLSupportMethod :
--
--
-- - vip : The viewer displays a warning because there is a
-- mismatch between the CloudFront domain name and the domain name in
-- your SSL/TLS certificate.
-- - sni-only : CloudFront drops the connection with the
-- browser without returning the object.
-- - If you're using the CloudFront domain name for your
-- distribution, such as d111111abcdef8.cloudfront.net :
-- Specify the following value:
--
--
--
-- CloudFrontDefaultCertificatetrueCloudFrontDefaultCertificate
--
--
-- If you want viewers to use HTTPS, you must also specify one of the
-- following values in your cache behaviors:
--
--
--
-- You can also optionally require that CloudFront use HTTPS to
-- communicate with your origin by specifying one of the following values
-- for the applicable origins:
--
--
--
-- For more information, see Using Alternate Domain Names and
-- HTTPS in the Amazon CloudFront Developer Guide .
--
-- See: viewerCertificate smart constructor.
data ViewerCertificate
-- | Creates a value of ViewerCertificate with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - vcSSLSupportMethod - If you specify a value for
-- 'ViewerCertificate$ACMCertificateArn' or for
-- 'ViewerCertificate$IAMCertificateId' , you must also specify how you
-- want CloudFront to serve HTTPS requests: using a method that works for
-- all clients or one that works for most clients: * vip :
-- CloudFront uses dedicated IP addresses for your content and can
-- respond to HTTPS requests from any viewer. However, you will incur
-- additional monthly charges. * sni-only : CloudFront can
-- respond to HTTPS requests from viewers that support Server Name
-- Indication (SNI). All modern browsers support SNI, but some browsers
-- still in use don't support SNI. If some of your users' browsers don't
-- support SNI, we recommend that you do one of the following: * Use the
-- vip option (dedicated IP addresses) instead of
-- sni-only . * Use the CloudFront SSLTLS certificate instead
-- of a custom certificate. This requires that you use the CloudFront
-- domain name of your distribution in the URLs for your objects, for
-- example, @https:d111111abcdef8.cloudfront.netlogo.png .
-- * If you can control which browser your users use, upgrade the browser
-- to one that supports SNI. * Use HTTP instead of HTTPS. Don't specify a
-- value for SSLSupportMethod if you specified
-- CloudFrontDefaultCertificatetrueCloudFrontDefaultCertificate@
-- . For more information, see Using Alternate Domain Names and
-- HTTPS in the Amazon CloudFront Developer Guide .
-- - vcACMCertificateARN - For information about how and when to
-- use ACMCertificateArn , see ViewerCertificate .
-- - vcCertificateSource - This field has been deprecated. Use
-- one of the following fields instead: *
-- 'ViewerCertificate$ACMCertificateArn' *
-- 'ViewerCertificate$IAMCertificateId' *
-- 'ViewerCertificate$CloudFrontDefaultCertificate'
-- - vcMinimumProtocolVersion - Specify the security policy that
-- you want CloudFront to use for HTTPS connections. A security policy
-- determines two settings: * The minimum SSLTLS protocol that
-- CloudFront uses to communicate with viewers * The cipher that
-- CloudFront uses to encrypt the content that it returns to viewers We
-- recommend that you specify TLSv1.1_2016 unless your users are
-- using browsers or devices that do not support TLSv1.1 or later. When
-- both of the following are true, you must specify TLSv1 or
-- later for the security policy: * You're using a custom certificate:
-- you specified a value for ACMCertificateArn or for
-- IAMCertificateId * You're using SNI: you specified
-- sni-only for SSLSupportMethod If you specify
-- true for CloudFrontDefaultCertificate , CloudFront
-- automatically sets the security policy to TLSv1 regardless of
-- the value that you specify for MinimumProtocolVersion . For
-- information about the relationship between the security policy that
-- you choose and the protocols and ciphers that CloudFront uses to
-- communicate with viewers, see
-- <http:docs.aws.amazon.comAmazonCloudFrontlatestDeveloperGuidesecure-connections-supported-viewer-protocols-ciphers.html#secure-connections-supported-ciphers
-- Supported SSLTLS Protocols and Ciphers for Communication Between
-- Viewers and CloudFront> in the Amazon CloudFront Developer
-- Guide .
-- - vcCertificate - This field has been deprecated. Use one of
-- the following fields instead: * 'ViewerCertificate$ACMCertificateArn'
-- * 'ViewerCertificate$IAMCertificateId' *
-- 'ViewerCertificate$CloudFrontDefaultCertificate'
-- - vcIAMCertificateId - For information about how and when to
-- use IAMCertificateId , see ViewerCertificate .
-- - vcCloudFrontDefaultCertificate - For information about how
-- and when to use CloudFrontDefaultCertificate , see
-- ViewerCertificate .
--
viewerCertificate :: ViewerCertificate
-- | If you specify a value for 'ViewerCertificate$ACMCertificateArn' or
-- for 'ViewerCertificate$IAMCertificateId' , you must also specify how
-- you want CloudFront to serve HTTPS requests: using a method that works
-- for all clients or one that works for most clients: * vip :
-- CloudFront uses dedicated IP addresses for your content and can
-- respond to HTTPS requests from any viewer. However, you will incur
-- additional monthly charges. * sni-only : CloudFront can
-- respond to HTTPS requests from viewers that support Server Name
-- Indication (SNI). All modern browsers support SNI, but some browsers
-- still in use don't support SNI. If some of your users' browsers don't
-- support SNI, we recommend that you do one of the following: * Use the
-- vip option (dedicated IP addresses) instead of
-- sni-only . * Use the CloudFront SSLTLS certificate instead
-- of a custom certificate. This requires that you use the CloudFront
-- domain name of your distribution in the URLs for your objects, for
-- example, @https:d111111abcdef8.cloudfront.netlogo.png .
-- * If you can control which browser your users use, upgrade the browser
-- to one that supports SNI. * Use HTTP instead of HTTPS. Don't specify a
-- value for SSLSupportMethod if you specified
-- CloudFrontDefaultCertificatetrueCloudFrontDefaultCertificate@
-- . For more information, see Using Alternate Domain Names and
-- HTTPS in the Amazon CloudFront Developer Guide .
vcSSLSupportMethod :: Lens' ViewerCertificate (Maybe SSLSupportMethod)
-- | For information about how and when to use ACMCertificateArn ,
-- see ViewerCertificate .
vcACMCertificateARN :: Lens' ViewerCertificate (Maybe Text)
-- | This field has been deprecated. Use one of the following fields
-- instead: * 'ViewerCertificate$ACMCertificateArn' *
-- 'ViewerCertificate$IAMCertificateId' *
-- 'ViewerCertificate$CloudFrontDefaultCertificate'
vcCertificateSource :: Lens' ViewerCertificate (Maybe CertificateSource)
-- | Specify the security policy that you want CloudFront to use for HTTPS
-- connections. A security policy determines two settings: * The minimum
-- SSLTLS protocol that CloudFront uses to communicate with viewers *
-- The cipher that CloudFront uses to encrypt the content that it returns
-- to viewers We recommend that you specify TLSv1.1_2016 unless
-- your users are using browsers or devices that do not support TLSv1.1
-- or later. When both of the following are true, you must specify
-- TLSv1 or later for the security policy: * You're using a
-- custom certificate: you specified a value for
-- ACMCertificateArn or for IAMCertificateId * You're
-- using SNI: you specified sni-only for
-- SSLSupportMethod If you specify true for
-- CloudFrontDefaultCertificate , CloudFront automatically sets
-- the security policy to TLSv1 regardless of the value that you
-- specify for MinimumProtocolVersion . For information about
-- the relationship between the security policy that you choose and the
-- protocols and ciphers that CloudFront uses to communicate with
-- viewers, see
-- <http:docs.aws.amazon.comAmazonCloudFrontlatestDeveloperGuidesecure-connections-supported-viewer-protocols-ciphers.html#secure-connections-supported-ciphers
-- Supported SSLTLS Protocols and Ciphers for Communication Between
-- Viewers and CloudFront> in the Amazon CloudFront Developer
-- Guide .
vcMinimumProtocolVersion :: Lens' ViewerCertificate (Maybe MinimumProtocolVersion)
-- | This field has been deprecated. Use one of the following fields
-- instead: * 'ViewerCertificate$ACMCertificateArn' *
-- 'ViewerCertificate$IAMCertificateId' *
-- 'ViewerCertificate$CloudFrontDefaultCertificate'
vcCertificate :: Lens' ViewerCertificate (Maybe Text)
-- | For information about how and when to use IAMCertificateId ,
-- see ViewerCertificate .
vcIAMCertificateId :: Lens' ViewerCertificate (Maybe Text)
-- | For information about how and when to use
-- CloudFrontDefaultCertificate , see ViewerCertificate .
vcCloudFrontDefaultCertificate :: Lens' ViewerCertificate (Maybe Bool)
-- | Add tags to a CloudFront resource.
module Network.AWS.CloudFront.TagResource
-- | Creates a value of TagResource with the minimum fields required
-- to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - trResource - An ARN of a CloudFront resource.
-- - trTags - A complex type that contains zero or more
-- Tag elements.
--
tagResource :: Text -> Tags -> TagResource
-- | The request to add tags to a CloudFront resource.
--
-- See: tagResource smart constructor.
data TagResource
-- | An ARN of a CloudFront resource.
trResource :: Lens' TagResource Text
-- | A complex type that contains zero or more Tag elements.
trTags :: Lens' TagResource Tags
-- | Creates a value of TagResourceResponse with the minimum fields
-- required to make a request.
tagResourceResponse :: TagResourceResponse
-- | See: tagResourceResponse smart constructor.
data TagResourceResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.TagResource.TagResourceResponse
instance Data.Data.Data Network.AWS.CloudFront.TagResource.TagResourceResponse
instance GHC.Show.Show Network.AWS.CloudFront.TagResource.TagResourceResponse
instance GHC.Read.Read Network.AWS.CloudFront.TagResource.TagResourceResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.TagResource.TagResourceResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.TagResource.TagResource
instance Data.Data.Data Network.AWS.CloudFront.TagResource.TagResource
instance GHC.Show.Show Network.AWS.CloudFront.TagResource.TagResource
instance GHC.Read.Read Network.AWS.CloudFront.TagResource.TagResource
instance GHC.Classes.Eq Network.AWS.CloudFront.TagResource.TagResource
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.TagResource.TagResource
instance Control.DeepSeq.NFData Network.AWS.CloudFront.TagResource.TagResourceResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.TagResource.TagResource
instance Control.DeepSeq.NFData Network.AWS.CloudFront.TagResource.TagResource
instance Network.AWS.Data.XML.ToElement Network.AWS.CloudFront.TagResource.TagResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.TagResource.TagResource
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.TagResource.TagResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.TagResource.TagResource
-- | List tags for a CloudFront resource.
module Network.AWS.CloudFront.ListTagsForResource
-- | Creates a value of ListTagsForResource with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
listTagsForResource :: Text -> ListTagsForResource
-- | The request to list tags for a CloudFront resource.
--
-- See: listTagsForResource smart constructor.
data ListTagsForResource
-- | An ARN of a CloudFront resource.
ltfrResource :: Lens' ListTagsForResource Text
-- | Creates a value of ListTagsForResourceResponse with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
listTagsForResourceResponse :: Int -> Tags -> ListTagsForResourceResponse
-- | The returned result of the corresponding request.
--
-- See: listTagsForResourceResponse smart constructor.
data ListTagsForResourceResponse
-- |
-- - - | The response status code.
--
ltfrrsResponseStatus :: Lens' ListTagsForResourceResponse Int
-- | A complex type that contains zero or more Tag elements.
ltfrrsTags :: Lens' ListTagsForResourceResponse Tags
instance GHC.Generics.Generic Network.AWS.CloudFront.ListTagsForResource.ListTagsForResourceResponse
instance Data.Data.Data Network.AWS.CloudFront.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Show.Show Network.AWS.CloudFront.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Read.Read Network.AWS.CloudFront.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.ListTagsForResource.ListTagsForResource
instance Data.Data.Data Network.AWS.CloudFront.ListTagsForResource.ListTagsForResource
instance GHC.Show.Show Network.AWS.CloudFront.ListTagsForResource.ListTagsForResource
instance GHC.Read.Read Network.AWS.CloudFront.ListTagsForResource.ListTagsForResource
instance GHC.Classes.Eq Network.AWS.CloudFront.ListTagsForResource.ListTagsForResource
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.ListTagsForResource.ListTagsForResource
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListTagsForResource.ListTagsForResourceResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.ListTagsForResource.ListTagsForResource
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListTagsForResource.ListTagsForResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.ListTagsForResource.ListTagsForResource
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.ListTagsForResource.ListTagsForResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.ListTagsForResource.ListTagsForResource
-- | List streaming distributions.
--
-- This operation returns paginated results.
module Network.AWS.CloudFront.ListStreamingDistributions
-- | Creates a value of ListStreamingDistributions with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - lsdMarker - The value that you provided for the
-- Marker request parameter.
-- - lsdMaxItems - The value that you provided for the
-- MaxItems request parameter.
--
listStreamingDistributions :: ListStreamingDistributions
-- | The request to list your streaming distributions.
--
-- See: listStreamingDistributions smart constructor.
data ListStreamingDistributions
-- | The value that you provided for the Marker request parameter.
lsdMarker :: Lens' ListStreamingDistributions (Maybe Text)
-- | The value that you provided for the MaxItems request
-- parameter.
lsdMaxItems :: Lens' ListStreamingDistributions (Maybe Text)
-- | Creates a value of ListStreamingDistributionsResponse with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
listStreamingDistributionsResponse :: Int -> StreamingDistributionList -> ListStreamingDistributionsResponse
-- | The returned result of the corresponding request.
--
-- See: listStreamingDistributionsResponse smart
-- constructor.
data ListStreamingDistributionsResponse
-- |
-- - - | The response status code.
--
lsdrsResponseStatus :: Lens' ListStreamingDistributionsResponse Int
-- | The StreamingDistributionList type.
lsdrsStreamingDistributionList :: Lens' ListStreamingDistributionsResponse StreamingDistributionList
instance GHC.Generics.Generic Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributionsResponse
instance Data.Data.Data Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributionsResponse
instance GHC.Show.Show Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributionsResponse
instance GHC.Read.Read Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributionsResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributionsResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributions
instance Data.Data.Data Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributions
instance GHC.Show.Show Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributions
instance GHC.Read.Read Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributions
instance GHC.Classes.Eq Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributions
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributions
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributionsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributions
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributions
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributions
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributions
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.ListStreamingDistributions.ListStreamingDistributions
-- | List all public keys that have been added to CloudFront for this
-- account.
module Network.AWS.CloudFront.ListPublicKeys
-- | Creates a value of ListPublicKeys with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - lpkMarker - Use this when paginating results to indicate
-- where to begin in your list of public keys. The results include public
-- keys in the list that occur after the marker. To get the next page of
-- results, set the Marker to the value of the
-- NextMarker from the current page's response (which is also
-- the ID of the last public key on that page).
-- - lpkMaxItems - The maximum number of public keys you want in
-- the response body.
--
listPublicKeys :: ListPublicKeys
-- | See: listPublicKeys smart constructor.
data ListPublicKeys
-- | Use this when paginating results to indicate where to begin in your
-- list of public keys. The results include public keys in the list that
-- occur after the marker. To get the next page of results, set the
-- Marker to the value of the NextMarker from the
-- current page's response (which is also the ID of the last public key
-- on that page).
lpkMarker :: Lens' ListPublicKeys (Maybe Text)
-- | The maximum number of public keys you want in the response body.
lpkMaxItems :: Lens' ListPublicKeys (Maybe Text)
-- | Creates a value of ListPublicKeysResponse with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
listPublicKeysResponse :: Int -> ListPublicKeysResponse
-- | See: listPublicKeysResponse smart constructor.
data ListPublicKeysResponse
-- | Returns a list of all public keys that have been added to CloudFront
-- for this account.
lpkrsPublicKeyList :: Lens' ListPublicKeysResponse (Maybe PublicKeyList)
-- |
-- - - | The response status code.
--
lpkrsResponseStatus :: Lens' ListPublicKeysResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.ListPublicKeys.ListPublicKeysResponse
instance Data.Data.Data Network.AWS.CloudFront.ListPublicKeys.ListPublicKeysResponse
instance GHC.Show.Show Network.AWS.CloudFront.ListPublicKeys.ListPublicKeysResponse
instance GHC.Read.Read Network.AWS.CloudFront.ListPublicKeys.ListPublicKeysResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.ListPublicKeys.ListPublicKeysResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.ListPublicKeys.ListPublicKeys
instance Data.Data.Data Network.AWS.CloudFront.ListPublicKeys.ListPublicKeys
instance GHC.Show.Show Network.AWS.CloudFront.ListPublicKeys.ListPublicKeys
instance GHC.Read.Read Network.AWS.CloudFront.ListPublicKeys.ListPublicKeys
instance GHC.Classes.Eq Network.AWS.CloudFront.ListPublicKeys.ListPublicKeys
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.ListPublicKeys.ListPublicKeys
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListPublicKeys.ListPublicKeysResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.ListPublicKeys.ListPublicKeys
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListPublicKeys.ListPublicKeys
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.ListPublicKeys.ListPublicKeys
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.ListPublicKeys.ListPublicKeys
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.ListPublicKeys.ListPublicKeys
-- | Lists invalidation batches.
--
-- This operation returns paginated results.
module Network.AWS.CloudFront.ListInvalidations
-- | Creates a value of ListInvalidations with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - liMarker - Use this parameter when paginating results to
-- indicate where to begin in your list of invalidation batches. Because
-- the results are returned in decreasing order from most recent to
-- oldest, the most recent results are on the first page, the second page
-- will contain earlier results, and so on. To get the next page of
-- results, set Marker to the value of the NextMarker
-- from the current page's response. This value is the same as the ID of
-- the last invalidation batch on that page.
-- - liMaxItems - The maximum number of invalidation batches
-- that you want in the response body.
-- - liDistributionId - The distribution's ID.
--
listInvalidations :: Text -> ListInvalidations
-- | The request to list invalidations.
--
-- See: listInvalidations smart constructor.
data ListInvalidations
-- | Use this parameter when paginating results to indicate where to begin
-- in your list of invalidation batches. Because the results are returned
-- in decreasing order from most recent to oldest, the most recent
-- results are on the first page, the second page will contain earlier
-- results, and so on. To get the next page of results, set
-- Marker to the value of the NextMarker from the
-- current page's response. This value is the same as the ID of the last
-- invalidation batch on that page.
liMarker :: Lens' ListInvalidations (Maybe Text)
-- | The maximum number of invalidation batches that you want in the
-- response body.
liMaxItems :: Lens' ListInvalidations (Maybe Text)
-- | The distribution's ID.
liDistributionId :: Lens' ListInvalidations Text
-- | Creates a value of ListInvalidationsResponse with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
listInvalidationsResponse :: Int -> InvalidationList -> ListInvalidationsResponse
-- | The returned result of the corresponding request.
--
-- See: listInvalidationsResponse smart constructor.
data ListInvalidationsResponse
-- |
-- - - | The response status code.
--
lirsResponseStatus :: Lens' ListInvalidationsResponse Int
-- | Information about invalidation batches.
lirsInvalidationList :: Lens' ListInvalidationsResponse InvalidationList
instance GHC.Generics.Generic Network.AWS.CloudFront.ListInvalidations.ListInvalidationsResponse
instance Data.Data.Data Network.AWS.CloudFront.ListInvalidations.ListInvalidationsResponse
instance GHC.Show.Show Network.AWS.CloudFront.ListInvalidations.ListInvalidationsResponse
instance GHC.Read.Read Network.AWS.CloudFront.ListInvalidations.ListInvalidationsResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.ListInvalidations.ListInvalidationsResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.ListInvalidations.ListInvalidations
instance Data.Data.Data Network.AWS.CloudFront.ListInvalidations.ListInvalidations
instance GHC.Show.Show Network.AWS.CloudFront.ListInvalidations.ListInvalidations
instance GHC.Read.Read Network.AWS.CloudFront.ListInvalidations.ListInvalidations
instance GHC.Classes.Eq Network.AWS.CloudFront.ListInvalidations.ListInvalidations
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.ListInvalidations.ListInvalidations
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListInvalidations.ListInvalidationsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.CloudFront.ListInvalidations.ListInvalidations
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.ListInvalidations.ListInvalidations
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListInvalidations.ListInvalidations
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.ListInvalidations.ListInvalidations
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.ListInvalidations.ListInvalidations
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.ListInvalidations.ListInvalidations
-- | Request a list of field-level encryption profiles that have been
-- created in CloudFront for this account.
module Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles
-- | Creates a value of ListFieldLevelEncryptionProfiles with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - lflepMarker - Use this when paginating results to indicate
-- where to begin in your list of profiles. The results include profiles
-- in the list that occur after the marker. To get the next page of
-- results, set the Marker to the value of the
-- NextMarker from the current page's response (which is also
-- the ID of the last profile on that page).
-- - lflepMaxItems - The maximum number of field-level
-- encryption profiles you want in the response body.
--
listFieldLevelEncryptionProfiles :: ListFieldLevelEncryptionProfiles
-- | See: listFieldLevelEncryptionProfiles smart constructor.
data ListFieldLevelEncryptionProfiles
-- | Use this when paginating results to indicate where to begin in your
-- list of profiles. The results include profiles in the list that occur
-- after the marker. To get the next page of results, set the
-- Marker to the value of the NextMarker from the
-- current page's response (which is also the ID of the last profile on
-- that page).
lflepMarker :: Lens' ListFieldLevelEncryptionProfiles (Maybe Text)
-- | The maximum number of field-level encryption profiles you want in the
-- response body.
lflepMaxItems :: Lens' ListFieldLevelEncryptionProfiles (Maybe Text)
-- | Creates a value of ListFieldLevelEncryptionProfilesResponse
-- with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
listFieldLevelEncryptionProfilesResponse :: Int -> ListFieldLevelEncryptionProfilesResponse
-- | See: listFieldLevelEncryptionProfilesResponse smart
-- constructor.
data ListFieldLevelEncryptionProfilesResponse
-- | Returns a list of the field-level encryption profiles that have been
-- created in CloudFront for this account.
lfleprsFieldLevelEncryptionProfileList :: Lens' ListFieldLevelEncryptionProfilesResponse (Maybe FieldLevelEncryptionProfileList)
-- |
-- - - | The response status code.
--
lfleprsResponseStatus :: Lens' ListFieldLevelEncryptionProfilesResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles.ListFieldLevelEncryptionProfilesResponse
instance Data.Data.Data Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles.ListFieldLevelEncryptionProfilesResponse
instance GHC.Show.Show Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles.ListFieldLevelEncryptionProfilesResponse
instance GHC.Read.Read Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles.ListFieldLevelEncryptionProfilesResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles.ListFieldLevelEncryptionProfilesResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles.ListFieldLevelEncryptionProfiles
instance Data.Data.Data Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles.ListFieldLevelEncryptionProfiles
instance GHC.Show.Show Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles.ListFieldLevelEncryptionProfiles
instance GHC.Read.Read Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles.ListFieldLevelEncryptionProfiles
instance GHC.Classes.Eq Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles.ListFieldLevelEncryptionProfiles
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles.ListFieldLevelEncryptionProfiles
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles.ListFieldLevelEncryptionProfilesResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles.ListFieldLevelEncryptionProfiles
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles.ListFieldLevelEncryptionProfiles
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles.ListFieldLevelEncryptionProfiles
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles.ListFieldLevelEncryptionProfiles
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.ListFieldLevelEncryptionProfiles.ListFieldLevelEncryptionProfiles
-- | List all field-level encryption configurations that have been created
-- in CloudFront for this account.
module Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs
-- | Creates a value of ListFieldLevelEncryptionConfigs with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - lflecMarker - Use this when paginating results to indicate
-- where to begin in your list of configurations. The results include
-- configurations in the list that occur after the marker. To get the
-- next page of results, set the Marker to the value of the
-- NextMarker from the current page's response (which is also
-- the ID of the last configuration on that page).
-- - lflecMaxItems - The maximum number of field-level
-- encryption configurations you want in the response body.
--
listFieldLevelEncryptionConfigs :: ListFieldLevelEncryptionConfigs
-- | See: listFieldLevelEncryptionConfigs smart constructor.
data ListFieldLevelEncryptionConfigs
-- | Use this when paginating results to indicate where to begin in your
-- list of configurations. The results include configurations in the list
-- that occur after the marker. To get the next page of results, set the
-- Marker to the value of the NextMarker from the
-- current page's response (which is also the ID of the last
-- configuration on that page).
lflecMarker :: Lens' ListFieldLevelEncryptionConfigs (Maybe Text)
-- | The maximum number of field-level encryption configurations you want
-- in the response body.
lflecMaxItems :: Lens' ListFieldLevelEncryptionConfigs (Maybe Text)
-- | Creates a value of ListFieldLevelEncryptionConfigsResponse with
-- the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
listFieldLevelEncryptionConfigsResponse :: Int -> ListFieldLevelEncryptionConfigsResponse
-- | See: listFieldLevelEncryptionConfigsResponse smart
-- constructor.
data ListFieldLevelEncryptionConfigsResponse
-- | Returns a list of all field-level encryption configurations that have
-- been created in CloudFront for this account.
lflecrsFieldLevelEncryptionList :: Lens' ListFieldLevelEncryptionConfigsResponse (Maybe FieldLevelEncryptionList)
-- |
-- - - | The response status code.
--
lflecrsResponseStatus :: Lens' ListFieldLevelEncryptionConfigsResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs.ListFieldLevelEncryptionConfigsResponse
instance Data.Data.Data Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs.ListFieldLevelEncryptionConfigsResponse
instance GHC.Show.Show Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs.ListFieldLevelEncryptionConfigsResponse
instance GHC.Read.Read Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs.ListFieldLevelEncryptionConfigsResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs.ListFieldLevelEncryptionConfigsResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs.ListFieldLevelEncryptionConfigs
instance Data.Data.Data Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs.ListFieldLevelEncryptionConfigs
instance GHC.Show.Show Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs.ListFieldLevelEncryptionConfigs
instance GHC.Read.Read Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs.ListFieldLevelEncryptionConfigs
instance GHC.Classes.Eq Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs.ListFieldLevelEncryptionConfigs
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs.ListFieldLevelEncryptionConfigs
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs.ListFieldLevelEncryptionConfigsResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs.ListFieldLevelEncryptionConfigs
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs.ListFieldLevelEncryptionConfigs
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs.ListFieldLevelEncryptionConfigs
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs.ListFieldLevelEncryptionConfigs
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.ListFieldLevelEncryptionConfigs.ListFieldLevelEncryptionConfigs
-- | List the distributions that are associated with a specified AWS WAF
-- web ACL.
module Network.AWS.CloudFront.ListDistributionsByWebACLId
-- | Creates a value of ListDistributionsByWebACLId with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - ldbwaiMarker - Use Marker and MaxItems to
-- control pagination of results. If you have more than MaxItems
-- distributions that satisfy the request, the response includes a
-- NextMarker element. To get the next page of results, submit
-- another request. For the value of Marker , specify the value
-- of NextMarker from the last response. (For the first request,
-- omit Marker .)
-- - ldbwaiMaxItems - The maximum number of distributions that
-- you want CloudFront to return in the response body. The maximum and
-- default values are both 100.
-- - ldbwaiWebACLId - The ID of the AWS WAF web ACL that you
-- want to list the associated distributions. If you specify "null" for
-- the ID, the request returns a list of the distributions that aren't
-- associated with a web ACL.
--
listDistributionsByWebACLId :: Text -> ListDistributionsByWebACLId
-- | The request to list distributions that are associated with a specified
-- AWS WAF web ACL.
--
-- See: listDistributionsByWebACLId smart constructor.
data ListDistributionsByWebACLId
-- | Use Marker and MaxItems to control pagination of
-- results. If you have more than MaxItems distributions that
-- satisfy the request, the response includes a NextMarker
-- element. To get the next page of results, submit another request. For
-- the value of Marker , specify the value of
-- NextMarker from the last response. (For the first request,
-- omit Marker .)
ldbwaiMarker :: Lens' ListDistributionsByWebACLId (Maybe Text)
-- | The maximum number of distributions that you want CloudFront to return
-- in the response body. The maximum and default values are both 100.
ldbwaiMaxItems :: Lens' ListDistributionsByWebACLId (Maybe Text)
-- | The ID of the AWS WAF web ACL that you want to list the associated
-- distributions. If you specify "null" for the ID, the request returns a
-- list of the distributions that aren't associated with a web ACL.
ldbwaiWebACLId :: Lens' ListDistributionsByWebACLId Text
-- | Creates a value of ListDistributionsByWebACLIdResponse with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
listDistributionsByWebACLIdResponse :: Int -> ListDistributionsByWebACLIdResponse
-- | The response to a request to list the distributions that are
-- associated with a specified AWS WAF web ACL.
--
-- See: listDistributionsByWebACLIdResponse smart
-- constructor.
data ListDistributionsByWebACLIdResponse
-- | The DistributionList type.
ldbwairsDistributionList :: Lens' ListDistributionsByWebACLIdResponse (Maybe DistributionList)
-- |
-- - - | The response status code.
--
ldbwairsResponseStatus :: Lens' ListDistributionsByWebACLIdResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.ListDistributionsByWebACLId.ListDistributionsByWebACLIdResponse
instance Data.Data.Data Network.AWS.CloudFront.ListDistributionsByWebACLId.ListDistributionsByWebACLIdResponse
instance GHC.Show.Show Network.AWS.CloudFront.ListDistributionsByWebACLId.ListDistributionsByWebACLIdResponse
instance GHC.Read.Read Network.AWS.CloudFront.ListDistributionsByWebACLId.ListDistributionsByWebACLIdResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.ListDistributionsByWebACLId.ListDistributionsByWebACLIdResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.ListDistributionsByWebACLId.ListDistributionsByWebACLId
instance Data.Data.Data Network.AWS.CloudFront.ListDistributionsByWebACLId.ListDistributionsByWebACLId
instance GHC.Show.Show Network.AWS.CloudFront.ListDistributionsByWebACLId.ListDistributionsByWebACLId
instance GHC.Read.Read Network.AWS.CloudFront.ListDistributionsByWebACLId.ListDistributionsByWebACLId
instance GHC.Classes.Eq Network.AWS.CloudFront.ListDistributionsByWebACLId.ListDistributionsByWebACLId
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.ListDistributionsByWebACLId.ListDistributionsByWebACLId
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListDistributionsByWebACLId.ListDistributionsByWebACLIdResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.ListDistributionsByWebACLId.ListDistributionsByWebACLId
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListDistributionsByWebACLId.ListDistributionsByWebACLId
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.ListDistributionsByWebACLId.ListDistributionsByWebACLId
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.ListDistributionsByWebACLId.ListDistributionsByWebACLId
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.ListDistributionsByWebACLId.ListDistributionsByWebACLId
-- | List distributions.
--
-- This operation returns paginated results.
module Network.AWS.CloudFront.ListDistributions
-- | Creates a value of ListDistributions with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - ldMarker - Use this when paginating results to indicate
-- where to begin in your list of distributions. The results include
-- distributions in the list that occur after the marker. To get the next
-- page of results, set the Marker to the value of the
-- NextMarker from the current page's response (which is also
-- the ID of the last distribution on that page).
-- - ldMaxItems - The maximum number of distributions you want
-- in the response body.
--
listDistributions :: ListDistributions
-- | The request to list your distributions.
--
-- See: listDistributions smart constructor.
data ListDistributions
-- | Use this when paginating results to indicate where to begin in your
-- list of distributions. The results include distributions in the list
-- that occur after the marker. To get the next page of results, set the
-- Marker to the value of the NextMarker from the
-- current page's response (which is also the ID of the last distribution
-- on that page).
ldMarker :: Lens' ListDistributions (Maybe Text)
-- | The maximum number of distributions you want in the response body.
ldMaxItems :: Lens' ListDistributions (Maybe Text)
-- | Creates a value of ListDistributionsResponse with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
listDistributionsResponse :: Int -> DistributionList -> ListDistributionsResponse
-- | The returned result of the corresponding request.
--
-- See: listDistributionsResponse smart constructor.
data ListDistributionsResponse
-- |
-- - - | The response status code.
--
ldrsResponseStatus :: Lens' ListDistributionsResponse Int
-- | The DistributionList type.
ldrsDistributionList :: Lens' ListDistributionsResponse DistributionList
instance GHC.Generics.Generic Network.AWS.CloudFront.ListDistributions.ListDistributionsResponse
instance Data.Data.Data Network.AWS.CloudFront.ListDistributions.ListDistributionsResponse
instance GHC.Show.Show Network.AWS.CloudFront.ListDistributions.ListDistributionsResponse
instance GHC.Read.Read Network.AWS.CloudFront.ListDistributions.ListDistributionsResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.ListDistributions.ListDistributionsResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.ListDistributions.ListDistributions
instance Data.Data.Data Network.AWS.CloudFront.ListDistributions.ListDistributions
instance GHC.Show.Show Network.AWS.CloudFront.ListDistributions.ListDistributions
instance GHC.Read.Read Network.AWS.CloudFront.ListDistributions.ListDistributions
instance GHC.Classes.Eq Network.AWS.CloudFront.ListDistributions.ListDistributions
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.ListDistributions.ListDistributions
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListDistributions.ListDistributionsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.CloudFront.ListDistributions.ListDistributions
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.ListDistributions.ListDistributions
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListDistributions.ListDistributions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.ListDistributions.ListDistributions
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.ListDistributions.ListDistributions
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.ListDistributions.ListDistributions
-- | Lists origin access identities.
--
-- This operation returns paginated results.
module Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities
-- | Creates a value of ListCloudFrontOriginAccessIdentities with
-- the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - lcfoaiMarker - Use this when paginating results to indicate
-- where to begin in your list of origin access identities. The results
-- include identities in the list that occur after the marker. To get the
-- next page of results, set the Marker to the value of the
-- NextMarker from the current page's response (which is also
-- the ID of the last identity on that page).
-- - lcfoaiMaxItems - The maximum number of origin access
-- identities you want in the response body.
--
listCloudFrontOriginAccessIdentities :: ListCloudFrontOriginAccessIdentities
-- | The request to list origin access identities.
--
-- See: listCloudFrontOriginAccessIdentities smart
-- constructor.
data ListCloudFrontOriginAccessIdentities
-- | Use this when paginating results to indicate where to begin in your
-- list of origin access identities. The results include identities in
-- the list that occur after the marker. To get the next page of results,
-- set the Marker to the value of the NextMarker from
-- the current page's response (which is also the ID of the last identity
-- on that page).
lcfoaiMarker :: Lens' ListCloudFrontOriginAccessIdentities (Maybe Text)
-- | The maximum number of origin access identities you want in the
-- response body.
lcfoaiMaxItems :: Lens' ListCloudFrontOriginAccessIdentities (Maybe Text)
-- | Creates a value of ListCloudFrontOriginAccessIdentitiesResponse
-- with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
listCloudFrontOriginAccessIdentitiesResponse :: Int -> CloudFrontOriginAccessIdentityList -> ListCloudFrontOriginAccessIdentitiesResponse
-- | The returned result of the corresponding request.
--
-- See: listCloudFrontOriginAccessIdentitiesResponse smart
-- constructor.
data ListCloudFrontOriginAccessIdentitiesResponse
-- |
-- - - | The response status code.
--
lcfoairsResponseStatus :: Lens' ListCloudFrontOriginAccessIdentitiesResponse Int
-- | The CloudFrontOriginAccessIdentityList type.
lcfoairsCloudFrontOriginAccessIdentityList :: Lens' ListCloudFrontOriginAccessIdentitiesResponse CloudFrontOriginAccessIdentityList
instance GHC.Generics.Generic Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentitiesResponse
instance Data.Data.Data Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentitiesResponse
instance GHC.Show.Show Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentitiesResponse
instance GHC.Read.Read Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentitiesResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentitiesResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentities
instance Data.Data.Data Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentities
instance GHC.Show.Show Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentities
instance GHC.Read.Read Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentities
instance GHC.Classes.Eq Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentities
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentities
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentitiesResponse
instance Network.AWS.Pager.AWSPager Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentities
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentities
instance Control.DeepSeq.NFData Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentities
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentities
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentities
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities.ListCloudFrontOriginAccessIdentities
-- | Get the configuration information about a streaming distribution.
module Network.AWS.CloudFront.GetStreamingDistributionConfig
-- | Creates a value of GetStreamingDistributionConfig with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - gsdcId - The streaming distribution's ID.
--
getStreamingDistributionConfig :: Text -> GetStreamingDistributionConfig
-- | To request to get a streaming distribution configuration.
--
-- See: getStreamingDistributionConfig smart constructor.
data GetStreamingDistributionConfig
-- | The streaming distribution's ID.
gsdcId :: Lens' GetStreamingDistributionConfig Text
-- | Creates a value of GetStreamingDistributionConfigResponse with
-- the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
getStreamingDistributionConfigResponse :: Int -> GetStreamingDistributionConfigResponse
-- | The returned result of the corresponding request.
--
-- See: getStreamingDistributionConfigResponse smart
-- constructor.
data GetStreamingDistributionConfigResponse
-- | The streaming distribution's configuration information.
gsdcrsStreamingDistributionConfig :: Lens' GetStreamingDistributionConfigResponse (Maybe StreamingDistributionConfig)
-- | The current version of the configuration. For example:
-- E2QWRUHAPOMQZL .
gsdcrsETag :: Lens' GetStreamingDistributionConfigResponse (Maybe Text)
-- |
-- - - | The response status code.
--
gsdcrsResponseStatus :: Lens' GetStreamingDistributionConfigResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.GetStreamingDistributionConfig.GetStreamingDistributionConfigResponse
instance Data.Data.Data Network.AWS.CloudFront.GetStreamingDistributionConfig.GetStreamingDistributionConfigResponse
instance GHC.Show.Show Network.AWS.CloudFront.GetStreamingDistributionConfig.GetStreamingDistributionConfigResponse
instance GHC.Read.Read Network.AWS.CloudFront.GetStreamingDistributionConfig.GetStreamingDistributionConfigResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.GetStreamingDistributionConfig.GetStreamingDistributionConfigResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.GetStreamingDistributionConfig.GetStreamingDistributionConfig
instance Data.Data.Data Network.AWS.CloudFront.GetStreamingDistributionConfig.GetStreamingDistributionConfig
instance GHC.Show.Show Network.AWS.CloudFront.GetStreamingDistributionConfig.GetStreamingDistributionConfig
instance GHC.Read.Read Network.AWS.CloudFront.GetStreamingDistributionConfig.GetStreamingDistributionConfig
instance GHC.Classes.Eq Network.AWS.CloudFront.GetStreamingDistributionConfig.GetStreamingDistributionConfig
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.GetStreamingDistributionConfig.GetStreamingDistributionConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetStreamingDistributionConfig.GetStreamingDistributionConfigResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.GetStreamingDistributionConfig.GetStreamingDistributionConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetStreamingDistributionConfig.GetStreamingDistributionConfig
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.GetStreamingDistributionConfig.GetStreamingDistributionConfig
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.GetStreamingDistributionConfig.GetStreamingDistributionConfig
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.GetStreamingDistributionConfig.GetStreamingDistributionConfig
-- | Gets information about a specified RTMP distribution, including the
-- distribution configuration.
module Network.AWS.CloudFront.GetStreamingDistribution
-- | Creates a value of GetStreamingDistribution with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - gsdId - The streaming distribution's ID.
--
getStreamingDistribution :: Text -> GetStreamingDistribution
-- | The request to get a streaming distribution's information.
--
-- See: getStreamingDistribution smart constructor.
data GetStreamingDistribution
-- | The streaming distribution's ID.
gsdId :: Lens' GetStreamingDistribution Text
-- | Creates a value of GetStreamingDistributionResponse with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
getStreamingDistributionResponse :: Int -> GetStreamingDistributionResponse
-- | The returned result of the corresponding request.
--
-- See: getStreamingDistributionResponse smart constructor.
data GetStreamingDistributionResponse
-- | The current version of the streaming distribution's information. For
-- example: E2QWRUHAPOMQZL .
gsdrsETag :: Lens' GetStreamingDistributionResponse (Maybe Text)
-- | The streaming distribution's information.
gsdrsStreamingDistribution :: Lens' GetStreamingDistributionResponse (Maybe StreamingDistribution)
-- |
-- - - | The response status code.
--
gsdrsResponseStatus :: Lens' GetStreamingDistributionResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.GetStreamingDistribution.GetStreamingDistributionResponse
instance Data.Data.Data Network.AWS.CloudFront.GetStreamingDistribution.GetStreamingDistributionResponse
instance GHC.Show.Show Network.AWS.CloudFront.GetStreamingDistribution.GetStreamingDistributionResponse
instance GHC.Read.Read Network.AWS.CloudFront.GetStreamingDistribution.GetStreamingDistributionResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.GetStreamingDistribution.GetStreamingDistributionResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.GetStreamingDistribution.GetStreamingDistribution
instance Data.Data.Data Network.AWS.CloudFront.GetStreamingDistribution.GetStreamingDistribution
instance GHC.Show.Show Network.AWS.CloudFront.GetStreamingDistribution.GetStreamingDistribution
instance GHC.Read.Read Network.AWS.CloudFront.GetStreamingDistribution.GetStreamingDistribution
instance GHC.Classes.Eq Network.AWS.CloudFront.GetStreamingDistribution.GetStreamingDistribution
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.GetStreamingDistribution.GetStreamingDistribution
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetStreamingDistribution.GetStreamingDistributionResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.GetStreamingDistribution.GetStreamingDistribution
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetStreamingDistribution.GetStreamingDistribution
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.GetStreamingDistribution.GetStreamingDistribution
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.GetStreamingDistribution.GetStreamingDistribution
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.GetStreamingDistribution.GetStreamingDistribution
-- | Return public key configuration informaation
module Network.AWS.CloudFront.GetPublicKeyConfig
-- | Creates a value of GetPublicKeyConfig with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - gpkcId - Request the ID for the public key
-- configuration.
--
getPublicKeyConfig :: Text -> GetPublicKeyConfig
-- | See: getPublicKeyConfig smart constructor.
data GetPublicKeyConfig
-- | Request the ID for the public key configuration.
gpkcId :: Lens' GetPublicKeyConfig Text
-- | Creates a value of GetPublicKeyConfigResponse with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
getPublicKeyConfigResponse :: Int -> GetPublicKeyConfigResponse
-- | See: getPublicKeyConfigResponse smart constructor.
data GetPublicKeyConfigResponse
-- | The current version of the public key configuration. For example:
-- E2QWRUHAPOMQZL .
gpkcrsETag :: Lens' GetPublicKeyConfigResponse (Maybe Text)
-- | Return the result for the public key configuration.
gpkcrsPublicKeyConfig :: Lens' GetPublicKeyConfigResponse (Maybe PublicKeyConfig)
-- |
-- - - | The response status code.
--
gpkcrsResponseStatus :: Lens' GetPublicKeyConfigResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.GetPublicKeyConfig.GetPublicKeyConfigResponse
instance Data.Data.Data Network.AWS.CloudFront.GetPublicKeyConfig.GetPublicKeyConfigResponse
instance GHC.Show.Show Network.AWS.CloudFront.GetPublicKeyConfig.GetPublicKeyConfigResponse
instance GHC.Read.Read Network.AWS.CloudFront.GetPublicKeyConfig.GetPublicKeyConfigResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.GetPublicKeyConfig.GetPublicKeyConfigResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.GetPublicKeyConfig.GetPublicKeyConfig
instance Data.Data.Data Network.AWS.CloudFront.GetPublicKeyConfig.GetPublicKeyConfig
instance GHC.Show.Show Network.AWS.CloudFront.GetPublicKeyConfig.GetPublicKeyConfig
instance GHC.Read.Read Network.AWS.CloudFront.GetPublicKeyConfig.GetPublicKeyConfig
instance GHC.Classes.Eq Network.AWS.CloudFront.GetPublicKeyConfig.GetPublicKeyConfig
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.GetPublicKeyConfig.GetPublicKeyConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetPublicKeyConfig.GetPublicKeyConfigResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.GetPublicKeyConfig.GetPublicKeyConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetPublicKeyConfig.GetPublicKeyConfig
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.GetPublicKeyConfig.GetPublicKeyConfig
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.GetPublicKeyConfig.GetPublicKeyConfig
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.GetPublicKeyConfig.GetPublicKeyConfig
-- | Get the public key information.
module Network.AWS.CloudFront.GetPublicKey
-- | Creates a value of GetPublicKey with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - gpkId - Request the ID for the public key.
--
getPublicKey :: Text -> GetPublicKey
-- | See: getPublicKey smart constructor.
data GetPublicKey
-- | Request the ID for the public key.
gpkId :: Lens' GetPublicKey Text
-- | Creates a value of GetPublicKeyResponse with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
getPublicKeyResponse :: Int -> GetPublicKeyResponse
-- | See: getPublicKeyResponse smart constructor.
data GetPublicKeyResponse
-- | The current version of the public key. For example:
-- E2QWRUHAPOMQZL .
gpkrsETag :: Lens' GetPublicKeyResponse (Maybe Text)
-- | Return the public key.
gpkrsPublicKey :: Lens' GetPublicKeyResponse (Maybe PublicKey)
-- |
-- - - | The response status code.
--
gpkrsResponseStatus :: Lens' GetPublicKeyResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.GetPublicKey.GetPublicKeyResponse
instance Data.Data.Data Network.AWS.CloudFront.GetPublicKey.GetPublicKeyResponse
instance GHC.Show.Show Network.AWS.CloudFront.GetPublicKey.GetPublicKeyResponse
instance GHC.Read.Read Network.AWS.CloudFront.GetPublicKey.GetPublicKeyResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.GetPublicKey.GetPublicKeyResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.GetPublicKey.GetPublicKey
instance Data.Data.Data Network.AWS.CloudFront.GetPublicKey.GetPublicKey
instance GHC.Show.Show Network.AWS.CloudFront.GetPublicKey.GetPublicKey
instance GHC.Read.Read Network.AWS.CloudFront.GetPublicKey.GetPublicKey
instance GHC.Classes.Eq Network.AWS.CloudFront.GetPublicKey.GetPublicKey
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.GetPublicKey.GetPublicKey
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetPublicKey.GetPublicKeyResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.GetPublicKey.GetPublicKey
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetPublicKey.GetPublicKey
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.GetPublicKey.GetPublicKey
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.GetPublicKey.GetPublicKey
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.GetPublicKey.GetPublicKey
-- | Get the information about an invalidation.
module Network.AWS.CloudFront.GetInvalidation
-- | Creates a value of GetInvalidation with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - giDistributionId - The distribution's ID.
-- - giId - The identifier for the invalidation request, for
-- example, IDFDVBD632BHDS5 .
--
getInvalidation :: Text -> Text -> GetInvalidation
-- | The request to get an invalidation's information.
--
-- See: getInvalidation smart constructor.
data GetInvalidation
-- | The distribution's ID.
giDistributionId :: Lens' GetInvalidation Text
-- | The identifier for the invalidation request, for example,
-- IDFDVBD632BHDS5 .
giId :: Lens' GetInvalidation Text
-- | Creates a value of GetInvalidationResponse with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
getInvalidationResponse :: Int -> GetInvalidationResponse
-- | The returned result of the corresponding request.
--
-- See: getInvalidationResponse smart constructor.
data GetInvalidationResponse
-- | The invalidation's information. For more information, see
-- Invalidation Complex Type .
girsInvalidation :: Lens' GetInvalidationResponse (Maybe Invalidation)
-- |
-- - - | The response status code.
--
girsResponseStatus :: Lens' GetInvalidationResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.GetInvalidation.GetInvalidationResponse
instance Data.Data.Data Network.AWS.CloudFront.GetInvalidation.GetInvalidationResponse
instance GHC.Show.Show Network.AWS.CloudFront.GetInvalidation.GetInvalidationResponse
instance GHC.Read.Read Network.AWS.CloudFront.GetInvalidation.GetInvalidationResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.GetInvalidation.GetInvalidationResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.GetInvalidation.GetInvalidation
instance Data.Data.Data Network.AWS.CloudFront.GetInvalidation.GetInvalidation
instance GHC.Show.Show Network.AWS.CloudFront.GetInvalidation.GetInvalidation
instance GHC.Read.Read Network.AWS.CloudFront.GetInvalidation.GetInvalidation
instance GHC.Classes.Eq Network.AWS.CloudFront.GetInvalidation.GetInvalidation
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.GetInvalidation.GetInvalidation
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetInvalidation.GetInvalidationResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.GetInvalidation.GetInvalidation
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetInvalidation.GetInvalidation
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.GetInvalidation.GetInvalidation
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.GetInvalidation.GetInvalidation
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.GetInvalidation.GetInvalidation
-- | Get the field-level encryption profile configuration information.
module Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig
-- | Creates a value of GetFieldLevelEncryptionProfileConfig with
-- the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - gflepcId - Get the ID for the field-level encryption
-- profile configuration information.
--
getFieldLevelEncryptionProfileConfig :: Text -> GetFieldLevelEncryptionProfileConfig
-- | See: getFieldLevelEncryptionProfileConfig smart
-- constructor.
data GetFieldLevelEncryptionProfileConfig
-- | Get the ID for the field-level encryption profile configuration
-- information.
gflepcId :: Lens' GetFieldLevelEncryptionProfileConfig Text
-- | Creates a value of GetFieldLevelEncryptionProfileConfigResponse
-- with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
getFieldLevelEncryptionProfileConfigResponse :: Int -> GetFieldLevelEncryptionProfileConfigResponse
-- | See: getFieldLevelEncryptionProfileConfigResponse smart
-- constructor.
data GetFieldLevelEncryptionProfileConfigResponse
-- | The current version of the field-level encryption profile
-- configuration result. For example: E2QWRUHAPOMQZL .
gflepcrsETag :: Lens' GetFieldLevelEncryptionProfileConfigResponse (Maybe Text)
-- | Return the field-level encryption profile configuration information.
gflepcrsFieldLevelEncryptionProfileConfig :: Lens' GetFieldLevelEncryptionProfileConfigResponse (Maybe FieldLevelEncryptionProfileConfig)
-- |
-- - - | The response status code.
--
gflepcrsResponseStatus :: Lens' GetFieldLevelEncryptionProfileConfigResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig.GetFieldLevelEncryptionProfileConfigResponse
instance Data.Data.Data Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig.GetFieldLevelEncryptionProfileConfigResponse
instance GHC.Show.Show Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig.GetFieldLevelEncryptionProfileConfigResponse
instance GHC.Read.Read Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig.GetFieldLevelEncryptionProfileConfigResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig.GetFieldLevelEncryptionProfileConfigResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig.GetFieldLevelEncryptionProfileConfig
instance Data.Data.Data Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig.GetFieldLevelEncryptionProfileConfig
instance GHC.Show.Show Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig.GetFieldLevelEncryptionProfileConfig
instance GHC.Read.Read Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig.GetFieldLevelEncryptionProfileConfig
instance GHC.Classes.Eq Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig.GetFieldLevelEncryptionProfileConfig
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig.GetFieldLevelEncryptionProfileConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig.GetFieldLevelEncryptionProfileConfigResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig.GetFieldLevelEncryptionProfileConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig.GetFieldLevelEncryptionProfileConfig
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig.GetFieldLevelEncryptionProfileConfig
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig.GetFieldLevelEncryptionProfileConfig
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.GetFieldLevelEncryptionProfileConfig.GetFieldLevelEncryptionProfileConfig
-- | Get the field-level encryption profile information.
module Network.AWS.CloudFront.GetFieldLevelEncryptionProfile
-- | Creates a value of GetFieldLevelEncryptionProfile with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - gflepId - Get the ID for the field-level encryption profile
-- information.
--
getFieldLevelEncryptionProfile :: Text -> GetFieldLevelEncryptionProfile
-- | See: getFieldLevelEncryptionProfile smart constructor.
data GetFieldLevelEncryptionProfile
-- | Get the ID for the field-level encryption profile information.
gflepId :: Lens' GetFieldLevelEncryptionProfile Text
-- | Creates a value of GetFieldLevelEncryptionProfileResponse with
-- the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
getFieldLevelEncryptionProfileResponse :: Int -> GetFieldLevelEncryptionProfileResponse
-- | See: getFieldLevelEncryptionProfileResponse smart
-- constructor.
data GetFieldLevelEncryptionProfileResponse
-- | The current version of the field level encryption profile. For
-- example: E2QWRUHAPOMQZL .
gfleprsETag :: Lens' GetFieldLevelEncryptionProfileResponse (Maybe Text)
-- | Return the field-level encryption profile information.
gfleprsFieldLevelEncryptionProfile :: Lens' GetFieldLevelEncryptionProfileResponse (Maybe FieldLevelEncryptionProfile)
-- |
-- - - | The response status code.
--
gfleprsResponseStatus :: Lens' GetFieldLevelEncryptionProfileResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.GetFieldLevelEncryptionProfile.GetFieldLevelEncryptionProfileResponse
instance Data.Data.Data Network.AWS.CloudFront.GetFieldLevelEncryptionProfile.GetFieldLevelEncryptionProfileResponse
instance GHC.Show.Show Network.AWS.CloudFront.GetFieldLevelEncryptionProfile.GetFieldLevelEncryptionProfileResponse
instance GHC.Read.Read Network.AWS.CloudFront.GetFieldLevelEncryptionProfile.GetFieldLevelEncryptionProfileResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.GetFieldLevelEncryptionProfile.GetFieldLevelEncryptionProfileResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.GetFieldLevelEncryptionProfile.GetFieldLevelEncryptionProfile
instance Data.Data.Data Network.AWS.CloudFront.GetFieldLevelEncryptionProfile.GetFieldLevelEncryptionProfile
instance GHC.Show.Show Network.AWS.CloudFront.GetFieldLevelEncryptionProfile.GetFieldLevelEncryptionProfile
instance GHC.Read.Read Network.AWS.CloudFront.GetFieldLevelEncryptionProfile.GetFieldLevelEncryptionProfile
instance GHC.Classes.Eq Network.AWS.CloudFront.GetFieldLevelEncryptionProfile.GetFieldLevelEncryptionProfile
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.GetFieldLevelEncryptionProfile.GetFieldLevelEncryptionProfile
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetFieldLevelEncryptionProfile.GetFieldLevelEncryptionProfileResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.GetFieldLevelEncryptionProfile.GetFieldLevelEncryptionProfile
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetFieldLevelEncryptionProfile.GetFieldLevelEncryptionProfile
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.GetFieldLevelEncryptionProfile.GetFieldLevelEncryptionProfile
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.GetFieldLevelEncryptionProfile.GetFieldLevelEncryptionProfile
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.GetFieldLevelEncryptionProfile.GetFieldLevelEncryptionProfile
-- | Get the field-level encryption configuration information.
module Network.AWS.CloudFront.GetFieldLevelEncryptionConfig
-- | Creates a value of GetFieldLevelEncryptionConfig with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - gflecId - Request the ID for the field-level encryption
-- configuration information.
--
getFieldLevelEncryptionConfig :: Text -> GetFieldLevelEncryptionConfig
-- | See: getFieldLevelEncryptionConfig smart constructor.
data GetFieldLevelEncryptionConfig
-- | Request the ID for the field-level encryption configuration
-- information.
gflecId :: Lens' GetFieldLevelEncryptionConfig Text
-- | Creates a value of GetFieldLevelEncryptionConfigResponse with
-- the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
getFieldLevelEncryptionConfigResponse :: Int -> GetFieldLevelEncryptionConfigResponse
-- | See: getFieldLevelEncryptionConfigResponse smart
-- constructor.
data GetFieldLevelEncryptionConfigResponse
-- | The current version of the field level encryption configuration. For
-- example: E2QWRUHAPOMQZL .
gflecrsETag :: Lens' GetFieldLevelEncryptionConfigResponse (Maybe Text)
-- | Return the field-level encryption configuration information.
gflecrsFieldLevelEncryptionConfig :: Lens' GetFieldLevelEncryptionConfigResponse (Maybe FieldLevelEncryptionConfig)
-- |
-- - - | The response status code.
--
gflecrsResponseStatus :: Lens' GetFieldLevelEncryptionConfigResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.GetFieldLevelEncryptionConfig.GetFieldLevelEncryptionConfigResponse
instance Data.Data.Data Network.AWS.CloudFront.GetFieldLevelEncryptionConfig.GetFieldLevelEncryptionConfigResponse
instance GHC.Show.Show Network.AWS.CloudFront.GetFieldLevelEncryptionConfig.GetFieldLevelEncryptionConfigResponse
instance GHC.Read.Read Network.AWS.CloudFront.GetFieldLevelEncryptionConfig.GetFieldLevelEncryptionConfigResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.GetFieldLevelEncryptionConfig.GetFieldLevelEncryptionConfigResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.GetFieldLevelEncryptionConfig.GetFieldLevelEncryptionConfig
instance Data.Data.Data Network.AWS.CloudFront.GetFieldLevelEncryptionConfig.GetFieldLevelEncryptionConfig
instance GHC.Show.Show Network.AWS.CloudFront.GetFieldLevelEncryptionConfig.GetFieldLevelEncryptionConfig
instance GHC.Read.Read Network.AWS.CloudFront.GetFieldLevelEncryptionConfig.GetFieldLevelEncryptionConfig
instance GHC.Classes.Eq Network.AWS.CloudFront.GetFieldLevelEncryptionConfig.GetFieldLevelEncryptionConfig
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.GetFieldLevelEncryptionConfig.GetFieldLevelEncryptionConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetFieldLevelEncryptionConfig.GetFieldLevelEncryptionConfigResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.GetFieldLevelEncryptionConfig.GetFieldLevelEncryptionConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetFieldLevelEncryptionConfig.GetFieldLevelEncryptionConfig
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.GetFieldLevelEncryptionConfig.GetFieldLevelEncryptionConfig
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.GetFieldLevelEncryptionConfig.GetFieldLevelEncryptionConfig
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.GetFieldLevelEncryptionConfig.GetFieldLevelEncryptionConfig
-- | Get the field-level encryption configuration information.
module Network.AWS.CloudFront.GetFieldLevelEncryption
-- | Creates a value of GetFieldLevelEncryption with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - gfleId - Request the ID for the field-level encryption
-- configuration information.
--
getFieldLevelEncryption :: Text -> GetFieldLevelEncryption
-- | See: getFieldLevelEncryption smart constructor.
data GetFieldLevelEncryption
-- | Request the ID for the field-level encryption configuration
-- information.
gfleId :: Lens' GetFieldLevelEncryption Text
-- | Creates a value of GetFieldLevelEncryptionResponse with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
getFieldLevelEncryptionResponse :: Int -> GetFieldLevelEncryptionResponse
-- | See: getFieldLevelEncryptionResponse smart constructor.
data GetFieldLevelEncryptionResponse
-- | The current version of the field level encryption configuration. For
-- example: E2QWRUHAPOMQZL .
gflersETag :: Lens' GetFieldLevelEncryptionResponse (Maybe Text)
-- | Return the field-level encryption configuration information.
gflersFieldLevelEncryption :: Lens' GetFieldLevelEncryptionResponse (Maybe FieldLevelEncryption)
-- |
-- - - | The response status code.
--
gflersResponseStatus :: Lens' GetFieldLevelEncryptionResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.GetFieldLevelEncryption.GetFieldLevelEncryptionResponse
instance Data.Data.Data Network.AWS.CloudFront.GetFieldLevelEncryption.GetFieldLevelEncryptionResponse
instance GHC.Show.Show Network.AWS.CloudFront.GetFieldLevelEncryption.GetFieldLevelEncryptionResponse
instance GHC.Read.Read Network.AWS.CloudFront.GetFieldLevelEncryption.GetFieldLevelEncryptionResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.GetFieldLevelEncryption.GetFieldLevelEncryptionResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.GetFieldLevelEncryption.GetFieldLevelEncryption
instance Data.Data.Data Network.AWS.CloudFront.GetFieldLevelEncryption.GetFieldLevelEncryption
instance GHC.Show.Show Network.AWS.CloudFront.GetFieldLevelEncryption.GetFieldLevelEncryption
instance GHC.Read.Read Network.AWS.CloudFront.GetFieldLevelEncryption.GetFieldLevelEncryption
instance GHC.Classes.Eq Network.AWS.CloudFront.GetFieldLevelEncryption.GetFieldLevelEncryption
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.GetFieldLevelEncryption.GetFieldLevelEncryption
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetFieldLevelEncryption.GetFieldLevelEncryptionResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.GetFieldLevelEncryption.GetFieldLevelEncryption
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetFieldLevelEncryption.GetFieldLevelEncryption
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.GetFieldLevelEncryption.GetFieldLevelEncryption
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.GetFieldLevelEncryption.GetFieldLevelEncryption
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.GetFieldLevelEncryption.GetFieldLevelEncryption
-- | Get the configuration information about a distribution.
module Network.AWS.CloudFront.GetDistributionConfig
-- | Creates a value of GetDistributionConfig with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - gdcId - The distribution's ID.
--
getDistributionConfig :: Text -> GetDistributionConfig
-- | The request to get a distribution configuration.
--
-- See: getDistributionConfig smart constructor.
data GetDistributionConfig
-- | The distribution's ID.
gdcId :: Lens' GetDistributionConfig Text
-- | Creates a value of GetDistributionConfigResponse with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
getDistributionConfigResponse :: Int -> GetDistributionConfigResponse
-- | The returned result of the corresponding request.
--
-- See: getDistributionConfigResponse smart constructor.
data GetDistributionConfigResponse
-- | The current version of the configuration. For example:
-- E2QWRUHAPOMQZL .
gdcrsETag :: Lens' GetDistributionConfigResponse (Maybe Text)
-- | The distribution's configuration information.
gdcrsDistributionConfig :: Lens' GetDistributionConfigResponse (Maybe DistributionConfig)
-- |
-- - - | The response status code.
--
gdcrsResponseStatus :: Lens' GetDistributionConfigResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.GetDistributionConfig.GetDistributionConfigResponse
instance Data.Data.Data Network.AWS.CloudFront.GetDistributionConfig.GetDistributionConfigResponse
instance GHC.Show.Show Network.AWS.CloudFront.GetDistributionConfig.GetDistributionConfigResponse
instance GHC.Read.Read Network.AWS.CloudFront.GetDistributionConfig.GetDistributionConfigResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.GetDistributionConfig.GetDistributionConfigResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.GetDistributionConfig.GetDistributionConfig
instance Data.Data.Data Network.AWS.CloudFront.GetDistributionConfig.GetDistributionConfig
instance GHC.Show.Show Network.AWS.CloudFront.GetDistributionConfig.GetDistributionConfig
instance GHC.Read.Read Network.AWS.CloudFront.GetDistributionConfig.GetDistributionConfig
instance GHC.Classes.Eq Network.AWS.CloudFront.GetDistributionConfig.GetDistributionConfig
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.GetDistributionConfig.GetDistributionConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetDistributionConfig.GetDistributionConfigResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.GetDistributionConfig.GetDistributionConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetDistributionConfig.GetDistributionConfig
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.GetDistributionConfig.GetDistributionConfig
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.GetDistributionConfig.GetDistributionConfig
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.GetDistributionConfig.GetDistributionConfig
-- | Get the information about a distribution.
module Network.AWS.CloudFront.GetDistribution
-- | Creates a value of GetDistribution with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - gdId - The distribution's ID.
--
getDistribution :: Text -> GetDistribution
-- | The request to get a distribution's information.
--
-- See: getDistribution smart constructor.
data GetDistribution
-- | The distribution's ID.
gdId :: Lens' GetDistribution Text
-- | Creates a value of GetDistributionResponse with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - gdrsETag - The current version of the distribution's
-- information. For example: E2QWRUHAPOMQZL .
-- - gdrsDistribution - The distribution's information.
-- - gdrsResponseStatus - -- | The response status code.
--
getDistributionResponse :: Int -> GetDistributionResponse
-- | The returned result of the corresponding request.
--
-- See: getDistributionResponse smart constructor.
data GetDistributionResponse
-- | The current version of the distribution's information. For example:
-- E2QWRUHAPOMQZL .
gdrsETag :: Lens' GetDistributionResponse (Maybe Text)
-- | The distribution's information.
gdrsDistribution :: Lens' GetDistributionResponse (Maybe Distribution)
-- |
-- - - | The response status code.
--
gdrsResponseStatus :: Lens' GetDistributionResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.GetDistribution.GetDistributionResponse
instance Data.Data.Data Network.AWS.CloudFront.GetDistribution.GetDistributionResponse
instance GHC.Show.Show Network.AWS.CloudFront.GetDistribution.GetDistributionResponse
instance GHC.Read.Read Network.AWS.CloudFront.GetDistribution.GetDistributionResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.GetDistribution.GetDistributionResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.GetDistribution.GetDistribution
instance Data.Data.Data Network.AWS.CloudFront.GetDistribution.GetDistribution
instance GHC.Show.Show Network.AWS.CloudFront.GetDistribution.GetDistribution
instance GHC.Read.Read Network.AWS.CloudFront.GetDistribution.GetDistribution
instance GHC.Classes.Eq Network.AWS.CloudFront.GetDistribution.GetDistribution
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.GetDistribution.GetDistribution
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetDistribution.GetDistributionResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.GetDistribution.GetDistribution
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetDistribution.GetDistribution
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.GetDistribution.GetDistribution
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.GetDistribution.GetDistribution
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.GetDistribution.GetDistribution
-- | Get the configuration information about an origin access identity.
module Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig
-- | Creates a value of GetCloudFrontOriginAccessIdentityConfig with
-- the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
getCloudFrontOriginAccessIdentityConfig :: Text -> GetCloudFrontOriginAccessIdentityConfig
-- | The origin access identity's configuration information. For more
-- information, see
-- CloudFrontOriginAccessIdentityConfigComplexType .
--
-- See: getCloudFrontOriginAccessIdentityConfig smart
-- constructor.
data GetCloudFrontOriginAccessIdentityConfig
-- | The identity's ID.
gcfoaicId :: Lens' GetCloudFrontOriginAccessIdentityConfig Text
-- | Creates a value of
-- GetCloudFrontOriginAccessIdentityConfigResponse with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
getCloudFrontOriginAccessIdentityConfigResponse :: Int -> GetCloudFrontOriginAccessIdentityConfigResponse
-- | The returned result of the corresponding request.
--
-- See: getCloudFrontOriginAccessIdentityConfigResponse
-- smart constructor.
data GetCloudFrontOriginAccessIdentityConfigResponse
-- | The origin access identity's configuration information.
gcfoaicrsCloudFrontOriginAccessIdentityConfig :: Lens' GetCloudFrontOriginAccessIdentityConfigResponse (Maybe CloudFrontOriginAccessIdentityConfig)
-- | The current version of the configuration. For example:
-- E2QWRUHAPOMQZL .
gcfoaicrsETag :: Lens' GetCloudFrontOriginAccessIdentityConfigResponse (Maybe Text)
-- |
-- - - | The response status code.
--
gcfoaicrsResponseStatus :: Lens' GetCloudFrontOriginAccessIdentityConfigResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig.GetCloudFrontOriginAccessIdentityConfigResponse
instance Data.Data.Data Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig.GetCloudFrontOriginAccessIdentityConfigResponse
instance GHC.Show.Show Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig.GetCloudFrontOriginAccessIdentityConfigResponse
instance GHC.Read.Read Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig.GetCloudFrontOriginAccessIdentityConfigResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig.GetCloudFrontOriginAccessIdentityConfigResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig.GetCloudFrontOriginAccessIdentityConfig
instance Data.Data.Data Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig.GetCloudFrontOriginAccessIdentityConfig
instance GHC.Show.Show Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig.GetCloudFrontOriginAccessIdentityConfig
instance GHC.Read.Read Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig.GetCloudFrontOriginAccessIdentityConfig
instance GHC.Classes.Eq Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig.GetCloudFrontOriginAccessIdentityConfig
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig.GetCloudFrontOriginAccessIdentityConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig.GetCloudFrontOriginAccessIdentityConfigResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig.GetCloudFrontOriginAccessIdentityConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig.GetCloudFrontOriginAccessIdentityConfig
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig.GetCloudFrontOriginAccessIdentityConfig
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig.GetCloudFrontOriginAccessIdentityConfig
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig.GetCloudFrontOriginAccessIdentityConfig
-- | Get the information about an origin access identity.
module Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity
-- | Creates a value of GetCloudFrontOriginAccessIdentity with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
getCloudFrontOriginAccessIdentity :: Text -> GetCloudFrontOriginAccessIdentity
-- | The request to get an origin access identity's information.
--
-- See: getCloudFrontOriginAccessIdentity smart
-- constructor.
data GetCloudFrontOriginAccessIdentity
-- | The identity's ID.
gcfoaiId :: Lens' GetCloudFrontOriginAccessIdentity Text
-- | Creates a value of GetCloudFrontOriginAccessIdentityResponse
-- with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
getCloudFrontOriginAccessIdentityResponse :: Int -> GetCloudFrontOriginAccessIdentityResponse
-- | The returned result of the corresponding request.
--
-- See: getCloudFrontOriginAccessIdentityResponse smart
-- constructor.
data GetCloudFrontOriginAccessIdentityResponse
-- | The current version of the origin access identity's information. For
-- example: E2QWRUHAPOMQZL .
gcfoairsETag :: Lens' GetCloudFrontOriginAccessIdentityResponse (Maybe Text)
-- | The origin access identity's information.
gcfoairsCloudFrontOriginAccessIdentity :: Lens' GetCloudFrontOriginAccessIdentityResponse (Maybe CloudFrontOriginAccessIdentity)
-- |
-- - - | The response status code.
--
gcfoairsResponseStatus :: Lens' GetCloudFrontOriginAccessIdentityResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity.GetCloudFrontOriginAccessIdentityResponse
instance Data.Data.Data Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity.GetCloudFrontOriginAccessIdentityResponse
instance GHC.Show.Show Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity.GetCloudFrontOriginAccessIdentityResponse
instance GHC.Read.Read Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity.GetCloudFrontOriginAccessIdentityResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity.GetCloudFrontOriginAccessIdentityResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity.GetCloudFrontOriginAccessIdentity
instance Data.Data.Data Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity.GetCloudFrontOriginAccessIdentity
instance GHC.Show.Show Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity.GetCloudFrontOriginAccessIdentity
instance GHC.Read.Read Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity.GetCloudFrontOriginAccessIdentity
instance GHC.Classes.Eq Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity.GetCloudFrontOriginAccessIdentity
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity.GetCloudFrontOriginAccessIdentity
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity.GetCloudFrontOriginAccessIdentityResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity.GetCloudFrontOriginAccessIdentity
instance Control.DeepSeq.NFData Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity.GetCloudFrontOriginAccessIdentity
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity.GetCloudFrontOriginAccessIdentity
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity.GetCloudFrontOriginAccessIdentity
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity.GetCloudFrontOriginAccessIdentity
-- | Delete a streaming distribution. To delete an RTMP distribution using
-- the CloudFront API, perform the following steps.
--
-- To delete an RTMP distribution using the CloudFront API :
--
--
-- - Disable the RTMP distribution.
-- - Submit a GET Streaming Distribution Config request to get
-- the current configuration and the Etag header for the
-- distribution.
-- - Update the XML document that was returned in the response to your
-- GET Streaming Distribution Config request to change the value
-- of Enabled to false .
-- - Submit a PUT Streaming Distribution Config request to
-- update the configuration for your distribution. In the request body,
-- include the XML document that you updated in Step 3. Then set the
-- value of the HTTP If-Match header to the value of the
-- ETag header that CloudFront returned when you submitted the
-- GET Streaming Distribution Config request in Step 2.
-- - Review the response to the PUT Streaming Distribution
-- Config request to confirm that the distribution was successfully
-- disabled.
-- - Submit a GET Streaming Distribution Config request to
-- confirm that your changes have propagated. When propagation is
-- complete, the value of Status is Deployed .
-- - Submit a DELETE Streaming Distribution request. Set the
-- value of the HTTP If-Match header to the value of the
-- ETag header that CloudFront returned when you submitted the
-- GET Streaming Distribution Config request in Step 2.
-- - Review the response to your DELETE Streaming Distribution
-- request to confirm that the distribution was successfully
-- deleted.
--
--
-- For information about deleting a distribution using the CloudFront
-- console, see Deleting a Distribution in the Amazon
-- CloudFront Developer Guide .
module Network.AWS.CloudFront.DeleteStreamingDistribution
-- | Creates a value of DeleteStreamingDistribution with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - dsdIfMatch - The value of the ETag header that you
-- received when you disabled the streaming distribution. For example:
-- E2QWRUHAPOMQZL .
-- - dsdId - The distribution ID.
--
deleteStreamingDistribution :: Text -> DeleteStreamingDistribution
-- | The request to delete a streaming distribution.
--
-- See: deleteStreamingDistribution smart constructor.
data DeleteStreamingDistribution
-- | The value of the ETag header that you received when you
-- disabled the streaming distribution. For example:
-- E2QWRUHAPOMQZL .
dsdIfMatch :: Lens' DeleteStreamingDistribution (Maybe Text)
-- | The distribution ID.
dsdId :: Lens' DeleteStreamingDistribution Text
-- | Creates a value of DeleteStreamingDistributionResponse with the
-- minimum fields required to make a request.
deleteStreamingDistributionResponse :: DeleteStreamingDistributionResponse
-- | See: deleteStreamingDistributionResponse smart
-- constructor.
data DeleteStreamingDistributionResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.DeleteStreamingDistribution.DeleteStreamingDistributionResponse
instance Data.Data.Data Network.AWS.CloudFront.DeleteStreamingDistribution.DeleteStreamingDistributionResponse
instance GHC.Show.Show Network.AWS.CloudFront.DeleteStreamingDistribution.DeleteStreamingDistributionResponse
instance GHC.Read.Read Network.AWS.CloudFront.DeleteStreamingDistribution.DeleteStreamingDistributionResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.DeleteStreamingDistribution.DeleteStreamingDistributionResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.DeleteStreamingDistribution.DeleteStreamingDistribution
instance Data.Data.Data Network.AWS.CloudFront.DeleteStreamingDistribution.DeleteStreamingDistribution
instance GHC.Show.Show Network.AWS.CloudFront.DeleteStreamingDistribution.DeleteStreamingDistribution
instance GHC.Read.Read Network.AWS.CloudFront.DeleteStreamingDistribution.DeleteStreamingDistribution
instance GHC.Classes.Eq Network.AWS.CloudFront.DeleteStreamingDistribution.DeleteStreamingDistribution
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.DeleteStreamingDistribution.DeleteStreamingDistribution
instance Control.DeepSeq.NFData Network.AWS.CloudFront.DeleteStreamingDistribution.DeleteStreamingDistributionResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.DeleteStreamingDistribution.DeleteStreamingDistribution
instance Control.DeepSeq.NFData Network.AWS.CloudFront.DeleteStreamingDistribution.DeleteStreamingDistribution
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.DeleteStreamingDistribution.DeleteStreamingDistribution
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.DeleteStreamingDistribution.DeleteStreamingDistribution
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.DeleteStreamingDistribution.DeleteStreamingDistribution
-- | Undocumented operation.
module Network.AWS.CloudFront.DeleteServiceLinkedRole
-- | Creates a value of DeleteServiceLinkedRole with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
deleteServiceLinkedRole :: Text -> DeleteServiceLinkedRole
-- | See: deleteServiceLinkedRole smart constructor.
data DeleteServiceLinkedRole
-- | Undocumented member.
dslrRoleName :: Lens' DeleteServiceLinkedRole Text
-- | Creates a value of DeleteServiceLinkedRoleResponse with the
-- minimum fields required to make a request.
deleteServiceLinkedRoleResponse :: DeleteServiceLinkedRoleResponse
-- | See: deleteServiceLinkedRoleResponse smart constructor.
data DeleteServiceLinkedRoleResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.DeleteServiceLinkedRole.DeleteServiceLinkedRoleResponse
instance Data.Data.Data Network.AWS.CloudFront.DeleteServiceLinkedRole.DeleteServiceLinkedRoleResponse
instance GHC.Show.Show Network.AWS.CloudFront.DeleteServiceLinkedRole.DeleteServiceLinkedRoleResponse
instance GHC.Read.Read Network.AWS.CloudFront.DeleteServiceLinkedRole.DeleteServiceLinkedRoleResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.DeleteServiceLinkedRole.DeleteServiceLinkedRoleResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.DeleteServiceLinkedRole.DeleteServiceLinkedRole
instance Data.Data.Data Network.AWS.CloudFront.DeleteServiceLinkedRole.DeleteServiceLinkedRole
instance GHC.Show.Show Network.AWS.CloudFront.DeleteServiceLinkedRole.DeleteServiceLinkedRole
instance GHC.Read.Read Network.AWS.CloudFront.DeleteServiceLinkedRole.DeleteServiceLinkedRole
instance GHC.Classes.Eq Network.AWS.CloudFront.DeleteServiceLinkedRole.DeleteServiceLinkedRole
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.DeleteServiceLinkedRole.DeleteServiceLinkedRole
instance Control.DeepSeq.NFData Network.AWS.CloudFront.DeleteServiceLinkedRole.DeleteServiceLinkedRoleResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.DeleteServiceLinkedRole.DeleteServiceLinkedRole
instance Control.DeepSeq.NFData Network.AWS.CloudFront.DeleteServiceLinkedRole.DeleteServiceLinkedRole
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.DeleteServiceLinkedRole.DeleteServiceLinkedRole
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.DeleteServiceLinkedRole.DeleteServiceLinkedRole
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.DeleteServiceLinkedRole.DeleteServiceLinkedRole
-- | Remove a public key you previously added to CloudFront.
module Network.AWS.CloudFront.DeletePublicKey
-- | Creates a value of DeletePublicKey with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - dpkIfMatch - The value of the ETag header that you
-- received when retrieving the public key identity to delete. For
-- example: E2QWRUHAPOMQZL .
-- - dpkId - The ID of the public key you want to remove from
-- CloudFront.
--
deletePublicKey :: Text -> DeletePublicKey
-- | See: deletePublicKey smart constructor.
data DeletePublicKey
-- | The value of the ETag header that you received when
-- retrieving the public key identity to delete. For example:
-- E2QWRUHAPOMQZL .
dpkIfMatch :: Lens' DeletePublicKey (Maybe Text)
-- | The ID of the public key you want to remove from CloudFront.
dpkId :: Lens' DeletePublicKey Text
-- | Creates a value of DeletePublicKeyResponse with the minimum
-- fields required to make a request.
deletePublicKeyResponse :: DeletePublicKeyResponse
-- | See: deletePublicKeyResponse smart constructor.
data DeletePublicKeyResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.DeletePublicKey.DeletePublicKeyResponse
instance Data.Data.Data Network.AWS.CloudFront.DeletePublicKey.DeletePublicKeyResponse
instance GHC.Show.Show Network.AWS.CloudFront.DeletePublicKey.DeletePublicKeyResponse
instance GHC.Read.Read Network.AWS.CloudFront.DeletePublicKey.DeletePublicKeyResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.DeletePublicKey.DeletePublicKeyResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.DeletePublicKey.DeletePublicKey
instance Data.Data.Data Network.AWS.CloudFront.DeletePublicKey.DeletePublicKey
instance GHC.Show.Show Network.AWS.CloudFront.DeletePublicKey.DeletePublicKey
instance GHC.Read.Read Network.AWS.CloudFront.DeletePublicKey.DeletePublicKey
instance GHC.Classes.Eq Network.AWS.CloudFront.DeletePublicKey.DeletePublicKey
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.DeletePublicKey.DeletePublicKey
instance Control.DeepSeq.NFData Network.AWS.CloudFront.DeletePublicKey.DeletePublicKeyResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.DeletePublicKey.DeletePublicKey
instance Control.DeepSeq.NFData Network.AWS.CloudFront.DeletePublicKey.DeletePublicKey
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.DeletePublicKey.DeletePublicKey
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.DeletePublicKey.DeletePublicKey
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.DeletePublicKey.DeletePublicKey
-- | Remove a field-level encryption profile.
module Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile
-- | Creates a value of DeleteFieldLevelEncryptionProfile with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - dflepIfMatch - The value of the ETag header that
-- you received when retrieving the profile to delete. For example:
-- E2QWRUHAPOMQZL .
-- - dflepId - Request the ID of the profile you want to delete
-- from CloudFront.
--
deleteFieldLevelEncryptionProfile :: Text -> DeleteFieldLevelEncryptionProfile
-- | See: deleteFieldLevelEncryptionProfile smart
-- constructor.
data DeleteFieldLevelEncryptionProfile
-- | The value of the ETag header that you received when
-- retrieving the profile to delete. For example: E2QWRUHAPOMQZL
-- .
dflepIfMatch :: Lens' DeleteFieldLevelEncryptionProfile (Maybe Text)
-- | Request the ID of the profile you want to delete from CloudFront.
dflepId :: Lens' DeleteFieldLevelEncryptionProfile Text
-- | Creates a value of DeleteFieldLevelEncryptionProfileResponse
-- with the minimum fields required to make a request.
deleteFieldLevelEncryptionProfileResponse :: DeleteFieldLevelEncryptionProfileResponse
-- | See: deleteFieldLevelEncryptionProfileResponse smart
-- constructor.
data DeleteFieldLevelEncryptionProfileResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile.DeleteFieldLevelEncryptionProfileResponse
instance Data.Data.Data Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile.DeleteFieldLevelEncryptionProfileResponse
instance GHC.Show.Show Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile.DeleteFieldLevelEncryptionProfileResponse
instance GHC.Read.Read Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile.DeleteFieldLevelEncryptionProfileResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile.DeleteFieldLevelEncryptionProfileResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile.DeleteFieldLevelEncryptionProfile
instance Data.Data.Data Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile.DeleteFieldLevelEncryptionProfile
instance GHC.Show.Show Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile.DeleteFieldLevelEncryptionProfile
instance GHC.Read.Read Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile.DeleteFieldLevelEncryptionProfile
instance GHC.Classes.Eq Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile.DeleteFieldLevelEncryptionProfile
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile.DeleteFieldLevelEncryptionProfile
instance Control.DeepSeq.NFData Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile.DeleteFieldLevelEncryptionProfileResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile.DeleteFieldLevelEncryptionProfile
instance Control.DeepSeq.NFData Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile.DeleteFieldLevelEncryptionProfile
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile.DeleteFieldLevelEncryptionProfile
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile.DeleteFieldLevelEncryptionProfile
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.DeleteFieldLevelEncryptionProfile.DeleteFieldLevelEncryptionProfile
-- | Remove a field-level encryption configuration.
module Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig
-- | Creates a value of DeleteFieldLevelEncryptionConfig with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - dflecIfMatch - The value of the ETag header that
-- you received when retrieving the configuration identity to delete. For
-- example: E2QWRUHAPOMQZL .
-- - dflecId - The ID of the configuration you want to delete
-- from CloudFront.
--
deleteFieldLevelEncryptionConfig :: Text -> DeleteFieldLevelEncryptionConfig
-- | See: deleteFieldLevelEncryptionConfig smart constructor.
data DeleteFieldLevelEncryptionConfig
-- | The value of the ETag header that you received when
-- retrieving the configuration identity to delete. For example:
-- E2QWRUHAPOMQZL .
dflecIfMatch :: Lens' DeleteFieldLevelEncryptionConfig (Maybe Text)
-- | The ID of the configuration you want to delete from CloudFront.
dflecId :: Lens' DeleteFieldLevelEncryptionConfig Text
-- | Creates a value of DeleteFieldLevelEncryptionConfigResponse
-- with the minimum fields required to make a request.
deleteFieldLevelEncryptionConfigResponse :: DeleteFieldLevelEncryptionConfigResponse
-- | See: deleteFieldLevelEncryptionConfigResponse smart
-- constructor.
data DeleteFieldLevelEncryptionConfigResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig.DeleteFieldLevelEncryptionConfigResponse
instance Data.Data.Data Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig.DeleteFieldLevelEncryptionConfigResponse
instance GHC.Show.Show Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig.DeleteFieldLevelEncryptionConfigResponse
instance GHC.Read.Read Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig.DeleteFieldLevelEncryptionConfigResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig.DeleteFieldLevelEncryptionConfigResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig.DeleteFieldLevelEncryptionConfig
instance Data.Data.Data Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig.DeleteFieldLevelEncryptionConfig
instance GHC.Show.Show Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig.DeleteFieldLevelEncryptionConfig
instance GHC.Read.Read Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig.DeleteFieldLevelEncryptionConfig
instance GHC.Classes.Eq Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig.DeleteFieldLevelEncryptionConfig
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig.DeleteFieldLevelEncryptionConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig.DeleteFieldLevelEncryptionConfigResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig.DeleteFieldLevelEncryptionConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig.DeleteFieldLevelEncryptionConfig
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig.DeleteFieldLevelEncryptionConfig
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig.DeleteFieldLevelEncryptionConfig
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.DeleteFieldLevelEncryptionConfig.DeleteFieldLevelEncryptionConfig
-- | Delete a distribution.
module Network.AWS.CloudFront.DeleteDistribution
-- | Creates a value of DeleteDistribution with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - ddIfMatch - The value of the ETag header that you
-- received when you disabled the distribution. For example:
-- E2QWRUHAPOMQZL .
-- - ddId - The distribution ID.
--
deleteDistribution :: Text -> DeleteDistribution
-- | This action deletes a web distribution. To delete a web distribution
-- using the CloudFront API, perform the following steps.
--
-- To delete a web distribution using the CloudFront API:
--
--
-- - Disable the web distribution
-- - Submit a GET Distribution Config request to get the
-- current configuration and the Etag header for the
-- distribution.
-- - Update the XML document that was returned in the response to your
-- GET Distribution Config request to change the value of
-- Enabled to false .
-- - Submit a PUT Distribution Config request to update the
-- configuration for your distribution. In the request body, include the
-- XML document that you updated in Step 3. Set the value of the HTTP
-- If-Match header to the value of the ETag header that
-- CloudFront returned when you submitted the GET Distribution
-- Config request in Step 2.
-- - Review the response to the PUT Distribution Config
-- request to confirm that the distribution was successfully
-- disabled.
-- - Submit a GET Distribution request to confirm that your
-- changes have propagated. When propagation is complete, the value of
-- Status is Deployed .
-- - Submit a DELETE Distribution request. Set the value of
-- the HTTP If-Match header to the value of the ETag
-- header that CloudFront returned when you submitted the GET
-- Distribution Config request in Step 6.
-- - Review the response to your DELETE Distribution request
-- to confirm that the distribution was successfully deleted.
--
--
-- For information about deleting a distribution using the CloudFront
-- console, see Deleting a Distribution in the Amazon
-- CloudFront Developer Guide .
--
-- See: deleteDistribution smart constructor.
data DeleteDistribution
-- | The value of the ETag header that you received when you
-- disabled the distribution. For example: E2QWRUHAPOMQZL .
ddIfMatch :: Lens' DeleteDistribution (Maybe Text)
-- | The distribution ID.
ddId :: Lens' DeleteDistribution Text
-- | Creates a value of DeleteDistributionResponse with the minimum
-- fields required to make a request.
deleteDistributionResponse :: DeleteDistributionResponse
-- | See: deleteDistributionResponse smart constructor.
data DeleteDistributionResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.DeleteDistribution.DeleteDistributionResponse
instance Data.Data.Data Network.AWS.CloudFront.DeleteDistribution.DeleteDistributionResponse
instance GHC.Show.Show Network.AWS.CloudFront.DeleteDistribution.DeleteDistributionResponse
instance GHC.Read.Read Network.AWS.CloudFront.DeleteDistribution.DeleteDistributionResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.DeleteDistribution.DeleteDistributionResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.DeleteDistribution.DeleteDistribution
instance Data.Data.Data Network.AWS.CloudFront.DeleteDistribution.DeleteDistribution
instance GHC.Show.Show Network.AWS.CloudFront.DeleteDistribution.DeleteDistribution
instance GHC.Read.Read Network.AWS.CloudFront.DeleteDistribution.DeleteDistribution
instance GHC.Classes.Eq Network.AWS.CloudFront.DeleteDistribution.DeleteDistribution
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.DeleteDistribution.DeleteDistribution
instance Control.DeepSeq.NFData Network.AWS.CloudFront.DeleteDistribution.DeleteDistributionResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.DeleteDistribution.DeleteDistribution
instance Control.DeepSeq.NFData Network.AWS.CloudFront.DeleteDistribution.DeleteDistribution
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.DeleteDistribution.DeleteDistribution
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.DeleteDistribution.DeleteDistribution
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.DeleteDistribution.DeleteDistribution
-- | Delete an origin access identity.
module Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity
-- | Creates a value of DeleteCloudFrontOriginAccessIdentity with
-- the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - dcfoaiIfMatch - The value of the ETag header you
-- received from a previous GET or PUT request. For
-- example: E2QWRUHAPOMQZL .
-- - dcfoaiId - The origin access identity's ID.
--
deleteCloudFrontOriginAccessIdentity :: Text -> DeleteCloudFrontOriginAccessIdentity
-- | Deletes a origin access identity.
--
-- See: deleteCloudFrontOriginAccessIdentity smart
-- constructor.
data DeleteCloudFrontOriginAccessIdentity
-- | The value of the ETag header you received from a previous
-- GET or PUT request. For example:
-- E2QWRUHAPOMQZL .
dcfoaiIfMatch :: Lens' DeleteCloudFrontOriginAccessIdentity (Maybe Text)
-- | The origin access identity's ID.
dcfoaiId :: Lens' DeleteCloudFrontOriginAccessIdentity Text
-- | Creates a value of DeleteCloudFrontOriginAccessIdentityResponse
-- with the minimum fields required to make a request.
deleteCloudFrontOriginAccessIdentityResponse :: DeleteCloudFrontOriginAccessIdentityResponse
-- | See: deleteCloudFrontOriginAccessIdentityResponse smart
-- constructor.
data DeleteCloudFrontOriginAccessIdentityResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity.DeleteCloudFrontOriginAccessIdentityResponse
instance Data.Data.Data Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity.DeleteCloudFrontOriginAccessIdentityResponse
instance GHC.Show.Show Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity.DeleteCloudFrontOriginAccessIdentityResponse
instance GHC.Read.Read Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity.DeleteCloudFrontOriginAccessIdentityResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity.DeleteCloudFrontOriginAccessIdentityResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity.DeleteCloudFrontOriginAccessIdentity
instance Data.Data.Data Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity.DeleteCloudFrontOriginAccessIdentity
instance GHC.Show.Show Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity.DeleteCloudFrontOriginAccessIdentity
instance GHC.Read.Read Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity.DeleteCloudFrontOriginAccessIdentity
instance GHC.Classes.Eq Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity.DeleteCloudFrontOriginAccessIdentity
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity.DeleteCloudFrontOriginAccessIdentity
instance Control.DeepSeq.NFData Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity.DeleteCloudFrontOriginAccessIdentityResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity.DeleteCloudFrontOriginAccessIdentity
instance Control.DeepSeq.NFData Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity.DeleteCloudFrontOriginAccessIdentity
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity.DeleteCloudFrontOriginAccessIdentity
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity.DeleteCloudFrontOriginAccessIdentity
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity.DeleteCloudFrontOriginAccessIdentity
-- | Create a new streaming distribution with tags.
module Network.AWS.CloudFront.CreateStreamingDistributionWithTags
-- | Creates a value of CreateStreamingDistributionWithTags with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
createStreamingDistributionWithTags :: StreamingDistributionConfigWithTags -> CreateStreamingDistributionWithTags
-- | The request to create a new streaming distribution with tags.
--
-- See: createStreamingDistributionWithTags smart
-- constructor.
data CreateStreamingDistributionWithTags
-- | The streaming distribution's configuration information.
csdwtStreamingDistributionConfigWithTags :: Lens' CreateStreamingDistributionWithTags StreamingDistributionConfigWithTags
-- | Creates a value of CreateStreamingDistributionWithTagsResponse
-- with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
createStreamingDistributionWithTagsResponse :: Int -> CreateStreamingDistributionWithTagsResponse
-- | The returned result of the corresponding request.
--
-- See: createStreamingDistributionWithTagsResponse smart
-- constructor.
data CreateStreamingDistributionWithTagsResponse
-- | Undocumented member.
csdwtrsETag :: Lens' CreateStreamingDistributionWithTagsResponse (Maybe Text)
-- | The fully qualified URI of the new streaming distribution resource
-- just created. For
-- example:https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8
-- .
csdwtrsLocation :: Lens' CreateStreamingDistributionWithTagsResponse (Maybe Text)
-- | The streaming distribution's information.
csdwtrsStreamingDistribution :: Lens' CreateStreamingDistributionWithTagsResponse (Maybe StreamingDistribution)
-- |
-- - - | The response status code.
--
csdwtrsResponseStatus :: Lens' CreateStreamingDistributionWithTagsResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTagsResponse
instance Data.Data.Data Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTagsResponse
instance GHC.Show.Show Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTagsResponse
instance GHC.Read.Read Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTagsResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTagsResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTags
instance Data.Data.Data Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTags
instance GHC.Show.Show Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTags
instance GHC.Read.Read Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTags
instance GHC.Classes.Eq Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTags
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTags
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTagsResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTags
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTags
instance Network.AWS.Data.XML.ToElement Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTags
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTags
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTags
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.CreateStreamingDistributionWithTags.CreateStreamingDistributionWithTags
-- | Creates a new RMTP distribution. An RTMP distribution is similar to a
-- web distribution, but an RTMP distribution streams media files using
-- the Adobe Real-Time Messaging Protocol (RTMP) instead of serving files
-- using HTTP.
--
-- To create a new web distribution, submit a POST request to
-- the CloudFront API version distribution resource. The
-- request body must include a document with a
-- StreamingDistributionConfig/ element. The response echoes the
-- StreamingDistributionConfig element and returns other
-- information about the RTMP distribution.
--
-- To get the status of your request, use the GET
-- StreamingDistribution API action. When the value of
-- Enabled is true and the value of Status is
-- Deployed , your distribution is ready. A distribution usually
-- deploys in less than 15 minutes.
--
-- For more information about web distributions, see Working with RTMP
-- Distributions in the Amazon CloudFront Developer Guide .
--
-- Important: Beginning with the 2012-05-05 version of the
-- CloudFront API, we made substantial changes to the format of the XML
-- document that you include in the request body when you create or
-- update a web distribution or an RTMP distribution, and when you
-- invalidate objects. With previous versions of the API, we discovered
-- that it was too easy to accidentally delete one or more values for an
-- element that accepts multiple values, for example, CNAMEs and trusted
-- signers. Our changes for the 2012-05-05 release are intended to
-- prevent these accidental deletions and to notify you when there's a
-- mismatch between the number of values you say you're specifying in the
-- Quantity element and the number of values specified.
module Network.AWS.CloudFront.CreateStreamingDistribution
-- | Creates a value of CreateStreamingDistribution with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
createStreamingDistribution :: StreamingDistributionConfig -> CreateStreamingDistribution
-- | The request to create a new streaming distribution.
--
-- See: createStreamingDistribution smart constructor.
data CreateStreamingDistribution
-- | The streaming distribution's configuration information.
csdStreamingDistributionConfig :: Lens' CreateStreamingDistribution StreamingDistributionConfig
-- | Creates a value of CreateStreamingDistributionResponse with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
createStreamingDistributionResponse :: Int -> CreateStreamingDistributionResponse
-- | The returned result of the corresponding request.
--
-- See: createStreamingDistributionResponse smart
-- constructor.
data CreateStreamingDistributionResponse
-- | The current version of the streaming distribution created.
csdrsETag :: Lens' CreateStreamingDistributionResponse (Maybe Text)
-- | The fully qualified URI of the new streaming distribution resource
-- just created. For example:
-- https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8
-- .
csdrsLocation :: Lens' CreateStreamingDistributionResponse (Maybe Text)
-- | The streaming distribution's information.
csdrsStreamingDistribution :: Lens' CreateStreamingDistributionResponse (Maybe StreamingDistribution)
-- |
-- - - | The response status code.
--
csdrsResponseStatus :: Lens' CreateStreamingDistributionResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistributionResponse
instance Data.Data.Data Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistributionResponse
instance GHC.Show.Show Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistributionResponse
instance GHC.Read.Read Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistributionResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistributionResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistribution
instance Data.Data.Data Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistribution
instance GHC.Show.Show Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistribution
instance GHC.Read.Read Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistribution
instance GHC.Classes.Eq Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistribution
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistribution
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistributionResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistribution
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistribution
instance Network.AWS.Data.XML.ToElement Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistribution
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistribution
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistribution
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.CreateStreamingDistribution.CreateStreamingDistribution
-- | Add a new public key to CloudFront to use, for example, for
-- field-level encryption. You can add a maximum of 10 public keys with
-- one AWS account.
module Network.AWS.CloudFront.CreatePublicKey
-- | Creates a value of CreatePublicKey with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
createPublicKey :: PublicKeyConfig -> CreatePublicKey
-- | See: createPublicKey smart constructor.
data CreatePublicKey
-- | The request to add a public key to CloudFront.
cpkPublicKeyConfig :: Lens' CreatePublicKey PublicKeyConfig
-- | Creates a value of CreatePublicKeyResponse with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
createPublicKeyResponse :: Int -> CreatePublicKeyResponse
-- | See: createPublicKeyResponse smart constructor.
data CreatePublicKeyResponse
-- | The current version of the public key. For example:
-- E2QWRUHAPOMQZL .
cpkrsETag :: Lens' CreatePublicKeyResponse (Maybe Text)
-- | The fully qualified URI of the new public key resource just created.
-- For example:
-- https://cloudfront.amazonaws.com/2010-11-01/cloudfront-public-key/EDFDVBD632BHDS5
-- .
cpkrsLocation :: Lens' CreatePublicKeyResponse (Maybe Text)
-- | Returned when you add a public key.
cpkrsPublicKey :: Lens' CreatePublicKeyResponse (Maybe PublicKey)
-- |
-- - - | The response status code.
--
cpkrsResponseStatus :: Lens' CreatePublicKeyResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.CreatePublicKey.CreatePublicKeyResponse
instance Data.Data.Data Network.AWS.CloudFront.CreatePublicKey.CreatePublicKeyResponse
instance GHC.Show.Show Network.AWS.CloudFront.CreatePublicKey.CreatePublicKeyResponse
instance GHC.Read.Read Network.AWS.CloudFront.CreatePublicKey.CreatePublicKeyResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.CreatePublicKey.CreatePublicKeyResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.CreatePublicKey.CreatePublicKey
instance Data.Data.Data Network.AWS.CloudFront.CreatePublicKey.CreatePublicKey
instance GHC.Show.Show Network.AWS.CloudFront.CreatePublicKey.CreatePublicKey
instance GHC.Read.Read Network.AWS.CloudFront.CreatePublicKey.CreatePublicKey
instance GHC.Classes.Eq Network.AWS.CloudFront.CreatePublicKey.CreatePublicKey
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.CreatePublicKey.CreatePublicKey
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreatePublicKey.CreatePublicKeyResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.CreatePublicKey.CreatePublicKey
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreatePublicKey.CreatePublicKey
instance Network.AWS.Data.XML.ToElement Network.AWS.CloudFront.CreatePublicKey.CreatePublicKey
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.CreatePublicKey.CreatePublicKey
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.CreatePublicKey.CreatePublicKey
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.CreatePublicKey.CreatePublicKey
-- | Create a new invalidation.
module Network.AWS.CloudFront.CreateInvalidation
-- | Creates a value of CreateInvalidation with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
createInvalidation :: Text -> InvalidationBatch -> CreateInvalidation
-- | The request to create an invalidation.
--
-- See: createInvalidation smart constructor.
data CreateInvalidation
-- | The distribution's id.
ciDistributionId :: Lens' CreateInvalidation Text
-- | The batch information for the invalidation.
ciInvalidationBatch :: Lens' CreateInvalidation InvalidationBatch
-- | Creates a value of CreateInvalidationResponse with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cirsInvalidation - The invalidation's information.
-- - cirsLocation - The fully qualified URI of the distribution
-- and invalidation batch request, including the Invalidation ID
-- .
-- - cirsResponseStatus - -- | The response status code.
--
createInvalidationResponse :: Int -> CreateInvalidationResponse
-- | The returned result of the corresponding request.
--
-- See: createInvalidationResponse smart constructor.
data CreateInvalidationResponse
-- | The invalidation's information.
cirsInvalidation :: Lens' CreateInvalidationResponse (Maybe Invalidation)
-- | The fully qualified URI of the distribution and invalidation batch
-- request, including the Invalidation ID .
cirsLocation :: Lens' CreateInvalidationResponse (Maybe Text)
-- |
-- - - | The response status code.
--
cirsResponseStatus :: Lens' CreateInvalidationResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.CreateInvalidation.CreateInvalidationResponse
instance Data.Data.Data Network.AWS.CloudFront.CreateInvalidation.CreateInvalidationResponse
instance GHC.Show.Show Network.AWS.CloudFront.CreateInvalidation.CreateInvalidationResponse
instance GHC.Read.Read Network.AWS.CloudFront.CreateInvalidation.CreateInvalidationResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.CreateInvalidation.CreateInvalidationResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.CreateInvalidation.CreateInvalidation
instance Data.Data.Data Network.AWS.CloudFront.CreateInvalidation.CreateInvalidation
instance GHC.Show.Show Network.AWS.CloudFront.CreateInvalidation.CreateInvalidation
instance GHC.Read.Read Network.AWS.CloudFront.CreateInvalidation.CreateInvalidation
instance GHC.Classes.Eq Network.AWS.CloudFront.CreateInvalidation.CreateInvalidation
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.CreateInvalidation.CreateInvalidation
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreateInvalidation.CreateInvalidationResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.CreateInvalidation.CreateInvalidation
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreateInvalidation.CreateInvalidation
instance Network.AWS.Data.XML.ToElement Network.AWS.CloudFront.CreateInvalidation.CreateInvalidation
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.CreateInvalidation.CreateInvalidation
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.CreateInvalidation.CreateInvalidation
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.CreateInvalidation.CreateInvalidation
-- | Create a field-level encryption profile.
module Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile
-- | Creates a value of CreateFieldLevelEncryptionProfile with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
createFieldLevelEncryptionProfile :: FieldLevelEncryptionProfileConfig -> CreateFieldLevelEncryptionProfile
-- | See: createFieldLevelEncryptionProfile smart
-- constructor.
data CreateFieldLevelEncryptionProfile
-- | The request to create a field-level encryption profile.
cflepFieldLevelEncryptionProfileConfig :: Lens' CreateFieldLevelEncryptionProfile FieldLevelEncryptionProfileConfig
-- | Creates a value of CreateFieldLevelEncryptionProfileResponse
-- with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
createFieldLevelEncryptionProfileResponse :: Int -> CreateFieldLevelEncryptionProfileResponse
-- | See: createFieldLevelEncryptionProfileResponse smart
-- constructor.
data CreateFieldLevelEncryptionProfileResponse
-- | The current version of the field level encryption profile. For
-- example: E2QWRUHAPOMQZL .
cfleprsETag :: Lens' CreateFieldLevelEncryptionProfileResponse (Maybe Text)
-- | The fully qualified URI of the new profile resource just created. For
-- example:
-- https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-profile/EDFDVBD632BHDS5
-- .
cfleprsLocation :: Lens' CreateFieldLevelEncryptionProfileResponse (Maybe Text)
-- | Returned when you create a new field-level encryption profile.
cfleprsFieldLevelEncryptionProfile :: Lens' CreateFieldLevelEncryptionProfileResponse (Maybe FieldLevelEncryptionProfile)
-- |
-- - - | The response status code.
--
cfleprsResponseStatus :: Lens' CreateFieldLevelEncryptionProfileResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfileResponse
instance Data.Data.Data Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfileResponse
instance GHC.Show.Show Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfileResponse
instance GHC.Read.Read Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfileResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfileResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfile
instance Data.Data.Data Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfile
instance GHC.Show.Show Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfile
instance GHC.Read.Read Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfile
instance GHC.Classes.Eq Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfile
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfile
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfileResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfile
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfile
instance Network.AWS.Data.XML.ToElement Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfile
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfile
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfile
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.CreateFieldLevelEncryptionProfile.CreateFieldLevelEncryptionProfile
-- | Create a new field-level encryption configuration.
module Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig
-- | Creates a value of CreateFieldLevelEncryptionConfig with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
createFieldLevelEncryptionConfig :: FieldLevelEncryptionConfig -> CreateFieldLevelEncryptionConfig
-- | See: createFieldLevelEncryptionConfig smart constructor.
data CreateFieldLevelEncryptionConfig
-- | The request to create a new field-level encryption configuration.
cflecFieldLevelEncryptionConfig :: Lens' CreateFieldLevelEncryptionConfig FieldLevelEncryptionConfig
-- | Creates a value of CreateFieldLevelEncryptionConfigResponse
-- with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
createFieldLevelEncryptionConfigResponse :: Int -> CreateFieldLevelEncryptionConfigResponse
-- | See: createFieldLevelEncryptionConfigResponse smart
-- constructor.
data CreateFieldLevelEncryptionConfigResponse
-- | The current version of the field level encryption configuration. For
-- example: E2QWRUHAPOMQZL .
cflecrsETag :: Lens' CreateFieldLevelEncryptionConfigResponse (Maybe Text)
-- | The fully qualified URI of the new configuration resource just
-- created. For example:
-- https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-config/EDFDVBD632BHDS5
-- .
cflecrsLocation :: Lens' CreateFieldLevelEncryptionConfigResponse (Maybe Text)
-- | Returned when you create a new field-level encryption configuration.
cflecrsFieldLevelEncryption :: Lens' CreateFieldLevelEncryptionConfigResponse (Maybe FieldLevelEncryption)
-- |
-- - - | The response status code.
--
cflecrsResponseStatus :: Lens' CreateFieldLevelEncryptionConfigResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfigResponse
instance Data.Data.Data Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfigResponse
instance GHC.Show.Show Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfigResponse
instance GHC.Read.Read Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfigResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfigResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfig
instance Data.Data.Data Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfig
instance GHC.Show.Show Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfig
instance GHC.Read.Read Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfig
instance GHC.Classes.Eq Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfig
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfigResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfig
instance Network.AWS.Data.XML.ToElement Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfig
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfig
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfig
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.CreateFieldLevelEncryptionConfig.CreateFieldLevelEncryptionConfig
-- | Create a new distribution with tags.
module Network.AWS.CloudFront.CreateDistributionWithTags
-- | Creates a value of CreateDistributionWithTags with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
createDistributionWithTags :: DistributionConfigWithTags -> CreateDistributionWithTags
-- | The request to create a new distribution with tags.
--
-- See: createDistributionWithTags smart constructor.
data CreateDistributionWithTags
-- | The distribution's configuration information.
cdwtDistributionConfigWithTags :: Lens' CreateDistributionWithTags DistributionConfigWithTags
-- | Creates a value of CreateDistributionWithTagsResponse with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
createDistributionWithTagsResponse :: Int -> CreateDistributionWithTagsResponse
-- | The returned result of the corresponding request.
--
-- See: createDistributionWithTagsResponse smart
-- constructor.
data CreateDistributionWithTagsResponse
-- | The current version of the distribution created.
cdwtrsETag :: Lens' CreateDistributionWithTagsResponse (Maybe Text)
-- | The distribution's information.
cdwtrsDistribution :: Lens' CreateDistributionWithTagsResponse (Maybe Distribution)
-- | The fully qualified URI of the new distribution resource just created.
-- For example:
-- https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5
-- .
cdwtrsLocation :: Lens' CreateDistributionWithTagsResponse (Maybe Text)
-- |
-- - - | The response status code.
--
cdwtrsResponseStatus :: Lens' CreateDistributionWithTagsResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTagsResponse
instance Data.Data.Data Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTagsResponse
instance GHC.Show.Show Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTagsResponse
instance GHC.Read.Read Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTagsResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTagsResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTags
instance Data.Data.Data Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTags
instance GHC.Show.Show Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTags
instance GHC.Read.Read Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTags
instance GHC.Classes.Eq Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTags
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTags
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTagsResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTags
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTags
instance Network.AWS.Data.XML.ToElement Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTags
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTags
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTags
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.CreateDistributionWithTags.CreateDistributionWithTags
-- | Creates a new web distribution. Send a POST request to the
-- /CloudFront API version /distribution
-- /distribution ID resource.
module Network.AWS.CloudFront.CreateDistribution
-- | Creates a value of CreateDistribution with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
createDistribution :: DistributionConfig -> CreateDistribution
-- | The request to create a new distribution.
--
-- See: createDistribution smart constructor.
data CreateDistribution
-- | The distribution's configuration information.
cdDistributionConfig :: Lens' CreateDistribution DistributionConfig
-- | Creates a value of CreateDistributionResponse with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
createDistributionResponse :: Int -> CreateDistributionResponse
-- | The returned result of the corresponding request.
--
-- See: createDistributionResponse smart constructor.
data CreateDistributionResponse
-- | The current version of the distribution created.
cdrsETag :: Lens' CreateDistributionResponse (Maybe Text)
-- | The distribution's information.
cdrsDistribution :: Lens' CreateDistributionResponse (Maybe Distribution)
-- | The fully qualified URI of the new distribution resource just created.
-- For example:
-- https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5
-- .
cdrsLocation :: Lens' CreateDistributionResponse (Maybe Text)
-- |
-- - - | The response status code.
--
cdrsResponseStatus :: Lens' CreateDistributionResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.CreateDistribution.CreateDistributionResponse
instance Data.Data.Data Network.AWS.CloudFront.CreateDistribution.CreateDistributionResponse
instance GHC.Show.Show Network.AWS.CloudFront.CreateDistribution.CreateDistributionResponse
instance GHC.Read.Read Network.AWS.CloudFront.CreateDistribution.CreateDistributionResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.CreateDistribution.CreateDistributionResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.CreateDistribution.CreateDistribution
instance Data.Data.Data Network.AWS.CloudFront.CreateDistribution.CreateDistribution
instance GHC.Show.Show Network.AWS.CloudFront.CreateDistribution.CreateDistribution
instance GHC.Read.Read Network.AWS.CloudFront.CreateDistribution.CreateDistribution
instance GHC.Classes.Eq Network.AWS.CloudFront.CreateDistribution.CreateDistribution
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.CreateDistribution.CreateDistribution
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreateDistribution.CreateDistributionResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.CreateDistribution.CreateDistribution
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreateDistribution.CreateDistribution
instance Network.AWS.Data.XML.ToElement Network.AWS.CloudFront.CreateDistribution.CreateDistribution
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.CreateDistribution.CreateDistribution
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.CreateDistribution.CreateDistribution
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.CreateDistribution.CreateDistribution
-- | Creates a new origin access identity. If you're using Amazon S3 for
-- your origin, you can use an origin access identity to require users to
-- access your content using a CloudFront URL instead of the Amazon S3
-- URL. For more information about how to use origin access identities,
-- see Serving Private Content through CloudFront in the Amazon
-- CloudFront Developer Guide .
module Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity
-- | Creates a value of CreateCloudFrontOriginAccessIdentity with
-- the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
createCloudFrontOriginAccessIdentity :: CloudFrontOriginAccessIdentityConfig -> CreateCloudFrontOriginAccessIdentity
-- | The request to create a new origin access identity.
--
-- See: createCloudFrontOriginAccessIdentity smart
-- constructor.
data CreateCloudFrontOriginAccessIdentity
-- | The current configuration information for the identity.
ccfoaiCloudFrontOriginAccessIdentityConfig :: Lens' CreateCloudFrontOriginAccessIdentity CloudFrontOriginAccessIdentityConfig
-- | Creates a value of CreateCloudFrontOriginAccessIdentityResponse
-- with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
createCloudFrontOriginAccessIdentityResponse :: Int -> CreateCloudFrontOriginAccessIdentityResponse
-- | The returned result of the corresponding request.
--
-- See: createCloudFrontOriginAccessIdentityResponse smart
-- constructor.
data CreateCloudFrontOriginAccessIdentityResponse
-- | The current version of the origin access identity created.
ccfoairsETag :: Lens' CreateCloudFrontOriginAccessIdentityResponse (Maybe Text)
-- | The fully qualified URI of the new origin access identity just
-- created. For example:
-- https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A
-- .
ccfoairsLocation :: Lens' CreateCloudFrontOriginAccessIdentityResponse (Maybe Text)
-- | The origin access identity's information.
ccfoairsCloudFrontOriginAccessIdentity :: Lens' CreateCloudFrontOriginAccessIdentityResponse (Maybe CloudFrontOriginAccessIdentity)
-- |
-- - - | The response status code.
--
ccfoairsResponseStatus :: Lens' CreateCloudFrontOriginAccessIdentityResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentityResponse
instance Data.Data.Data Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentityResponse
instance GHC.Show.Show Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentityResponse
instance GHC.Read.Read Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentityResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentityResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentity
instance Data.Data.Data Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentity
instance GHC.Show.Show Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentity
instance GHC.Read.Read Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentity
instance GHC.Classes.Eq Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentity
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentity
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentityResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentity
instance Control.DeepSeq.NFData Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentity
instance Network.AWS.Data.XML.ToElement Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentity
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentity
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentity
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity.CreateCloudFrontOriginAccessIdentity
-- | Remove tags from a CloudFront resource.
module Network.AWS.CloudFront.UntagResource
-- | Creates a value of UntagResource with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - urResource - An ARN of a CloudFront resource.
-- - urTagKeys - A complex type that contains zero or more
-- Tag key elements.
--
untagResource :: Text -> TagKeys -> UntagResource
-- | The request to remove tags from a CloudFront resource.
--
-- See: untagResource smart constructor.
data UntagResource
-- | An ARN of a CloudFront resource.
urResource :: Lens' UntagResource Text
-- | A complex type that contains zero or more Tag key elements.
urTagKeys :: Lens' UntagResource TagKeys
-- | Creates a value of UntagResourceResponse with the minimum
-- fields required to make a request.
untagResourceResponse :: UntagResourceResponse
-- | See: untagResourceResponse smart constructor.
data UntagResourceResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.UntagResource.UntagResourceResponse
instance Data.Data.Data Network.AWS.CloudFront.UntagResource.UntagResourceResponse
instance GHC.Show.Show Network.AWS.CloudFront.UntagResource.UntagResourceResponse
instance GHC.Read.Read Network.AWS.CloudFront.UntagResource.UntagResourceResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.UntagResource.UntagResourceResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.UntagResource.UntagResource
instance Data.Data.Data Network.AWS.CloudFront.UntagResource.UntagResource
instance GHC.Show.Show Network.AWS.CloudFront.UntagResource.UntagResource
instance GHC.Read.Read Network.AWS.CloudFront.UntagResource.UntagResource
instance GHC.Classes.Eq Network.AWS.CloudFront.UntagResource.UntagResource
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.UntagResource.UntagResource
instance Control.DeepSeq.NFData Network.AWS.CloudFront.UntagResource.UntagResourceResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.UntagResource.UntagResource
instance Control.DeepSeq.NFData Network.AWS.CloudFront.UntagResource.UntagResource
instance Network.AWS.Data.XML.ToElement Network.AWS.CloudFront.UntagResource.UntagResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.UntagResource.UntagResource
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.UntagResource.UntagResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.UntagResource.UntagResource
-- | Update an origin access identity.
module Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity
-- | Creates a value of UpdateCloudFrontOriginAccessIdentity with
-- the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
updateCloudFrontOriginAccessIdentity :: CloudFrontOriginAccessIdentityConfig -> Text -> UpdateCloudFrontOriginAccessIdentity
-- | The request to update an origin access identity.
--
-- See: updateCloudFrontOriginAccessIdentity smart
-- constructor.
data UpdateCloudFrontOriginAccessIdentity
-- | The value of the ETag header that you received when
-- retrieving the identity's configuration. For example:
-- E2QWRUHAPOMQZL .
ucfoaiIfMatch :: Lens' UpdateCloudFrontOriginAccessIdentity (Maybe Text)
-- | The identity's configuration information.
ucfoaiCloudFrontOriginAccessIdentityConfig :: Lens' UpdateCloudFrontOriginAccessIdentity CloudFrontOriginAccessIdentityConfig
-- | The identity's id.
ucfoaiId :: Lens' UpdateCloudFrontOriginAccessIdentity Text
-- | Creates a value of UpdateCloudFrontOriginAccessIdentityResponse
-- with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
updateCloudFrontOriginAccessIdentityResponse :: Int -> UpdateCloudFrontOriginAccessIdentityResponse
-- | The returned result of the corresponding request.
--
-- See: updateCloudFrontOriginAccessIdentityResponse smart
-- constructor.
data UpdateCloudFrontOriginAccessIdentityResponse
-- | The current version of the configuration. For example:
-- E2QWRUHAPOMQZL .
ucfoairsETag :: Lens' UpdateCloudFrontOriginAccessIdentityResponse (Maybe Text)
-- | The origin access identity's information.
ucfoairsCloudFrontOriginAccessIdentity :: Lens' UpdateCloudFrontOriginAccessIdentityResponse (Maybe CloudFrontOriginAccessIdentity)
-- |
-- - - | The response status code.
--
ucfoairsResponseStatus :: Lens' UpdateCloudFrontOriginAccessIdentityResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentityResponse
instance Data.Data.Data Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentityResponse
instance GHC.Show.Show Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentityResponse
instance GHC.Read.Read Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentityResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentityResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentity
instance Data.Data.Data Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentity
instance GHC.Show.Show Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentity
instance GHC.Read.Read Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentity
instance GHC.Classes.Eq Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentity
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentity
instance Control.DeepSeq.NFData Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentityResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentity
instance Control.DeepSeq.NFData Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentity
instance Network.AWS.Data.XML.ToElement Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentity
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentity
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentity
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity.UpdateCloudFrontOriginAccessIdentity
-- | Updates the configuration for a web distribution. Perform the
-- following steps.
--
-- For information about updating a distribution using the CloudFront
-- console, see Creating or Updating a Web Distribution Using the
-- CloudFront Console in the Amazon CloudFront Developer Guide
-- .
--
-- To update a web distribution using the CloudFront API
--
--
-- - Submit a GetDistributionConfig request to get the current
-- configuration and an Etag header for the distribution.
-- - Update the XML document that was returned in the response to your
-- GetDistributionConfig request to include the desired changes.
-- You can't change the value of CallerReference . If you try to
-- change this value, CloudFront returns an IllegalUpdate
-- error.
--
--
-- Important: The new configuration replaces the existing
-- configuration; the values that you specify in an
-- UpdateDistribution request are not merged into the existing
-- configuration. When you add, delete, or replace values in an element
-- that allows multiple values (for example, CNAME ), you must
-- specify all of the values that you want to appear in the updated
-- distribution. In addition, you must update the corresponding
-- Quantity element.
--
--
-- - Submit an UpdateDistribution request to update the
-- configuration for your distribution:
-- - In the request body, include the XML document that you updated in
-- Step 2. The request body must include an XML document with a
-- DistributionConfig element.
-- - Set the value of the HTTP If-Match header to the value of
-- the ETag header that CloudFront returned when you submitted
-- the GetDistributionConfig request in Step 1.
-- - Review the response to the UpdateDistribution request to
-- confirm that the configuration was successfully updated.
-- - Optional: Submit a GetDistribution request to confirm
-- that your changes have propagated. When propagation is complete, the
-- value of Status is Deployed .
--
--
-- Important: Beginning with the 2012-05-05 version of the
-- CloudFront API, we made substantial changes to the format of the XML
-- document that you include in the request body when you create or
-- update a distribution. With previous versions of the API, we
-- discovered that it was too easy to accidentally delete one or more
-- values for an element that accepts multiple values, for example,
-- CNAMEs and trusted signers. Our changes for the 2012-05-05 release are
-- intended to prevent these accidental deletions and to notify you when
-- there's a mismatch between the number of values you say you're
-- specifying in the Quantity element and the number of values
-- you're actually specifying.
module Network.AWS.CloudFront.UpdateDistribution
-- | Creates a value of UpdateDistribution with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - udIfMatch - The value of the ETag header that you
-- received when retrieving the distribution's configuration. For
-- example: E2QWRUHAPOMQZL .
-- - udDistributionConfig - The distribution's configuration
-- information.
-- - udId - The distribution's id.
--
updateDistribution :: DistributionConfig -> Text -> UpdateDistribution
-- | The request to update a distribution.
--
-- See: updateDistribution smart constructor.
data UpdateDistribution
-- | The value of the ETag header that you received when
-- retrieving the distribution's configuration. For example:
-- E2QWRUHAPOMQZL .
udIfMatch :: Lens' UpdateDistribution (Maybe Text)
-- | The distribution's configuration information.
udDistributionConfig :: Lens' UpdateDistribution DistributionConfig
-- | The distribution's id.
udId :: Lens' UpdateDistribution Text
-- | Creates a value of UpdateDistributionResponse with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
updateDistributionResponse :: Int -> UpdateDistributionResponse
-- | The returned result of the corresponding request.
--
-- See: updateDistributionResponse smart constructor.
data UpdateDistributionResponse
-- | The current version of the configuration. For example:
-- E2QWRUHAPOMQZL .
udrsETag :: Lens' UpdateDistributionResponse (Maybe Text)
-- | The distribution's information.
udrsDistribution :: Lens' UpdateDistributionResponse (Maybe Distribution)
-- |
-- - - | The response status code.
--
udrsResponseStatus :: Lens' UpdateDistributionResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.UpdateDistribution.UpdateDistributionResponse
instance Data.Data.Data Network.AWS.CloudFront.UpdateDistribution.UpdateDistributionResponse
instance GHC.Show.Show Network.AWS.CloudFront.UpdateDistribution.UpdateDistributionResponse
instance GHC.Read.Read Network.AWS.CloudFront.UpdateDistribution.UpdateDistributionResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.UpdateDistribution.UpdateDistributionResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.UpdateDistribution.UpdateDistribution
instance Data.Data.Data Network.AWS.CloudFront.UpdateDistribution.UpdateDistribution
instance GHC.Show.Show Network.AWS.CloudFront.UpdateDistribution.UpdateDistribution
instance GHC.Read.Read Network.AWS.CloudFront.UpdateDistribution.UpdateDistribution
instance GHC.Classes.Eq Network.AWS.CloudFront.UpdateDistribution.UpdateDistribution
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.UpdateDistribution.UpdateDistribution
instance Control.DeepSeq.NFData Network.AWS.CloudFront.UpdateDistribution.UpdateDistributionResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.UpdateDistribution.UpdateDistribution
instance Control.DeepSeq.NFData Network.AWS.CloudFront.UpdateDistribution.UpdateDistribution
instance Network.AWS.Data.XML.ToElement Network.AWS.CloudFront.UpdateDistribution.UpdateDistribution
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.UpdateDistribution.UpdateDistribution
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.UpdateDistribution.UpdateDistribution
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.UpdateDistribution.UpdateDistribution
-- | Update a field-level encryption configuration.
module Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig
-- | Creates a value of UpdateFieldLevelEncryptionConfig with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - uflecIfMatch - The value of the ETag header that
-- you received when retrieving the configuration identity to update. For
-- example: E2QWRUHAPOMQZL .
-- - uflecFieldLevelEncryptionConfig - Request to update a
-- field-level encryption configuration.
-- - uflecId - The ID of the configuration you want to
-- update.
--
updateFieldLevelEncryptionConfig :: FieldLevelEncryptionConfig -> Text -> UpdateFieldLevelEncryptionConfig
-- | See: updateFieldLevelEncryptionConfig smart constructor.
data UpdateFieldLevelEncryptionConfig
-- | The value of the ETag header that you received when
-- retrieving the configuration identity to update. For example:
-- E2QWRUHAPOMQZL .
uflecIfMatch :: Lens' UpdateFieldLevelEncryptionConfig (Maybe Text)
-- | Request to update a field-level encryption configuration.
uflecFieldLevelEncryptionConfig :: Lens' UpdateFieldLevelEncryptionConfig FieldLevelEncryptionConfig
-- | The ID of the configuration you want to update.
uflecId :: Lens' UpdateFieldLevelEncryptionConfig Text
-- | Creates a value of UpdateFieldLevelEncryptionConfigResponse
-- with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
updateFieldLevelEncryptionConfigResponse :: Int -> UpdateFieldLevelEncryptionConfigResponse
-- | See: updateFieldLevelEncryptionConfigResponse smart
-- constructor.
data UpdateFieldLevelEncryptionConfigResponse
-- | The value of the ETag header that you received when updating
-- the configuration. For example: E2QWRUHAPOMQZL .
uflecrsETag :: Lens' UpdateFieldLevelEncryptionConfigResponse (Maybe Text)
-- | Return the results of updating the configuration.
uflecrsFieldLevelEncryption :: Lens' UpdateFieldLevelEncryptionConfigResponse (Maybe FieldLevelEncryption)
-- |
-- - - | The response status code.
--
uflecrsResponseStatus :: Lens' UpdateFieldLevelEncryptionConfigResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfigResponse
instance Data.Data.Data Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfigResponse
instance GHC.Show.Show Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfigResponse
instance GHC.Read.Read Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfigResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfigResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfig
instance Data.Data.Data Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfig
instance GHC.Show.Show Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfig
instance GHC.Read.Read Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfig
instance GHC.Classes.Eq Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfig
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfigResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfig
instance Control.DeepSeq.NFData Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfig
instance Network.AWS.Data.XML.ToElement Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfig
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfig
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfig
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.UpdateFieldLevelEncryptionConfig.UpdateFieldLevelEncryptionConfig
-- | Update a field-level encryption profile.
module Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile
-- | Creates a value of UpdateFieldLevelEncryptionProfile with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - uflepIfMatch - The value of the ETag header that
-- you received when retrieving the profile identity to update. For
-- example: E2QWRUHAPOMQZL .
-- - uflepFieldLevelEncryptionProfileConfig - Request to update
-- a field-level encryption profile.
-- - uflepId - The ID of the field-level encryption profile
-- request.
--
updateFieldLevelEncryptionProfile :: FieldLevelEncryptionProfileConfig -> Text -> UpdateFieldLevelEncryptionProfile
-- | See: updateFieldLevelEncryptionProfile smart
-- constructor.
data UpdateFieldLevelEncryptionProfile
-- | The value of the ETag header that you received when
-- retrieving the profile identity to update. For example:
-- E2QWRUHAPOMQZL .
uflepIfMatch :: Lens' UpdateFieldLevelEncryptionProfile (Maybe Text)
-- | Request to update a field-level encryption profile.
uflepFieldLevelEncryptionProfileConfig :: Lens' UpdateFieldLevelEncryptionProfile FieldLevelEncryptionProfileConfig
-- | The ID of the field-level encryption profile request.
uflepId :: Lens' UpdateFieldLevelEncryptionProfile Text
-- | Creates a value of UpdateFieldLevelEncryptionProfileResponse
-- with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
updateFieldLevelEncryptionProfileResponse :: Int -> UpdateFieldLevelEncryptionProfileResponse
-- | See: updateFieldLevelEncryptionProfileResponse smart
-- constructor.
data UpdateFieldLevelEncryptionProfileResponse
-- | The result of the field-level encryption profile request.
ufleprsETag :: Lens' UpdateFieldLevelEncryptionProfileResponse (Maybe Text)
-- | Return the results of updating the profile.
ufleprsFieldLevelEncryptionProfile :: Lens' UpdateFieldLevelEncryptionProfileResponse (Maybe FieldLevelEncryptionProfile)
-- |
-- - - | The response status code.
--
ufleprsResponseStatus :: Lens' UpdateFieldLevelEncryptionProfileResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfileResponse
instance Data.Data.Data Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfileResponse
instance GHC.Show.Show Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfileResponse
instance GHC.Read.Read Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfileResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfileResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfile
instance Data.Data.Data Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfile
instance GHC.Show.Show Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfile
instance GHC.Read.Read Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfile
instance GHC.Classes.Eq Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfile
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfile
instance Control.DeepSeq.NFData Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfileResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfile
instance Control.DeepSeq.NFData Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfile
instance Network.AWS.Data.XML.ToElement Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfile
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfile
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfile
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.UpdateFieldLevelEncryptionProfile.UpdateFieldLevelEncryptionProfile
-- | Update public key information. Note that the only value you can change
-- is the comment.
module Network.AWS.CloudFront.UpdatePublicKey
-- | Creates a value of UpdatePublicKey with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - upkIfMatch - The value of the ETag header that you
-- received when retrieving the public key to update. For example:
-- E2QWRUHAPOMQZL .
-- - upkPublicKeyConfig - Request to update public key
-- information.
-- - upkId - ID of the public key to be updated.
--
updatePublicKey :: PublicKeyConfig -> Text -> UpdatePublicKey
-- | See: updatePublicKey smart constructor.
data UpdatePublicKey
-- | The value of the ETag header that you received when
-- retrieving the public key to update. For example:
-- E2QWRUHAPOMQZL .
upkIfMatch :: Lens' UpdatePublicKey (Maybe Text)
-- | Request to update public key information.
upkPublicKeyConfig :: Lens' UpdatePublicKey PublicKeyConfig
-- | ID of the public key to be updated.
upkId :: Lens' UpdatePublicKey Text
-- | Creates a value of UpdatePublicKeyResponse with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - upkrsETag - The current version of the update public key
-- result. For example: E2QWRUHAPOMQZL .
-- - upkrsPublicKey - Return the results of updating the public
-- key.
-- - upkrsResponseStatus - -- | The response status code.
--
updatePublicKeyResponse :: Int -> UpdatePublicKeyResponse
-- | See: updatePublicKeyResponse smart constructor.
data UpdatePublicKeyResponse
-- | The current version of the update public key result. For example:
-- E2QWRUHAPOMQZL .
upkrsETag :: Lens' UpdatePublicKeyResponse (Maybe Text)
-- | Return the results of updating the public key.
upkrsPublicKey :: Lens' UpdatePublicKeyResponse (Maybe PublicKey)
-- |
-- - - | The response status code.
--
upkrsResponseStatus :: Lens' UpdatePublicKeyResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKeyResponse
instance Data.Data.Data Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKeyResponse
instance GHC.Show.Show Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKeyResponse
instance GHC.Read.Read Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKeyResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKeyResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKey
instance Data.Data.Data Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKey
instance GHC.Show.Show Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKey
instance GHC.Read.Read Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKey
instance GHC.Classes.Eq Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKey
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKey
instance Control.DeepSeq.NFData Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKeyResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKey
instance Control.DeepSeq.NFData Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKey
instance Network.AWS.Data.XML.ToElement Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKey
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKey
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKey
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.UpdatePublicKey.UpdatePublicKey
-- | Update a streaming distribution.
module Network.AWS.CloudFront.UpdateStreamingDistribution
-- | Creates a value of UpdateStreamingDistribution with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - usdIfMatch - The value of the ETag header that you
-- received when retrieving the streaming distribution's configuration.
-- For example: E2QWRUHAPOMQZL .
-- - usdStreamingDistributionConfig - The streaming
-- distribution's configuration information.
-- - usdId - The streaming distribution's id.
--
updateStreamingDistribution :: StreamingDistributionConfig -> Text -> UpdateStreamingDistribution
-- | The request to update a streaming distribution.
--
-- See: updateStreamingDistribution smart constructor.
data UpdateStreamingDistribution
-- | The value of the ETag header that you received when
-- retrieving the streaming distribution's configuration. For example:
-- E2QWRUHAPOMQZL .
usdIfMatch :: Lens' UpdateStreamingDistribution (Maybe Text)
-- | The streaming distribution's configuration information.
usdStreamingDistributionConfig :: Lens' UpdateStreamingDistribution StreamingDistributionConfig
-- | The streaming distribution's id.
usdId :: Lens' UpdateStreamingDistribution Text
-- | Creates a value of UpdateStreamingDistributionResponse with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
updateStreamingDistributionResponse :: Int -> UpdateStreamingDistributionResponse
-- | The returned result of the corresponding request.
--
-- See: updateStreamingDistributionResponse smart
-- constructor.
data UpdateStreamingDistributionResponse
-- | The current version of the configuration. For example:
-- E2QWRUHAPOMQZL .
usdrsETag :: Lens' UpdateStreamingDistributionResponse (Maybe Text)
-- | The streaming distribution's information.
usdrsStreamingDistribution :: Lens' UpdateStreamingDistributionResponse (Maybe StreamingDistribution)
-- |
-- - - | The response status code.
--
usdrsResponseStatus :: Lens' UpdateStreamingDistributionResponse Int
instance GHC.Generics.Generic Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistributionResponse
instance Data.Data.Data Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistributionResponse
instance GHC.Show.Show Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistributionResponse
instance GHC.Read.Read Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistributionResponse
instance GHC.Classes.Eq Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistributionResponse
instance GHC.Generics.Generic Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistribution
instance Data.Data.Data Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistribution
instance GHC.Show.Show Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistribution
instance GHC.Read.Read Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistribution
instance GHC.Classes.Eq Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistribution
instance Network.AWS.Types.AWSRequest Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistribution
instance Control.DeepSeq.NFData Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistributionResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistribution
instance Control.DeepSeq.NFData Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistribution
instance Network.AWS.Data.XML.ToElement Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistribution
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistribution
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistribution
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFront.UpdateStreamingDistribution.UpdateStreamingDistribution
module Network.AWS.CloudFront.Waiters
-- | Polls GetStreamingDistribution every 60 seconds until a
-- successful state is reached. An error is returned after 25 failed
-- checks.
streamingDistributionDeployed :: Wait GetStreamingDistribution
-- | Polls GetDistribution every 60 seconds until a successful state
-- is reached. An error is returned after 25 failed checks.
distributionDeployed :: Wait GetDistribution
-- | Polls GetInvalidation every 20 seconds until a successful state
-- is reached. An error is returned after 30 failed checks.
invalidationCompleted :: Wait GetInvalidation
-- | Amazon CloudFront is a web service that speeds up distribution of your
-- static and dynamic web content, for example, .html, .css, .php, image,
-- and media files, to end users. CloudFront delivers your content
-- through a worldwide network of edge locations. When an end user
-- requests content that you're serving with CloudFront, the user is
-- routed to the edge location that provides the lowest latency, so
-- content is delivered with the best possible performance. If the
-- content is already in that edge location, CloudFront delivers it
-- immediately. If the content is not currently in that edge location,
-- CloudFront retrieves it from an Amazon S3 bucket or an HTTP server
-- (for example, a web server) that you have identified as the source for
-- the definitive version of your content.
module Network.AWS.CloudFront
-- | API version 2017-10-30 of the Amazon CloudFront SDK
-- configuration.
cloudFront :: Service
-- | Prism for TooManyOriginCustomHeaders' errors.
_TooManyOriginCustomHeaders :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidTagging' errors.
_InvalidTagging :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidErrorCode' errors.
_InvalidErrorCode :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified profile for field-level encryption doesn't exist.
_NoSuchFieldLevelEncryptionProfile :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified profile for field-level encryption is in use.
_FieldLevelEncryptionProfileInUse :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidOriginReadTimeout' errors.
_InvalidOriginReadTimeout :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum number of profiles for field-level encryption have been
-- created.
_TooManyFieldLevelEncryptionProfiles :: AsError a => Getting (First ServiceError) a ServiceError
-- | You cannot create more cache behaviors for the distribution.
_TooManyCacheBehaviors :: AsError a => Getting (First ServiceError) a ServiceError
-- | Processing your request would cause you to exceed the maximum number
-- of origin access identities allowed.
_TooManyCloudFrontOriginAccessIdentities :: AsError a => Getting (First ServiceError) a ServiceError
-- | The origin access identity is not valid or doesn't exist.
_InvalidOriginAccessIdentity :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for DistributionNotDisabled' errors.
_DistributionNotDisabled :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified streaming distribution does not exist.
_NoSuchStreamingDistribution :: AsError a => Getting (First ServiceError) a ServiceError
-- | The value of Quantity and the size of Items don't
-- match.
_InconsistentQuantities :: AsError a => Getting (First ServiceError) a ServiceError
-- | The argument is invalid.
_InvalidArgument :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidOriginKeepaliveTimeout' errors.
_InvalidOriginKeepaliveTimeout :: AsError a => Getting (First ServiceError) a ServiceError
-- | You have exceeded the maximum number of allowable InProgress
-- invalidation batch requests, or invalidation objects.
_TooManyInvalidationsInProgress :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidWebACLId' errors.
_InvalidWebACLId :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for TooManyQueryStringParameters' errors.
_TooManyQueryStringParameters :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum number of query arg profiles for field-level encryption
-- have been created.
_TooManyFieldLevelEncryptionQueryArgProfiles :: AsError a => Getting (First ServiceError) a ServiceError
-- | Your request contains more CNAMEs than are allowed per distribution.
_TooManyDistributionCNAMEs :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified origin access identity does not exist.
_NoSuchCloudFrontOriginAccessIdentity :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for CloudFrontOriginAccessIdentityInUse' errors.
_CloudFrontOriginAccessIdentityInUse :: AsError a => Getting (First ServiceError) a ServiceError
-- | Processing your request would cause you to exceed the maximum number
-- of streaming distributions allowed.
_TooManyStreamingDistributions :: AsError a => Getting (First ServiceError) a ServiceError
-- | You can't change the value of a public key.
_CannotChangeImmutablePublicKeyFields :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for BatchTooLarge' errors.
_BatchTooLarge :: AsError a => Getting (First ServiceError) a ServiceError
-- | Your request contains more cookie names in the whitelist than are
-- allowed per cache behavior.
_TooManyCookieNamesInWhiteList :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified Lambda function association is invalid.
_InvalidLambdaFunctionAssociation :: AsError a => Getting (First ServiceError) a ServiceError
-- | Your request contains forward cookies option which doesn't match with
-- the expectation for the whitelisted list of cookie names.
-- Either list of cookie names has been specified when not allowed or
-- list of cookie names is missing when expected.
_InvalidForwardCookies :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified configuration for field-level encryption is in use.
_FieldLevelEncryptionConfigInUse :: AsError a => Getting (First ServiceError) a ServiceError
-- | Your request contains more trusted signers than are allowed per
-- distribution.
_TooManyTrustedSigners :: AsError a => Getting (First ServiceError) a ServiceError
-- | The Amazon S3 origin server specified does not refer to a valid Amazon
-- S3 bucket.
_InvalidOrigin :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified invalidation does not exist.
_NoSuchInvalidation :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified public key already exists.
_PublicKeyAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
-- | No origin exists with the specified Origin Id .
_NoSuchOrigin :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidTTLOrder' errors.
_InvalidTTLOrder :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for StreamingDistributionNotDisabled' errors.
_StreamingDistributionNotDisabled :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for TooManyHeadersInForwardedValues' errors.
_TooManyHeadersInForwardedValues :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for NoSuchResource' errors.
_NoSuchResource :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum number of encryption entities for field-level encryption
-- have been created.
_TooManyFieldLevelEncryptionEncryptionEntities :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for TooManyStreamingDistributionCNAMEs' errors.
_TooManyStreamingDistributionCNAMEs :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified profile for field-level encryption already exists.
_FieldLevelEncryptionProfileAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for ResourceInUse' errors.
_ResourceInUse :: AsError a => Getting (First ServiceError) a ServiceError
-- | This operation requires the HTTPS protocol. Ensure that you specify
-- the HTTPS protocol in your request, or omit the
-- RequiredProtocols element from your distribution
-- configuration.
_InvalidRequiredProtocol :: AsError a => Getting (First ServiceError) a ServiceError
-- | Processing your request would cause you to exceed the maximum number
-- of distributions allowed.
_TooManyDistributions :: AsError a => Getting (First ServiceError) a ServiceError
-- | You cannot create anymore custom SSL/TLS certificates.
_TooManyCertificates :: AsError a => Getting (First ServiceError) a ServiceError
-- | The caller reference you attempted to create the distribution with is
-- associated with another distribution.
_DistributionAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum number of distributions have been associated with the
-- specified configuration for field-level encryption.
_TooManyDistributionsAssociatedToFieldLevelEncryptionConfig :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidQueryStringParameters' errors.
_InvalidQueryStringParameters :: AsError a => Getting (First ServiceError) a ServiceError
-- | This operation requires a body. Ensure that the body is present and
-- the Content-Type header is set.
_MissingBody :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified configuration for field-level encryption can't be
-- associated with the specified cache behavior.
_IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior :: AsError a => Getting (First ServiceError) a ServiceError
-- | Origin and CallerReference cannot be updated.
_IllegalUpdate :: AsError a => Getting (First ServiceError) a ServiceError
-- | The If-Match version is missing or not valid for the
-- distribution.
_InvalidIfMatchVersion :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified configuration for field-level encryption already exists.
_FieldLevelEncryptionConfigAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
-- | The precondition given in one or more of the request-header fields
-- evaluated to false .
_PreconditionFailed :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidResponseCode' errors.
_InvalidResponseCode :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidHeadersForS3Origin' errors.
_InvalidHeadersForS3Origin :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for CNAMEAlreadyExists' errors.
_CNAMEAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified public key doesn't exist.
_NoSuchPublicKey :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified public key is in use.
_PublicKeyInUse :: AsError a => Getting (First ServiceError) a ServiceError
-- | One or more of your trusted signers don't exist.
_TrustedSignerDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError
-- | You cannot specify SSLv3 as the minimum protocol version if you only
-- want to support only clients that support Server Name Indication
-- (SNI).
_InvalidProtocolSettings :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum number of public keys for field-level encryption have been
-- created. To create a new public key, delete one of the existing keys.
_TooManyPublicKeys :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified configuration for field-level encryption doesn't exist.
_NoSuchFieldLevelEncryptionConfig :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum number of content type profiles for field-level encryption
-- have been created.
_TooManyFieldLevelEncryptionContentTypeProfiles :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum number of field patterns for field-level encryption have
-- been created.
_TooManyFieldLevelEncryptionFieldPatterns :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum number of configurations for field-level encryption have
-- been created.
_TooManyFieldLevelEncryptionConfigs :: AsError a => Getting (First ServiceError) a ServiceError
-- | Your request contains more Lambda function associations than are
-- allowed per distribution.
_TooManyLambdaFunctionAssociations :: AsError a => Getting (First ServiceError) a ServiceError
-- | If the CallerReference is a value you already sent in a
-- previous request to create an identity but the content of the
-- CloudFrontOriginAccessIdentityConfig is different from the
-- original request, CloudFront returns a
-- CloudFrontOriginAccessIdentityAlreadyExists error.
_CloudFrontOriginAccessIdentityAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
-- | You cannot create more origins for the distribution.
_TooManyOrigins :: AsError a => Getting (First ServiceError) a ServiceError
-- | The relative path is too big, is not URL-encoded, or does not begin
-- with a slash (/).
_InvalidRelativePath :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for StreamingDistributionAlreadyExists' errors.
_StreamingDistributionAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
-- | No profile specified for the field-level encryption query argument.
_QueryArgProfileEmpty :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidMinimumProtocolVersion' errors.
_InvalidMinimumProtocolVersion :: AsError a => Getting (First ServiceError) a ServiceError
-- | Access denied.
_AccessDenied :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidViewerCertificate' errors.
_InvalidViewerCertificate :: AsError a => Getting (First ServiceError) a ServiceError
-- | The specified distribution does not exist.
_NoSuchDistribution :: AsError a => Getting (First ServiceError) a ServiceError
-- | The maximum size of a profile for field-level encryption was exceeded.
_FieldLevelEncryptionProfileSizeExceeded :: AsError a => Getting (First ServiceError) a ServiceError
-- | The default root object file name is too big or contains an invalid
-- character.
_InvalidDefaultRootObject :: AsError a => Getting (First ServiceError) a ServiceError
-- | Processing your request would cause the maximum number of
-- distributions with Lambda function associations per owner to be
-- exceeded.
_TooManyDistributionsWithLambdaAssociations :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidGeoRestrictionParameter' errors.
_InvalidGeoRestrictionParameter :: AsError a => Getting (First ServiceError) a ServiceError
-- | Prism for InvalidLocationCode' errors.
_InvalidLocationCode :: AsError a => Getting (First ServiceError) a ServiceError
-- | Polls GetStreamingDistribution every 60 seconds until a
-- successful state is reached. An error is returned after 25 failed
-- checks.
streamingDistributionDeployed :: Wait GetStreamingDistribution
-- | Polls GetDistribution every 60 seconds until a successful state
-- is reached. An error is returned after 25 failed checks.
distributionDeployed :: Wait GetDistribution
-- | Polls GetInvalidation every 20 seconds until a successful state
-- is reached. An error is returned after 30 failed checks.
invalidationCompleted :: Wait GetInvalidation
data CertificateSource
Acm :: CertificateSource
Cloudfront :: CertificateSource
IAM :: CertificateSource
data EventType
OriginRequest :: EventType
OriginResponse :: EventType
ViewerRequest :: EventType
ViewerResponse :: EventType
data Format
URLEncoded :: Format
data GeoRestrictionType
Blacklist :: GeoRestrictionType
None :: GeoRestrictionType
Whitelist :: GeoRestrictionType
data HTTPVersion
HTTP1_1 :: HTTPVersion
HTTP2 :: HTTPVersion
data ItemSelection
ISAll :: ItemSelection
ISNone :: ItemSelection
ISWhitelist :: ItemSelection
data Method
Delete :: Method
Get :: Method
Head :: Method
Options :: Method
Patch :: Method
Post :: Method
Put :: Method
data MinimumProtocolVersion
MPVSSLV3 :: MinimumProtocolVersion
MPVTLSV1 :: MinimumProtocolVersion
MPVTLSV12016 :: MinimumProtocolVersion
MPVTLSV1_12016 :: MinimumProtocolVersion
MPVTLSV1_22018 :: MinimumProtocolVersion
data OriginProtocolPolicy
HTTPOnly :: OriginProtocolPolicy
HTTPSOnly :: OriginProtocolPolicy
MatchViewer :: OriginProtocolPolicy
data PriceClass
PriceClass100 :: PriceClass
PriceClass200 :: PriceClass
PriceClassAll :: PriceClass
data SSLProtocol
SSLV3 :: SSLProtocol
TLSV1 :: SSLProtocol
TLSV1_1 :: SSLProtocol
TLSV1_2 :: SSLProtocol
data SSLSupportMethod
SNIOnly :: SSLSupportMethod
VIP :: SSLSupportMethod
data ViewerProtocolPolicy
VPPAllowAll :: ViewerProtocolPolicy
VPPHTTPSOnly :: ViewerProtocolPolicy
VPPRedirectToHTTPS :: ViewerProtocolPolicy
-- | A complex type that lists the AWS accounts, if any, that you included
-- in the TrustedSigners complex type for this distribution.
-- These are the accounts that you want to allow to create signed URLs
-- for private content.
--
-- The Signer complex type lists the AWS account number of the
-- trusted signer or self if the signer is the AWS account that
-- created the distribution. The Signer element also includes
-- the IDs of any active CloudFront key pairs that are associated with
-- the trusted signer's AWS account. If no KeyPairId element
-- appears for a Signer , that signer can't create signed URLs.
--
-- For more information, see Serving Private Content through
-- CloudFront in the Amazon CloudFront Developer Guide .
--
-- See: activeTrustedSigners smart constructor.
data ActiveTrustedSigners
-- | Creates a value of ActiveTrustedSigners with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - atsItems - A complex type that contains one Signer
-- complex type for each trusted signer that is specified in the
-- TrustedSigners complex type. For more information, see
-- ActiveTrustedSigners .
-- - atsEnabled - Enabled is true if any of the AWS
-- accounts listed in the TrustedSigners complex type for this
-- RTMP distribution have active CloudFront key pairs. If not,
-- Enabled is false . For more information, see
-- ActiveTrustedSigners .
-- - atsQuantity - A complex type that contains one
-- Signer complex type for each trusted signer specified in the
-- TrustedSigners complex type. For more information, see
-- ActiveTrustedSigners .
--
activeTrustedSigners :: Bool -> Int -> ActiveTrustedSigners
-- | A complex type that contains one Signer complex type for each
-- trusted signer that is specified in the TrustedSigners
-- complex type. For more information, see ActiveTrustedSigners .
atsItems :: Lens' ActiveTrustedSigners [Signer]
-- | Enabled is true if any of the AWS accounts listed in the
-- TrustedSigners complex type for this RTMP distribution have
-- active CloudFront key pairs. If not, Enabled is
-- false . For more information, see ActiveTrustedSigners
-- .
atsEnabled :: Lens' ActiveTrustedSigners Bool
-- | A complex type that contains one Signer complex type for each
-- trusted signer specified in the TrustedSigners complex type.
-- For more information, see ActiveTrustedSigners .
atsQuantity :: Lens' ActiveTrustedSigners Int
-- | A complex type that contains information about CNAMEs (alternate
-- domain names), if any, for this distribution.
--
-- See: aliases smart constructor.
data Aliases
-- | Creates a value of Aliases with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - aItems - A complex type that contains the CNAME aliases, if
-- any, that you want to associate with this distribution.
-- - aQuantity - The number of CNAME aliases, if any, that you
-- want to associate with this distribution.
--
aliases :: Int -> Aliases
-- | A complex type that contains the CNAME aliases, if any, that you want
-- to associate with this distribution.
aItems :: Lens' Aliases [Text]
-- | The number of CNAME aliases, if any, that you want to associate with
-- this distribution.
aQuantity :: Lens' Aliases Int
-- | A complex type that controls which HTTP methods CloudFront processes
-- and forwards to your Amazon S3 bucket or your custom origin. There are
-- three choices:
--
--
-- - CloudFront forwards only GET and HEAD
-- requests.
-- - CloudFront forwards only GET , HEAD , and
-- OPTIONS requests.
-- - CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST
-- , and DELETE requests.
--
--
-- If you pick the third choice, you may need to restrict access to your
-- Amazon S3 bucket or to your custom origin so users can't perform
-- operations that you don't want them to. For example, you might not
-- want users to have permissions to delete objects from your origin.
--
-- See: allowedMethods smart constructor.
data AllowedMethods
-- | Creates a value of AllowedMethods with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - amCachedMethods - Undocumented member.
-- - amQuantity - The number of HTTP methods that you want
-- CloudFront to forward to your origin. Valid values are 2 (for
-- GET and HEAD requests), 3 (for GET ,
-- HEAD , and OPTIONS requests) and 7 (for GET,
-- HEAD, OPTIONS, PUT, PATCH, POST , and DELETE
-- requests).
-- - amItems - A complex type that contains the HTTP methods
-- that you want CloudFront to process and forward to your origin.
--
allowedMethods :: Int -> AllowedMethods
-- | Undocumented member.
amCachedMethods :: Lens' AllowedMethods (Maybe CachedMethods)
-- | The number of HTTP methods that you want CloudFront to forward to your
-- origin. Valid values are 2 (for GET and HEAD
-- requests), 3 (for GET , HEAD , and OPTIONS
-- requests) and 7 (for GET, HEAD, OPTIONS, PUT, PATCH, POST ,
-- and DELETE requests).
amQuantity :: Lens' AllowedMethods Int
-- | A complex type that contains the HTTP methods that you want CloudFront
-- to process and forward to your origin.
amItems :: Lens' AllowedMethods [Method]
-- | A complex type that describes how CloudFront processes requests.
--
-- You must create at least as many cache behaviors (including the
-- default cache behavior) as you have origins if you want CloudFront to
-- distribute objects from all of the origins. Each cache behavior
-- specifies the one origin from which you want CloudFront to get
-- objects. If you have two origins and only the default cache behavior,
-- the default cache behavior will cause CloudFront to get objects from
-- one of the origins, but the other origin is never used.
--
-- For the current limit on the number of cache behaviors that you can
-- add to a distribution, see Amazon CloudFront Limits in the
-- AWS General Reference .
--
-- If you don't want to specify any cache behaviors, include only an
-- empty CacheBehaviors element. Don't include an empty
-- CacheBehavior element, or CloudFront returns a
-- MalformedXML error.
--
-- To delete all cache behaviors in an existing distribution, update the
-- distribution configuration and include only an empty
-- CacheBehaviors element.
--
-- To add, change, or remove one or more cache behaviors, update the
-- distribution configuration and specify all of the cache behaviors that
-- you want to include in the updated distribution.
--
-- For more information about cache behaviors, see Cache Behaviors
-- in the Amazon CloudFront Developer Guide .
--
-- See: cacheBehavior smart constructor.
data CacheBehavior
-- | Creates a value of CacheBehavior with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cbAllowedMethods - Undocumented member.
-- - cbLambdaFunctionAssociations - A complex type that contains
-- zero or more Lambda function associations for a cache behavior.
-- - cbMaxTTL - The maximum amount of time that you want objects
-- to stay in CloudFront caches before CloudFront forwards another
-- request to your origin to determine whether the object has been
-- updated. The value that you specify applies only when your origin adds
-- HTTP headers such as Cache-Control max-age ,
-- Cache-Control s-maxage , and Expires to objects. For
-- more information, see Specifying How Long Objects and Errors Stay
-- in a CloudFront Edge Cache (Expiration) in the Amazon
-- CloudFront Developer Guide .
-- - cbCompress - Whether you want CloudFront to automatically
-- compress certain files for this cache behavior. If so, specify true;
-- if not, specify false. For more information, see Serving Compressed
-- Files in the Amazon CloudFront Developer Guide .
-- - cbSmoothStreaming - Indicates whether you want to
-- distribute media files in the Microsoft Smooth Streaming format using
-- the origin that is associated with this cache behavior. If so, specify
-- true ; if not, specify false . If you specify
-- true for SmoothStreaming , you can still distribute
-- other content using this cache behavior if the content matches the
-- value of PathPattern .
-- - cbDefaultTTL - The default amount of time that you want
-- objects to stay in CloudFront caches before CloudFront forwards
-- another request to your origin to determine whether the object has
-- been updated. The value that you specify applies only when your origin
-- does not add HTTP headers such as Cache-Control max-age ,
-- Cache-Control s-maxage , and Expires to objects. For
-- more information, see Specifying How Long Objects and Errors Stay
-- in a CloudFront Edge Cache (Expiration) in the Amazon
-- CloudFront Developer Guide .
-- - cbFieldLevelEncryptionId - Undocumented member.
-- - cbPathPattern - The pattern (for example,
-- images/*.jpg ) that specifies which requests to apply the
-- behavior to. When CloudFront receives a viewer request, the requested
-- path is compared with path patterns in the order in which cache
-- behaviors are listed in the distribution. The path pattern for the
-- default cache behavior is * and cannot be changed. If the
-- request for an object does not match the path pattern for any cache
-- behaviors, CloudFront applies the behavior in the default cache
-- behavior. For more information, see Path Pattern in the
-- Amazon CloudFront Developer Guide .
-- - cbTargetOriginId - The value of ID for the origin
-- that you want CloudFront to route requests to when a request matches
-- the path pattern either for a cache behavior or for the default cache
-- behavior.
-- - cbForwardedValues - A complex type that specifies how
-- CloudFront handles query strings and cookies.
-- - cbTrustedSigners - A complex type that specifies the AWS
-- accounts, if any, that you want to allow to create signed URLs for
-- private content. If you want to require signed URLs in requests for
-- objects in the target origin that match the PathPattern for
-- this cache behavior, specify true for Enabled , and
-- specify the applicable values for Quantity and Items
-- . For more information, see Serving Private Content through
-- CloudFront in the Amazon Amazon CloudFront Developer Guide
-- . If you don't want to require signed URLs in requests for objects
-- that match PathPattern , specify false for
-- Enabled and 0 for Quantity . Omit
-- Items . To add, change, or remove one or more trusted
-- signers, change Enabled to true (if it's currently
-- false ), change Quantity as applicable, and specify
-- all of the trusted signers that you want to include in the updated
-- distribution.
-- - cbViewerProtocolPolicy - The protocol that viewers can use
-- to access the files in the origin specified by TargetOriginId
-- when a request matches the path pattern in PathPattern . You
-- can specify the following options: * allow-all : Viewers can
-- use HTTP or HTTPS. * redirect-to-https : If a viewer submits
-- an HTTP request, CloudFront returns an HTTP status code of 301 (Moved
-- Permanently) to the viewer along with the HTTPS URL. The viewer then
-- resubmits the request using the new URL. * https-only : If a
-- viewer sends an HTTP request, CloudFront returns an HTTP status code
-- of 403 (Forbidden). For more information about requiring the HTTPS
-- protocol, see Using an HTTPS Connection to Access Your Objects
-- in the Amazon CloudFront Developer Guide .
-- - cbMinTTL - The minimum amount of time that you want objects
-- to stay in CloudFront caches before CloudFront forwards another
-- request to your origin to determine whether the object has been
-- updated. For more information, see Specifying How Long Objects and
-- Errors Stay in a CloudFront Edge Cache (Expiration) in the
-- Amazon Amazon CloudFront Developer Guide . You must specify
-- 0 for MinTTL if you configure CloudFront to forward
-- all headers to your origin (under Headers , if you specify
-- 1 for Quantity and * for Name
-- ).
--
cacheBehavior :: Text -> Text -> ForwardedValues -> TrustedSigners -> ViewerProtocolPolicy -> Integer -> CacheBehavior
-- | Undocumented member.
cbAllowedMethods :: Lens' CacheBehavior (Maybe AllowedMethods)
-- | A complex type that contains zero or more Lambda function associations
-- for a cache behavior.
cbLambdaFunctionAssociations :: Lens' CacheBehavior (Maybe LambdaFunctionAssociations)
-- | The maximum amount of time that you want objects to stay in CloudFront
-- caches before CloudFront forwards another request to your origin to
-- determine whether the object has been updated. The value that you
-- specify applies only when your origin adds HTTP headers such as
-- Cache-Control max-age , Cache-Control s-maxage , and
-- Expires to objects. For more information, see Specifying
-- How Long Objects and Errors Stay in a CloudFront Edge Cache
-- (Expiration) in the Amazon CloudFront Developer Guide .
cbMaxTTL :: Lens' CacheBehavior (Maybe Integer)
-- | Whether you want CloudFront to automatically compress certain files
-- for this cache behavior. If so, specify true; if not, specify false.
-- For more information, see Serving Compressed Files in the
-- Amazon CloudFront Developer Guide .
cbCompress :: Lens' CacheBehavior (Maybe Bool)
-- | Indicates whether you want to distribute media files in the Microsoft
-- Smooth Streaming format using the origin that is associated with this
-- cache behavior. If so, specify true ; if not, specify
-- false . If you specify true for
-- SmoothStreaming , you can still distribute other content
-- using this cache behavior if the content matches the value of
-- PathPattern .
cbSmoothStreaming :: Lens' CacheBehavior (Maybe Bool)
-- | The default amount of time that you want objects to stay in CloudFront
-- caches before CloudFront forwards another request to your origin to
-- determine whether the object has been updated. The value that you
-- specify applies only when your origin does not add HTTP headers such
-- as Cache-Control max-age , Cache-Control s-maxage ,
-- and Expires to objects. For more information, see
-- Specifying How Long Objects and Errors Stay in a CloudFront Edge
-- Cache (Expiration) in the Amazon CloudFront Developer Guide
-- .
cbDefaultTTL :: Lens' CacheBehavior (Maybe Integer)
-- | Undocumented member.
cbFieldLevelEncryptionId :: Lens' CacheBehavior (Maybe Text)
-- | The pattern (for example, images/*.jpg ) that specifies which
-- requests to apply the behavior to. When CloudFront receives a viewer
-- request, the requested path is compared with path patterns in the
-- order in which cache behaviors are listed in the distribution. The
-- path pattern for the default cache behavior is * and cannot
-- be changed. If the request for an object does not match the path
-- pattern for any cache behaviors, CloudFront applies the behavior in
-- the default cache behavior. For more information, see Path
-- Pattern in the Amazon CloudFront Developer Guide .
cbPathPattern :: Lens' CacheBehavior Text
-- | The value of ID for the origin that you want CloudFront to
-- route requests to when a request matches the path pattern either for a
-- cache behavior or for the default cache behavior.
cbTargetOriginId :: Lens' CacheBehavior Text
-- | A complex type that specifies how CloudFront handles query strings and
-- cookies.
cbForwardedValues :: Lens' CacheBehavior ForwardedValues
-- | A complex type that specifies the AWS accounts, if any, that you want
-- to allow to create signed URLs for private content. If you want to
-- require signed URLs in requests for objects in the target origin that
-- match the PathPattern for this cache behavior, specify
-- true for Enabled , and specify the applicable values
-- for Quantity and Items . For more information, see
-- Serving Private Content through CloudFront in the Amazon
-- Amazon CloudFront Developer Guide . If you don't want to require
-- signed URLs in requests for objects that match PathPattern ,
-- specify false for Enabled and 0 for
-- Quantity . Omit Items . To add, change, or remove
-- one or more trusted signers, change Enabled to true
-- (if it's currently false ), change Quantity as
-- applicable, and specify all of the trusted signers that you want to
-- include in the updated distribution.
cbTrustedSigners :: Lens' CacheBehavior TrustedSigners
-- | The protocol that viewers can use to access the files in the origin
-- specified by TargetOriginId when a request matches the path
-- pattern in PathPattern . You can specify the following
-- options: * allow-all : Viewers can use HTTP or HTTPS. *
-- redirect-to-https : If a viewer submits an HTTP request,
-- CloudFront returns an HTTP status code of 301 (Moved Permanently) to
-- the viewer along with the HTTPS URL. The viewer then resubmits the
-- request using the new URL. * https-only : If a viewer sends
-- an HTTP request, CloudFront returns an HTTP status code of 403
-- (Forbidden). For more information about requiring the HTTPS protocol,
-- see Using an HTTPS Connection to Access Your Objects in the
-- Amazon CloudFront Developer Guide .
cbViewerProtocolPolicy :: Lens' CacheBehavior ViewerProtocolPolicy
-- | The minimum amount of time that you want objects to stay in CloudFront
-- caches before CloudFront forwards another request to your origin to
-- determine whether the object has been updated. For more information,
-- see Specifying How Long Objects and Errors Stay in a CloudFront
-- Edge Cache (Expiration) in the Amazon Amazon CloudFront
-- Developer Guide . You must specify 0 for MinTTL
-- if you configure CloudFront to forward all headers to your origin
-- (under Headers , if you specify 1 for
-- Quantity and * for Name ).
cbMinTTL :: Lens' CacheBehavior Integer
-- | A complex type that contains zero or more CacheBehavior
-- elements.
--
-- See: cacheBehaviors smart constructor.
data CacheBehaviors
-- | Creates a value of CacheBehaviors with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cbItems - Optional: A complex type that contains cache
-- behaviors for this distribution. If Quantity is 0 ,
-- you can omit Items .
-- - cbQuantity - The number of cache behaviors for this
-- distribution.
--
cacheBehaviors :: Int -> CacheBehaviors
-- | Optional: A complex type that contains cache behaviors for this
-- distribution. If Quantity is 0 , you can omit
-- Items .
cbItems :: Lens' CacheBehaviors [CacheBehavior]
-- | The number of cache behaviors for this distribution.
cbQuantity :: Lens' CacheBehaviors Int
-- | A complex type that controls whether CloudFront caches the response to
-- requests using the specified HTTP methods. There are two choices:
--
--
-- - CloudFront caches responses to GET and HEAD
-- requests.
-- - CloudFront caches responses to GET , HEAD , and
-- OPTIONS requests.
--
--
-- If you pick the second choice for your Amazon S3 Origin, you may need
-- to forward Access-Control-Request-Method,
-- Access-Control-Request-Headers, and Origin headers for the responses
-- to be cached correctly.
--
-- See: cachedMethods smart constructor.
data CachedMethods
-- | Creates a value of CachedMethods with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cmQuantity - The number of HTTP methods for which you want
-- CloudFront to cache responses. Valid values are 2 (for
-- caching responses to GET and HEAD requests) and
-- 3 (for caching responses to GET , HEAD ,
-- and OPTIONS requests).
-- - cmItems - A complex type that contains the HTTP methods
-- that you want CloudFront to cache responses to.
--
cachedMethods :: Int -> CachedMethods
-- | The number of HTTP methods for which you want CloudFront to cache
-- responses. Valid values are 2 (for caching responses to
-- GET and HEAD requests) and 3 (for caching
-- responses to GET , HEAD , and OPTIONS
-- requests).
cmQuantity :: Lens' CachedMethods Int
-- | A complex type that contains the HTTP methods that you want CloudFront
-- to cache responses to.
cmItems :: Lens' CachedMethods [Method]
-- | CloudFront origin access identity.
--
-- See: cloudFrontOriginAccessIdentity smart constructor.
data CloudFrontOriginAccessIdentity
-- | Creates a value of CloudFrontOriginAccessIdentity with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cfoaiCloudFrontOriginAccessIdentityConfig - The current
-- configuration information for the identity.
-- - cfoaiId - The ID for the origin access identity, for
-- example, E74FTE3AJFJ256A .
-- - cfoaiS3CanonicalUserId - The Amazon S3 canonical user ID
-- for the origin access identity, used when giving the origin access
-- identity read permission to an object in Amazon S3.
--
cloudFrontOriginAccessIdentity :: Text -> Text -> CloudFrontOriginAccessIdentity
-- | The current configuration information for the identity.
cfoaiCloudFrontOriginAccessIdentityConfig :: Lens' CloudFrontOriginAccessIdentity (Maybe CloudFrontOriginAccessIdentityConfig)
-- | The ID for the origin access identity, for example,
-- E74FTE3AJFJ256A .
cfoaiId :: Lens' CloudFrontOriginAccessIdentity Text
-- | The Amazon S3 canonical user ID for the origin access identity, used
-- when giving the origin access identity read permission to an object in
-- Amazon S3.
cfoaiS3CanonicalUserId :: Lens' CloudFrontOriginAccessIdentity Text
-- | Origin access identity configuration. Send a GET request to
-- the /CloudFront API version CloudFrontidentity
-- ID/config resource.
--
-- See: cloudFrontOriginAccessIdentityConfig smart
-- constructor.
data CloudFrontOriginAccessIdentityConfig
-- | Creates a value of CloudFrontOriginAccessIdentityConfig with
-- the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cfoaicCallerReference - A unique number that ensures the
-- request can't be replayed. If the CallerReference is new (no
-- matter the content of the
-- CloudFrontOriginAccessIdentityConfig object), a new origin
-- access identity is created. If the CallerReference is a value
-- already sent in a previous identity request, and the content of the
-- CloudFrontOriginAccessIdentityConfig is identical to the
-- original request (ignoring white space), the response includes the
-- same information returned to the original request. If the
-- CallerReference is a value you already sent in a previous
-- request to create an identity, but the content of the
-- CloudFrontOriginAccessIdentityConfig is different from the
-- original request, CloudFront returns a
-- CloudFrontOriginAccessIdentityAlreadyExists error.
-- - cfoaicComment - Any comments you want to include about the
-- origin access identity.
--
cloudFrontOriginAccessIdentityConfig :: Text -> Text -> CloudFrontOriginAccessIdentityConfig
-- | A unique number that ensures the request can't be replayed. If the
-- CallerReference is new (no matter the content of the
-- CloudFrontOriginAccessIdentityConfig object), a new origin
-- access identity is created. If the CallerReference is a value
-- already sent in a previous identity request, and the content of the
-- CloudFrontOriginAccessIdentityConfig is identical to the
-- original request (ignoring white space), the response includes the
-- same information returned to the original request. If the
-- CallerReference is a value you already sent in a previous
-- request to create an identity, but the content of the
-- CloudFrontOriginAccessIdentityConfig is different from the
-- original request, CloudFront returns a
-- CloudFrontOriginAccessIdentityAlreadyExists error.
cfoaicCallerReference :: Lens' CloudFrontOriginAccessIdentityConfig Text
-- | Any comments you want to include about the origin access identity.
cfoaicComment :: Lens' CloudFrontOriginAccessIdentityConfig Text
-- | Lists the origin access identities for CloudFront.Send a GET
-- request to the /CloudFront API version
-- origin-access-identitycloudfront resource. The response
-- includes a CloudFrontOriginAccessIdentityList element with
-- zero or more CloudFrontOriginAccessIdentitySummary child
-- elements. By default, your entire list of origin access identities is
-- returned in one single page. If the list is long, you can paginate it
-- using the MaxItems and Marker parameters.
--
-- See: cloudFrontOriginAccessIdentityList smart
-- constructor.
data CloudFrontOriginAccessIdentityList
-- | Creates a value of CloudFrontOriginAccessIdentityList with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cfoailItems - A complex type that contains one
-- CloudFrontOriginAccessIdentitySummary element for each origin
-- access identity that was created by the current AWS account.
-- - cfoailNextMarker - If IsTruncated is true
-- , this element is present and contains the value you can use for the
-- Marker request parameter to continue listing your origin
-- access identities where they left off.
-- - cfoailMarker - Use this when paginating results to indicate
-- where to begin in your list of origin access identities. The results
-- include identities in the list that occur after the marker. To get the
-- next page of results, set the Marker to the value of the
-- NextMarker from the current page's response (which is also
-- the ID of the last identity on that page).
-- - cfoailMaxItems - The maximum number of origin access
-- identities you want in the response body.
-- - cfoailIsTruncated - A flag that indicates whether more
-- origin access identities remain to be listed. If your results were
-- truncated, you can make a follow-up pagination request using the
-- Marker request parameter to retrieve more items in the
-- list.
-- - cfoailQuantity - The number of CloudFront origin access
-- identities that were created by the current AWS account.
--
cloudFrontOriginAccessIdentityList :: Text -> Int -> Bool -> Int -> CloudFrontOriginAccessIdentityList
-- | A complex type that contains one
-- CloudFrontOriginAccessIdentitySummary element for each origin
-- access identity that was created by the current AWS account.
cfoailItems :: Lens' CloudFrontOriginAccessIdentityList [CloudFrontOriginAccessIdentitySummary]
-- | If IsTruncated is true , this element is present and
-- contains the value you can use for the Marker request
-- parameter to continue listing your origin access identities where they
-- left off.
cfoailNextMarker :: Lens' CloudFrontOriginAccessIdentityList (Maybe Text)
-- | Use this when paginating results to indicate where to begin in your
-- list of origin access identities. The results include identities in
-- the list that occur after the marker. To get the next page of results,
-- set the Marker to the value of the NextMarker from
-- the current page's response (which is also the ID of the last identity
-- on that page).
cfoailMarker :: Lens' CloudFrontOriginAccessIdentityList Text
-- | The maximum number of origin access identities you want in the
-- response body.
cfoailMaxItems :: Lens' CloudFrontOriginAccessIdentityList Int
-- | A flag that indicates whether more origin access identities remain to
-- be listed. If your results were truncated, you can make a follow-up
-- pagination request using the Marker request parameter to
-- retrieve more items in the list.
cfoailIsTruncated :: Lens' CloudFrontOriginAccessIdentityList Bool
-- | The number of CloudFront origin access identities that were created by
-- the current AWS account.
cfoailQuantity :: Lens' CloudFrontOriginAccessIdentityList Int
-- | Summary of the information about a CloudFront origin access identity.
--
-- See: cloudFrontOriginAccessIdentitySummary smart
-- constructor.
data CloudFrontOriginAccessIdentitySummary
-- | Creates a value of CloudFrontOriginAccessIdentitySummary with
-- the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cfoaisId - The ID for the origin access identity. For
-- example: E74FTE3AJFJ256A .
-- - cfoaisS3CanonicalUserId - The Amazon S3 canonical user ID
-- for the origin access identity, which you use when giving the origin
-- access identity read permission to an object in Amazon S3.
-- - cfoaisComment - The comment for this origin access
-- identity, as originally specified when created.
--
cloudFrontOriginAccessIdentitySummary :: Text -> Text -> Text -> CloudFrontOriginAccessIdentitySummary
-- | The ID for the origin access identity. For example:
-- E74FTE3AJFJ256A .
cfoaisId :: Lens' CloudFrontOriginAccessIdentitySummary Text
-- | The Amazon S3 canonical user ID for the origin access identity, which
-- you use when giving the origin access identity read permission to an
-- object in Amazon S3.
cfoaisS3CanonicalUserId :: Lens' CloudFrontOriginAccessIdentitySummary Text
-- | The comment for this origin access identity, as originally specified
-- when created.
cfoaisComment :: Lens' CloudFrontOriginAccessIdentitySummary Text
-- | A field-level encryption content type profile.
--
-- See: contentTypeProfile smart constructor.
data ContentTypeProfile
-- | Creates a value of ContentTypeProfile with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - ctpProfileId - The profile ID for a field-level encryption
-- content type-profile mapping.
-- - ctpFormat - The format for a field-level encryption content
-- type-profile mapping.
-- - ctpContentType - The content type for a field-level
-- encryption content type-profile mapping.
--
contentTypeProfile :: Format -> Text -> ContentTypeProfile
-- | The profile ID for a field-level encryption content type-profile
-- mapping.
ctpProfileId :: Lens' ContentTypeProfile (Maybe Text)
-- | The format for a field-level encryption content type-profile mapping.
ctpFormat :: Lens' ContentTypeProfile Format
-- | The content type for a field-level encryption content type-profile
-- mapping.
ctpContentType :: Lens' ContentTypeProfile Text
-- | The configuration for a field-level encryption content type-profile
-- mapping.
--
-- See: contentTypeProfileConfig smart constructor.
data ContentTypeProfileConfig
-- | Creates a value of ContentTypeProfileConfig with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - ctpcContentTypeProfiles - The configuration for a
-- field-level encryption content type-profile.
-- - ctpcForwardWhenContentTypeIsUnknown - The setting in a
-- field-level encryption content type-profile mapping that specifies
-- what to do when an unknown content type is provided for the profile.
-- If true, content is forwarded without being encrypted when the content
-- type is unknown. If false (the default), an error is returned when the
-- content type is unknown.
--
contentTypeProfileConfig :: Bool -> ContentTypeProfileConfig
-- | The configuration for a field-level encryption content type-profile.
ctpcContentTypeProfiles :: Lens' ContentTypeProfileConfig (Maybe ContentTypeProfiles)
-- | The setting in a field-level encryption content type-profile mapping
-- that specifies what to do when an unknown content type is provided for
-- the profile. If true, content is forwarded without being encrypted
-- when the content type is unknown. If false (the default), an error is
-- returned when the content type is unknown.
ctpcForwardWhenContentTypeIsUnknown :: Lens' ContentTypeProfileConfig Bool
-- | Field-level encryption content type-profile.
--
-- See: contentTypeProfiles smart constructor.
data ContentTypeProfiles
-- | Creates a value of ContentTypeProfiles with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - ctpItems - Items in a field-level encryption content
-- type-profile mapping.
-- - ctpQuantity - The number of field-level encryption content
-- type-profile mappings.
--
contentTypeProfiles :: Int -> ContentTypeProfiles
-- | Items in a field-level encryption content type-profile mapping.
ctpItems :: Lens' ContentTypeProfiles [ContentTypeProfile]
-- | The number of field-level encryption content type-profile mappings.
ctpQuantity :: Lens' ContentTypeProfiles Int
-- | A complex type that specifies whether you want CloudFront to forward
-- cookies to the origin and, if so, which ones. For more information
-- about forwarding cookies to the origin, see How CloudFront
-- Forwards, Caches, and Logs Cookies in the Amazon CloudFront
-- Developer Guide .
--
-- See: cookieNames smart constructor.
data CookieNames
-- | Creates a value of CookieNames with the minimum fields required
-- to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cnItems - A complex type that contains one Name
-- element for each cookie that you want CloudFront to forward to the
-- origin for this cache behavior.
-- - cnQuantity - The number of different cookies that you want
-- CloudFront to forward to the origin for this cache behavior.
--
cookieNames :: Int -> CookieNames
-- | A complex type that contains one Name element for each cookie
-- that you want CloudFront to forward to the origin for this cache
-- behavior.
cnItems :: Lens' CookieNames [Text]
-- | The number of different cookies that you want CloudFront to forward to
-- the origin for this cache behavior.
cnQuantity :: Lens' CookieNames Int
-- | A complex type that specifies whether you want CloudFront to forward
-- cookies to the origin and, if so, which ones. For more information
-- about forwarding cookies to the origin, see How CloudFront
-- Forwards, Caches, and Logs Cookies in the Amazon CloudFront
-- Developer Guide .
--
-- See: cookiePreference smart constructor.
data CookiePreference
-- | Creates a value of CookiePreference with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cpWhitelistedNames - Required if you specify
-- whitelist for the value of Forward: . A complex type
-- that specifies how many different cookies you want CloudFront to
-- forward to the origin for this cache behavior and, if you want to
-- forward selected cookies, the names of those cookies. If you specify
-- all or none for the value of Forward , omit
-- WhitelistedNames . If you change the value of
-- Forward from whitelist to all or none and you don't
-- delete the WhitelistedNames element and its child elements,
-- CloudFront deletes them automatically. For the current limit on the
-- number of cookie names that you can whitelist for each cache behavior,
-- see Amazon CloudFront Limits in the AWS General
-- Reference .
-- - cpForward - Specifies which cookies to forward to the
-- origin for this cache behavior: all, none, or the list of cookies
-- specified in the WhitelistedNames complex type. Amazon S3
-- doesn't process cookies. When the cache behavior is forwarding
-- requests to an Amazon S3 origin, specify none for the Forward
-- element.
--
cookiePreference :: ItemSelection -> CookiePreference
-- | Required if you specify whitelist for the value of
-- Forward: . A complex type that specifies how many different
-- cookies you want CloudFront to forward to the origin for this cache
-- behavior and, if you want to forward selected cookies, the names of
-- those cookies. If you specify all or none for the value of
-- Forward , omit WhitelistedNames . If you change the
-- value of Forward from whitelist to all or none and
-- you don't delete the WhitelistedNames element and its child
-- elements, CloudFront deletes them automatically. For the current limit
-- on the number of cookie names that you can whitelist for each cache
-- behavior, see Amazon CloudFront Limits in the AWS General
-- Reference .
cpWhitelistedNames :: Lens' CookiePreference (Maybe CookieNames)
-- | Specifies which cookies to forward to the origin for this cache
-- behavior: all, none, or the list of cookies specified in the
-- WhitelistedNames complex type. Amazon S3 doesn't process
-- cookies. When the cache behavior is forwarding requests to an Amazon
-- S3 origin, specify none for the Forward element.
cpForward :: Lens' CookiePreference ItemSelection
-- | A complex type that controls:
--
--
-- - Whether CloudFront replaces HTTP status codes in the 4xx and 5xx
-- range with custom error messages before returning the response to the
-- viewer.
-- - How long CloudFront caches HTTP status codes in the 4xx and 5xx
-- range.
--
--
-- For more information about custom error pages, see Customizing
-- Error Responses in the Amazon CloudFront Developer Guide .
--
-- See: customErrorResponse smart constructor.
data CustomErrorResponse
-- | Creates a value of CustomErrorResponse with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - ceResponsePagePath - The path to the custom error page that
-- you want CloudFront to return to a viewer when your origin returns the
-- HTTP status code specified by ErrorCode , for example,
-- 4xx-errors403-forbidden.html . If you want to store
-- your objects and your custom error pages in different locations, your
-- distribution must include a cache behavior for which the following is
-- true: * The value of PathPattern matches the path to your
-- custom error messages. For example, suppose you saved custom error
-- pages for 4xx errors in an Amazon S3 bucket in a directory named
-- /4xx-errors . Your distribution must include a cache behavior
-- for which the path pattern routes requests for your custom error pages
-- to that location, for example, 4xx-errors* . * The
-- value of TargetOriginId specifies the value of the
-- ID element for the origin that contains your custom error
-- pages. If you specify a value for ResponsePagePath , you must
-- also specify a value for ResponseCode . If you don't want to
-- specify a value, include an empty element,
-- ResponsePagePath , in the XML document. We recommend
-- that you store custom error pages in an Amazon S3 bucket. If you store
-- custom error pages on an HTTP server and the server starts to return
-- 5xx errors, CloudFront can't get the files that you want to return to
-- viewers because the origin server is unavailable.
-- - ceResponseCode - The HTTP status code that you want
-- CloudFront to return to the viewer along with the custom error page.
-- There are a variety of reasons that you might want CloudFront to
-- return a status code different from the status code that your origin
-- returned to CloudFront, for example: * Some Internet devices (some
-- firewalls and corporate proxies, for example) intercept HTTP 4xx and
-- 5xx and prevent the response from being returned to the viewer. If you
-- substitute 200 , the response typically won't be intercepted.
-- * If you don't care about distinguishing among different client errors
-- or server errors, you can specify 400 or 500 as the
-- ResponseCode for all 4xx or 5xx errors. * You might want to
-- return a 200 status code (OK) and static website so your
-- customers don't know that your website is down. If you specify a value
-- for ResponseCode , you must also specify a value for
-- ResponsePagePath . If you don't want to specify a value,
-- include an empty element, ResponseCode , in the XML
-- document.
-- - ceErrorCachingMinTTL - The minimum amount of time, in
-- seconds, that you want CloudFront to cache the HTTP status code
-- specified in ErrorCode . When this time period has elapsed,
-- CloudFront queries your origin to see whether the problem that caused
-- the error has been resolved and the requested object is now available.
-- If you don't want to specify a value, include an empty element,
-- ErrorCachingMinTTL , in the XML document. For more
-- information, see Customizing Error Responses in the Amazon
-- CloudFront Developer Guide .
-- - ceErrorCode - The HTTP status code for which you want to
-- specify a custom error page and/or a caching duration.
--
customErrorResponse :: Int -> CustomErrorResponse
-- | The path to the custom error page that you want CloudFront to return
-- to a viewer when your origin returns the HTTP status code specified by
-- ErrorCode , for example,
-- 4xx-errors403-forbidden.html . If you want to store
-- your objects and your custom error pages in different locations, your
-- distribution must include a cache behavior for which the following is
-- true: * The value of PathPattern matches the path to your
-- custom error messages. For example, suppose you saved custom error
-- pages for 4xx errors in an Amazon S3 bucket in a directory named
-- /4xx-errors . Your distribution must include a cache behavior
-- for which the path pattern routes requests for your custom error pages
-- to that location, for example, 4xx-errors* . * The
-- value of TargetOriginId specifies the value of the
-- ID element for the origin that contains your custom error
-- pages. If you specify a value for ResponsePagePath , you must
-- also specify a value for ResponseCode . If you don't want to
-- specify a value, include an empty element,
-- ResponsePagePath , in the XML document. We recommend
-- that you store custom error pages in an Amazon S3 bucket. If you store
-- custom error pages on an HTTP server and the server starts to return
-- 5xx errors, CloudFront can't get the files that you want to return to
-- viewers because the origin server is unavailable.
ceResponsePagePath :: Lens' CustomErrorResponse (Maybe Text)
-- | The HTTP status code that you want CloudFront to return to the viewer
-- along with the custom error page. There are a variety of reasons that
-- you might want CloudFront to return a status code different from the
-- status code that your origin returned to CloudFront, for example: *
-- Some Internet devices (some firewalls and corporate proxies, for
-- example) intercept HTTP 4xx and 5xx and prevent the response from
-- being returned to the viewer. If you substitute 200 , the
-- response typically won't be intercepted. * If you don't care about
-- distinguishing among different client errors or server errors, you can
-- specify 400 or 500 as the ResponseCode for
-- all 4xx or 5xx errors. * You might want to return a 200
-- status code (OK) and static website so your customers don't know that
-- your website is down. If you specify a value for ResponseCode
-- , you must also specify a value for ResponsePagePath . If you
-- don't want to specify a value, include an empty element,
-- ResponseCode , in the XML document.
ceResponseCode :: Lens' CustomErrorResponse (Maybe Text)
-- | The minimum amount of time, in seconds, that you want CloudFront to
-- cache the HTTP status code specified in ErrorCode . When this
-- time period has elapsed, CloudFront queries your origin to see whether
-- the problem that caused the error has been resolved and the requested
-- object is now available. If you don't want to specify a value, include
-- an empty element, ErrorCachingMinTTL , in the XML
-- document. For more information, see Customizing Error Responses
-- in the Amazon CloudFront Developer Guide .
ceErrorCachingMinTTL :: Lens' CustomErrorResponse (Maybe Integer)
-- | The HTTP status code for which you want to specify a custom error page
-- and/or a caching duration.
ceErrorCode :: Lens' CustomErrorResponse Int
-- | A complex type that controls:
--
--
-- - Whether CloudFront replaces HTTP status codes in the 4xx and 5xx
-- range with custom error messages before returning the response to the
-- viewer.
-- - How long CloudFront caches HTTP status codes in the 4xx and 5xx
-- range.
--
--
-- For more information about custom error pages, see Customizing
-- Error Responses in the Amazon CloudFront Developer Guide .
--
-- See: customErrorResponses smart constructor.
data CustomErrorResponses
-- | Creates a value of CustomErrorResponses with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cerItems - A complex type that contains a
-- CustomErrorResponse element for each HTTP status code for
-- which you want to specify a custom error page and/or a caching
-- duration.
-- - cerQuantity - The number of HTTP status codes for which you
-- want to specify a custom error page and/or a caching duration. If
-- Quantity is 0 , you can omit Items .
--
customErrorResponses :: Int -> CustomErrorResponses
-- | A complex type that contains a CustomErrorResponse element
-- for each HTTP status code for which you want to specify a custom error
-- page and/or a caching duration.
cerItems :: Lens' CustomErrorResponses [CustomErrorResponse]
-- | The number of HTTP status codes for which you want to specify a custom
-- error page and/or a caching duration. If Quantity is
-- 0 , you can omit Items .
cerQuantity :: Lens' CustomErrorResponses Int
-- | A complex type that contains the list of Custom Headers for each
-- origin.
--
-- See: customHeaders smart constructor.
data CustomHeaders
-- | Creates a value of CustomHeaders with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - chItems - Optional : A list that contains one
-- OriginCustomHeader element for each custom header that you
-- want CloudFront to forward to the origin. If Quantity is 0 ,
-- omit Items .
-- - chQuantity - The number of custom headers, if any, for this
-- distribution.
--
customHeaders :: Int -> CustomHeaders
-- | Optional : A list that contains one OriginCustomHeader
-- element for each custom header that you want CloudFront to forward to
-- the origin. If Quantity is 0 , omit Items .
chItems :: Lens' CustomHeaders [OriginCustomHeader]
-- | The number of custom headers, if any, for this distribution.
chQuantity :: Lens' CustomHeaders Int
-- | A customer origin.
--
-- See: customOriginConfig smart constructor.
data CustomOriginConfig
-- | Creates a value of CustomOriginConfig with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - cocOriginKeepaliveTimeout - You can create a custom
-- keep-alive timeout. All timeout units are in seconds. The default
-- keep-alive timeout is 5 seconds, but you can configure custom timeout
-- lengths using the CloudFront API. The minimum timeout length is 1
-- second; the maximum is 60 seconds. If you need to increase the maximum
-- time limit, contact the AWS Support Center .
-- - cocOriginReadTimeout - You can create a custom origin read
-- timeout. All timeout units are in seconds. The default origin read
-- timeout is 30 seconds, but you can configure custom timeout lengths
-- using the CloudFront API. The minimum timeout length is 4 seconds; the
-- maximum is 60 seconds. If you need to increase the maximum time limit,
-- contact the AWS Support Center .
-- - cocOriginSSLProtocols - The SSL/TLS protocols that you want
-- CloudFront to use when communicating with your origin over HTTPS.
-- - cocHTTPPort - The HTTP port the custom origin listens
-- on.
-- - cocHTTPSPort - The HTTPS port the custom origin listens
-- on.
-- - cocOriginProtocolPolicy - The origin protocol policy to
-- apply to your origin.
--
customOriginConfig :: Int -> Int -> OriginProtocolPolicy -> CustomOriginConfig
-- | You can create a custom keep-alive timeout. All timeout units are in
-- seconds. The default keep-alive timeout is 5 seconds, but you can
-- configure custom timeout lengths using the CloudFront API. The minimum
-- timeout length is 1 second; the maximum is 60 seconds. If you need to
-- increase the maximum time limit, contact the AWS Support Center
-- .
cocOriginKeepaliveTimeout :: Lens' CustomOriginConfig (Maybe Int)
-- | You can create a custom origin read timeout. All timeout units are in
-- seconds. The default origin read timeout is 30 seconds, but you can
-- configure custom timeout lengths using the CloudFront API. The minimum
-- timeout length is 4 seconds; the maximum is 60 seconds. If you need to
-- increase the maximum time limit, contact the AWS Support Center
-- .
cocOriginReadTimeout :: Lens' CustomOriginConfig (Maybe Int)
-- | The SSL/TLS protocols that you want CloudFront to use when
-- communicating with your origin over HTTPS.
cocOriginSSLProtocols :: Lens' CustomOriginConfig (Maybe OriginSSLProtocols)
-- | The HTTP port the custom origin listens on.
cocHTTPPort :: Lens' CustomOriginConfig Int
-- | The HTTPS port the custom origin listens on.
cocHTTPSPort :: Lens' CustomOriginConfig Int
-- | The origin protocol policy to apply to your origin.
cocOriginProtocolPolicy :: Lens' CustomOriginConfig OriginProtocolPolicy
-- | A complex type that describes the default cache behavior if you don't
-- specify a CacheBehavior element or if files don't match any
-- of the values of PathPattern in CacheBehavior
-- elements. You must create exactly one default cache behavior.
--
-- See: defaultCacheBehavior smart constructor.
data DefaultCacheBehavior
-- | Creates a value of DefaultCacheBehavior with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - dcbAllowedMethods - Undocumented member.
-- - dcbLambdaFunctionAssociations - A complex type that
-- contains zero or more Lambda function associations for a cache
-- behavior.
-- - dcbMaxTTL - Undocumented member.
-- - dcbCompress - Whether you want CloudFront to automatically
-- compress certain files for this cache behavior. If so, specify
-- true ; if not, specify false . For more information,
-- see Serving Compressed Files in the Amazon CloudFront
-- Developer Guide .
-- - dcbSmoothStreaming - Indicates whether you want to
-- distribute media files in the Microsoft Smooth Streaming format using
-- the origin that is associated with this cache behavior. If so, specify
-- true ; if not, specify false . If you specify
-- true for SmoothStreaming , you can still distribute
-- other content using this cache behavior if the content matches the
-- value of PathPattern .
-- - dcbDefaultTTL - The default amount of time that you want
-- objects to stay in CloudFront caches before CloudFront forwards
-- another request to your origin to determine whether the object has
-- been updated. The value that you specify applies only when your origin
-- does not add HTTP headers such as Cache-Control max-age ,
-- Cache-Control s-maxage , and Expires to objects. For
-- more information, see Specifying How Long Objects and Errors Stay
-- in a CloudFront Edge Cache (Expiration) in the Amazon
-- CloudFront Developer Guide .
-- - dcbFieldLevelEncryptionId - Undocumented member.
-- - dcbTargetOriginId - The value of ID for the origin
-- that you want CloudFront to route requests to when a request matches
-- the path pattern either for a cache behavior or for the default cache
-- behavior.
-- - dcbForwardedValues - A complex type that specifies how
-- CloudFront handles query strings and cookies.
-- - dcbTrustedSigners - A complex type that specifies the AWS
-- accounts, if any, that you want to allow to create signed URLs for
-- private content. If you want to require signed URLs in requests for
-- objects in the target origin that match the PathPattern for
-- this cache behavior, specify true for Enabled , and
-- specify the applicable values for Quantity and Items
-- . For more information, see Serving Private Content through
-- CloudFront in the Amazon Amazon CloudFront Developer Guide
-- . If you don't want to require signed URLs in requests for objects
-- that match PathPattern , specify false for
-- Enabled and 0 for Quantity . Omit
-- Items . To add, change, or remove one or more trusted
-- signers, change Enabled to true (if it's currently
-- false ), change Quantity as applicable, and specify
-- all of the trusted signers that you want to include in the updated
-- distribution.
-- - dcbViewerProtocolPolicy - The protocol that viewers can use
-- to access the files in the origin specified by TargetOriginId
-- when a request matches the path pattern in PathPattern . You
-- can specify the following options: * allow-all : Viewers can
-- use HTTP or HTTPS. * redirect-to-https : If a viewer submits
-- an HTTP request, CloudFront returns an HTTP status code of 301 (Moved
-- Permanently) to the viewer along with the HTTPS URL. The viewer then
-- resubmits the request using the new URL. * https-only : If a
-- viewer sends an HTTP request, CloudFront returns an HTTP status code
-- of 403 (Forbidden). For more information about requiring the HTTPS
-- protocol, see Using an HTTPS Connection to Access Your Objects
-- in the Amazon CloudFront Developer Guide .
-- - dcbMinTTL - The minimum amount of time that you want
-- objects to stay in CloudFront caches before CloudFront forwards
-- another request to your origin to determine whether the object has
-- been updated. For more information, see Specifying How Long Objects
-- and Errors Stay in a CloudFront Edge Cache (Expiration) in the
-- Amazon Amazon CloudFront Developer Guide . You must specify
-- 0 for MinTTL if you configure CloudFront to forward
-- all headers to your origin (under Headers , if you specify
-- 1 for Quantity and * for Name
-- ).
--
defaultCacheBehavior :: Text -> ForwardedValues -> TrustedSigners -> ViewerProtocolPolicy -> Integer -> DefaultCacheBehavior
-- | Undocumented member.
dcbAllowedMethods :: Lens' DefaultCacheBehavior (Maybe AllowedMethods)
-- | A complex type that contains zero or more Lambda function associations
-- for a cache behavior.
dcbLambdaFunctionAssociations :: Lens' DefaultCacheBehavior (Maybe LambdaFunctionAssociations)
-- | Undocumented member.
dcbMaxTTL :: Lens' DefaultCacheBehavior (Maybe Integer)
-- | Whether you want CloudFront to automatically compress certain files
-- for this cache behavior. If so, specify true ; if not,
-- specify false . For more information, see Serving
-- Compressed Files in the Amazon CloudFront Developer Guide .
dcbCompress :: Lens' DefaultCacheBehavior (Maybe Bool)
-- | Indicates whether you want to distribute media files in the Microsoft
-- Smooth Streaming format using the origin that is associated with this
-- cache behavior. If so, specify true ; if not, specify
-- false . If you specify true for
-- SmoothStreaming , you can still distribute other content
-- using this cache behavior if the content matches the value of
-- PathPattern .
dcbSmoothStreaming :: Lens' DefaultCacheBehavior (Maybe Bool)
-- | The default amount of time that you want objects to stay in CloudFront
-- caches before CloudFront forwards another request to your origin to
-- determine whether the object has been updated. The value that you
-- specify applies only when your origin does not add HTTP headers such
-- as Cache-Control max-age , Cache-Control s-maxage ,
-- and Expires to objects. For more information, see
-- Specifying How Long Objects and Errors Stay in a CloudFront Edge
-- Cache (Expiration) in the Amazon CloudFront Developer Guide
-- .
dcbDefaultTTL :: Lens' DefaultCacheBehavior (Maybe Integer)
-- | Undocumented member.
dcbFieldLevelEncryptionId :: Lens' DefaultCacheBehavior (Maybe Text)
-- | The value of ID for the origin that you want CloudFront to
-- route requests to when a request matches the path pattern either for a
-- cache behavior or for the default cache behavior.
dcbTargetOriginId :: Lens' DefaultCacheBehavior Text
-- | A complex type that specifies how CloudFront handles query strings and
-- cookies.
dcbForwardedValues :: Lens' DefaultCacheBehavior ForwardedValues
-- | A complex type that specifies the AWS accounts, if any, that you want
-- to allow to create signed URLs for private content. If you want to
-- require signed URLs in requests for objects in the target origin that
-- match the PathPattern for this cache behavior, specify
-- true for Enabled , and specify the applicable values
-- for Quantity and Items . For more information, see
-- Serving Private Content through CloudFront in the Amazon
-- Amazon CloudFront Developer Guide . If you don't want to require
-- signed URLs in requests for objects that match PathPattern ,
-- specify false for Enabled and 0 for
-- Quantity . Omit Items . To add, change, or remove
-- one or more trusted signers, change Enabled to true
-- (if it's currently false ), change Quantity as
-- applicable, and specify all of the trusted signers that you want to
-- include in the updated distribution.
dcbTrustedSigners :: Lens' DefaultCacheBehavior TrustedSigners
-- | The protocol that viewers can use to access the files in the origin
-- specified by TargetOriginId when a request matches the path
-- pattern in PathPattern . You can specify the following
-- options: * allow-all : Viewers can use HTTP or HTTPS. *
-- redirect-to-https : If a viewer submits an HTTP request,
-- CloudFront returns an HTTP status code of 301 (Moved Permanently) to
-- the viewer along with the HTTPS URL. The viewer then resubmits the
-- request using the new URL. * https-only : If a viewer sends
-- an HTTP request, CloudFront returns an HTTP status code of 403
-- (Forbidden). For more information about requiring the HTTPS protocol,
-- see Using an HTTPS Connection to Access Your Objects in the
-- Amazon CloudFront Developer Guide .
dcbViewerProtocolPolicy :: Lens' DefaultCacheBehavior ViewerProtocolPolicy
-- | The minimum amount of time that you want objects to stay in CloudFront
-- caches before CloudFront forwards another request to your origin to
-- determine whether the object has been updated. For more information,
-- see Specifying How Long Objects and Errors Stay in a CloudFront
-- Edge Cache (Expiration) in the Amazon Amazon CloudFront
-- Developer Guide . You must specify 0 for MinTTL
-- if you configure CloudFront to forward all headers to your origin
-- (under Headers , if you specify 1 for
-- Quantity and * for Name ).
dcbMinTTL :: Lens' DefaultCacheBehavior Integer
-- | The distribution's information.
--
-- See: distribution smart constructor.
data Distribution
-- | Creates a value of Distribution with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - dId - The identifier for the distribution. For example:
-- EDFDVBD632BHDS5 .
-- - dARN - The ARN (Amazon Resource Name) for the distribution.
-- For example:
-- arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
-- , where 123456789012 is your AWS account ID.
-- - dStatus - This response element indicates the current
-- status of the distribution. When the status is Deployed , the
-- distribution's information is fully propagated to all CloudFront edge
-- locations.
-- - dLastModifiedTime - The date and time the distribution was
-- last modified.
-- - dInProgressInvalidationBatches - The number of invalidation
-- batches currently in progress.
-- - dDomainName - The domain name corresponding to the
-- distribution, for example, d111111abcdef8.cloudfront.net
-- .
-- - dActiveTrustedSigners - CloudFront automatically adds this
-- element to the response only if you've set up the distribution to
-- serve private content with signed URLs. The element lists the key pair
-- IDs that CloudFront is aware of for each trusted signer. The
-- Signer child element lists the AWS account number of the
-- trusted signer (or an empty Self element if the signer is
-- you). The Signer element also includes the IDs of any active
-- key pairs associated with the trusted signer's AWS account. If no
-- KeyPairId element appears for a Signer , that signer
-- can't create working signed URLs.
-- - dDistributionConfig - The current configuration information
-- for the distribution. Send a GET request to the
-- /CloudFront API version distribution IDconfig
-- resource.
--
distribution :: Text -> Text -> Text -> UTCTime -> Int -> Text -> ActiveTrustedSigners -> DistributionConfig -> Distribution
-- | The identifier for the distribution. For example:
-- EDFDVBD632BHDS5 .
dId :: Lens' Distribution Text
-- | The ARN (Amazon Resource Name) for the distribution. For example:
-- arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
-- , where 123456789012 is your AWS account ID.
dARN :: Lens' Distribution Text
-- | This response element indicates the current status of the
-- distribution. When the status is Deployed , the
-- distribution's information is fully propagated to all CloudFront edge
-- locations.
dStatus :: Lens' Distribution Text
-- | The date and time the distribution was last modified.
dLastModifiedTime :: Lens' Distribution UTCTime
-- | The number of invalidation batches currently in progress.
dInProgressInvalidationBatches :: Lens' Distribution Int
-- | The domain name corresponding to the distribution, for example,
-- d111111abcdef8.cloudfront.net .
dDomainName :: Lens' Distribution Text
-- | CloudFront automatically adds this element to the response only if
-- you've set up the distribution to serve private content with signed
-- URLs. The element lists the key pair IDs that CloudFront is aware of
-- for each trusted signer. The Signer child element lists the
-- AWS account number of the trusted signer (or an empty Self
-- element if the signer is you). The Signer element also
-- includes the IDs of any active key pairs associated with the trusted
-- signer's AWS account. If no KeyPairId element appears for a
-- Signer , that signer can't create working signed URLs.
dActiveTrustedSigners :: Lens' Distribution ActiveTrustedSigners
-- | The current configuration information for the distribution. Send a
-- GET request to the /CloudFront API version
-- distribution IDconfig resource.
dDistributionConfig :: Lens' Distribution DistributionConfig
-- | A distribution configuration.
--
-- See: distributionConfig smart constructor.
data DistributionConfig
-- | Creates a value of DistributionConfig with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - dcHTTPVersion - (Optional) Specify the maximum HTTP version
-- that you want viewers to use to communicate with CloudFront. The
-- default value for new web distributions is http2. Viewers that don't
-- support HTTP2 automatically use an earlier HTTP version. For
-- viewers and CloudFront to use HTTP2, viewers must support TLS 1.2
-- or later, and must support Server Name Identification (SNI). In
-- general, configuring CloudFront to communicate with viewers using
-- HTTP2 reduces latency. You can improve performance by optimizing
-- for HTTP2. For more information, do an Internet search for "http/2
-- optimization."
-- - dcAliases - A complex type that contains information about
-- CNAMEs (alternate domain names), if any, for this distribution.
-- - dcDefaultRootObject - The object that you want CloudFront
-- to request from your origin (for example, index.html ) when a
-- viewer requests the root URL for your distribution
-- (http://www.example.com ) instead of an object in your
-- distribution
-- (http://www.example.com/product-description.html ).
-- Specifying a default root object avoids exposing the contents of your
-- distribution. Specify only the object name, for example,
-- index.html . Don't add a / before the object name.
-- If you don't want to specify a default root object when you create a
-- distribution, include an empty DefaultRootObject element. To
-- delete the default root object from an existing distribution, update
-- the distribution configuration and include an empty
-- DefaultRootObject element. To replace the default root
-- object, update the distribution configuration and specify the new
-- object. For more information about the default root object, see
-- Creating a Default Root Object in the Amazon CloudFront
-- Developer Guide .
-- - dcPriceClass - The price class that corresponds with the
-- maximum price that you want to pay for CloudFront service. If you
-- specify PriceClass_All , CloudFront responds to requests for
-- your objects from all CloudFront edge locations. If you specify a
-- price class other than PriceClass_All , CloudFront serves
-- your objects from the CloudFront edge location that has the lowest
-- latency among the edge locations in your price class. Viewers who are
-- in or near regions that are excluded from your specified price class
-- may encounter slower performance. For more information about price
-- classes, see Choosing the Price Class for a CloudFront
-- Distribution in the Amazon CloudFront Developer Guide . For
-- information about CloudFront pricing, including how price classes map
-- to CloudFront regions, see Amazon CloudFront Pricing .
-- - dcCustomErrorResponses - A complex type that controls the
-- following: * Whether CloudFront replaces HTTP status codes in the 4xx
-- and 5xx range with custom error messages before returning the response
-- to the viewer. * How long CloudFront caches HTTP status codes in the
-- 4xx and 5xx range. For more information about custom error pages, see
-- Customizing Error Responses in the Amazon CloudFront
-- Developer Guide .
-- - dcWebACLId - A unique identifier that specifies the AWS WAF
-- web ACL, if any, to associate with this distribution. AWS WAF is a web
-- application firewall that lets you monitor the HTTP and HTTPS requests
-- that are forwarded to CloudFront, and lets you control access to your
-- content. Based on conditions that you specify, such as the IP
-- addresses that requests originate from or the values of query strings,
-- CloudFront responds to requests either with the requested content or
-- with an HTTP 403 status code (Forbidden). You can also configure
-- CloudFront to return a custom error page when a request is blocked.
-- For more information about AWS WAF, see the AWS WAF Developer
-- Guide .
-- - dcViewerCertificate - Undocumented member.
-- - dcRestrictions - Undocumented member.
-- - dcLogging - A complex type that controls whether access
-- logs are written for the distribution. For more information about
-- logging, see Access Logs in the Amazon CloudFront Developer
-- Guide .
-- - dcCacheBehaviors - A complex type that contains zero or
-- more CacheBehavior elements.
-- - dcIsIPV6Enabled - If you want CloudFront to respond to IPv6
-- DNS requests with an IPv6 address for your distribution, specify
-- true . If you specify false , CloudFront responds to
-- IPv6 DNS requests with the DNS response code NOERROR and with
-- no IP addresses. This allows viewers to submit a second request, for
-- an IPv4 address for your distribution. In general, you should enable
-- IPv6 if you have users on IPv6 networks who want to access your
-- content. However, if you're using signed URLs or signed cookies to
-- restrict access to your content, and if you're using a custom policy
-- that includes the IpAddress parameter to restrict the IP
-- addresses that can access your content, don't enable IPv6. If you want
-- to restrict access to some content by IP address and not restrict
-- access to other content (or restrict access but not by IP address),
-- you can create two distributions. For more information, see
-- Creating a Signed URL Using a Custom Policy in the Amazon
-- CloudFront Developer Guide . If you're using an Amazon Route 53
-- alias resource record set to route traffic to your CloudFront
-- distribution, you need to create a second alias resource record set
-- when both of the following are true: * You enable IPv6 for the
-- distribution * You're using alternate domain names in the URLs for
-- your objects For more information, see Routing Traffic to an Amazon
-- CloudFront Web Distribution by Using Your Domain Name in the
-- Amazon Route 53 Developer Guide . If you created a CNAME
-- resource record set, either with Amazon Route 53 or with another DNS
-- service, you don't need to make any changes. A CNAME record will route
-- traffic to your distribution regardless of the IP address format of
-- the viewer request.
-- - dcCallerReference - A unique value (for example, a
-- date-time stamp) that ensures that the request can't be replayed. If
-- the value of CallerReference is new (regardless of the
-- content of the DistributionConfig object), CloudFront creates
-- a new distribution. If CallerReference is a value you already
-- sent in a previous request to create a distribution, and if the
-- content of the DistributionConfig is identical to the
-- original request (ignoring white space), CloudFront returns the same
-- the response that it returned to the original request. If
-- CallerReference is a value you already sent in a previous
-- request to create a distribution but the content of the
-- DistributionConfig is different from the original request,
-- CloudFront returns a DistributionAlreadyExists error.
-- - dcOrigins - A complex type that contains information about
-- origins for this distribution.
-- - dcDefaultCacheBehavior - A complex type that describes the
-- default cache behavior if you don't specify a CacheBehavior
-- element or if files don't match any of the values of
-- PathPattern in CacheBehavior elements. You must
-- create exactly one default cache behavior.
-- - dcComment - Any comments you want to include about the
-- distribution. If you don't want to specify a comment, include an empty
-- Comment element. To delete an existing comment, update the
-- distribution configuration and include an empty Comment
-- element. To add or change a comment, update the distribution
-- configuration and specify the new comment.
-- - dcEnabled - From this field, you can enable or disable the
-- selected distribution. If you specify false for
-- Enabled but you specify values for Bucket and
-- Prefix , the values are automatically deleted.
--
distributionConfig :: Text -> Origins -> DefaultCacheBehavior -> Text -> Bool -> DistributionConfig
-- | (Optional) Specify the maximum HTTP version that you want viewers to
-- use to communicate with CloudFront. The default value for new web
-- distributions is http2. Viewers that don't support HTTP2
-- automatically use an earlier HTTP version. For viewers and CloudFront
-- to use HTTP2, viewers must support TLS 1.2 or later, and must
-- support Server Name Identification (SNI). In general, configuring
-- CloudFront to communicate with viewers using HTTP2 reduces latency.
-- You can improve performance by optimizing for HTTP2. For more
-- information, do an Internet search for "http/2 optimization."
dcHTTPVersion :: Lens' DistributionConfig (Maybe HTTPVersion)
-- | A complex type that contains information about CNAMEs (alternate
-- domain names), if any, for this distribution.
dcAliases :: Lens' DistributionConfig (Maybe Aliases)
-- | The object that you want CloudFront to request from your origin (for
-- example, index.html ) when a viewer requests the root URL for
-- your distribution (http://www.example.com ) instead of
-- an object in your distribution
-- (http://www.example.com/product-description.html ).
-- Specifying a default root object avoids exposing the contents of your
-- distribution. Specify only the object name, for example,
-- index.html . Don't add a / before the object name.
-- If you don't want to specify a default root object when you create a
-- distribution, include an empty DefaultRootObject element. To
-- delete the default root object from an existing distribution, update
-- the distribution configuration and include an empty
-- DefaultRootObject element. To replace the default root
-- object, update the distribution configuration and specify the new
-- object. For more information about the default root object, see
-- Creating a Default Root Object in the Amazon CloudFront
-- Developer Guide .
dcDefaultRootObject :: Lens' DistributionConfig (Maybe Text)
-- | The price class that corresponds with the maximum price that you want
-- to pay for CloudFront service. If you specify PriceClass_All
-- , CloudFront responds to requests for your objects from all CloudFront
-- edge locations. If you specify a price class other than
-- PriceClass_All , CloudFront serves your objects from the
-- CloudFront edge location that has the lowest latency among the edge
-- locations in your price class. Viewers who are in or near regions that
-- are excluded from your specified price class may encounter slower
-- performance. For more information about price classes, see Choosing
-- the Price Class for a CloudFront Distribution in the Amazon
-- CloudFront Developer Guide . For information about CloudFront
-- pricing, including how price classes map to CloudFront regions, see
-- Amazon CloudFront Pricing .
dcPriceClass :: Lens' DistributionConfig (Maybe PriceClass)
-- | A complex type that controls the following: * Whether CloudFront
-- replaces HTTP status codes in the 4xx and 5xx range with custom error
-- messages before returning the response to the viewer. * How long
-- CloudFront caches HTTP status codes in the 4xx and 5xx range. For more
-- information about custom error pages, see Customizing Error
-- Responses in the Amazon CloudFront Developer Guide .
dcCustomErrorResponses :: Lens' DistributionConfig (Maybe CustomErrorResponses)
-- | A unique identifier that specifies the AWS WAF web ACL, if any, to
-- associate with this distribution. AWS WAF is a web application
-- firewall that lets you monitor the HTTP and HTTPS requests that are
-- forwarded to CloudFront, and lets you control access to your content.
-- Based on conditions that you specify, such as the IP addresses that
-- requests originate from or the values of query strings, CloudFront
-- responds to requests either with the requested content or with an HTTP
-- 403 status code (Forbidden). You can also configure CloudFront to
-- return a custom error page when a request is blocked. For more
-- information about AWS WAF, see the AWS WAF Developer Guide .
dcWebACLId :: Lens' DistributionConfig (Maybe Text)
-- | Undocumented member.
dcViewerCertificate :: Lens' DistributionConfig (Maybe ViewerCertificate)
-- | Undocumented member.
dcRestrictions :: Lens' DistributionConfig (Maybe Restrictions)
-- | A complex type that controls whether access logs are written for the
-- distribution. For more information about logging, see Access
-- Logs in the Amazon CloudFront Developer Guide .
dcLogging :: Lens' DistributionConfig (Maybe LoggingConfig)
-- | A complex type that contains zero or more CacheBehavior
-- elements.
dcCacheBehaviors :: Lens' DistributionConfig (Maybe CacheBehaviors)
-- | If you want CloudFront to respond to IPv6 DNS requests with an IPv6
-- address for your distribution, specify true . If you specify
-- false , CloudFront responds to IPv6 DNS requests with the DNS
-- response code NOERROR and with no IP addresses. This allows
-- viewers to submit a second request, for an IPv4 address for your
-- distribution. In general, you should enable IPv6 if you have users on
-- IPv6 networks who want to access your content. However, if you're
-- using signed URLs or signed cookies to restrict access to your
-- content, and if you're using a custom policy that includes the
-- IpAddress parameter to restrict the IP addresses that can
-- access your content, don't enable IPv6. If you want to restrict access
-- to some content by IP address and not restrict access to other content
-- (or restrict access but not by IP address), you can create two
-- distributions. For more information, see Creating a Signed URL
-- Using a Custom Policy in the Amazon CloudFront Developer
-- Guide . If you're using an Amazon Route 53 alias resource record
-- set to route traffic to your CloudFront distribution, you need to
-- create a second alias resource record set when both of the following
-- are true: * You enable IPv6 for the distribution * You're using
-- alternate domain names in the URLs for your objects For more
-- information, see Routing Traffic to an Amazon CloudFront Web
-- Distribution by Using Your Domain Name in the Amazon Route 53
-- Developer Guide . If you created a CNAME resource record set,
-- either with Amazon Route 53 or with another DNS service, you don't
-- need to make any changes. A CNAME record will route traffic to your
-- distribution regardless of the IP address format of the viewer
-- request.
dcIsIPV6Enabled :: Lens' DistributionConfig (Maybe Bool)
-- | A unique value (for example, a date-time stamp) that ensures that the
-- request can't be replayed. If the value of CallerReference is
-- new (regardless of the content of the DistributionConfig
-- object), CloudFront creates a new distribution. If
-- CallerReference is a value you already sent in a previous
-- request to create a distribution, and if the content of the
-- DistributionConfig is identical to the original request
-- (ignoring white space), CloudFront returns the same the response that
-- it returned to the original request. If CallerReference is a
-- value you already sent in a previous request to create a distribution
-- but the content of the DistributionConfig is different from
-- the original request, CloudFront returns a
-- DistributionAlreadyExists error.
dcCallerReference :: Lens' DistributionConfig Text
-- | A complex type that contains information about origins for this
-- distribution.
dcOrigins :: Lens' DistributionConfig Origins
-- | A complex type that describes the default cache behavior if you don't
-- specify a CacheBehavior element or if files don't match any
-- of the values of PathPattern in CacheBehavior
-- elements. You must create exactly one default cache behavior.
dcDefaultCacheBehavior :: Lens' DistributionConfig DefaultCacheBehavior
-- | Any comments you want to include about the distribution. If you don't
-- want to specify a comment, include an empty Comment element.
-- To delete an existing comment, update the distribution configuration
-- and include an empty Comment element. To add or change a
-- comment, update the distribution configuration and specify the new
-- comment.
dcComment :: Lens' DistributionConfig Text
-- | From this field, you can enable or disable the selected distribution.
-- If you specify false for Enabled but you specify
-- values for Bucket and Prefix , the values are
-- automatically deleted.
dcEnabled :: Lens' DistributionConfig Bool
-- | A distribution Configuration and a list of tags to be associated with
-- the distribution.
--
-- See: distributionConfigWithTags smart constructor.
data DistributionConfigWithTags
-- | Creates a value of DistributionConfigWithTags with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
distributionConfigWithTags :: DistributionConfig -> Tags -> DistributionConfigWithTags
-- | A distribution configuration.
dcwtDistributionConfig :: Lens' DistributionConfigWithTags DistributionConfig
-- | A complex type that contains zero or more Tag elements.
dcwtTags :: Lens' DistributionConfigWithTags Tags
-- | A distribution list.
--
-- See: distributionList smart constructor.
data DistributionList
-- | Creates a value of DistributionList with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - dlItems - A complex type that contains one
-- DistributionSummary element for each distribution that was
-- created by the current AWS account.
-- - dlNextMarker - If IsTruncated is true ,
-- this element is present and contains the value you can use for the
-- Marker request parameter to continue listing your
-- distributions where they left off.
-- - dlMarker - The value you provided for the Marker
-- request parameter.
-- - dlMaxItems - The value you provided for the
-- MaxItems request parameter.
-- - dlIsTruncated - A flag that indicates whether more
-- distributions remain to be listed. If your results were truncated, you
-- can make a follow-up pagination request using the Marker
-- request parameter to retrieve more distributions in the list.
-- - dlQuantity - The number of distributions that were created
-- by the current AWS account.
--
distributionList :: Text -> Int -> Bool -> Int -> DistributionList
-- | A complex type that contains one DistributionSummary element
-- for each distribution that was created by the current AWS account.
dlItems :: Lens' DistributionList [DistributionSummary]
-- | If IsTruncated is true , this element is present and
-- contains the value you can use for the Marker request
-- parameter to continue listing your distributions where they left off.
dlNextMarker :: Lens' DistributionList (Maybe Text)
-- | The value you provided for the Marker request parameter.
dlMarker :: Lens' DistributionList Text
-- | The value you provided for the MaxItems request parameter.
dlMaxItems :: Lens' DistributionList Int
-- | A flag that indicates whether more distributions remain to be listed.
-- If your results were truncated, you can make a follow-up pagination
-- request using the Marker request parameter to retrieve more
-- distributions in the list.
dlIsTruncated :: Lens' DistributionList Bool
-- | The number of distributions that were created by the current AWS
-- account.
dlQuantity :: Lens' DistributionList Int
-- | A summary of the information about a CloudFront distribution.
--
-- See: distributionSummary smart constructor.
data DistributionSummary
-- | Creates a value of DistributionSummary with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - dsId - The identifier for the distribution. For example:
-- EDFDVBD632BHDS5 .
-- - dsARN - The ARN (Amazon Resource Name) for the
-- distribution. For example:
-- arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
-- , where 123456789012 is your AWS account ID.
-- - dsStatus - The current status of the distribution. When the
-- status is Deployed , the distribution's information is
-- propagated to all CloudFront edge locations.
-- - dsLastModifiedTime - The date and time the distribution was
-- last modified.
-- - dsDomainName - The domain name that corresponds to the
-- distribution, for example, d111111abcdef8.cloudfront.net
-- .
-- - dsAliases - A complex type that contains information about
-- CNAMEs (alternate domain names), if any, for this distribution.
-- - dsOrigins - A complex type that contains information about
-- origins for this distribution.
-- - dsDefaultCacheBehavior - A complex type that describes the
-- default cache behavior if you don't specify a CacheBehavior
-- element or if files don't match any of the values of
-- PathPattern in CacheBehavior elements. You must
-- create exactly one default cache behavior.
-- - dsCacheBehaviors - A complex type that contains zero or
-- more CacheBehavior elements.
-- - dsCustomErrorResponses - A complex type that contains zero
-- or more CustomErrorResponses elements.
-- - dsComment - The comment originally specified when this
-- distribution was created.
-- - dsPriceClass - Undocumented member.
-- - dsEnabled - Whether the distribution is enabled to accept
-- user requests for content.
-- - dsViewerCertificate - Undocumented member.
-- - dsRestrictions - Undocumented member.
-- - dsWebACLId - The Web ACL Id (if any) associated with the
-- distribution.
-- - dsHTTPVersion - Specify the maximum HTTP version that you
-- want viewers to use to communicate with CloudFront. The default value
-- for new web distributions is http2 . Viewers that don't
-- support HTTP/2 will automatically use an earlier
-- version.
-- - dsIsIPV6Enabled - Whether CloudFront responds to IPv6 DNS
-- requests with an IPv6 address for your distribution.
--
distributionSummary :: Text -> Text -> Text -> UTCTime -> Text -> Aliases -> Origins -> DefaultCacheBehavior -> CacheBehaviors -> CustomErrorResponses -> Text -> PriceClass -> Bool -> ViewerCertificate -> Restrictions -> Text -> HTTPVersion -> Bool -> DistributionSummary
-- | The identifier for the distribution. For example:
-- EDFDVBD632BHDS5 .
dsId :: Lens' DistributionSummary Text
-- | The ARN (Amazon Resource Name) for the distribution. For example:
-- arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
-- , where 123456789012 is your AWS account ID.
dsARN :: Lens' DistributionSummary Text
-- | The current status of the distribution. When the status is
-- Deployed , the distribution's information is propagated to
-- all CloudFront edge locations.
dsStatus :: Lens' DistributionSummary Text
-- | The date and time the distribution was last modified.
dsLastModifiedTime :: Lens' DistributionSummary UTCTime
-- | The domain name that corresponds to the distribution, for example,
-- d111111abcdef8.cloudfront.net .
dsDomainName :: Lens' DistributionSummary Text
-- | A complex type that contains information about CNAMEs (alternate
-- domain names), if any, for this distribution.
dsAliases :: Lens' DistributionSummary Aliases
-- | A complex type that contains information about origins for this
-- distribution.
dsOrigins :: Lens' DistributionSummary Origins
-- | A complex type that describes the default cache behavior if you don't
-- specify a CacheBehavior element or if files don't match any
-- of the values of PathPattern in CacheBehavior
-- elements. You must create exactly one default cache behavior.
dsDefaultCacheBehavior :: Lens' DistributionSummary DefaultCacheBehavior
-- | A complex type that contains zero or more CacheBehavior
-- elements.
dsCacheBehaviors :: Lens' DistributionSummary CacheBehaviors
-- | A complex type that contains zero or more
-- CustomErrorResponses elements.
dsCustomErrorResponses :: Lens' DistributionSummary CustomErrorResponses
-- | The comment originally specified when this distribution was created.
dsComment :: Lens' DistributionSummary Text
-- | Undocumented member.
dsPriceClass :: Lens' DistributionSummary PriceClass
-- | Whether the distribution is enabled to accept user requests for
-- content.
dsEnabled :: Lens' DistributionSummary Bool
-- | Undocumented member.
dsViewerCertificate :: Lens' DistributionSummary ViewerCertificate
-- | Undocumented member.
dsRestrictions :: Lens' DistributionSummary Restrictions
-- | The Web ACL Id (if any) associated with the distribution.
dsWebACLId :: Lens' DistributionSummary Text
-- | Specify the maximum HTTP version that you want viewers to use to
-- communicate with CloudFront. The default value for new web
-- distributions is http2 . Viewers that don't support
-- HTTP/2 will automatically use an earlier version.
dsHTTPVersion :: Lens' DistributionSummary HTTPVersion
-- | Whether CloudFront responds to IPv6 DNS requests with an IPv6 address
-- for your distribution.
dsIsIPV6Enabled :: Lens' DistributionSummary Bool
-- | Complex data type for field-level encryption profiles that includes
-- all of the encryption entities.
--
-- See: encryptionEntities smart constructor.
data EncryptionEntities
-- | Creates a value of EncryptionEntities with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - eeItems - An array of field patterns in a field-level
-- encryption content type-profile mapping.
-- - eeQuantity - Number of field pattern items in a field-level
-- encryption content type-profile mapping.
--
encryptionEntities :: Int -> EncryptionEntities
-- | An array of field patterns in a field-level encryption content
-- type-profile mapping.
eeItems :: Lens' EncryptionEntities [EncryptionEntity]
-- | Number of field pattern items in a field-level encryption content
-- type-profile mapping.
eeQuantity :: Lens' EncryptionEntities Int
-- | Complex data type for field-level encryption profiles that includes
-- the encryption key and field pattern specifications.
--
-- See: encryptionEntity smart constructor.
data EncryptionEntity
-- | Creates a value of EncryptionEntity with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - eePublicKeyId - The public key associated with a set of
-- field-level encryption patterns, to be used when encrypting the fields
-- that match the patterns.
-- - eeProviderId - The provider associated with the public key
-- being used for encryption. This value must also be provided with the
-- private key for applications to be able to decrypt data.
-- - eeFieldPatterns - Field patterns in a field-level
-- encryption content type profile specify the fields that you want to be
-- encrypted. You can provide the full field name, or any beginning
-- characters followed by a wildcard (*). You can't overlap field
-- patterns. For example, you can't have both ABC* and AB*. Note that
-- field patterns are case-sensitive.
--
encryptionEntity :: Text -> Text -> FieldPatterns -> EncryptionEntity
-- | The public key associated with a set of field-level encryption
-- patterns, to be used when encrypting the fields that match the
-- patterns.
eePublicKeyId :: Lens' EncryptionEntity Text
-- | The provider associated with the public key being used for encryption.
-- This value must also be provided with the private key for applications
-- to be able to decrypt data.
eeProviderId :: Lens' EncryptionEntity Text
-- | Field patterns in a field-level encryption content type profile
-- specify the fields that you want to be encrypted. You can provide the
-- full field name, or any beginning characters followed by a wildcard
-- (*). You can't overlap field patterns. For example, you can't have
-- both ABC* and AB*. Note that field patterns are case-sensitive.
eeFieldPatterns :: Lens' EncryptionEntity FieldPatterns
-- | A complex data type that includes the profile configurations and other
-- options specified for field-level encryption.
--
-- See: fieldLevelEncryption smart constructor.
data FieldLevelEncryption
-- | Creates a value of FieldLevelEncryption with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - fleId - The configuration ID for a field-level encryption
-- configuration which includes a set of profiles that specify certain
-- selected data fields to be encrypted by specific public keys.
-- - fleLastModifiedTime - The last time the field-level
-- encryption configuration was changed.
-- - fleFieldLevelEncryptionConfig - A complex data type that
-- includes the profile configurations specified for field-level
-- encryption.
--
fieldLevelEncryption :: Text -> UTCTime -> FieldLevelEncryptionConfig -> FieldLevelEncryption
-- | The configuration ID for a field-level encryption configuration which
-- includes a set of profiles that specify certain selected data fields
-- to be encrypted by specific public keys.
fleId :: Lens' FieldLevelEncryption Text
-- | The last time the field-level encryption configuration was changed.
fleLastModifiedTime :: Lens' FieldLevelEncryption UTCTime
-- | A complex data type that includes the profile configurations specified
-- for field-level encryption.
fleFieldLevelEncryptionConfig :: Lens' FieldLevelEncryption FieldLevelEncryptionConfig
-- | A complex data type that includes the profile configurations specified
-- for field-level encryption.
--
-- See: fieldLevelEncryptionConfig smart constructor.
data FieldLevelEncryptionConfig
-- | Creates a value of FieldLevelEncryptionConfig with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - flecQueryArgProfileConfig - A complex data type that
-- specifies when to forward content if a profile isn't found and the
-- profile that can be provided as a query argument in a request.
-- - flecContentTypeProfileConfig - A complex data type that
-- specifies when to forward content if a content type isn't recognized
-- and profiles to use as by default in a request if a query argument
-- doesn't specify a profile to use.
-- - flecComment - An optional comment about the
-- configuration.
-- - flecCallerReference - A unique number that ensures the
-- request can't be replayed.
--
fieldLevelEncryptionConfig :: Text -> FieldLevelEncryptionConfig
-- | A complex data type that specifies when to forward content if a
-- profile isn't found and the profile that can be provided as a query
-- argument in a request.
flecQueryArgProfileConfig :: Lens' FieldLevelEncryptionConfig (Maybe QueryArgProfileConfig)
-- | A complex data type that specifies when to forward content if a
-- content type isn't recognized and profiles to use as by default in a
-- request if a query argument doesn't specify a profile to use.
flecContentTypeProfileConfig :: Lens' FieldLevelEncryptionConfig (Maybe ContentTypeProfileConfig)
-- | An optional comment about the configuration.
flecComment :: Lens' FieldLevelEncryptionConfig (Maybe Text)
-- | A unique number that ensures the request can't be replayed.
flecCallerReference :: Lens' FieldLevelEncryptionConfig Text
-- | List of field-level encrpytion configurations.
--
-- See: fieldLevelEncryptionList smart constructor.
data FieldLevelEncryptionList
-- | Creates a value of FieldLevelEncryptionList with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - flelItems - An array of field-level encryption items.
-- - flelNextMarker - If there are more elements to be listed,
-- this element is present and contains the value that you can use for
-- the Marker request parameter to continue listing your
-- configurations where you left off.
-- - flelMaxItems - The maximum number of elements you want in
-- the response body.
-- - flelQuantity - The number of field-level encryption
-- items.
--
fieldLevelEncryptionList :: Int -> Int -> FieldLevelEncryptionList
-- | An array of field-level encryption items.
flelItems :: Lens' FieldLevelEncryptionList [FieldLevelEncryptionSummary]
-- | If there are more elements to be listed, this element is present and
-- contains the value that you can use for the Marker request
-- parameter to continue listing your configurations where you left off.
flelNextMarker :: Lens' FieldLevelEncryptionList (Maybe Text)
-- | The maximum number of elements you want in the response body.
flelMaxItems :: Lens' FieldLevelEncryptionList Int
-- | The number of field-level encryption items.
flelQuantity :: Lens' FieldLevelEncryptionList Int
-- | A complex data type for field-level encryption profiles.
--
-- See: fieldLevelEncryptionProfile smart constructor.
data FieldLevelEncryptionProfile
-- | Creates a value of FieldLevelEncryptionProfile with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - flepId - The ID for a field-level encryption profile
-- configuration which includes a set of profiles that specify certain
-- selected data fields to be encrypted by specific public keys.
-- - flepLastModifiedTime - The last time the field-level
-- encryption profile was updated.
-- - flepFieldLevelEncryptionProfileConfig - A complex data type
-- that includes the profile name and the encryption entities for the
-- field-level encryption profile.
--
fieldLevelEncryptionProfile :: Text -> UTCTime -> FieldLevelEncryptionProfileConfig -> FieldLevelEncryptionProfile
-- | The ID for a field-level encryption profile configuration which
-- includes a set of profiles that specify certain selected data fields
-- to be encrypted by specific public keys.
flepId :: Lens' FieldLevelEncryptionProfile Text
-- | The last time the field-level encryption profile was updated.
flepLastModifiedTime :: Lens' FieldLevelEncryptionProfile UTCTime
-- | A complex data type that includes the profile name and the encryption
-- entities for the field-level encryption profile.
flepFieldLevelEncryptionProfileConfig :: Lens' FieldLevelEncryptionProfile FieldLevelEncryptionProfileConfig
-- | A complex data type of profiles for the field-level encryption.
--
-- See: fieldLevelEncryptionProfileConfig smart
-- constructor.
data FieldLevelEncryptionProfileConfig
-- | Creates a value of FieldLevelEncryptionProfileConfig with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - flepcComment - An optional comment for the field-level
-- encryption profile.
-- - flepcName - Profile name for the field-level encryption
-- profile.
-- - flepcCallerReference - A unique number that ensures the
-- request can't be replayed.
-- - flepcEncryptionEntities - A complex data type of encryption
-- entities for the field-level encryption profile that include the
-- public key ID, provider, and field patterns for specifying which
-- fields to encrypt with this key.
--
fieldLevelEncryptionProfileConfig :: Text -> Text -> EncryptionEntities -> FieldLevelEncryptionProfileConfig
-- | An optional comment for the field-level encryption profile.
flepcComment :: Lens' FieldLevelEncryptionProfileConfig (Maybe Text)
-- | Profile name for the field-level encryption profile.
flepcName :: Lens' FieldLevelEncryptionProfileConfig Text
-- | A unique number that ensures the request can't be replayed.
flepcCallerReference :: Lens' FieldLevelEncryptionProfileConfig Text
-- | A complex data type of encryption entities for the field-level
-- encryption profile that include the public key ID, provider, and field
-- patterns for specifying which fields to encrypt with this key.
flepcEncryptionEntities :: Lens' FieldLevelEncryptionProfileConfig EncryptionEntities
-- | List of field-level encryption profiles.
--
-- See: fieldLevelEncryptionProfileList smart constructor.
data FieldLevelEncryptionProfileList
-- | Creates a value of FieldLevelEncryptionProfileList with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - fleplItems - The field-level encryption profile items.
-- - fleplNextMarker - If there are more elements to be listed,
-- this element is present and contains the value that you can use for
-- the Marker request parameter to continue listing your
-- profiles where you left off.
-- - fleplMaxItems - The maximum number of field-level
-- encryption profiles you want in the response body.
-- - fleplQuantity - The number of field-level encryption
-- profiles.
--
fieldLevelEncryptionProfileList :: Int -> Int -> FieldLevelEncryptionProfileList
-- | The field-level encryption profile items.
fleplItems :: Lens' FieldLevelEncryptionProfileList [FieldLevelEncryptionProfileSummary]
-- | If there are more elements to be listed, this element is present and
-- contains the value that you can use for the Marker request
-- parameter to continue listing your profiles where you left off.
fleplNextMarker :: Lens' FieldLevelEncryptionProfileList (Maybe Text)
-- | The maximum number of field-level encryption profiles you want in the
-- response body.
fleplMaxItems :: Lens' FieldLevelEncryptionProfileList Int
-- | The number of field-level encryption profiles.
fleplQuantity :: Lens' FieldLevelEncryptionProfileList Int
-- | The field-level encryption profile summary.
--
-- See: fieldLevelEncryptionProfileSummary smart
-- constructor.
data FieldLevelEncryptionProfileSummary
-- | Creates a value of FieldLevelEncryptionProfileSummary with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - flepsComment - An optional comment for the field-level
-- encryption profile summary.
-- - flepsId - ID for the field-level encryption profile
-- summary.
-- - flepsLastModifiedTime - The time when the the field-level
-- encryption profile summary was last updated.
-- - flepsName - Name for the field-level encryption profile
-- summary.
-- - flepsEncryptionEntities - A complex data type of encryption
-- entities for the field-level encryption profile that include the
-- public key ID, provider, and field patterns for specifying which
-- fields to encrypt with this key.
--
fieldLevelEncryptionProfileSummary :: Text -> UTCTime -> Text -> EncryptionEntities -> FieldLevelEncryptionProfileSummary
-- | An optional comment for the field-level encryption profile summary.
flepsComment :: Lens' FieldLevelEncryptionProfileSummary (Maybe Text)
-- | ID for the field-level encryption profile summary.
flepsId :: Lens' FieldLevelEncryptionProfileSummary Text
-- | The time when the the field-level encryption profile summary was last
-- updated.
flepsLastModifiedTime :: Lens' FieldLevelEncryptionProfileSummary UTCTime
-- | Name for the field-level encryption profile summary.
flepsName :: Lens' FieldLevelEncryptionProfileSummary Text
-- | A complex data type of encryption entities for the field-level
-- encryption profile that include the public key ID, provider, and field
-- patterns for specifying which fields to encrypt with this key.
flepsEncryptionEntities :: Lens' FieldLevelEncryptionProfileSummary EncryptionEntities
-- | A summary of a field-level encryption item.
--
-- See: fieldLevelEncryptionSummary smart constructor.
data FieldLevelEncryptionSummary
-- | Creates a value of FieldLevelEncryptionSummary with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
fieldLevelEncryptionSummary :: Text -> UTCTime -> FieldLevelEncryptionSummary
-- | A summary of a query argument-profile mapping.
flesQueryArgProfileConfig :: Lens' FieldLevelEncryptionSummary (Maybe QueryArgProfileConfig)
-- | A summary of a content type-profile mapping.
flesContentTypeProfileConfig :: Lens' FieldLevelEncryptionSummary (Maybe ContentTypeProfileConfig)
-- | An optional comment about the field-level encryption item.
flesComment :: Lens' FieldLevelEncryptionSummary (Maybe Text)
-- | The unique ID of a field-level encryption item.
flesId :: Lens' FieldLevelEncryptionSummary Text
-- | The last time that the summary of field-level encryption items was
-- modified.
flesLastModifiedTime :: Lens' FieldLevelEncryptionSummary UTCTime
-- | A complex data type that includes the field patterns to match for
-- field-level encryption.
--
-- See: fieldPatterns smart constructor.
data FieldPatterns
-- | Creates a value of FieldPatterns with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - fpItems - An array of the field-level encryption field
-- patterns.
-- - fpQuantity - The number of field-level encryption field
-- patterns.
--
fieldPatterns :: Int -> FieldPatterns
-- | An array of the field-level encryption field patterns.
fpItems :: Lens' FieldPatterns [Text]
-- | The number of field-level encryption field patterns.
fpQuantity :: Lens' FieldPatterns Int
-- | A complex type that specifies how CloudFront handles query strings and
-- cookies.
--
-- See: forwardedValues smart constructor.
data ForwardedValues
-- | Creates a value of ForwardedValues with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - fvQueryStringCacheKeys - A complex type that contains
-- information about the query string parameters that you want CloudFront
-- to use for caching for this cache behavior.
-- - fvHeaders - A complex type that specifies the
-- Headers , if any, that you want CloudFront to base caching on
-- for this cache behavior.
-- - fvQueryString - Indicates whether you want CloudFront to
-- forward query strings to the origin that is associated with this cache
-- behavior and cache based on the query string parameters. CloudFront
-- behavior depends on the value of QueryString and on the
-- values that you specify for QueryStringCacheKeys , if any: If
-- you specify true for QueryString and you don't specify any
-- values for QueryStringCacheKeys , CloudFront forwards all
-- query string parameters to the origin and caches based on all query
-- string parameters. Depending on how many query string parameters and
-- values you have, this can adversely affect performance because
-- CloudFront must forward more requests to the origin. If you specify
-- true for QueryString and you specify one or more values for
-- QueryStringCacheKeys , CloudFront forwards all query string
-- parameters to the origin, but it only caches based on the query string
-- parameters that you specify. If you specify false for
-- QueryString , CloudFront doesn't forward any query string
-- parameters to the origin, and doesn't cache based on query string
-- parameters. For more information, see Configuring CloudFront to
-- Cache Based on Query String Parameters in the Amazon CloudFront
-- Developer Guide .
-- - fvCookies - A complex type that specifies whether you want
-- CloudFront to forward cookies to the origin and, if so, which ones.
-- For more information about forwarding cookies to the origin, see
-- How CloudFront Forwards, Caches, and Logs Cookies in the
-- Amazon CloudFront Developer Guide .
--
forwardedValues :: Bool -> CookiePreference -> ForwardedValues
-- | A complex type that contains information about the query string
-- parameters that you want CloudFront to use for caching for this cache
-- behavior.
fvQueryStringCacheKeys :: Lens' ForwardedValues (Maybe QueryStringCacheKeys)
-- | A complex type that specifies the Headers , if any, that you
-- want CloudFront to base caching on for this cache behavior.
fvHeaders :: Lens' ForwardedValues (Maybe Headers)
-- | Indicates whether you want CloudFront to forward query strings to the
-- origin that is associated with this cache behavior and cache based on
-- the query string parameters. CloudFront behavior depends on the value
-- of QueryString and on the values that you specify for
-- QueryStringCacheKeys , if any: If you specify true for
-- QueryString and you don't specify any values for
-- QueryStringCacheKeys , CloudFront forwards all query string
-- parameters to the origin and caches based on all query string
-- parameters. Depending on how many query string parameters and values
-- you have, this can adversely affect performance because CloudFront
-- must forward more requests to the origin. If you specify true for
-- QueryString and you specify one or more values for
-- QueryStringCacheKeys , CloudFront forwards all query string
-- parameters to the origin, but it only caches based on the query string
-- parameters that you specify. If you specify false for
-- QueryString , CloudFront doesn't forward any query string
-- parameters to the origin, and doesn't cache based on query string
-- parameters. For more information, see Configuring CloudFront to
-- Cache Based on Query String Parameters in the Amazon CloudFront
-- Developer Guide .
fvQueryString :: Lens' ForwardedValues Bool
-- | A complex type that specifies whether you want CloudFront to forward
-- cookies to the origin and, if so, which ones. For more information
-- about forwarding cookies to the origin, see How CloudFront
-- Forwards, Caches, and Logs Cookies in the Amazon CloudFront
-- Developer Guide .
fvCookies :: Lens' ForwardedValues CookiePreference
-- | A complex type that controls the countries in which your content is
-- distributed. CloudFront determines the location of your users using
-- MaxMind GeoIP databases.
--
-- See: geoRestriction smart constructor.
data GeoRestriction
-- | Creates a value of GeoRestriction with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - grItems - A complex type that contains a Location
-- element for each country in which you want CloudFront either to
-- distribute your content (whitelist ) or not distribute your
-- content (blacklist ). The Location element is a
-- two-letter, uppercase country code for a country that you want to
-- include in your blacklist or whitelist . Include one
-- Location element for each country. CloudFront and
-- MaxMind both use ISO 3166 country codes. For the
-- current list of countries and the corresponding codes, see ISO
-- 3166-1-alpha-2 code on the International Organization for
-- Standardization website. You can also refer to the country list on
-- the CloudFront console, which includes both country names and
-- codes.
-- - grRestrictionType - The method that you want to use to
-- restrict distribution of your content by country: * none : No
-- geo restriction is enabled, meaning access to content is not
-- restricted by client geo location. * blacklist : The
-- Location elements specify the countries in which you don't
-- want CloudFront to distribute your content. * whitelist : The
-- Location elements specify the countries in which you want
-- CloudFront to distribute your content.
-- - grQuantity - When geo restriction is enabled ,
-- this is the number of countries in your whitelist or
-- blacklist . Otherwise, when it is not enabled,
-- Quantity is 0 , and you can omit Items
-- .
--
geoRestriction :: GeoRestrictionType -> Int -> GeoRestriction
-- | A complex type that contains a Location element for each
-- country in which you want CloudFront either to distribute your content
-- (whitelist ) or not distribute your content
-- (blacklist ). The Location element is a two-letter,
-- uppercase country code for a country that you want to include in your
-- blacklist or whitelist . Include one
-- Location element for each country. CloudFront and
-- MaxMind both use ISO 3166 country codes. For the
-- current list of countries and the corresponding codes, see ISO
-- 3166-1-alpha-2 code on the International Organization for
-- Standardization website. You can also refer to the country list on
-- the CloudFront console, which includes both country names and codes.
grItems :: Lens' GeoRestriction [Text]
-- | The method that you want to use to restrict distribution of your
-- content by country: * none : No geo restriction is enabled,
-- meaning access to content is not restricted by client geo location. *
-- blacklist : The Location elements specify the
-- countries in which you don't want CloudFront to distribute your
-- content. * whitelist : The Location elements specify
-- the countries in which you want CloudFront to distribute your content.
grRestrictionType :: Lens' GeoRestriction GeoRestrictionType
-- | When geo restriction is enabled , this is the number of
-- countries in your whitelist or blacklist .
-- Otherwise, when it is not enabled, Quantity is 0 ,
-- and you can omit Items .
grQuantity :: Lens' GeoRestriction Int
-- | A complex type that specifies the request headers, if any, that you
-- want CloudFront to base caching on for this cache behavior.
--
-- For the headers that you specify, CloudFront caches separate versions
-- of a specified object based on the header values in viewer requests.
-- For example, suppose viewer requests for logo.jpg contain a
-- custom product header that has a value of either
-- acme or apex , and you configure CloudFront to cache
-- your content based on values in the product header.
-- CloudFront forwards the product header to the origin and
-- caches the response from the origin once for each header value. For
-- more information about caching based on header values, see How
-- CloudFront Forwards and Caches Headers in the Amazon CloudFront
-- Developer Guide .
--
-- See: headers smart constructor.
data Headers
-- | Creates a value of Headers with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - hItems - A list that contains one Name element for
-- each header that you want CloudFront to use for caching in this cache
-- behavior. If Quantity is 0 , omit Items
-- .
-- - hQuantity - The number of different headers that you want
-- CloudFront to base caching on for this cache behavior. You can
-- configure each cache behavior in a web distribution to do one of the
-- following: * Forward all headers to your origin : Specify
-- 1 for Quantity and * for Name .
-- Important: CloudFront doesn't cache the objects that are
-- associated with this cache behavior. Instead, CloudFront sends every
-- request to the origin. * Forward a whitelist of headers you
-- specify : Specify the number of headers that you want CloudFront
-- to base caching on. Then specify the header names in Name
-- elements. CloudFront caches your objects based on the values in the
-- specified headers. * Forward only the default headers : Specify
-- 0 for Quantity and omit Items . In this
-- configuration, CloudFront doesn't cache based on the values in the
-- request headers. Regardless of which option you choose, CloudFront
-- forwards headers to your origin based on whether the origin is an S3
-- bucket or a custom origin. See the following documentation: * S3
-- bucket : See HTTP Request Headers That CloudFront Removes or
-- Updates * Custom origin : See HTTP Request Headers and
-- CloudFront Behavior
--
headers :: Int -> Headers
-- | A list that contains one Name element for each header that
-- you want CloudFront to use for caching in this cache behavior. If
-- Quantity is 0 , omit Items .
hItems :: Lens' Headers [Text]
-- | The number of different headers that you want CloudFront to base
-- caching on for this cache behavior. You can configure each cache
-- behavior in a web distribution to do one of the following: *
-- Forward all headers to your origin : Specify 1 for
-- Quantity and * for Name . Important:
-- CloudFront doesn't cache the objects that are associated with this
-- cache behavior. Instead, CloudFront sends every request to the origin.
-- * Forward a whitelist of headers you specify : Specify the
-- number of headers that you want CloudFront to base caching on. Then
-- specify the header names in Name elements. CloudFront caches
-- your objects based on the values in the specified headers. *
-- Forward only the default headers : Specify 0 for
-- Quantity and omit Items . In this configuration,
-- CloudFront doesn't cache based on the values in the request headers.
-- Regardless of which option you choose, CloudFront forwards headers to
-- your origin based on whether the origin is an S3 bucket or a custom
-- origin. See the following documentation: * S3 bucket : See
-- HTTP Request Headers That CloudFront Removes or Updates *
-- Custom origin : See HTTP Request Headers and CloudFront
-- Behavior
hQuantity :: Lens' Headers Int
-- | An invalidation.
--
-- See: invalidation smart constructor.
data Invalidation
-- | Creates a value of Invalidation with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - iId - The identifier for the invalidation request. For
-- example: IDFDVBD632BHDS5 .
-- - iStatus - The status of the invalidation request. When the
-- invalidation batch is finished, the status is Completed
-- .
-- - iCreateTime - The date and time the invalidation request
-- was first made.
-- - iInvalidationBatch - The current invalidation information
-- for the batch request.
--
invalidation :: Text -> Text -> UTCTime -> InvalidationBatch -> Invalidation
-- | The identifier for the invalidation request. For example:
-- IDFDVBD632BHDS5 .
iId :: Lens' Invalidation Text
-- | The status of the invalidation request. When the invalidation batch is
-- finished, the status is Completed .
iStatus :: Lens' Invalidation Text
-- | The date and time the invalidation request was first made.
iCreateTime :: Lens' Invalidation UTCTime
-- | The current invalidation information for the batch request.
iInvalidationBatch :: Lens' Invalidation InvalidationBatch
-- | An invalidation batch.
--
-- See: invalidationBatch smart constructor.
data InvalidationBatch
-- | Creates a value of InvalidationBatch with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - ibPaths - A complex type that contains information about
-- the objects that you want to invalidate. For more information, see
-- Specifying the Objects to Invalidate in the Amazon
-- CloudFront Developer Guide .
-- - ibCallerReference - A value that you specify to uniquely
-- identify an invalidation request. CloudFront uses the value to prevent
-- you from accidentally resubmitting an identical request. Whenever you
-- create a new invalidation request, you must specify a new value for
-- CallerReference and change other values in the request as
-- applicable. One way to ensure that the value of
-- CallerReference is unique is to use a timestamp ,
-- for example, 20120301090000 . If you make a second
-- invalidation request with the same value for CallerReference
-- , and if the rest of the request is the same, CloudFront doesn't
-- create a new invalidation request. Instead, CloudFront returns
-- information about the invalidation request that you previously created
-- with the same CallerReference . If CallerReference
-- is a value you already sent in a previous invalidation batch request
-- but the content of any Path is different from the original
-- request, CloudFront returns an InvalidationBatchAlreadyExists
-- error.
--
invalidationBatch :: Paths -> Text -> InvalidationBatch
-- | A complex type that contains information about the objects that you
-- want to invalidate. For more information, see Specifying the
-- Objects to Invalidate in the Amazon CloudFront Developer
-- Guide .
ibPaths :: Lens' InvalidationBatch Paths
-- | A value that you specify to uniquely identify an invalidation request.
-- CloudFront uses the value to prevent you from accidentally
-- resubmitting an identical request. Whenever you create a new
-- invalidation request, you must specify a new value for
-- CallerReference and change other values in the request as
-- applicable. One way to ensure that the value of
-- CallerReference is unique is to use a timestamp ,
-- for example, 20120301090000 . If you make a second
-- invalidation request with the same value for CallerReference
-- , and if the rest of the request is the same, CloudFront doesn't
-- create a new invalidation request. Instead, CloudFront returns
-- information about the invalidation request that you previously created
-- with the same CallerReference . If CallerReference
-- is a value you already sent in a previous invalidation batch request
-- but the content of any Path is different from the original
-- request, CloudFront returns an InvalidationBatchAlreadyExists
-- error.
ibCallerReference :: Lens' InvalidationBatch Text
-- | The InvalidationList complex type describes the list of
-- invalidation objects. For more information about invalidation, see
-- Invalidating Objects (Web Distributions Only) in the Amazon
-- CloudFront Developer Guide .
--
-- See: invalidationList smart constructor.
data InvalidationList
-- | Creates a value of InvalidationList with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - ilItems - A complex type that contains one
-- InvalidationSummary element for each invalidation batch
-- created by the current AWS account.
-- - ilNextMarker - If IsTruncated is true ,
-- this element is present and contains the value that you can use for
-- the Marker request parameter to continue listing your
-- invalidation batches where they left off.
-- - ilMarker - The value that you provided for the
-- Marker request parameter.
-- - ilMaxItems - The value that you provided for the
-- MaxItems request parameter.
-- - ilIsTruncated - A flag that indicates whether more
-- invalidation batch requests remain to be listed. If your results were
-- truncated, you can make a follow-up pagination request using the
-- Marker request parameter to retrieve more invalidation
-- batches in the list.
-- - ilQuantity - The number of invalidation batches that were
-- created by the current AWS account.
--
invalidationList :: Text -> Int -> Bool -> Int -> InvalidationList
-- | A complex type that contains one InvalidationSummary element
-- for each invalidation batch created by the current AWS account.
ilItems :: Lens' InvalidationList [InvalidationSummary]
-- | If IsTruncated is true , this element is present and
-- contains the value that you can use for the Marker request
-- parameter to continue listing your invalidation batches where they
-- left off.
ilNextMarker :: Lens' InvalidationList (Maybe Text)
-- | The value that you provided for the Marker request parameter.
ilMarker :: Lens' InvalidationList Text
-- | The value that you provided for the MaxItems request
-- parameter.
ilMaxItems :: Lens' InvalidationList Int
-- | A flag that indicates whether more invalidation batch requests remain
-- to be listed. If your results were truncated, you can make a follow-up
-- pagination request using the Marker request parameter to
-- retrieve more invalidation batches in the list.
ilIsTruncated :: Lens' InvalidationList Bool
-- | The number of invalidation batches that were created by the current
-- AWS account.
ilQuantity :: Lens' InvalidationList Int
-- | A summary of an invalidation request.
--
-- See: invalidationSummary smart constructor.
data InvalidationSummary
-- | Creates a value of InvalidationSummary with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - isId - The unique ID for an invalidation request.
-- - isCreateTime - Undocumented member.
-- - isStatus - The status of an invalidation request.
--
invalidationSummary :: Text -> UTCTime -> Text -> InvalidationSummary
-- | The unique ID for an invalidation request.
isId :: Lens' InvalidationSummary Text
-- | Undocumented member.
isCreateTime :: Lens' InvalidationSummary UTCTime
-- | The status of an invalidation request.
isStatus :: Lens' InvalidationSummary Text
-- | A complex type that lists the active CloudFront key pairs, if any,
-- that are associated with AwsAccountNumber .
--
-- For more information, see ActiveTrustedSigners .
--
-- See: keyPairIds smart constructor.
data KeyPairIds
-- | Creates a value of KeyPairIds with the minimum fields required
-- to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - kpiItems - A complex type that lists the active CloudFront
-- key pairs, if any, that are associated with AwsAccountNumber
-- . For more information, see ActiveTrustedSigners .
-- - kpiQuantity - The number of active CloudFront key pairs for
-- AwsAccountNumber . For more information, see
-- ActiveTrustedSigners .
--
keyPairIds :: Int -> KeyPairIds
-- | A complex type that lists the active CloudFront key pairs, if any,
-- that are associated with AwsAccountNumber . For more
-- information, see ActiveTrustedSigners .
kpiItems :: Lens' KeyPairIds [Text]
-- | The number of active CloudFront key pairs for
-- AwsAccountNumber . For more information, see
-- ActiveTrustedSigners .
kpiQuantity :: Lens' KeyPairIds Int
-- | A complex type that contains a Lambda function association.
--
-- See: lambdaFunctionAssociation smart constructor.
data LambdaFunctionAssociation
-- | Creates a value of LambdaFunctionAssociation with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - lfaLambdaFunctionARN - The ARN of the Lambda function. You
-- must specify the ARN of a function version; you can't specify a Lambda
-- alias or $LATEST.
-- - lfaEventType - Specifies the event type that triggers a
-- Lambda function invocation. You can specify the following values: *
-- viewer-request : The function executes when CloudFront
-- receives a request from a viewer and before it checks to see whether
-- the requested object is in the edge cache. * origin-request :
-- The function executes only when CloudFront forwards a request to your
-- origin. When the requested object is in the edge cache, the function
-- doesn't execute. * origin-response : The function executes
-- after CloudFront receives a response from the origin and before it
-- caches the object in the response. When the requested object is in the
-- edge cache, the function doesn't execute. If the origin returns an
-- HTTP status code other than HTTP 200 (OK), the function doesn't
-- execute. * viewer-response : The function executes before
-- CloudFront returns the requested object to the viewer. The function
-- executes regardless of whether the object was already in the edge
-- cache. If the origin returns an HTTP status code other than HTTP 200
-- (OK), the function doesn't execute.
--
lambdaFunctionAssociation :: Text -> EventType -> LambdaFunctionAssociation
-- | The ARN of the Lambda function. You must specify the ARN of a function
-- version; you can't specify a Lambda alias or $LATEST.
lfaLambdaFunctionARN :: Lens' LambdaFunctionAssociation Text
-- | Specifies the event type that triggers a Lambda function invocation.
-- You can specify the following values: * viewer-request : The
-- function executes when CloudFront receives a request from a viewer and
-- before it checks to see whether the requested object is in the edge
-- cache. * origin-request : The function executes only when
-- CloudFront forwards a request to your origin. When the requested
-- object is in the edge cache, the function doesn't execute. *
-- origin-response : The function executes after CloudFront
-- receives a response from the origin and before it caches the object in
-- the response. When the requested object is in the edge cache, the
-- function doesn't execute. If the origin returns an HTTP status code
-- other than HTTP 200 (OK), the function doesn't execute. *
-- viewer-response : The function executes before CloudFront
-- returns the requested object to the viewer. The function executes
-- regardless of whether the object was already in the edge cache. If the
-- origin returns an HTTP status code other than HTTP 200 (OK), the
-- function doesn't execute.
lfaEventType :: Lens' LambdaFunctionAssociation EventType
-- | A complex type that specifies a list of Lambda functions associations
-- for a cache behavior.
--
-- If you want to invoke one or more Lambda functions triggered by
-- requests that match the PathPattern of the cache behavior,
-- specify the applicable values for Quantity and Items
-- . Note that there can be up to 4 LambdaFunctionAssociation
-- items in this list (one for each possible value of EventType
-- ) and each EventType can be associated with the Lambda
-- function only once.
--
-- If you don't want to invoke any Lambda functions for the requests that
-- match PathPattern , specify 0 for Quantity
-- and omit Items .
--
-- See: lambdaFunctionAssociations smart constructor.
data LambdaFunctionAssociations
-- | Creates a value of LambdaFunctionAssociations with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - lfaItems - Optional : A complex type that contains
-- LambdaFunctionAssociation items for this cache behavior. If
-- Quantity is 0 , you can omit Items .
-- - lfaQuantity - The number of Lambda function associations
-- for this cache behavior.
--
lambdaFunctionAssociations :: Int -> LambdaFunctionAssociations
-- | Optional : A complex type that contains
-- LambdaFunctionAssociation items for this cache behavior. If
-- Quantity is 0 , you can omit Items .
lfaItems :: Lens' LambdaFunctionAssociations [LambdaFunctionAssociation]
-- | The number of Lambda function associations for this cache behavior.
lfaQuantity :: Lens' LambdaFunctionAssociations Int
-- | A complex type that controls whether access logs are written for the
-- distribution.
--
-- See: loggingConfig smart constructor.
data LoggingConfig
-- | Creates a value of LoggingConfig with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - lcEnabled - Specifies whether you want CloudFront to save
-- access logs to an Amazon S3 bucket. If you don't want to enable
-- logging when you create a distribution or if you want to disable
-- logging for an existing distribution, specify false for
-- Enabled , and specify empty Bucket and
-- Prefix elements. If you specify false for
-- Enabled but you specify values for Bucket ,
-- prefix , and IncludeCookies , the values are
-- automatically deleted.
-- - lcIncludeCookies - Specifies whether you want CloudFront to
-- include cookies in access logs, specify true for
-- IncludeCookies . If you choose to include cookies in logs,
-- CloudFront logs all cookies regardless of how you configure the cache
-- behaviors for this distribution. If you don't want to include cookies
-- when you create a distribution or if you want to disable include
-- cookies for an existing distribution, specify false for
-- IncludeCookies .
-- - lcBucket - The Amazon S3 bucket to store the access logs
-- in, for example, myawslogbucket.s3.amazonaws.com .
-- - lcPrefix - An optional string that you want CloudFront to
-- prefix to the access log filenames for this distribution, for
-- example, myprefix/ . If you want to enable logging, but you
-- don't want to specify a prefix, you still must include an empty
-- Prefix element in the Logging element.
--
loggingConfig :: Bool -> Bool -> Text -> Text -> LoggingConfig
-- | Specifies whether you want CloudFront to save access logs to an Amazon
-- S3 bucket. If you don't want to enable logging when you create a
-- distribution or if you want to disable logging for an existing
-- distribution, specify false for Enabled , and
-- specify empty Bucket and Prefix elements. If you
-- specify false for Enabled but you specify values for
-- Bucket , prefix , and IncludeCookies , the
-- values are automatically deleted.
lcEnabled :: Lens' LoggingConfig Bool
-- | Specifies whether you want CloudFront to include cookies in access
-- logs, specify true for IncludeCookies . If you
-- choose to include cookies in logs, CloudFront logs all cookies
-- regardless of how you configure the cache behaviors for this
-- distribution. If you don't want to include cookies when you create a
-- distribution or if you want to disable include cookies for an existing
-- distribution, specify false for IncludeCookies .
lcIncludeCookies :: Lens' LoggingConfig Bool
-- | The Amazon S3 bucket to store the access logs in, for example,
-- myawslogbucket.s3.amazonaws.com .
lcBucket :: Lens' LoggingConfig Text
-- | An optional string that you want CloudFront to prefix to the access
-- log filenames for this distribution, for example,
-- myprefix/ . If you want to enable logging, but you don't want
-- to specify a prefix, you still must include an empty Prefix
-- element in the Logging element.
lcPrefix :: Lens' LoggingConfig Text
-- | A complex type that describes the Amazon S3 bucket or the HTTP server
-- (for example, a web server) from which CloudFront gets your files. You
-- must create at least one origin.
--
-- For the current limit on the number of origins that you can create for
-- a distribution, see Amazon CloudFront Limits in the AWS
-- General Reference .
--
-- See: origin smart constructor.
data Origin
-- | Creates a value of Origin with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - oCustomHeaders - A complex type that contains names and
-- values for the custom headers that you want.
-- - oCustomOriginConfig - A complex type that contains
-- information about a custom origin. If the origin is an Amazon S3
-- bucket, use the S3OriginConfig element instead.
-- - oS3OriginConfig - A complex type that contains information
-- about the Amazon S3 origin. If the origin is a custom origin, use the
-- CustomOriginConfig element instead.
-- - oOriginPath - An optional element that causes CloudFront to
-- request your content from a directory in your Amazon S3 bucket or your
-- custom origin. When you include the OriginPath element,
-- specify the directory name, beginning with a / . CloudFront
-- appends the directory name to the value of DomainName , for
-- example, example.com/production . Do not include a /
-- at the end of the directory name. For example, suppose you've
-- specified the following values for your distribution: *
-- DomainName : An Amazon S3 bucket named myawsbucket .
-- * OriginPath : /production * CNAME :
-- example.com When a user enters
-- example.com/index.html in a browser, CloudFront sends a
-- request to Amazon S3 for
-- myawsbucketproductionindex.html . When a user enters
-- example.comacmeindex.html in a browser, CloudFront
-- sends a request to Amazon S3 for
-- myawsbucketproductionacme/index.html .
-- - oId - A unique identifier for the origin. The value of
-- Id must be unique within the distribution. When you specify
-- the value of TargetOriginId for the default cache behavior or
-- for another cache behavior, you indicate the origin to which you want
-- the cache behavior to route requests by specifying the value of the
-- Id element for that origin. When a request matches the path
-- pattern for that cache behavior, CloudFront routes the request to the
-- specified origin. For more information, see Cache Behavior
-- Settings in the Amazon CloudFront Developer Guide .
-- - oDomainName - Amazon S3 origins : The DNS name of
-- the Amazon S3 bucket from which you want CloudFront to get objects for
-- this origin, for example, myawsbucket.s3.amazonaws.com .
-- Constraints for Amazon S3 origins: * If you configured Amazon S3
-- Transfer Acceleration for your bucket, don't specify the
-- s3-accelerate endpoint for DomainName . * The bucket
-- name must be between 3 and 63 characters long (inclusive). * The
-- bucket name must contain only lowercase characters, numbers, periods,
-- underscores, and dashes. * The bucket name must not contain adjacent
-- periods. Custom Origins : The DNS domain name for the HTTP
-- server from which you want CloudFront to get objects for this origin,
-- for example, www.example.com . Constraints for custom
-- origins: * DomainName must be a valid DNS name that contains
-- only a-z, A-Z, 0-9, dot (.), hyphen (-), or underscore (_) characters.
-- * The name cannot exceed 128 characters.
--
origin :: Text -> Text -> Origin
-- | A complex type that contains names and values for the custom headers
-- that you want.
oCustomHeaders :: Lens' Origin (Maybe CustomHeaders)
-- | A complex type that contains information about a custom origin. If the
-- origin is an Amazon S3 bucket, use the S3OriginConfig element
-- instead.
oCustomOriginConfig :: Lens' Origin (Maybe CustomOriginConfig)
-- | A complex type that contains information about the Amazon S3 origin.
-- If the origin is a custom origin, use the CustomOriginConfig
-- element instead.
oS3OriginConfig :: Lens' Origin (Maybe S3OriginConfig)
-- | An optional element that causes CloudFront to request your content
-- from a directory in your Amazon S3 bucket or your custom origin. When
-- you include the OriginPath element, specify the directory
-- name, beginning with a / . CloudFront appends the directory
-- name to the value of DomainName , for example,
-- example.com/production . Do not include a / at the
-- end of the directory name. For example, suppose you've specified the
-- following values for your distribution: * DomainName : An
-- Amazon S3 bucket named myawsbucket . * OriginPath :
-- /production * CNAME : example.com When a
-- user enters example.com/index.html in a browser, CloudFront
-- sends a request to Amazon S3 for
-- myawsbucketproductionindex.html . When a user enters
-- example.comacmeindex.html in a browser, CloudFront
-- sends a request to Amazon S3 for
-- myawsbucketproductionacme/index.html .
oOriginPath :: Lens' Origin (Maybe Text)
-- | A unique identifier for the origin. The value of Id must be
-- unique within the distribution. When you specify the value of
-- TargetOriginId for the default cache behavior or for another
-- cache behavior, you indicate the origin to which you want the cache
-- behavior to route requests by specifying the value of the Id
-- element for that origin. When a request matches the path pattern for
-- that cache behavior, CloudFront routes the request to the specified
-- origin. For more information, see Cache Behavior Settings in
-- the Amazon CloudFront Developer Guide .
oId :: Lens' Origin Text
-- | Amazon S3 origins : The DNS name of the Amazon S3 bucket from
-- which you want CloudFront to get objects for this origin, for example,
-- myawsbucket.s3.amazonaws.com . Constraints for Amazon S3
-- origins: * If you configured Amazon S3 Transfer Acceleration for your
-- bucket, don't specify the s3-accelerate endpoint for
-- DomainName . * The bucket name must be between 3 and 63
-- characters long (inclusive). * The bucket name must contain only
-- lowercase characters, numbers, periods, underscores, and dashes. * The
-- bucket name must not contain adjacent periods. Custom Origins :
-- The DNS domain name for the HTTP server from which you want CloudFront
-- to get objects for this origin, for example, www.example.com
-- . Constraints for custom origins: * DomainName must be a
-- valid DNS name that contains only a-z, A-Z, 0-9, dot (.), hyphen (-),
-- or underscore (_) characters. * The name cannot exceed 128 characters.
oDomainName :: Lens' Origin Text
-- | A complex type that contains HeaderName and
-- HeaderValue elements, if any, for this distribution.
--
-- See: originCustomHeader smart constructor.
data OriginCustomHeader
-- | Creates a value of OriginCustomHeader with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
originCustomHeader :: Text -> Text -> OriginCustomHeader
-- | The name of a header that you want CloudFront to forward to your
-- origin. For more information, see Forwarding Custom Headers to Your
-- Origin (Web Distributions Only) in the Amazon Amazon CloudFront
-- Developer Guide .
ochHeaderName :: Lens' OriginCustomHeader Text
-- | The value for the header that you specified in the HeaderName
-- field.
ochHeaderValue :: Lens' OriginCustomHeader Text
-- | A complex type that contains information about the SSL/TLS protocols
-- that CloudFront can use when establishing an HTTPS connection with
-- your origin.
--
-- See: originSSLProtocols smart constructor.
data OriginSSLProtocols
-- | Creates a value of OriginSSLProtocols with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - ospQuantity - The number of SSL/TLS protocols that you want
-- to allow CloudFront to use when establishing an HTTPS connection with
-- this origin.
-- - ospItems - A list that contains allowed SSL/TLS protocols
-- for this distribution.
--
originSSLProtocols :: Int -> OriginSSLProtocols
-- | The number of SSL/TLS protocols that you want to allow CloudFront to
-- use when establishing an HTTPS connection with this origin.
ospQuantity :: Lens' OriginSSLProtocols Int
-- | A list that contains allowed SSL/TLS protocols for this distribution.
ospItems :: Lens' OriginSSLProtocols [SSLProtocol]
-- | A complex type that contains information about origins for this
-- distribution.
--
-- See: origins smart constructor.
data Origins
-- | Creates a value of Origins with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - oItems - A complex type that contains origins for this
-- distribution.
-- - oQuantity - The number of origins for this
-- distribution.
--
origins :: Int -> Origins
-- | A complex type that contains origins for this distribution.
oItems :: Lens' Origins (Maybe (NonEmpty Origin))
-- | The number of origins for this distribution.
oQuantity :: Lens' Origins Int
-- | A complex type that contains information about the objects that you
-- want to invalidate. For more information, see Specifying the
-- Objects to Invalidate in the Amazon CloudFront Developer
-- Guide .
--
-- See: paths smart constructor.
data Paths
-- | Creates a value of Paths with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - pItems - A complex type that contains a list of the paths
-- that you want to invalidate.
-- - pQuantity - The number of objects that you want to
-- invalidate.
--
paths :: Int -> Paths
-- | A complex type that contains a list of the paths that you want to
-- invalidate.
pItems :: Lens' Paths [Text]
-- | The number of objects that you want to invalidate.
pQuantity :: Lens' Paths Int
-- | A complex data type of public keys you add to CloudFront to use with
-- features like field-level encryption.
--
-- See: publicKey smart constructor.
data PublicKey
-- | Creates a value of PublicKey with the minimum fields required
-- to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - pkId - A unique ID assigned to a public key you've added to
-- CloudFront.
-- - pkCreatedTime - A time you added a public key to
-- CloudFront.
-- - pkPublicKeyConfig - A complex data type for a public key
-- you add to CloudFront to use with features like field-level
-- encryption.
--
publicKey :: Text -> UTCTime -> PublicKeyConfig -> PublicKey
-- | A unique ID assigned to a public key you've added to CloudFront.
pkId :: Lens' PublicKey Text
-- | A time you added a public key to CloudFront.
pkCreatedTime :: Lens' PublicKey UTCTime
-- | A complex data type for a public key you add to CloudFront to use with
-- features like field-level encryption.
pkPublicKeyConfig :: Lens' PublicKey PublicKeyConfig
-- | Information about a public key you add to CloudFront to use with
-- features like field-level encryption.
--
-- See: publicKeyConfig smart constructor.
data PublicKeyConfig
-- | Creates a value of PublicKeyConfig with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - pkcComment - An optional comment about a public key.
-- - pkcCallerReference - A unique number that ensures the
-- request can't be replayed.
-- - pkcName - The name for a public key you add to CloudFront
-- to use with features like field-level encryption.
-- - pkcEncodedKey - The encoded public key that you want to add
-- to CloudFront to use with features like field-level encryption.
--
publicKeyConfig :: Text -> Text -> Text -> PublicKeyConfig
-- | An optional comment about a public key.
pkcComment :: Lens' PublicKeyConfig (Maybe Text)
-- | A unique number that ensures the request can't be replayed.
pkcCallerReference :: Lens' PublicKeyConfig Text
-- | The name for a public key you add to CloudFront to use with features
-- like field-level encryption.
pkcName :: Lens' PublicKeyConfig Text
-- | The encoded public key that you want to add to CloudFront to use with
-- features like field-level encryption.
pkcEncodedKey :: Lens' PublicKeyConfig Text
-- | A list of public keys you've added to CloudFront to use with features
-- like field-level encryption.
--
-- See: publicKeyList smart constructor.
data PublicKeyList
-- | Creates a value of PublicKeyList with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - pklItems - An array of information about a public key you
-- add to CloudFront to use with features like field-level
-- encryption.
-- - pklNextMarker - If there are more elements to be listed,
-- this element is present and contains the value that you can use for
-- the Marker request parameter to continue listing your public
-- keys where you left off.
-- - pklMaxItems - The maximum number of public keys you want in
-- the response body.
-- - pklQuantity - The number of public keys you added to
-- CloudFront to use with features like field-level encryption.
--
publicKeyList :: Int -> Int -> PublicKeyList
-- | An array of information about a public key you add to CloudFront to
-- use with features like field-level encryption.
pklItems :: Lens' PublicKeyList [PublicKeySummary]
-- | If there are more elements to be listed, this element is present and
-- contains the value that you can use for the Marker request
-- parameter to continue listing your public keys where you left off.
pklNextMarker :: Lens' PublicKeyList (Maybe Text)
-- | The maximum number of public keys you want in the response body.
pklMaxItems :: Lens' PublicKeyList Int
-- | The number of public keys you added to CloudFront to use with features
-- like field-level encryption.
pklQuantity :: Lens' PublicKeyList Int
-- | Public key information summary.
--
-- See: publicKeySummary smart constructor.
data PublicKeySummary
-- | Creates a value of PublicKeySummary with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - pksComment - Comment for public key information
-- summary.
-- - pksId - ID for public key information summary.
-- - pksName - Name for public key information summary.
-- - pksCreatedTime - Creation time for public key information
-- summary.
-- - pksEncodedKey - Encoded key for public key information
-- summary.
--
publicKeySummary :: Text -> Text -> UTCTime -> Text -> PublicKeySummary
-- | Comment for public key information summary.
pksComment :: Lens' PublicKeySummary (Maybe Text)
-- | ID for public key information summary.
pksId :: Lens' PublicKeySummary Text
-- | Name for public key information summary.
pksName :: Lens' PublicKeySummary Text
-- | Creation time for public key information summary.
pksCreatedTime :: Lens' PublicKeySummary UTCTime
-- | Encoded key for public key information summary.
pksEncodedKey :: Lens' PublicKeySummary Text
-- | Query argument-profile mapping for field-level encryption.
--
-- See: queryArgProfile smart constructor.
data QueryArgProfile
-- | Creates a value of QueryArgProfile with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - qapQueryArg - Query argument for field-level encryption
-- query argument-profile mapping.
-- - qapProfileId - ID of profile to use for field-level
-- encryption query argument-profile mapping
--
queryArgProfile :: Text -> Text -> QueryArgProfile
-- | Query argument for field-level encryption query argument-profile
-- mapping.
qapQueryArg :: Lens' QueryArgProfile Text
-- | ID of profile to use for field-level encryption query argument-profile
-- mapping
qapProfileId :: Lens' QueryArgProfile Text
-- | Configuration for query argument-profile mapping for field-level
-- encryption.
--
-- See: queryArgProfileConfig smart constructor.
data QueryArgProfileConfig
-- | Creates a value of QueryArgProfileConfig with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - qapcQueryArgProfiles - Profiles specified for query
-- argument-profile mapping for field-level encryption.
-- - qapcForwardWhenQueryArgProfileIsUnknown - Flag to set if
-- you want a request to be forwarded to the origin even if the profile
-- specified by the field-level encryption query argument, fle-profile,
-- is unknown.
--
queryArgProfileConfig :: Bool -> QueryArgProfileConfig
-- | Profiles specified for query argument-profile mapping for field-level
-- encryption.
qapcQueryArgProfiles :: Lens' QueryArgProfileConfig (Maybe QueryArgProfiles)
-- | Flag to set if you want a request to be forwarded to the origin even
-- if the profile specified by the field-level encryption query argument,
-- fle-profile, is unknown.
qapcForwardWhenQueryArgProfileIsUnknown :: Lens' QueryArgProfileConfig Bool
-- | Query argument-profile mapping for field-level encryption.
--
-- See: queryArgProfiles smart constructor.
data QueryArgProfiles
-- | Creates a value of QueryArgProfiles with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - qapItems - Number of items for query argument-profile
-- mapping for field-level encryption.
-- - qapQuantity - Number of profiles for query argument-profile
-- mapping for field-level encryption.
--
queryArgProfiles :: Int -> QueryArgProfiles
-- | Number of items for query argument-profile mapping for field-level
-- encryption.
qapItems :: Lens' QueryArgProfiles [QueryArgProfile]
-- | Number of profiles for query argument-profile mapping for field-level
-- encryption.
qapQuantity :: Lens' QueryArgProfiles Int
-- | See: queryStringCacheKeys smart constructor.
data QueryStringCacheKeys
-- | Creates a value of QueryStringCacheKeys with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - qsckItems - (Optional) A list that contains the query
-- string parameters that you want CloudFront to use as a basis for
-- caching for this cache behavior. If Quantity is 0, you can
-- omit Items .
-- - qsckQuantity - The number of whitelisted query
-- string parameters for this cache behavior.
--
queryStringCacheKeys :: Int -> QueryStringCacheKeys
-- | (Optional) A list that contains the query string parameters that you
-- want CloudFront to use as a basis for caching for this cache behavior.
-- If Quantity is 0, you can omit Items .
qsckItems :: Lens' QueryStringCacheKeys [Text]
-- | The number of whitelisted query string parameters for this
-- cache behavior.
qsckQuantity :: Lens' QueryStringCacheKeys Int
-- | A complex type that identifies ways in which you want to restrict
-- distribution of your content.
--
-- See: restrictions smart constructor.
data Restrictions
-- | Creates a value of Restrictions with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
restrictions :: GeoRestriction -> Restrictions
-- | Undocumented member.
rGeoRestriction :: Lens' Restrictions GeoRestriction
-- | A complex type that contains information about the Amazon S3 bucket
-- from which you want CloudFront to get your media files for
-- distribution.
--
-- See: s3Origin smart constructor.
data S3Origin
-- | Creates a value of S3Origin with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - soDomainName - The DNS name of the Amazon S3 origin.
-- - soOriginAccessIdentity - The CloudFront origin access
-- identity to associate with the RTMP distribution. Use an origin access
-- identity to configure the distribution so that end users can only
-- access objects in an Amazon S3 bucket through CloudFront. If you want
-- end users to be able to access objects using either the CloudFront URL
-- or the Amazon S3 URL, specify an empty OriginAccessIdentity
-- element. To delete the origin access identity from an existing
-- distribution, update the distribution configuration and include an
-- empty OriginAccessIdentity element. To replace the origin
-- access identity, update the distribution configuration and specify the
-- new origin access identity. For more information, see Using an
-- Origin Access Identity to Restrict Access to Your Amazon S3
-- Content in the Amazon Amazon CloudFront Developer Guide
-- .
--
s3Origin :: Text -> Text -> S3Origin
-- | The DNS name of the Amazon S3 origin.
soDomainName :: Lens' S3Origin Text
-- | The CloudFront origin access identity to associate with the RTMP
-- distribution. Use an origin access identity to configure the
-- distribution so that end users can only access objects in an Amazon S3
-- bucket through CloudFront. If you want end users to be able to access
-- objects using either the CloudFront URL or the Amazon S3 URL, specify
-- an empty OriginAccessIdentity element. To delete the origin
-- access identity from an existing distribution, update the distribution
-- configuration and include an empty OriginAccessIdentity
-- element. To replace the origin access identity, update the
-- distribution configuration and specify the new origin access identity.
-- For more information, see Using an Origin Access Identity to
-- Restrict Access to Your Amazon S3 Content in the Amazon Amazon
-- CloudFront Developer Guide .
soOriginAccessIdentity :: Lens' S3Origin Text
-- | A complex type that contains information about the Amazon S3 origin.
-- If the origin is a custom origin, use the CustomOriginConfig
-- element instead.
--
-- See: s3OriginConfig smart constructor.
data S3OriginConfig
-- | Creates a value of S3OriginConfig with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - socOriginAccessIdentity - The CloudFront origin access
-- identity to associate with the origin. Use an origin access identity
-- to configure the origin so that viewers can only access objects
-- in an Amazon S3 bucket through CloudFront. The format of the value is:
-- origin-access-identitycloudfrontID-of-origin-access-identity
-- where ID-of-origin-access-identity is the value that
-- CloudFront returned in the ID element when you created the
-- origin access identity. If you want viewers to be able to access
-- objects using either the CloudFront URL or the Amazon S3 URL, specify
-- an empty OriginAccessIdentity element. To delete the origin
-- access identity from an existing distribution, update the distribution
-- configuration and include an empty OriginAccessIdentity
-- element. To replace the origin access identity, update the
-- distribution configuration and specify the new origin access identity.
-- For more information about the origin access identity, see Serving
-- Private Content through CloudFront in the Amazon CloudFront
-- Developer Guide .
--
s3OriginConfig :: Text -> S3OriginConfig
-- | The CloudFront origin access identity to associate with the origin.
-- Use an origin access identity to configure the origin so that viewers
-- can only access objects in an Amazon S3 bucket through
-- CloudFront. The format of the value is:
-- origin-access-identitycloudfrontID-of-origin-access-identity
-- where ID-of-origin-access-identity is the value that
-- CloudFront returned in the ID element when you created the
-- origin access identity. If you want viewers to be able to access
-- objects using either the CloudFront URL or the Amazon S3 URL, specify
-- an empty OriginAccessIdentity element. To delete the origin
-- access identity from an existing distribution, update the distribution
-- configuration and include an empty OriginAccessIdentity
-- element. To replace the origin access identity, update the
-- distribution configuration and specify the new origin access identity.
-- For more information about the origin access identity, see Serving
-- Private Content through CloudFront in the Amazon CloudFront
-- Developer Guide .
socOriginAccessIdentity :: Lens' S3OriginConfig Text
-- | A complex type that lists the AWS accounts that were included in the
-- TrustedSigners complex type, as well as their active
-- CloudFront key pair IDs, if any.
--
-- See: signer smart constructor.
data Signer
-- | Creates a value of Signer with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - sAWSAccountNumber - An AWS account that is included in the
-- TrustedSigners complex type for this RTMP distribution. Valid
-- values include: * self , which is the AWS account used to
-- create the distribution. * An AWS account number.
-- - sKeyPairIds - A complex type that lists the active
-- CloudFront key pairs, if any, that are associated with
-- AwsAccountNumber .
--
signer :: Signer
-- | An AWS account that is included in the TrustedSigners complex
-- type for this RTMP distribution. Valid values include: * self
-- , which is the AWS account used to create the distribution. * An AWS
-- account number.
sAWSAccountNumber :: Lens' Signer (Maybe Text)
-- | A complex type that lists the active CloudFront key pairs, if any,
-- that are associated with AwsAccountNumber .
sKeyPairIds :: Lens' Signer (Maybe KeyPairIds)
-- | A streaming distribution.
--
-- See: streamingDistribution smart constructor.
data StreamingDistribution
-- | Creates a value of StreamingDistribution with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - sdLastModifiedTime - The date and time that the
-- distribution was last modified.
-- - sdId - The identifier for the RTMP distribution. For
-- example: EGTXBD79EXAMPLE .
-- - sdARN - Undocumented member.
-- - sdStatus - The current status of the RTMP distribution.
-- When the status is Deployed , the distribution's information
-- is propagated to all CloudFront edge locations.
-- - sdDomainName - The domain name that corresponds to the
-- streaming distribution, for example,
-- s5c39gqb8ow64r.cloudfront.net .
-- - sdActiveTrustedSigners - A complex type that lists the AWS
-- accounts, if any, that you included in the TrustedSigners
-- complex type for this distribution. These are the accounts that you
-- want to allow to create signed URLs for private content. The
-- Signer complex type lists the AWS account number of the
-- trusted signer or self if the signer is the AWS account that
-- created the distribution. The Signer element also includes
-- the IDs of any active CloudFront key pairs that are associated with
-- the trusted signer's AWS account. If no KeyPairId element
-- appears for a Signer , that signer can't create signed URLs.
-- For more information, see Serving Private Content through
-- CloudFront in the Amazon CloudFront Developer Guide .
-- - sdStreamingDistributionConfig - The current configuration
-- information for the RTMP distribution.
--
streamingDistribution :: Text -> Text -> Text -> Text -> ActiveTrustedSigners -> StreamingDistributionConfig -> StreamingDistribution
-- | The date and time that the distribution was last modified.
sdLastModifiedTime :: Lens' StreamingDistribution (Maybe UTCTime)
-- | The identifier for the RTMP distribution. For example:
-- EGTXBD79EXAMPLE .
sdId :: Lens' StreamingDistribution Text
-- | Undocumented member.
sdARN :: Lens' StreamingDistribution Text
-- | The current status of the RTMP distribution. When the status is
-- Deployed , the distribution's information is propagated to
-- all CloudFront edge locations.
sdStatus :: Lens' StreamingDistribution Text
-- | The domain name that corresponds to the streaming distribution, for
-- example, s5c39gqb8ow64r.cloudfront.net .
sdDomainName :: Lens' StreamingDistribution Text
-- | A complex type that lists the AWS accounts, if any, that you included
-- in the TrustedSigners complex type for this distribution.
-- These are the accounts that you want to allow to create signed URLs
-- for private content. The Signer complex type lists the AWS
-- account number of the trusted signer or self if the signer is
-- the AWS account that created the distribution. The Signer
-- element also includes the IDs of any active CloudFront key pairs that
-- are associated with the trusted signer's AWS account. If no
-- KeyPairId element appears for a Signer , that signer
-- can't create signed URLs. For more information, see Serving Private
-- Content through CloudFront in the Amazon CloudFront Developer
-- Guide .
sdActiveTrustedSigners :: Lens' StreamingDistribution ActiveTrustedSigners
-- | The current configuration information for the RTMP distribution.
sdStreamingDistributionConfig :: Lens' StreamingDistribution StreamingDistributionConfig
-- | The RTMP distribution's configuration information.
--
-- See: streamingDistributionConfig smart constructor.
data StreamingDistributionConfig
-- | Creates a value of StreamingDistributionConfig with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - sdcAliases - A complex type that contains information about
-- CNAMEs (alternate domain names), if any, for this streaming
-- distribution.
-- - sdcPriceClass - A complex type that contains information
-- about price class for this streaming distribution.
-- - sdcLogging - A complex type that controls whether access
-- logs are written for the streaming distribution.
-- - sdcCallerReference - A unique number that ensures that the
-- request can't be replayed. If the CallerReference is new (no
-- matter the content of the StreamingDistributionConfig
-- object), a new streaming distribution is created. If the
-- CallerReference is a value that you already sent in a
-- previous request to create a streaming distribution, and the content
-- of the StreamingDistributionConfig is identical to the
-- original request (ignoring white space), the response includes the
-- same information returned to the original request. If the
-- CallerReference is a value that you already sent in a
-- previous request to create a streaming distribution but the content of
-- the StreamingDistributionConfig is different from the
-- original request, CloudFront returns a
-- DistributionAlreadyExists error.
-- - sdcS3Origin - A complex type that contains information
-- about the Amazon S3 bucket from which you want CloudFront to get your
-- media files for distribution.
-- - sdcComment - Any comments you want to include about the
-- streaming distribution.
-- - sdcTrustedSigners - A complex type that specifies any AWS
-- accounts that you want to permit to create signed URLs for private
-- content. If you want the distribution to use signed URLs, include this
-- element; if you want the distribution to use public URLs, remove this
-- element. For more information, see Serving Private Content through
-- CloudFront in the Amazon CloudFront Developer Guide .
-- - sdcEnabled - Whether the streaming distribution is enabled
-- to accept user requests for content.
--
streamingDistributionConfig :: Text -> S3Origin -> Text -> TrustedSigners -> Bool -> StreamingDistributionConfig
-- | A complex type that contains information about CNAMEs (alternate
-- domain names), if any, for this streaming distribution.
sdcAliases :: Lens' StreamingDistributionConfig (Maybe Aliases)
-- | A complex type that contains information about price class for this
-- streaming distribution.
sdcPriceClass :: Lens' StreamingDistributionConfig (Maybe PriceClass)
-- | A complex type that controls whether access logs are written for the
-- streaming distribution.
sdcLogging :: Lens' StreamingDistributionConfig (Maybe StreamingLoggingConfig)
-- | A unique number that ensures that the request can't be replayed. If
-- the CallerReference is new (no matter the content of the
-- StreamingDistributionConfig object), a new streaming
-- distribution is created. If the CallerReference is a value
-- that you already sent in a previous request to create a streaming
-- distribution, and the content of the
-- StreamingDistributionConfig is identical to the original
-- request (ignoring white space), the response includes the same
-- information returned to the original request. If the
-- CallerReference is a value that you already sent in a
-- previous request to create a streaming distribution but the content of
-- the StreamingDistributionConfig is different from the
-- original request, CloudFront returns a
-- DistributionAlreadyExists error.
sdcCallerReference :: Lens' StreamingDistributionConfig Text
-- | A complex type that contains information about the Amazon S3 bucket
-- from which you want CloudFront to get your media files for
-- distribution.
sdcS3Origin :: Lens' StreamingDistributionConfig S3Origin
-- | Any comments you want to include about the streaming distribution.
sdcComment :: Lens' StreamingDistributionConfig Text
-- | A complex type that specifies any AWS accounts that you want to permit
-- to create signed URLs for private content. If you want the
-- distribution to use signed URLs, include this element; if you want the
-- distribution to use public URLs, remove this element. For more
-- information, see Serving Private Content through CloudFront in
-- the Amazon CloudFront Developer Guide .
sdcTrustedSigners :: Lens' StreamingDistributionConfig TrustedSigners
-- | Whether the streaming distribution is enabled to accept user requests
-- for content.
sdcEnabled :: Lens' StreamingDistributionConfig Bool
-- | A streaming distribution Configuration and a list of tags to be
-- associated with the streaming distribution.
--
-- See: streamingDistributionConfigWithTags smart
-- constructor.
data StreamingDistributionConfigWithTags
-- | Creates a value of StreamingDistributionConfigWithTags with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
streamingDistributionConfigWithTags :: StreamingDistributionConfig -> Tags -> StreamingDistributionConfigWithTags
-- | A streaming distribution Configuration.
sdcwtStreamingDistributionConfig :: Lens' StreamingDistributionConfigWithTags StreamingDistributionConfig
-- | A complex type that contains zero or more Tag elements.
sdcwtTags :: Lens' StreamingDistributionConfigWithTags Tags
-- | A streaming distribution list.
--
-- See: streamingDistributionList smart constructor.
data StreamingDistributionList
-- | Creates a value of StreamingDistributionList with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - sdlItems - A complex type that contains one
-- StreamingDistributionSummary element for each distribution
-- that was created by the current AWS account.
-- - sdlNextMarker - If IsTruncated is true ,
-- this element is present and contains the value you can use for the
-- Marker request parameter to continue listing your RTMP
-- distributions where they left off.
-- - sdlMarker - The value you provided for the Marker
-- request parameter.
-- - sdlMaxItems - The value you provided for the
-- MaxItems request parameter.
-- - sdlIsTruncated - A flag that indicates whether more
-- streaming distributions remain to be listed. If your results were
-- truncated, you can make a follow-up pagination request using the
-- Marker request parameter to retrieve more distributions in
-- the list.
-- - sdlQuantity - The number of streaming distributions that
-- were created by the current AWS account.
--
streamingDistributionList :: Text -> Int -> Bool -> Int -> StreamingDistributionList
-- | A complex type that contains one StreamingDistributionSummary
-- element for each distribution that was created by the current AWS
-- account.
sdlItems :: Lens' StreamingDistributionList [StreamingDistributionSummary]
-- | If IsTruncated is true , this element is present and
-- contains the value you can use for the Marker request
-- parameter to continue listing your RTMP distributions where they left
-- off.
sdlNextMarker :: Lens' StreamingDistributionList (Maybe Text)
-- | The value you provided for the Marker request parameter.
sdlMarker :: Lens' StreamingDistributionList Text
-- | The value you provided for the MaxItems request parameter.
sdlMaxItems :: Lens' StreamingDistributionList Int
-- | A flag that indicates whether more streaming distributions remain to
-- be listed. If your results were truncated, you can make a follow-up
-- pagination request using the Marker request parameter to
-- retrieve more distributions in the list.
sdlIsTruncated :: Lens' StreamingDistributionList Bool
-- | The number of streaming distributions that were created by the current
-- AWS account.
sdlQuantity :: Lens' StreamingDistributionList Int
-- | A summary of the information for an Amazon CloudFront streaming
-- distribution.
--
-- See: streamingDistributionSummary smart constructor.
data StreamingDistributionSummary
-- | Creates a value of StreamingDistributionSummary with the
-- minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - sdsId - The identifier for the distribution, for example,
-- EDFDVBD632BHDS5 .
-- - sdsARN - The ARN (Amazon Resource Name) for the streaming
-- distribution. For example:
-- arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5
-- , where 123456789012 is your AWS account ID.
-- - sdsStatus - Indicates the current status of the
-- distribution. When the status is Deployed , the
-- distribution's information is fully propagated throughout the Amazon
-- CloudFront system.
-- - sdsLastModifiedTime - The date and time the distribution
-- was last modified.
-- - sdsDomainName - The domain name corresponding to the
-- distribution, for example, d111111abcdef8.cloudfront.net
-- .
-- - sdsS3Origin - A complex type that contains information
-- about the Amazon S3 bucket from which you want CloudFront to get your
-- media files for distribution.
-- - sdsAliases - A complex type that contains information about
-- CNAMEs (alternate domain names), if any, for this streaming
-- distribution.
-- - sdsTrustedSigners - A complex type that specifies the AWS
-- accounts, if any, that you want to allow to create signed URLs for
-- private content. If you want to require signed URLs in requests for
-- objects in the target origin that match the PathPattern for
-- this cache behavior, specify true for Enabled , and
-- specify the applicable values for Quantity and Items
-- .If you don't want to require signed URLs in requests for objects that
-- match PathPattern , specify false for
-- Enabled and 0 for Quantity . Omit
-- Items . To add, change, or remove one or more trusted
-- signers, change Enabled to true (if it's currently
-- false ), change Quantity as applicable, and specify
-- all of the trusted signers that you want to include in the updated
-- distribution.
-- - sdsComment - The comment originally specified when this
-- distribution was created.
-- - sdsPriceClass - Undocumented member.
-- - sdsEnabled - Whether the distribution is enabled to accept
-- end user requests for content.
--
streamingDistributionSummary :: Text -> Text -> Text -> UTCTime -> Text -> S3Origin -> Aliases -> TrustedSigners -> Text -> PriceClass -> Bool -> StreamingDistributionSummary
-- | The identifier for the distribution, for example,
-- EDFDVBD632BHDS5 .
sdsId :: Lens' StreamingDistributionSummary Text
-- | The ARN (Amazon Resource Name) for the streaming distribution. For
-- example:
-- arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5
-- , where 123456789012 is your AWS account ID.
sdsARN :: Lens' StreamingDistributionSummary Text
-- | Indicates the current status of the distribution. When the status is
-- Deployed , the distribution's information is fully propagated
-- throughout the Amazon CloudFront system.
sdsStatus :: Lens' StreamingDistributionSummary Text
-- | The date and time the distribution was last modified.
sdsLastModifiedTime :: Lens' StreamingDistributionSummary UTCTime
-- | The domain name corresponding to the distribution, for example,
-- d111111abcdef8.cloudfront.net .
sdsDomainName :: Lens' StreamingDistributionSummary Text
-- | A complex type that contains information about the Amazon S3 bucket
-- from which you want CloudFront to get your media files for
-- distribution.
sdsS3Origin :: Lens' StreamingDistributionSummary S3Origin
-- | A complex type that contains information about CNAMEs (alternate
-- domain names), if any, for this streaming distribution.
sdsAliases :: Lens' StreamingDistributionSummary Aliases
-- | A complex type that specifies the AWS accounts, if any, that you want
-- to allow to create signed URLs for private content. If you want to
-- require signed URLs in requests for objects in the target origin that
-- match the PathPattern for this cache behavior, specify
-- true for Enabled , and specify the applicable values
-- for Quantity and Items .If you don't want to require
-- signed URLs in requests for objects that match PathPattern ,
-- specify false for Enabled and 0 for
-- Quantity . Omit Items . To add, change, or remove
-- one or more trusted signers, change Enabled to true
-- (if it's currently false ), change Quantity as
-- applicable, and specify all of the trusted signers that you want to
-- include in the updated distribution.
sdsTrustedSigners :: Lens' StreamingDistributionSummary TrustedSigners
-- | The comment originally specified when this distribution was created.
sdsComment :: Lens' StreamingDistributionSummary Text
-- | Undocumented member.
sdsPriceClass :: Lens' StreamingDistributionSummary PriceClass
-- | Whether the distribution is enabled to accept end user requests for
-- content.
sdsEnabled :: Lens' StreamingDistributionSummary Bool
-- | A complex type that controls whether access logs are written for this
-- streaming distribution.
--
-- See: streamingLoggingConfig smart constructor.
data StreamingLoggingConfig
-- | Creates a value of StreamingLoggingConfig with the minimum
-- fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - slcEnabled - Specifies whether you want CloudFront to save
-- access logs to an Amazon S3 bucket. If you don't want to enable
-- logging when you create a streaming distribution or if you want to
-- disable logging for an existing streaming distribution, specify
-- false for Enabled , and specify empty
-- Bucket and Prefix elements. If you specify
-- false for Enabled but you specify values for
-- Bucket and Prefix , the values are automatically
-- deleted.
-- - slcBucket - The Amazon S3 bucket to store the access logs
-- in, for example, myawslogbucket.s3.amazonaws.com .
-- - slcPrefix - An optional string that you want CloudFront to
-- prefix to the access log filenames for this streaming distribution,
-- for example, myprefix/ . If you want to enable logging, but
-- you don't want to specify a prefix, you still must include an empty
-- Prefix element in the Logging element.
--
streamingLoggingConfig :: Bool -> Text -> Text -> StreamingLoggingConfig
-- | Specifies whether you want CloudFront to save access logs to an Amazon
-- S3 bucket. If you don't want to enable logging when you create a
-- streaming distribution or if you want to disable logging for an
-- existing streaming distribution, specify false for
-- Enabled , and specify empty Bucket and
-- Prefix elements. If you specify false for
-- Enabled but you specify values for Bucket and
-- Prefix , the values are automatically deleted.
slcEnabled :: Lens' StreamingLoggingConfig Bool
-- | The Amazon S3 bucket to store the access logs in, for example,
-- myawslogbucket.s3.amazonaws.com .
slcBucket :: Lens' StreamingLoggingConfig Text
-- | An optional string that you want CloudFront to prefix to the access
-- log filenames for this streaming distribution, for example,
-- myprefix/ . If you want to enable logging, but you don't want
-- to specify a prefix, you still must include an empty Prefix
-- element in the Logging element.
slcPrefix :: Lens' StreamingLoggingConfig Text
-- | A complex type that contains Tag key and Tag value.
--
-- See: tag smart constructor.
data Tag
-- | Creates a value of Tag with the minimum fields required to make
-- a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - tagValue - A string that contains an optional Tag
-- value. The string length should be between 0 and 256 characters. Valid
-- characters include a-z , A-Z , 0-9 , space,
-- and the special characters _ - . : / = + @ .
-- - tagKey - A string that contains Tag key. The
-- string length should be between 1 and 128 characters. Valid characters
-- include a-z , A-Z , 0-9 , space, and the
-- special characters _ - . : / = + @ .
--
tag :: Text -> Tag
-- | A string that contains an optional Tag value. The string
-- length should be between 0 and 256 characters. Valid characters
-- include a-z , A-Z , 0-9 , space, and the
-- special characters _ - . : / = + @ .
tagValue :: Lens' Tag (Maybe Text)
-- | A string that contains Tag key. The string length should be
-- between 1 and 128 characters. Valid characters include a-z ,
-- A-Z , 0-9 , space, and the special characters _
-- - . : / = + @ .
tagKey :: Lens' Tag Text
-- | A complex type that contains zero or more Tag elements.
--
-- See: tagKeys smart constructor.
data TagKeys
-- | Creates a value of TagKeys with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - tkItems - A complex type that contains Tag key
-- elements.
--
tagKeys :: TagKeys
-- | A complex type that contains Tag key elements.
tkItems :: Lens' TagKeys [Text]
-- | A complex type that contains zero or more Tag elements.
--
-- See: tags smart constructor.
data Tags
-- | Creates a value of Tags with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - tItems - A complex type that contains Tag
-- elements.
--
tags :: Tags
-- | A complex type that contains Tag elements.
tItems :: Lens' Tags [Tag]
-- | A complex type that specifies the AWS accounts, if any, that you want
-- to allow to create signed URLs for private content.
--
-- If you want to require signed URLs in requests for objects in the
-- target origin that match the PathPattern for this cache
-- behavior, specify true for Enabled , and specify the
-- applicable values for Quantity and Items . For more
-- information, see Serving Private Content through CloudFront in
-- the Amazon Amazon CloudFront Developer Guide .
--
-- If you don't want to require signed URLs in requests for objects that
-- match PathPattern , specify false for
-- Enabled and 0 for Quantity . Omit
-- Items .
--
-- To add, change, or remove one or more trusted signers, change
-- Enabled to true (if it's currently false ),
-- change Quantity as applicable, and specify all of the trusted
-- signers that you want to include in the updated distribution.
--
-- For more information about updating the distribution configuration,
-- see DistributionConfig .
--
-- See: trustedSigners smart constructor.
data TrustedSigners
-- | Creates a value of TrustedSigners with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - tsItems - Optional : A complex type that contains
-- trusted signers for this cache behavior. If Quantity is
-- 0 , you can omit Items .
-- - tsEnabled - Specifies whether you want to require viewers
-- to use signed URLs to access the files specified by
-- PathPattern and TargetOriginId .
-- - tsQuantity - The number of trusted signers for this cache
-- behavior.
--
trustedSigners :: Bool -> Int -> TrustedSigners
-- | Optional : A complex type that contains trusted signers for
-- this cache behavior. If Quantity is 0 , you can omit
-- Items .
tsItems :: Lens' TrustedSigners [Text]
-- | Specifies whether you want to require viewers to use signed URLs to
-- access the files specified by PathPattern and
-- TargetOriginId .
tsEnabled :: Lens' TrustedSigners Bool
-- | The number of trusted signers for this cache behavior.
tsQuantity :: Lens' TrustedSigners Int
-- | A complex type that specifies the following:
--
--
-- - Whether you want viewers to use HTTP or HTTPS to request your
-- objects.
-- - If you want viewers to use HTTPS, whether you're using an
-- alternate domain name such as example.com or the CloudFront
-- domain name for your distribution, such as
-- d111111abcdef8.cloudfront.net .
-- - If you're using an alternate domain name, whether AWS Certificate
-- Manager (ACM) provided the certificate, or you purchased a certificate
-- from a third-party certificate authority and imported it into ACM or
-- uploaded it to the IAM certificate store.
--
--
-- You must specify only one of the following values:
--
--
-- - 'ViewerCertificate$ACMCertificateArn'
-- - 'ViewerCertificate$IAMCertificateId'
-- - 'ViewerCertificate$CloudFrontDefaultCertificate'
--
--
-- Don't specify false for CloudFrontDefaultCertificate
-- .
--
-- If you want viewers to use HTTP instead of HTTPS to request your
-- objects : Specify the following value:
--
--
-- CloudFrontDefaultCertificatetrueCloudFrontDefaultCertificate
--
--
-- In addition, specify allow-all for
-- ViewerProtocolPolicy for all of your cache behaviors.
--
-- If you want viewers to use HTTPS to request your objects :
-- Choose the type of certificate that you want to use based on whether
-- you're using an alternate domain name for your objects or the
-- CloudFront domain name:
--
--
-- - If you're using an alternate domain name, such as
-- example.com : Specify one of the following values, depending on
-- whether ACM provided your certificate or you purchased your
-- certificate from third-party certificate authority:
-- - ACMCertificateArnARN for ACM SSL/TLS certificate
-- ACMCertificateArn where ARN for ACM SSL/TLS
-- certificate is the ARN for the ACM SSL/TLS certificate that
-- you want to use for this distribution.
-- - IAMCertificateIdIAM certificate ID
-- IAMCertificateId where IAM certificate ID
-- is the ID that IAM returned when you added the certificate to the IAM
-- certificate store.
--
--
-- If you specify ACMCertificateArn or IAMCertificateId
-- , you must also specify a value for SSLSupportMethod .
--
-- If you choose to use an ACM certificate or a certificate in the IAM
-- certificate store, we recommend that you use only an alternate domain
-- name in your object URLs (https://example.com/logo.jpg
-- ). If you use the domain name that is associated with your CloudFront
-- distribution (such as
-- https://d111111abcdef8.cloudfront.net/logo.jpg ) and
-- the viewer supports SNI , then CloudFront behaves normally.
-- However, if the browser does not support SNI, the user's experience
-- depends on the value that you choose for SSLSupportMethod :
--
--
-- - vip : The viewer displays a warning because there is a
-- mismatch between the CloudFront domain name and the domain name in
-- your SSL/TLS certificate.
-- - sni-only : CloudFront drops the connection with the
-- browser without returning the object.
-- - If you're using the CloudFront domain name for your
-- distribution, such as d111111abcdef8.cloudfront.net :
-- Specify the following value:
--
--
--
-- CloudFrontDefaultCertificatetrueCloudFrontDefaultCertificate
--
--
-- If you want viewers to use HTTPS, you must also specify one of the
-- following values in your cache behaviors:
--
--
--
-- You can also optionally require that CloudFront use HTTPS to
-- communicate with your origin by specifying one of the following values
-- for the applicable origins:
--
--
--
-- For more information, see Using Alternate Domain Names and
-- HTTPS in the Amazon CloudFront Developer Guide .
--
-- See: viewerCertificate smart constructor.
data ViewerCertificate
-- | Creates a value of ViewerCertificate with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
-- - vcSSLSupportMethod - If you specify a value for
-- 'ViewerCertificate$ACMCertificateArn' or for
-- 'ViewerCertificate$IAMCertificateId' , you must also specify how you
-- want CloudFront to serve HTTPS requests: using a method that works for
-- all clients or one that works for most clients: * vip :
-- CloudFront uses dedicated IP addresses for your content and can
-- respond to HTTPS requests from any viewer. However, you will incur
-- additional monthly charges. * sni-only : CloudFront can
-- respond to HTTPS requests from viewers that support Server Name
-- Indication (SNI). All modern browsers support SNI, but some browsers
-- still in use don't support SNI. If some of your users' browsers don't
-- support SNI, we recommend that you do one of the following: * Use the
-- vip option (dedicated IP addresses) instead of
-- sni-only . * Use the CloudFront SSLTLS certificate instead
-- of a custom certificate. This requires that you use the CloudFront
-- domain name of your distribution in the URLs for your objects, for
-- example, @https:d111111abcdef8.cloudfront.netlogo.png .
-- * If you can control which browser your users use, upgrade the browser
-- to one that supports SNI. * Use HTTP instead of HTTPS. Don't specify a
-- value for SSLSupportMethod if you specified
-- CloudFrontDefaultCertificatetrueCloudFrontDefaultCertificate@
-- . For more information, see Using Alternate Domain Names and
-- HTTPS in the Amazon CloudFront Developer Guide .
-- - vcACMCertificateARN - For information about how and when to
-- use ACMCertificateArn , see ViewerCertificate .
-- - vcCertificateSource - This field has been deprecated. Use
-- one of the following fields instead: *
-- 'ViewerCertificate$ACMCertificateArn' *
-- 'ViewerCertificate$IAMCertificateId' *
-- 'ViewerCertificate$CloudFrontDefaultCertificate'
-- - vcMinimumProtocolVersion - Specify the security policy that
-- you want CloudFront to use for HTTPS connections. A security policy
-- determines two settings: * The minimum SSLTLS protocol that
-- CloudFront uses to communicate with viewers * The cipher that
-- CloudFront uses to encrypt the content that it returns to viewers We
-- recommend that you specify TLSv1.1_2016 unless your users are
-- using browsers or devices that do not support TLSv1.1 or later. When
-- both of the following are true, you must specify TLSv1 or
-- later for the security policy: * You're using a custom certificate:
-- you specified a value for ACMCertificateArn or for
-- IAMCertificateId * You're using SNI: you specified
-- sni-only for SSLSupportMethod If you specify
-- true for CloudFrontDefaultCertificate , CloudFront
-- automatically sets the security policy to TLSv1 regardless of
-- the value that you specify for MinimumProtocolVersion . For
-- information about the relationship between the security policy that
-- you choose and the protocols and ciphers that CloudFront uses to
-- communicate with viewers, see
-- <http:docs.aws.amazon.comAmazonCloudFrontlatestDeveloperGuidesecure-connections-supported-viewer-protocols-ciphers.html#secure-connections-supported-ciphers
-- Supported SSLTLS Protocols and Ciphers for Communication Between
-- Viewers and CloudFront> in the Amazon CloudFront Developer
-- Guide .
-- - vcCertificate - This field has been deprecated. Use one of
-- the following fields instead: * 'ViewerCertificate$ACMCertificateArn'
-- * 'ViewerCertificate$IAMCertificateId' *
-- 'ViewerCertificate$CloudFrontDefaultCertificate'
-- - vcIAMCertificateId - For information about how and when to
-- use IAMCertificateId , see ViewerCertificate .
-- - vcCloudFrontDefaultCertificate - For information about how
-- and when to use CloudFrontDefaultCertificate , see
-- ViewerCertificate .
--
viewerCertificate :: ViewerCertificate
-- | If you specify a value for 'ViewerCertificate$ACMCertificateArn' or
-- for 'ViewerCertificate$IAMCertificateId' , you must also specify how
-- you want CloudFront to serve HTTPS requests: using a method that works
-- for all clients or one that works for most clients: * vip :
-- CloudFront uses dedicated IP addresses for your content and can
-- respond to HTTPS requests from any viewer. However, you will incur
-- additional monthly charges. * sni-only : CloudFront can
-- respond to HTTPS requests from viewers that support Server Name
-- Indication (SNI). All modern browsers support SNI, but some browsers
-- still in use don't support SNI. If some of your users' browsers don't
-- support SNI, we recommend that you do one of the following: * Use the
-- vip option (dedicated IP addresses) instead of
-- sni-only . * Use the CloudFront SSLTLS certificate instead
-- of a custom certificate. This requires that you use the CloudFront
-- domain name of your distribution in the URLs for your objects, for
-- example, @https:d111111abcdef8.cloudfront.netlogo.png .
-- * If you can control which browser your users use, upgrade the browser
-- to one that supports SNI. * Use HTTP instead of HTTPS. Don't specify a
-- value for SSLSupportMethod if you specified
-- CloudFrontDefaultCertificatetrueCloudFrontDefaultCertificate@
-- . For more information, see Using Alternate Domain Names and
-- HTTPS in the Amazon CloudFront Developer Guide .
vcSSLSupportMethod :: Lens' ViewerCertificate (Maybe SSLSupportMethod)
-- | For information about how and when to use ACMCertificateArn ,
-- see ViewerCertificate .
vcACMCertificateARN :: Lens' ViewerCertificate (Maybe Text)
-- | This field has been deprecated. Use one of the following fields
-- instead: * 'ViewerCertificate$ACMCertificateArn' *
-- 'ViewerCertificate$IAMCertificateId' *
-- 'ViewerCertificate$CloudFrontDefaultCertificate'
vcCertificateSource :: Lens' ViewerCertificate (Maybe CertificateSource)
-- | Specify the security policy that you want CloudFront to use for HTTPS
-- connections. A security policy determines two settings: * The minimum
-- SSLTLS protocol that CloudFront uses to communicate with viewers *
-- The cipher that CloudFront uses to encrypt the content that it returns
-- to viewers We recommend that you specify TLSv1.1_2016 unless
-- your users are using browsers or devices that do not support TLSv1.1
-- or later. When both of the following are true, you must specify
-- TLSv1 or later for the security policy: * You're using a
-- custom certificate: you specified a value for
-- ACMCertificateArn or for IAMCertificateId * You're
-- using SNI: you specified sni-only for
-- SSLSupportMethod If you specify true for
-- CloudFrontDefaultCertificate , CloudFront automatically sets
-- the security policy to TLSv1 regardless of the value that you
-- specify for MinimumProtocolVersion . For information about
-- the relationship between the security policy that you choose and the
-- protocols and ciphers that CloudFront uses to communicate with
-- viewers, see
-- <http:docs.aws.amazon.comAmazonCloudFrontlatestDeveloperGuidesecure-connections-supported-viewer-protocols-ciphers.html#secure-connections-supported-ciphers
-- Supported SSLTLS Protocols and Ciphers for Communication Between
-- Viewers and CloudFront> in the Amazon CloudFront Developer
-- Guide .
vcMinimumProtocolVersion :: Lens' ViewerCertificate (Maybe MinimumProtocolVersion)
-- | This field has been deprecated. Use one of the following fields
-- instead: * 'ViewerCertificate$ACMCertificateArn' *
-- 'ViewerCertificate$IAMCertificateId' *
-- 'ViewerCertificate$CloudFrontDefaultCertificate'
vcCertificate :: Lens' ViewerCertificate (Maybe Text)
-- | For information about how and when to use IAMCertificateId ,
-- see ViewerCertificate .
vcIAMCertificateId :: Lens' ViewerCertificate (Maybe Text)
-- | For information about how and when to use
-- CloudFrontDefaultCertificate , see ViewerCertificate .
vcCloudFrontDefaultCertificate :: Lens' ViewerCertificate (Maybe Bool)