Copyright | (c) 2013-2016 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
Network.AWS.CloudFront
Contents
- Service Configuration
- Errors
- TooManyOriginCustomHeaders
- InvalidTagging
- InvalidErrorCode
- TooManyCacheBehaviors
- TooManyCloudFrontOriginAccessIdentities
- InvalidOriginAccessIdentity
- DistributionNotDisabled
- NoSuchStreamingDistribution
- InconsistentQuantities
- InvalidArgument
- TooManyInvalidationsInProgress
- InvalidWebACLId
- TooManyQueryStringParameters
- TooManyDistributionCNAMEs
- NoSuchCloudFrontOriginAccessIdentity
- CloudFrontOriginAccessIdentityInUse
- TooManyStreamingDistributions
- BatchTooLarge
- TooManyCookieNamesInWhiteList
- InvalidForwardCookies
- TooManyTrustedSigners
- InvalidOrigin
- NoSuchInvalidation
- NoSuchOrigin
- InvalidTTLOrder
- StreamingDistributionNotDisabled
- TooManyHeadersInForwardedValues
- NoSuchResource
- TooManyStreamingDistributionCNAMEs
- InvalidRequiredProtocol
- TooManyDistributions
- TooManyCertificates
- DistributionAlreadyExists
- InvalidQueryStringParameters
- MissingBody
- IllegalUpdate
- InvalidIfMatchVersion
- PreconditionFailed
- InvalidResponseCode
- InvalidHeadersForS3Origin
- CNAMEAlreadyExists
- TrustedSignerDoesNotExist
- InvalidProtocolSettings
- CloudFrontOriginAccessIdentityAlreadyExists
- TooManyOrigins
- InvalidRelativePath
- StreamingDistributionAlreadyExists
- InvalidMinimumProtocolVersion
- AccessDenied
- InvalidViewerCertificate
- NoSuchDistribution
- InvalidDefaultRootObject
- InvalidGeoRestrictionParameter
- InvalidLocationCode
- Waiters
- Operations
- DeleteStreamingDistribution
- UpdateStreamingDistribution
- ListTagsForResource
- CreateDistributionWithTags
- CreateDistribution
- GetDistributionConfig
- CreateStreamingDistributionWithTags
- GetDistribution
- UpdateCloudFrontOriginAccessIdentity
- DeleteCloudFrontOriginAccessIdentity
- ListStreamingDistributions (Paginated)
- GetStreamingDistributionConfig
- GetCloudFrontOriginAccessIdentityConfig
- CreateStreamingDistribution
- CreateCloudFrontOriginAccessIdentity
- ListCloudFrontOriginAccessIdentities (Paginated)
- GetInvalidation
- ListInvalidations (Paginated)
- CreateInvalidation
- GetCloudFrontOriginAccessIdentity
- TagResource
- GetStreamingDistribution
- UpdateDistribution
- DeleteDistribution
- UntagResource
- ListDistributionsByWebACLId
- ListDistributions (Paginated)
- Types
- CertificateSource
- GeoRestrictionType
- HTTPVersion
- ItemSelection
- Method
- MinimumProtocolVersion
- OriginProtocolPolicy
- PriceClass
- SSLProtocol
- SSLSupportMethod
- ViewerProtocolPolicy
- ActiveTrustedSigners
- Aliases
- AllowedMethods
- CacheBehavior
- CacheBehaviors
- CachedMethods
- CloudFrontOriginAccessIdentity
- CloudFrontOriginAccessIdentityConfig
- CloudFrontOriginAccessIdentityList
- CloudFrontOriginAccessIdentitySummary
- CookieNames
- CookiePreference
- CustomErrorResponse
- CustomErrorResponses
- CustomHeaders
- CustomOriginConfig
- DefaultCacheBehavior
- Distribution
- DistributionConfig
- DistributionConfigWithTags
- DistributionList
- DistributionSummary
- ForwardedValues
- GeoRestriction
- Headers
- Invalidation
- InvalidationBatch
- InvalidationList
- InvalidationSummary
- KeyPairIds
- LoggingConfig
- Origin
- OriginCustomHeader
- OriginSSLProtocols
- Origins
- Paths
- QueryStringCacheKeys
- Restrictions
- S3Origin
- S3OriginConfig
- Signer
- StreamingDistribution
- StreamingDistributionConfig
- StreamingDistributionConfigWithTags
- StreamingDistributionList
- StreamingDistributionSummary
- StreamingLoggingConfig
- Tag
- TagKeys
- Tags
- TrustedSigners
- ViewerCertificate
Description
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.
- cloudFront :: Service
- _TooManyOriginCustomHeaders :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidTagging :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidErrorCode :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyCacheBehaviors :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyCloudFrontOriginAccessIdentities :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidOriginAccessIdentity :: AsError a => Getting (First ServiceError) a ServiceError
- _DistributionNotDisabled :: AsError a => Getting (First ServiceError) a ServiceError
- _NoSuchStreamingDistribution :: AsError a => Getting (First ServiceError) a ServiceError
- _InconsistentQuantities :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidArgument :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyInvalidationsInProgress :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidWebACLId :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyQueryStringParameters :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyDistributionCNAMEs :: AsError a => Getting (First ServiceError) a ServiceError
- _NoSuchCloudFrontOriginAccessIdentity :: AsError a => Getting (First ServiceError) a ServiceError
- _CloudFrontOriginAccessIdentityInUse :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyStreamingDistributions :: AsError a => Getting (First ServiceError) a ServiceError
- _BatchTooLarge :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyCookieNamesInWhiteList :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidForwardCookies :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyTrustedSigners :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidOrigin :: AsError a => Getting (First ServiceError) a ServiceError
- _NoSuchInvalidation :: AsError a => Getting (First ServiceError) a ServiceError
- _NoSuchOrigin :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidTTLOrder :: AsError a => Getting (First ServiceError) a ServiceError
- _StreamingDistributionNotDisabled :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyHeadersInForwardedValues :: AsError a => Getting (First ServiceError) a ServiceError
- _NoSuchResource :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyStreamingDistributionCNAMEs :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidRequiredProtocol :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyDistributions :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyCertificates :: AsError a => Getting (First ServiceError) a ServiceError
- _DistributionAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidQueryStringParameters :: AsError a => Getting (First ServiceError) a ServiceError
- _MissingBody :: AsError a => Getting (First ServiceError) a ServiceError
- _IllegalUpdate :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidIfMatchVersion :: AsError a => Getting (First ServiceError) a ServiceError
- _PreconditionFailed :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidResponseCode :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidHeadersForS3Origin :: AsError a => Getting (First ServiceError) a ServiceError
- _CNAMEAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
- _TrustedSignerDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidProtocolSettings :: AsError a => Getting (First ServiceError) a ServiceError
- _CloudFrontOriginAccessIdentityAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyOrigins :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidRelativePath :: AsError a => Getting (First ServiceError) a ServiceError
- _StreamingDistributionAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidMinimumProtocolVersion :: AsError a => Getting (First ServiceError) a ServiceError
- _AccessDenied :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidViewerCertificate :: AsError a => Getting (First ServiceError) a ServiceError
- _NoSuchDistribution :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidDefaultRootObject :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidGeoRestrictionParameter :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidLocationCode :: AsError a => Getting (First ServiceError) a ServiceError
- streamingDistributionDeployed :: Wait GetStreamingDistribution
- distributionDeployed :: Wait GetDistribution
- invalidationCompleted :: Wait GetInvalidation
- module Network.AWS.CloudFront.DeleteStreamingDistribution
- module Network.AWS.CloudFront.UpdateStreamingDistribution
- module Network.AWS.CloudFront.ListTagsForResource
- module Network.AWS.CloudFront.CreateDistributionWithTags
- module Network.AWS.CloudFront.CreateDistribution
- module Network.AWS.CloudFront.GetDistributionConfig
- module Network.AWS.CloudFront.CreateStreamingDistributionWithTags
- module Network.AWS.CloudFront.GetDistribution
- module Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity
- module Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity
- module Network.AWS.CloudFront.ListStreamingDistributions
- module Network.AWS.CloudFront.GetStreamingDistributionConfig
- module Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig
- module Network.AWS.CloudFront.CreateStreamingDistribution
- module Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity
- module Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities
- module Network.AWS.CloudFront.GetInvalidation
- module Network.AWS.CloudFront.ListInvalidations
- module Network.AWS.CloudFront.CreateInvalidation
- module Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity
- module Network.AWS.CloudFront.TagResource
- module Network.AWS.CloudFront.GetStreamingDistribution
- module Network.AWS.CloudFront.UpdateDistribution
- module Network.AWS.CloudFront.DeleteDistribution
- module Network.AWS.CloudFront.UntagResource
- module Network.AWS.CloudFront.ListDistributionsByWebACLId
- module Network.AWS.CloudFront.ListDistributions
- data CertificateSource
- = Acm
- | Cloudfront
- | IAM
- data GeoRestrictionType
- data HTTPVersion
- data ItemSelection
- = ISAll
- | ISNone
- | ISWhitelist
- data Method
- data MinimumProtocolVersion
- data OriginProtocolPolicy
- data PriceClass
- data SSLProtocol
- data SSLSupportMethod
- data ViewerProtocolPolicy
- data ActiveTrustedSigners
- activeTrustedSigners :: Bool -> Int -> ActiveTrustedSigners
- atsItems :: Lens' ActiveTrustedSigners [Signer]
- atsEnabled :: Lens' ActiveTrustedSigners Bool
- atsQuantity :: Lens' ActiveTrustedSigners Int
- data Aliases
- aliases :: Int -> Aliases
- aItems :: Lens' Aliases [Text]
- aQuantity :: Lens' Aliases Int
- data AllowedMethods
- allowedMethods :: Int -> AllowedMethods
- amCachedMethods :: Lens' AllowedMethods (Maybe CachedMethods)
- amQuantity :: Lens' AllowedMethods Int
- amItems :: Lens' AllowedMethods [Method]
- data CacheBehavior
- cacheBehavior :: Text -> Text -> ForwardedValues -> TrustedSigners -> ViewerProtocolPolicy -> Integer -> CacheBehavior
- cbAllowedMethods :: Lens' CacheBehavior (Maybe AllowedMethods)
- cbMaxTTL :: Lens' CacheBehavior (Maybe Integer)
- cbCompress :: Lens' CacheBehavior (Maybe Bool)
- cbSmoothStreaming :: Lens' CacheBehavior (Maybe Bool)
- cbDefaultTTL :: Lens' CacheBehavior (Maybe Integer)
- cbPathPattern :: Lens' CacheBehavior Text
- cbTargetOriginId :: Lens' CacheBehavior Text
- cbForwardedValues :: Lens' CacheBehavior ForwardedValues
- cbTrustedSigners :: Lens' CacheBehavior TrustedSigners
- cbViewerProtocolPolicy :: Lens' CacheBehavior ViewerProtocolPolicy
- cbMinTTL :: Lens' CacheBehavior Integer
- data CacheBehaviors
- cacheBehaviors :: Int -> CacheBehaviors
- cbItems :: Lens' CacheBehaviors [CacheBehavior]
- cbQuantity :: Lens' CacheBehaviors Int
- data CachedMethods
- cachedMethods :: Int -> CachedMethods
- cmQuantity :: Lens' CachedMethods Int
- cmItems :: Lens' CachedMethods [Method]
- data CloudFrontOriginAccessIdentity
- cloudFrontOriginAccessIdentity :: Text -> Text -> CloudFrontOriginAccessIdentity
- cfoaiCloudFrontOriginAccessIdentityConfig :: Lens' CloudFrontOriginAccessIdentity (Maybe CloudFrontOriginAccessIdentityConfig)
- cfoaiId :: Lens' CloudFrontOriginAccessIdentity Text
- cfoaiS3CanonicalUserId :: Lens' CloudFrontOriginAccessIdentity Text
- data CloudFrontOriginAccessIdentityConfig
- cloudFrontOriginAccessIdentityConfig :: Text -> Text -> CloudFrontOriginAccessIdentityConfig
- cfoaicCallerReference :: Lens' CloudFrontOriginAccessIdentityConfig Text
- cfoaicComment :: Lens' CloudFrontOriginAccessIdentityConfig Text
- data CloudFrontOriginAccessIdentityList
- cloudFrontOriginAccessIdentityList :: Text -> Int -> Bool -> Int -> CloudFrontOriginAccessIdentityList
- cfoailItems :: Lens' CloudFrontOriginAccessIdentityList [CloudFrontOriginAccessIdentitySummary]
- cfoailNextMarker :: Lens' CloudFrontOriginAccessIdentityList (Maybe Text)
- cfoailMarker :: Lens' CloudFrontOriginAccessIdentityList Text
- cfoailMaxItems :: Lens' CloudFrontOriginAccessIdentityList Int
- cfoailIsTruncated :: Lens' CloudFrontOriginAccessIdentityList Bool
- cfoailQuantity :: Lens' CloudFrontOriginAccessIdentityList Int
- data CloudFrontOriginAccessIdentitySummary
- cloudFrontOriginAccessIdentitySummary :: Text -> Text -> Text -> CloudFrontOriginAccessIdentitySummary
- cfoaisId :: Lens' CloudFrontOriginAccessIdentitySummary Text
- cfoaisS3CanonicalUserId :: Lens' CloudFrontOriginAccessIdentitySummary Text
- cfoaisComment :: Lens' CloudFrontOriginAccessIdentitySummary Text
- data CookieNames
- cookieNames :: Int -> CookieNames
- cnItems :: Lens' CookieNames [Text]
- cnQuantity :: Lens' CookieNames Int
- data CookiePreference
- cookiePreference :: ItemSelection -> CookiePreference
- cpWhitelistedNames :: Lens' CookiePreference (Maybe CookieNames)
- cpForward :: Lens' CookiePreference ItemSelection
- data CustomErrorResponse
- customErrorResponse :: Int -> CustomErrorResponse
- ceResponsePagePath :: Lens' CustomErrorResponse (Maybe Text)
- ceResponseCode :: Lens' CustomErrorResponse (Maybe Text)
- ceErrorCachingMinTTL :: Lens' CustomErrorResponse (Maybe Integer)
- ceErrorCode :: Lens' CustomErrorResponse Int
- data CustomErrorResponses
- customErrorResponses :: Int -> CustomErrorResponses
- cerItems :: Lens' CustomErrorResponses [CustomErrorResponse]
- cerQuantity :: Lens' CustomErrorResponses Int
- data CustomHeaders
- customHeaders :: Int -> CustomHeaders
- chItems :: Lens' CustomHeaders [OriginCustomHeader]
- chQuantity :: Lens' CustomHeaders Int
- data CustomOriginConfig
- customOriginConfig :: Int -> Int -> OriginProtocolPolicy -> CustomOriginConfig
- cocOriginSSLProtocols :: Lens' CustomOriginConfig (Maybe OriginSSLProtocols)
- cocHTTPPort :: Lens' CustomOriginConfig Int
- cocHTTPSPort :: Lens' CustomOriginConfig Int
- cocOriginProtocolPolicy :: Lens' CustomOriginConfig OriginProtocolPolicy
- data DefaultCacheBehavior
- defaultCacheBehavior :: Text -> ForwardedValues -> TrustedSigners -> ViewerProtocolPolicy -> Integer -> DefaultCacheBehavior
- dcbAllowedMethods :: Lens' DefaultCacheBehavior (Maybe AllowedMethods)
- dcbMaxTTL :: Lens' DefaultCacheBehavior (Maybe Integer)
- dcbCompress :: Lens' DefaultCacheBehavior (Maybe Bool)
- dcbSmoothStreaming :: Lens' DefaultCacheBehavior (Maybe Bool)
- dcbDefaultTTL :: Lens' DefaultCacheBehavior (Maybe Integer)
- dcbTargetOriginId :: Lens' DefaultCacheBehavior Text
- dcbForwardedValues :: Lens' DefaultCacheBehavior ForwardedValues
- dcbTrustedSigners :: Lens' DefaultCacheBehavior TrustedSigners
- dcbViewerProtocolPolicy :: Lens' DefaultCacheBehavior ViewerProtocolPolicy
- dcbMinTTL :: Lens' DefaultCacheBehavior Integer
- data Distribution
- distribution :: Text -> Text -> Text -> UTCTime -> Int -> Text -> ActiveTrustedSigners -> DistributionConfig -> Distribution
- dId :: Lens' Distribution Text
- dARN :: Lens' Distribution Text
- dStatus :: Lens' Distribution Text
- dLastModifiedTime :: Lens' Distribution UTCTime
- dInProgressInvalidationBatches :: Lens' Distribution Int
- dDomainName :: Lens' Distribution Text
- dActiveTrustedSigners :: Lens' Distribution ActiveTrustedSigners
- dDistributionConfig :: Lens' Distribution DistributionConfig
- data DistributionConfig
- distributionConfig :: Text -> Origins -> DefaultCacheBehavior -> Text -> Bool -> DistributionConfig
- dcHTTPVersion :: Lens' DistributionConfig (Maybe HTTPVersion)
- dcAliases :: Lens' DistributionConfig (Maybe Aliases)
- dcDefaultRootObject :: Lens' DistributionConfig (Maybe Text)
- dcPriceClass :: Lens' DistributionConfig (Maybe PriceClass)
- dcCustomErrorResponses :: Lens' DistributionConfig (Maybe CustomErrorResponses)
- dcWebACLId :: Lens' DistributionConfig (Maybe Text)
- dcViewerCertificate :: Lens' DistributionConfig (Maybe ViewerCertificate)
- dcRestrictions :: Lens' DistributionConfig (Maybe Restrictions)
- dcLogging :: Lens' DistributionConfig (Maybe LoggingConfig)
- dcCacheBehaviors :: Lens' DistributionConfig (Maybe CacheBehaviors)
- dcIsIPV6Enabled :: Lens' DistributionConfig (Maybe Bool)
- dcCallerReference :: Lens' DistributionConfig Text
- dcOrigins :: Lens' DistributionConfig Origins
- dcDefaultCacheBehavior :: Lens' DistributionConfig DefaultCacheBehavior
- dcComment :: Lens' DistributionConfig Text
- dcEnabled :: Lens' DistributionConfig Bool
- data DistributionConfigWithTags
- distributionConfigWithTags :: DistributionConfig -> Tags -> DistributionConfigWithTags
- dcwtDistributionConfig :: Lens' DistributionConfigWithTags DistributionConfig
- dcwtTags :: Lens' DistributionConfigWithTags Tags
- data DistributionList
- distributionList :: Text -> Int -> Bool -> Int -> DistributionList
- dlItems :: Lens' DistributionList [DistributionSummary]
- dlNextMarker :: Lens' DistributionList (Maybe Text)
- dlMarker :: Lens' DistributionList Text
- dlMaxItems :: Lens' DistributionList Int
- dlIsTruncated :: Lens' DistributionList Bool
- dlQuantity :: Lens' DistributionList Int
- data DistributionSummary
- distributionSummary :: Text -> Text -> Text -> UTCTime -> Text -> Aliases -> Origins -> DefaultCacheBehavior -> CacheBehaviors -> CustomErrorResponses -> Text -> PriceClass -> Bool -> ViewerCertificate -> Restrictions -> Text -> HTTPVersion -> Bool -> DistributionSummary
- dsId :: Lens' DistributionSummary Text
- dsARN :: Lens' DistributionSummary Text
- dsStatus :: Lens' DistributionSummary Text
- dsLastModifiedTime :: Lens' DistributionSummary UTCTime
- dsDomainName :: Lens' DistributionSummary Text
- dsAliases :: Lens' DistributionSummary Aliases
- dsOrigins :: Lens' DistributionSummary Origins
- dsDefaultCacheBehavior :: Lens' DistributionSummary DefaultCacheBehavior
- dsCacheBehaviors :: Lens' DistributionSummary CacheBehaviors
- dsCustomErrorResponses :: Lens' DistributionSummary CustomErrorResponses
- dsComment :: Lens' DistributionSummary Text
- dsPriceClass :: Lens' DistributionSummary PriceClass
- dsEnabled :: Lens' DistributionSummary Bool
- dsViewerCertificate :: Lens' DistributionSummary ViewerCertificate
- dsRestrictions :: Lens' DistributionSummary Restrictions
- dsWebACLId :: Lens' DistributionSummary Text
- dsHTTPVersion :: Lens' DistributionSummary HTTPVersion
- dsIsIPV6Enabled :: Lens' DistributionSummary Bool
- data ForwardedValues
- forwardedValues :: Bool -> CookiePreference -> ForwardedValues
- fvQueryStringCacheKeys :: Lens' ForwardedValues (Maybe QueryStringCacheKeys)
- fvHeaders :: Lens' ForwardedValues (Maybe Headers)
- fvQueryString :: Lens' ForwardedValues Bool
- fvCookies :: Lens' ForwardedValues CookiePreference
- data GeoRestriction
- geoRestriction :: GeoRestrictionType -> Int -> GeoRestriction
- grItems :: Lens' GeoRestriction [Text]
- grRestrictionType :: Lens' GeoRestriction GeoRestrictionType
- grQuantity :: Lens' GeoRestriction Int
- data Headers
- headers :: Int -> Headers
- hItems :: Lens' Headers [Text]
- hQuantity :: Lens' Headers Int
- data Invalidation
- invalidation :: Text -> Text -> UTCTime -> InvalidationBatch -> Invalidation
- iId :: Lens' Invalidation Text
- iStatus :: Lens' Invalidation Text
- iCreateTime :: Lens' Invalidation UTCTime
- iInvalidationBatch :: Lens' Invalidation InvalidationBatch
- data InvalidationBatch
- invalidationBatch :: Paths -> Text -> InvalidationBatch
- ibPaths :: Lens' InvalidationBatch Paths
- ibCallerReference :: Lens' InvalidationBatch Text
- data InvalidationList
- invalidationList :: Text -> Int -> Bool -> Int -> InvalidationList
- ilItems :: Lens' InvalidationList [InvalidationSummary]
- ilNextMarker :: Lens' InvalidationList (Maybe Text)
- ilMarker :: Lens' InvalidationList Text
- ilMaxItems :: Lens' InvalidationList Int
- ilIsTruncated :: Lens' InvalidationList Bool
- ilQuantity :: Lens' InvalidationList Int
- data InvalidationSummary
- invalidationSummary :: Text -> UTCTime -> Text -> InvalidationSummary
- isId :: Lens' InvalidationSummary Text
- isCreateTime :: Lens' InvalidationSummary UTCTime
- isStatus :: Lens' InvalidationSummary Text
- data KeyPairIds
- keyPairIds :: Int -> KeyPairIds
- kpiItems :: Lens' KeyPairIds [Text]
- kpiQuantity :: Lens' KeyPairIds Int
- data LoggingConfig
- loggingConfig :: Bool -> Bool -> Text -> Text -> LoggingConfig
- lcEnabled :: Lens' LoggingConfig Bool
- lcIncludeCookies :: Lens' LoggingConfig Bool
- lcBucket :: Lens' LoggingConfig Text
- lcPrefix :: Lens' LoggingConfig Text
- data Origin
- origin :: Text -> Text -> Origin
- oCustomHeaders :: Lens' Origin (Maybe CustomHeaders)
- oCustomOriginConfig :: Lens' Origin (Maybe CustomOriginConfig)
- oS3OriginConfig :: Lens' Origin (Maybe S3OriginConfig)
- oOriginPath :: Lens' Origin (Maybe Text)
- oId :: Lens' Origin Text
- oDomainName :: Lens' Origin Text
- data OriginCustomHeader
- originCustomHeader :: Text -> Text -> OriginCustomHeader
- ochHeaderName :: Lens' OriginCustomHeader Text
- ochHeaderValue :: Lens' OriginCustomHeader Text
- data OriginSSLProtocols
- originSSLProtocols :: Int -> OriginSSLProtocols
- ospQuantity :: Lens' OriginSSLProtocols Int
- ospItems :: Lens' OriginSSLProtocols [SSLProtocol]
- data Origins
- origins :: Int -> Origins
- oItems :: Lens' Origins (Maybe (NonEmpty Origin))
- oQuantity :: Lens' Origins Int
- data Paths
- paths :: Int -> Paths
- pItems :: Lens' Paths [Text]
- pQuantity :: Lens' Paths Int
- data QueryStringCacheKeys
- queryStringCacheKeys :: Int -> QueryStringCacheKeys
- qsckItems :: Lens' QueryStringCacheKeys [Text]
- qsckQuantity :: Lens' QueryStringCacheKeys Int
- data Restrictions
- restrictions :: GeoRestriction -> Restrictions
- rGeoRestriction :: Lens' Restrictions GeoRestriction
- data S3Origin
- s3Origin :: Text -> Text -> S3Origin
- soDomainName :: Lens' S3Origin Text
- soOriginAccessIdentity :: Lens' S3Origin Text
- data S3OriginConfig
- s3OriginConfig :: Text -> S3OriginConfig
- socOriginAccessIdentity :: Lens' S3OriginConfig Text
- data Signer
- signer :: Signer
- sAWSAccountNumber :: Lens' Signer (Maybe Text)
- sKeyPairIds :: Lens' Signer (Maybe KeyPairIds)
- data StreamingDistribution
- streamingDistribution :: Text -> Text -> Text -> Text -> ActiveTrustedSigners -> StreamingDistributionConfig -> StreamingDistribution
- sdLastModifiedTime :: Lens' StreamingDistribution (Maybe UTCTime)
- sdId :: Lens' StreamingDistribution Text
- sdARN :: Lens' StreamingDistribution Text
- sdStatus :: Lens' StreamingDistribution Text
- sdDomainName :: Lens' StreamingDistribution Text
- sdActiveTrustedSigners :: Lens' StreamingDistribution ActiveTrustedSigners
- sdStreamingDistributionConfig :: Lens' StreamingDistribution StreamingDistributionConfig
- data StreamingDistributionConfig
- streamingDistributionConfig :: Text -> S3Origin -> Text -> TrustedSigners -> Bool -> StreamingDistributionConfig
- sdcAliases :: Lens' StreamingDistributionConfig (Maybe Aliases)
- sdcPriceClass :: Lens' StreamingDistributionConfig (Maybe PriceClass)
- sdcLogging :: Lens' StreamingDistributionConfig (Maybe StreamingLoggingConfig)
- sdcCallerReference :: Lens' StreamingDistributionConfig Text
- sdcS3Origin :: Lens' StreamingDistributionConfig S3Origin
- sdcComment :: Lens' StreamingDistributionConfig Text
- sdcTrustedSigners :: Lens' StreamingDistributionConfig TrustedSigners
- sdcEnabled :: Lens' StreamingDistributionConfig Bool
- data StreamingDistributionConfigWithTags
- streamingDistributionConfigWithTags :: StreamingDistributionConfig -> Tags -> StreamingDistributionConfigWithTags
- sdcwtStreamingDistributionConfig :: Lens' StreamingDistributionConfigWithTags StreamingDistributionConfig
- sdcwtTags :: Lens' StreamingDistributionConfigWithTags Tags
- data StreamingDistributionList
- streamingDistributionList :: Text -> Int -> Bool -> Int -> StreamingDistributionList
- sdlItems :: Lens' StreamingDistributionList [StreamingDistributionSummary]
- sdlNextMarker :: Lens' StreamingDistributionList (Maybe Text)
- sdlMarker :: Lens' StreamingDistributionList Text
- sdlMaxItems :: Lens' StreamingDistributionList Int
- sdlIsTruncated :: Lens' StreamingDistributionList Bool
- sdlQuantity :: Lens' StreamingDistributionList Int
- data StreamingDistributionSummary
- streamingDistributionSummary :: Text -> Text -> Text -> UTCTime -> Text -> S3Origin -> Aliases -> TrustedSigners -> Text -> PriceClass -> Bool -> StreamingDistributionSummary
- sdsId :: Lens' StreamingDistributionSummary Text
- sdsARN :: Lens' StreamingDistributionSummary Text
- sdsStatus :: Lens' StreamingDistributionSummary Text
- sdsLastModifiedTime :: Lens' StreamingDistributionSummary UTCTime
- sdsDomainName :: Lens' StreamingDistributionSummary Text
- sdsS3Origin :: Lens' StreamingDistributionSummary S3Origin
- sdsAliases :: Lens' StreamingDistributionSummary Aliases
- sdsTrustedSigners :: Lens' StreamingDistributionSummary TrustedSigners
- sdsComment :: Lens' StreamingDistributionSummary Text
- sdsPriceClass :: Lens' StreamingDistributionSummary PriceClass
- sdsEnabled :: Lens' StreamingDistributionSummary Bool
- data StreamingLoggingConfig
- streamingLoggingConfig :: Bool -> Text -> Text -> StreamingLoggingConfig
- slcEnabled :: Lens' StreamingLoggingConfig Bool
- slcBucket :: Lens' StreamingLoggingConfig Text
- slcPrefix :: Lens' StreamingLoggingConfig Text
- data Tag
- tag :: Text -> Tag
- tagValue :: Lens' Tag (Maybe Text)
- tagKey :: Lens' Tag Text
- data TagKeys
- tagKeys :: TagKeys
- tkItems :: Lens' TagKeys [Text]
- data Tags
- tags :: Tags
- tItems :: Lens' Tags [Tag]
- data TrustedSigners
- trustedSigners :: Bool -> Int -> TrustedSigners
- tsItems :: Lens' TrustedSigners [Text]
- tsEnabled :: Lens' TrustedSigners Bool
- tsQuantity :: Lens' TrustedSigners Int
- data ViewerCertificate
- viewerCertificate :: ViewerCertificate
- vcSSLSupportMethod :: Lens' ViewerCertificate (Maybe SSLSupportMethod)
- vcACMCertificateARN :: Lens' ViewerCertificate (Maybe Text)
- vcCertificateSource :: Lens' ViewerCertificate (Maybe CertificateSource)
- vcMinimumProtocolVersion :: Lens' ViewerCertificate (Maybe MinimumProtocolVersion)
- vcCertificate :: Lens' ViewerCertificate (Maybe Text)
- vcIAMCertificateId :: Lens' ViewerCertificate (Maybe Text)
- vcCloudFrontDefaultCertificate :: Lens' ViewerCertificate (Maybe Bool)
Service Configuration
cloudFront :: Service #
API version 2016-09-29
of the Amazon CloudFront SDK configuration.
Errors
Error matchers are designed for use with the functions provided by
Control.Exception.Lens.
This allows catching (and rethrowing) service specific errors returned
by CloudFront
.
TooManyOriginCustomHeaders
_TooManyOriginCustomHeaders :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for TooManyOriginCustomHeaders' errors.
InvalidTagging
_InvalidTagging :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for InvalidTagging' errors.
InvalidErrorCode
_InvalidErrorCode :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for InvalidErrorCode' errors.
TooManyCacheBehaviors
_TooManyCacheBehaviors :: AsError a => Getting (First ServiceError) a ServiceError #
You cannot create more cache behaviors for the distribution.
TooManyCloudFrontOriginAccessIdentities
_TooManyCloudFrontOriginAccessIdentities :: AsError a => Getting (First ServiceError) a ServiceError #
Processing your request would cause you to exceed the maximum number of origin access identities allowed.
InvalidOriginAccessIdentity
_InvalidOriginAccessIdentity :: AsError a => Getting (First ServiceError) a ServiceError #
The origin access identity is not valid or doesn't exist.
DistributionNotDisabled
_DistributionNotDisabled :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for DistributionNotDisabled' errors.
NoSuchStreamingDistribution
_NoSuchStreamingDistribution :: AsError a => Getting (First ServiceError) a ServiceError #
The specified streaming distribution does not exist.
InconsistentQuantities
_InconsistentQuantities :: AsError a => Getting (First ServiceError) a ServiceError #
The value of Quantity
and the size of Items
do not match.
InvalidArgument
_InvalidArgument :: AsError a => Getting (First ServiceError) a ServiceError #
The argument is invalid.
TooManyInvalidationsInProgress
_TooManyInvalidationsInProgress :: AsError a => Getting (First ServiceError) a ServiceError #
You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.
InvalidWebACLId
_InvalidWebACLId :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for InvalidWebACLId' errors.
TooManyQueryStringParameters
_TooManyQueryStringParameters :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for TooManyQueryStringParameters' errors.
TooManyDistributionCNAMEs
_TooManyDistributionCNAMEs :: AsError a => Getting (First ServiceError) a ServiceError #
Your request contains more CNAMEs than are allowed per distribution.
NoSuchCloudFrontOriginAccessIdentity
_NoSuchCloudFrontOriginAccessIdentity :: AsError a => Getting (First ServiceError) a ServiceError #
The specified origin access identity does not exist.
CloudFrontOriginAccessIdentityInUse
_CloudFrontOriginAccessIdentityInUse :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for CloudFrontOriginAccessIdentityInUse' errors.
TooManyStreamingDistributions
_TooManyStreamingDistributions :: AsError a => Getting (First ServiceError) a ServiceError #
Processing your request would cause you to exceed the maximum number of streaming distributions allowed.
BatchTooLarge
_BatchTooLarge :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for BatchTooLarge' errors.
TooManyCookieNamesInWhiteList
_TooManyCookieNamesInWhiteList :: AsError a => Getting (First ServiceError) a ServiceError #
Your request contains more cookie names in the whitelist than are allowed per cache behavior.
InvalidForwardCookies
_InvalidForwardCookies :: 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.
TooManyTrustedSigners
_TooManyTrustedSigners :: AsError a => Getting (First ServiceError) a ServiceError #
Your request contains more trusted signers than are allowed per distribution.
InvalidOrigin
_InvalidOrigin :: AsError a => Getting (First ServiceError) a ServiceError #
The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.
NoSuchInvalidation
_NoSuchInvalidation :: AsError a => Getting (First ServiceError) a ServiceError #
The specified invalidation does not exist.
NoSuchOrigin
_NoSuchOrigin :: AsError a => Getting (First ServiceError) a ServiceError #
No origin exists with the specified Origin Id
.
InvalidTTLOrder
_InvalidTTLOrder :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for InvalidTTLOrder' errors.
StreamingDistributionNotDisabled
_StreamingDistributionNotDisabled :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for StreamingDistributionNotDisabled' errors.
TooManyHeadersInForwardedValues
_TooManyHeadersInForwardedValues :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for TooManyHeadersInForwardedValues' errors.
NoSuchResource
_NoSuchResource :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for NoSuchResource' errors.
TooManyStreamingDistributionCNAMEs
_TooManyStreamingDistributionCNAMEs :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for TooManyStreamingDistributionCNAMEs' errors.
InvalidRequiredProtocol
_InvalidRequiredProtocol :: 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.
TooManyDistributions
_TooManyDistributions :: AsError a => Getting (First ServiceError) a ServiceError #
Processing your request would cause you to exceed the maximum number of distributions allowed.
TooManyCertificates
_TooManyCertificates :: AsError a => Getting (First ServiceError) a ServiceError #
You cannot create anymore custom SSL/TLS certificates.
DistributionAlreadyExists
_DistributionAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError #
The caller reference you attempted to create the distribution with is associated with another distribution.
InvalidQueryStringParameters
_InvalidQueryStringParameters :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for InvalidQueryStringParameters' errors.
MissingBody
_MissingBody :: 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.
IllegalUpdate
_IllegalUpdate :: AsError a => Getting (First ServiceError) a ServiceError #
Origin and CallerReference
cannot be updated.
InvalidIfMatchVersion
_InvalidIfMatchVersion :: AsError a => Getting (First ServiceError) a ServiceError #
The If-Match
version is missing or not valid for the distribution.
PreconditionFailed
_PreconditionFailed :: AsError a => Getting (First ServiceError) a ServiceError #
The precondition given in one or more of the request-header fields evaluated to false
.
InvalidResponseCode
_InvalidResponseCode :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for InvalidResponseCode' errors.
InvalidHeadersForS3Origin
_InvalidHeadersForS3Origin :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for InvalidHeadersForS3Origin' errors.
CNAMEAlreadyExists
_CNAMEAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for CNAMEAlreadyExists' errors.
TrustedSignerDoesNotExist
_TrustedSignerDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError #
One or more of your trusted signers do not exist.
InvalidProtocolSettings
_InvalidProtocolSettings :: 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).
CloudFrontOriginAccessIdentityAlreadyExists
_CloudFrontOriginAccessIdentityAlreadyExists :: 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.
TooManyOrigins
_TooManyOrigins :: AsError a => Getting (First ServiceError) a ServiceError #
You cannot create more origins for the distribution.
InvalidRelativePath
_InvalidRelativePath :: AsError a => Getting (First ServiceError) a ServiceError #
The relative path is too big, is not URL-encoded, or does not begin with a slash (/).
StreamingDistributionAlreadyExists
_StreamingDistributionAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for StreamingDistributionAlreadyExists' errors.
InvalidMinimumProtocolVersion
_InvalidMinimumProtocolVersion :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for InvalidMinimumProtocolVersion' errors.
AccessDenied
_AccessDenied :: AsError a => Getting (First ServiceError) a ServiceError #
Access denied.
InvalidViewerCertificate
_InvalidViewerCertificate :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for InvalidViewerCertificate' errors.
NoSuchDistribution
_NoSuchDistribution :: AsError a => Getting (First ServiceError) a ServiceError #
The specified distribution does not exist.
InvalidDefaultRootObject
_InvalidDefaultRootObject :: AsError a => Getting (First ServiceError) a ServiceError #
The default root object file name is too big or contains an invalid character.
InvalidGeoRestrictionParameter
_InvalidGeoRestrictionParameter :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for InvalidGeoRestrictionParameter' errors.
InvalidLocationCode
_InvalidLocationCode :: AsError a => Getting (First ServiceError) a ServiceError #
Prism for InvalidLocationCode' errors.
Waiters
Waiters poll by repeatedly sending a request until some remote success condition
configured by the Wait
specification is fulfilled. The Wait
specification
determines how many attempts should be made, in addition to delay and retry strategies.
StreamingDistributionDeployed
streamingDistributionDeployed :: Wait GetStreamingDistribution #
Polls GetStreamingDistribution
every 60 seconds until a successful state is reached. An error is returned after 25 failed checks.
DistributionDeployed
distributionDeployed :: Wait GetDistribution #
Polls GetDistribution
every 60 seconds until a successful state is reached. An error is returned after 25 failed checks.
InvalidationCompleted
invalidationCompleted :: Wait GetInvalidation #
Polls GetInvalidation
every 20 seconds until a successful state is reached. An error is returned after 60 failed checks.
Operations
Some AWS operations return results that are incomplete and require subsequent
requests in order to obtain the entire result set. The process of sending
subsequent requests to continue where a previous request left off is called
pagination. For example, the ListObjects
operation of Amazon S3 returns up to
1000 objects at a time, and you must send subsequent requests with the
appropriate Marker in order to retrieve the next page of results.
Operations that have an AWSPager
instance can transparently perform subsequent
requests, correctly setting Markers and other request facets to iterate through
the entire result set of a truncated API operation. Operations which support
this have an additional note in the documentation.
Many operations have the ability to filter results on the server side. See the individual operation parameters for details.
DeleteStreamingDistribution
UpdateStreamingDistribution
ListTagsForResource
CreateDistributionWithTags
CreateDistribution
GetDistributionConfig
CreateStreamingDistributionWithTags
GetDistribution
UpdateCloudFrontOriginAccessIdentity
DeleteCloudFrontOriginAccessIdentity
ListStreamingDistributions (Paginated)
GetStreamingDistributionConfig
GetCloudFrontOriginAccessIdentityConfig
CreateStreamingDistribution
CreateCloudFrontOriginAccessIdentity
ListCloudFrontOriginAccessIdentities (Paginated)
GetInvalidation
ListInvalidations (Paginated)
CreateInvalidation
GetCloudFrontOriginAccessIdentity
TagResource
GetStreamingDistribution
UpdateDistribution
DeleteDistribution
UntagResource
ListDistributionsByWebACLId
ListDistributions (Paginated)
Types
CertificateSource
data CertificateSource #
Constructors
Acm | |
Cloudfront | |
IAM |
Instances
GeoRestrictionType
data GeoRestrictionType #
Instances
HTTPVersion
data HTTPVersion #
Instances
ItemSelection
data ItemSelection #
Constructors
ISAll | |
ISNone | |
ISWhitelist |
Instances
Method
MinimumProtocolVersion
data MinimumProtocolVersion #
Instances
OriginProtocolPolicy
data OriginProtocolPolicy #
Constructors
HTTPOnly | |
HTTPSOnly | |
MatchViewer |
Instances
PriceClass
data PriceClass #
Constructors
PriceClass100 | |
PriceClass200 | |
PriceClassAll |
Instances
SSLProtocol
data SSLProtocol #
Instances
SSLSupportMethod
data SSLSupportMethod #
Instances
ViewerProtocolPolicy
data ViewerProtocolPolicy #
Constructors
VPPAllowAll | |
VPPHTTPSOnly | |
VPPRedirectToHTTPS |
Instances
ActiveTrustedSigners
data ActiveTrustedSigners #
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.
Arguments
:: Bool | |
-> Int | |
-> 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 oneSigner
complex type for each trusted signer that is specified in theTrustedSigners
complex type. For more information, seeActiveTrustedSigners
.atsEnabled
- Enabled istrue
if any of the AWS accounts listed in theTrustedSigners
complex type for this RTMP distribution have active CloudFront key pairs. If not,Enabled
isfalse
. For more information, seeActiveTrustedSigners
.atsQuantity
- A complex type that contains oneSigner
complex type for each trusted signer specified in theTrustedSigners
complex type. For more information, seeActiveTrustedSigners
.
atsItems :: Lens' ActiveTrustedSigners [Signer] #
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 :: Lens' ActiveTrustedSigners Bool #
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 :: Lens' ActiveTrustedSigners Int #
A complex type that contains one Signer
complex type for each trusted signer specified in the TrustedSigners
complex type. For more information, see ActiveTrustedSigners
.
Aliases
A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.
See: aliases
smart constructor.
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 :: Lens' Aliases [Text] #
A complex type that contains the CNAME aliases, if any, that you want to associate with this distribution.
aQuantity :: Lens' Aliases Int #
The number of CNAME aliases, if any, that you want to associate with this distribution.
AllowedMethods
data AllowedMethods #
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
andHEAD
requests. - CloudFront forwards only
GET
,HEAD
, andOPTIONS
requests. - CloudFront forwards
GET, HEAD, OPTIONS, PUT, PATCH, POST
, andDELETE
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.
Arguments
:: Int | |
-> 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 (forGET
andHEAD
requests), 3 (forGET
,HEAD
, andOPTIONS
requests) and 7 (forGET, HEAD, OPTIONS, PUT, PATCH, POST
, andDELETE
requests).amItems
- A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.
amCachedMethods :: Lens' AllowedMethods (Maybe CachedMethods) #
Undocumented member.
amQuantity :: Lens' AllowedMethods Int #
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 :: Lens' AllowedMethods [Method] #
A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.
CacheBehavior
data CacheBehavior #
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.
Arguments
:: Text | |
-> Text | |
-> ForwardedValues | |
-> TrustedSigners | |
-> ViewerProtocolPolicy | |
-> Integer | |
-> 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.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 asCache-Control max-age
,Cache-Control s-maxage
, andExpires
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, specifytrue
; if not, specifyfalse
. If you specifytrue
forSmoothStreaming
, you can still distribute other content using this cache behavior if the content matches the value ofPathPattern
.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 asCache-Control max-age
,Cache-Control s-maxage
, andExpires
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 .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 ofID
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 thePathPattern
for this cache behavior, specifytrue
forEnabled
, and specify the applicable values forQuantity
andItems
. 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 matchPathPattern
, specifyfalse
forEnabled
and0
forQuantity
. OmitItems
. To add, change, or remove one or more trusted signers, changeEnabled
totrue
(if it's currentlyfalse
), changeQuantity
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 byTargetOriginId
when a request matches the path pattern inPathPattern
. 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 specify0
forMinTTL
if you configure CloudFront to forward all headers to your origin (underHeaders
, if you specify1
forQuantity
and*
forName
).
cbAllowedMethods :: Lens' CacheBehavior (Maybe AllowedMethods) #
Undocumented member.
cbMaxTTL :: Lens' CacheBehavior (Maybe Integer) #
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 :: Lens' CacheBehavior (Maybe Bool) #
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 :: 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
.
cbDefaultTTL :: Lens' CacheBehavior (Maybe Integer) #
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 .
cbPathPattern :: Lens' CacheBehavior 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 .
cbTargetOriginId :: 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.
cbForwardedValues :: Lens' CacheBehavior ForwardedValues #
A complex type that specifies how CloudFront handles query strings and cookies.
cbTrustedSigners :: Lens' CacheBehavior TrustedSigners #
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 :: Lens' CacheBehavior ViewerProtocolPolicy #
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 :: Lens' CacheBehavior Integer #
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
).
CacheBehaviors
data CacheBehaviors #
A complex type that contains zero or more CacheBehavior
elements.
See: cacheBehaviors
smart constructor.
Arguments
:: Int | |
-> 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. IfQuantity
is0
, you can omitItems
.cbQuantity
- The number of cache behaviors for this distribution.
cbItems :: Lens' CacheBehaviors [CacheBehavior] #
Optional: A complex type that contains cache behaviors for this distribution. If Quantity
is 0
, you can omit Items
.
cbQuantity :: Lens' CacheBehaviors Int #
The number of cache behaviors for this distribution.
CachedMethods
data CachedMethods #
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
andHEAD
requests. - CloudFront caches responses to
GET
,HEAD
, andOPTIONS
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.
Arguments
:: Int | |
-> 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 are2
(for caching responses toGET
andHEAD
requests) and3
(for caching responses toGET
,HEAD
, andOPTIONS
requests).cmItems
- A complex type that contains the HTTP methods that you want CloudFront to cache responses to.
cmQuantity :: Lens' CachedMethods Int #
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 :: Lens' CachedMethods [Method] #
A complex type that contains the HTTP methods that you want CloudFront to cache responses to.
CloudFrontOriginAccessIdentity
data CloudFrontOriginAccessIdentity #
CloudFront origin access identity.
See: cloudFrontOriginAccessIdentity
smart constructor.
Instances
cloudFrontOriginAccessIdentity #
Arguments
:: Text | |
-> Text | |
-> 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.
cfoaiCloudFrontOriginAccessIdentityConfig :: Lens' CloudFrontOriginAccessIdentity (Maybe CloudFrontOriginAccessIdentityConfig) #
The current configuration information for the identity.
cfoaiId :: Lens' CloudFrontOriginAccessIdentity Text #
The ID for the origin access identity. For example: E74FTE3AJFJ256A
.
cfoaiS3CanonicalUserId :: 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.
CloudFrontOriginAccessIdentityConfig
data CloudFrontOriginAccessIdentityConfig #
Origin access identity configuration. Send a GET
request to the /CloudFront API version CloudFrontidentity ID/config
resource.
See: cloudFrontOriginAccessIdentityConfig
smart constructor.
Instances
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 theCallerReference
is new (no matter the content of theCloudFrontOriginAccessIdentityConfig
object), a new origin access identity is created. If theCallerReference
is a value already sent in a previous identity request, and the content of theCloudFrontOriginAccessIdentityConfig
is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If theCallerReference
is a value you already sent in a previous request to create an identity, but the content of theCloudFrontOriginAccessIdentityConfig
is different from the original request, CloudFront returns aCloudFrontOriginAccessIdentityAlreadyExists
error.cfoaicComment
- Any comments you want to include about the origin access identity.
cfoaicCallerReference :: Lens' CloudFrontOriginAccessIdentityConfig Text #
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 :: Lens' CloudFrontOriginAccessIdentityConfig Text #
Any comments you want to include about the origin access identity.
CloudFrontOriginAccessIdentityList
data CloudFrontOriginAccessIdentityList #
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.
Instances
cloudFrontOriginAccessIdentityList #
Arguments
:: Text | |
-> Int | |
-> Bool | |
-> Int | |
-> 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 oneCloudFrontOriginAccessIdentitySummary
element for each origin access identity that was created by the current AWS account.cfoailNextMarker
- IfIsTruncated
istrue
, this element is present and contains the value you can use for theMarker
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 theMarker
to the value of theNextMarker
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 theMarker
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.
cfoailItems :: Lens' CloudFrontOriginAccessIdentityList [CloudFrontOriginAccessIdentitySummary] #
A complex type that contains one CloudFrontOriginAccessIdentitySummary
element for each origin access identity that was created by the current AWS account.
cfoailNextMarker :: Lens' CloudFrontOriginAccessIdentityList (Maybe Text) #
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 :: Lens' CloudFrontOriginAccessIdentityList 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).
cfoailMaxItems :: Lens' CloudFrontOriginAccessIdentityList Int #
The maximum number of origin access identities you want in the response body.
cfoailIsTruncated :: Lens' CloudFrontOriginAccessIdentityList Bool #
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 :: Lens' CloudFrontOriginAccessIdentityList Int #
The number of CloudFront origin access identities that were created by the current AWS account.
CloudFrontOriginAccessIdentitySummary
data CloudFrontOriginAccessIdentitySummary #
Summary of the information about a CloudFront origin access identity.
See: cloudFrontOriginAccessIdentitySummary
smart constructor.
Instances
cloudFrontOriginAccessIdentitySummary #
Arguments
:: Text | |
-> Text | |
-> Text | |
-> 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.
cfoaisId :: Lens' CloudFrontOriginAccessIdentitySummary Text #
The ID for the origin access identity. For example: E74FTE3AJFJ256A
.
cfoaisS3CanonicalUserId :: 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.
cfoaisComment :: Lens' CloudFrontOriginAccessIdentitySummary Text #
The comment for this origin access identity, as originally specified when created.
CookieNames
data CookieNames #
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.
Instances
Arguments
:: Int | |
-> 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 oneName
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.
cnItems :: Lens' CookieNames [Text] #
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 :: Lens' CookieNames Int #
The number of different cookies that you want CloudFront to forward to the origin for this cache behavior.
CookiePreference
data CookiePreference #
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.
Arguments
:: ItemSelection | |
-> 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 specifywhitelist
for the value ofForward:
. 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 specifyall
or none for the value ofForward
, omitWhitelistedNames
. If you change the value ofForward
fromwhitelist
to all or none and you don't delete theWhitelistedNames
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 theWhitelistedNames
complex type. Amazon S3 doesn't process cookies. When the cache behavior is forwarding requests to an Amazon S3 origin, specify none for theForward
element.
cpWhitelistedNames :: Lens' CookiePreference (Maybe CookieNames) #
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 :: Lens' CookiePreference ItemSelection #
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.
CustomErrorResponse
data CustomErrorResponse #
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.
Arguments
:: Int | |
-> 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 byErrorCode
, 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 ofPathPattern
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 ofTargetOriginId
specifies the value of theID
element for the origin that contains your custom error pages. If you specify a value forResponsePagePath
, you must also specify a value forResponseCode
. 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 substitute200
, the response typically won't be intercepted. * If you don't care about distinguishing among different client errors or server errors, you can specify400
or500
as theResponseCode
for all 4xx or 5xx errors. * You might want to return a200
status code (OK) and static website so your customers don't know that your website is down. If you specify a value forResponseCode
, you must also specify a value forResponsePagePath
. 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 inErrorCode
. 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.
ceResponsePagePath :: Lens' CustomErrorResponse (Maybe Text) #
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 :: 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.
ceErrorCachingMinTTL :: Lens' CustomErrorResponse (Maybe Integer) #
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 :: Lens' CustomErrorResponse Int #
The HTTP status code for which you want to specify a custom error page and/or a caching duration.
CustomErrorResponses
data CustomErrorResponses #
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.
Instances
Arguments
:: Int | |
-> 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 aCustomErrorResponse
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. IfQuantity
is0
, you can omitItems
.
cerItems :: Lens' CustomErrorResponses [CustomErrorResponse] #
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 :: Lens' CustomErrorResponses Int #
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
.
CustomHeaders
data CustomHeaders #
A complex type that contains the list of Custom Headers for each origin.
See: customHeaders
smart constructor.
Arguments
:: Int | |
-> 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 oneOriginCustomHeader
element for each custom header that you want CloudFront to forward to the origin. If Quantity is0
, omitItems
.chQuantity
- The number of custom headers, if any, for this distribution.
chItems :: Lens' CustomHeaders [OriginCustomHeader] #
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 :: Lens' CustomHeaders Int #
The number of custom headers, if any, for this distribution.
CustomOriginConfig
data CustomOriginConfig #
A customer origin.
See: customOriginConfig
smart constructor.
Arguments
:: Int | |
-> Int | |
-> OriginProtocolPolicy | |
-> 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:
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.
cocOriginSSLProtocols :: Lens' CustomOriginConfig (Maybe OriginSSLProtocols) #
The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.
cocHTTPPort :: Lens' CustomOriginConfig Int #
The HTTP port the custom origin listens on.
cocHTTPSPort :: Lens' CustomOriginConfig Int #
The HTTPS port the custom origin listens on.
cocOriginProtocolPolicy :: Lens' CustomOriginConfig OriginProtocolPolicy #
The origin protocol policy to apply to your origin.
DefaultCacheBehavior
data DefaultCacheBehavior #
A complex type that describes the default cache behavior if you do not 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.
Instances
Arguments
:: Text | |
-> ForwardedValues | |
-> TrustedSigners | |
-> ViewerProtocolPolicy | |
-> Integer | |
-> 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.dcbMaxTTL
- Undocumented member.dcbCompress
- Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specifytrue
; if not, specifyfalse
. 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, specifytrue
; if not, specifyfalse
. If you specifytrue
forSmoothStreaming
, you can still distribute other content using this cache behavior if the content matches the value ofPathPattern
.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 asCache-Control max-age
,Cache-Control s-maxage
, andExpires
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 .dcbTargetOriginId
- The value ofID
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 thePathPattern
for this cache behavior, specifytrue
forEnabled
, and specify the applicable values forQuantity
andItems
. 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 matchPathPattern
, specifyfalse
forEnabled
and0
forQuantity
. OmitItems
. To add, change, or remove one or more trusted signers, changeEnabled
totrue
(if it's currentlyfalse
), changeQuantity
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 byTargetOriginId
when a request matches the path pattern inPathPattern
. 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 specify0
forMinTTL
if you configure CloudFront to forward all headers to your origin (underHeaders
, if you specify1
forQuantity
and*
forName
).
dcbAllowedMethods :: Lens' DefaultCacheBehavior (Maybe AllowedMethods) #
Undocumented member.
dcbCompress :: Lens' DefaultCacheBehavior (Maybe Bool) #
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 :: 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
.
dcbDefaultTTL :: Lens' DefaultCacheBehavior (Maybe Integer) #
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 .
dcbTargetOriginId :: Lens' DefaultCacheBehavior 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.
dcbForwardedValues :: Lens' DefaultCacheBehavior ForwardedValues #
A complex type that specifies how CloudFront handles query strings and cookies.
dcbTrustedSigners :: Lens' DefaultCacheBehavior TrustedSigners #
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 :: Lens' DefaultCacheBehavior ViewerProtocolPolicy #
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 :: Lens' DefaultCacheBehavior Integer #
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
).
Distribution
Arguments
:: Text | |
-> Text | |
-> Text | |
-> UTCTime | |
-> Int | |
-> Text | |
-> ActiveTrustedSigners | |
-> DistributionConfig | |
-> 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
, where123456789012
is your AWS account ID.dStatus
- This response element indicates the current status of the distribution. When the status isDeployed
, 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:d604721fxaaqy9.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. TheSigner
child element lists the AWS account number of the trusted signer (or an emptySelf
element if the signer is you). TheSigner
element also includes the IDs of any active key pairs associated with the trusted signer's AWS account. If noKeyPairId
element appears for aSigner
, that signer can't create working signed URLs.dDistributionConfig
- The current configuration information for the distribution. Send aGET
request to the/CloudFront API version distribution IDconfig
resource.
dId :: Lens' Distribution Text #
The identifier for the distribution. For example: EDFDVBD632BHDS5
.
dARN :: 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.
dStatus :: 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.
dLastModifiedTime :: Lens' Distribution UTCTime #
The date and time the distribution was last modified.
dInProgressInvalidationBatches :: Lens' Distribution Int #
The number of invalidation batches currently in progress.
dDomainName :: Lens' Distribution Text #
The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net
.
dActiveTrustedSigners :: Lens' Distribution ActiveTrustedSigners #
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 :: Lens' Distribution DistributionConfig #
The current configuration information for the distribution. Send a GET
request to the /CloudFront API version distribution IDconfig
resource.
DistributionConfig
data DistributionConfig #
A distribution configuration.
See: distributionConfig
smart constructor.
Arguments
:: Text | |
-> Origins | |
-> DefaultCacheBehavior | |
-> Text | |
-> Bool | |
-> 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
. Do not add a/
before the object name. If you don't want to specify a default root object when you create a distribution, include an emptyDefaultRootObject
element. To delete the default root object from an existing distribution, update the distribution configuration and include an emptyDefaultRootObject
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 specifyPriceClass_All
, CloudFront responds to requests for your objects from all CloudFront edge locations. If you specify a price class other thanPriceClass_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 moreCacheBehavior
elements.dcIsIPV6Enabled
- If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your distribution, specifytrue
. If you specifyfalse
, CloudFront responds to IPv6 DNS requests with the DNS response codeNOERROR
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 theIpAddress
parameter to restrict the IP addresses that can access your content, do not 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 ofCallerReference
is new (regardless of the content of theDistributionConfig
object), CloudFront creates a new distribution. IfCallerReference
is a value you already sent in a previous request to create a distribution, and if the content of theDistributionConfig
is identical to the original request (ignoring white space), CloudFront returns the same the response that it returned to the original request. IfCallerReference
is a value you already sent in a previous request to create a distribution but the content of theDistributionConfig
is different from the original request, CloudFront returns aDistributionAlreadyExists
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 do not specify aCacheBehavior
element or if files don't match any of the values ofPathPattern
inCacheBehavior
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 emptyComment
element. To delete an existing comment, update the distribution configuration and include an emptyComment
element. To add or change a comment, update the distribution configuration and specify the new comment.dcEnabled
- Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution, or if you want to disable logging for an existing distribution, specifyfalse
forEnabled
, and specify emptyBucket
andPrefix
elements. If you specifyfalse
forEnabled
but you specify values forBucket
andPrefix
, the values are automatically deleted.
dcHTTPVersion :: Lens' DistributionConfig (Maybe HTTPVersion) #
(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 :: Lens' DistributionConfig (Maybe Aliases) #
A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.
dcDefaultRootObject :: Lens' DistributionConfig (Maybe Text) #
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
. Do not 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 :: Lens' DistributionConfig (Maybe PriceClass) #
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 :: Lens' DistributionConfig (Maybe CustomErrorResponses) #
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 :: Lens' DistributionConfig (Maybe Text) #
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 :: Lens' DistributionConfig (Maybe ViewerCertificate) #
Undocumented member.
dcRestrictions :: Lens' DistributionConfig (Maybe Restrictions) #
Undocumented member.
dcLogging :: Lens' DistributionConfig (Maybe LoggingConfig) #
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 :: Lens' DistributionConfig (Maybe CacheBehaviors) #
A complex type that contains zero or more CacheBehavior
elements.
dcIsIPV6Enabled :: Lens' DistributionConfig (Maybe Bool) #
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, do not 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 :: Lens' DistributionConfig Text #
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 :: Lens' DistributionConfig Origins #
A complex type that contains information about origins for this distribution.
dcDefaultCacheBehavior :: Lens' DistributionConfig DefaultCacheBehavior #
A complex type that describes the default cache behavior if you do not 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 :: Lens' DistributionConfig Text #
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 :: Lens' DistributionConfig Bool #
Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not 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
and Prefix
, the values are automatically deleted.
DistributionConfigWithTags
data DistributionConfigWithTags #
A distribution Configuration and a list of tags to be associated with the distribution.
See: distributionConfigWithTags
smart constructor.
Instances
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:
dcwtDistributionConfig
- A distribution configuration.dcwtTags
- A complex type that contains zero or moreTag
elements.
dcwtDistributionConfig :: Lens' DistributionConfigWithTags DistributionConfig #
A distribution configuration.
dcwtTags :: Lens' DistributionConfigWithTags Tags #
A complex type that contains zero or more Tag
elements.
DistributionList
data DistributionList #
A distribution list.
See: distributionList
smart constructor.
Arguments
:: Text | |
-> Int | |
-> Bool | |
-> Int | |
-> 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 oneDistributionSummary
element for each distribution that was created by the current AWS account.dlNextMarker
- IfIsTruncated
istrue
, this element is present and contains the value you can use for theMarker
request parameter to continue listing your distributions where they left off.dlMarker
- The value you provided for theMarker
request parameter.dlMaxItems
- The value you provided for theMaxItems
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 theMarker
request parameter to retrieve more distributions in the list.dlQuantity
- The number of distributions that were created by the current AWS account.
dlItems :: Lens' DistributionList [DistributionSummary] #
A complex type that contains one DistributionSummary
element for each distribution that was created by the current AWS account.
dlNextMarker :: Lens' DistributionList (Maybe Text) #
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 :: Lens' DistributionList Text #
The value you provided for the Marker
request parameter.
dlMaxItems :: Lens' DistributionList Int #
The value you provided for the MaxItems
request parameter.
dlIsTruncated :: Lens' DistributionList Bool #
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 :: Lens' DistributionList Int #
The number of distributions that were created by the current AWS account.
DistributionSummary
data DistributionSummary #
A summary of the information about a CloudFront distribution.
See: distributionSummary
smart constructor.
Arguments
:: Text | |
-> Text | |
-> Text | |
-> UTCTime | |
-> Text | |
-> Aliases | |
-> Origins | |
-> DefaultCacheBehavior | |
-> CacheBehaviors | |
-> CustomErrorResponses | |
-> Text | |
-> PriceClass | |
-> Bool | |
-> ViewerCertificate | |
-> Restrictions | |
-> Text | |
-> HTTPVersion | |
-> Bool | |
-> 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
, where123456789012
is your AWS account ID.dsStatus
- The current status of the distribution. When the status isDeployed
, 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:d604721fxaaqy9.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 do not specify aCacheBehavior
element or if files don't match any of the values ofPathPattern
inCacheBehavior
elements. You must create exactly one default cache behavior.dsCacheBehaviors
- A complex type that contains zero or moreCacheBehavior
elements.dsCustomErrorResponses
- A complex type that contains zero or moreCustomErrorResponses
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 ishttp2
. Viewers that don't supportHTTP/2
will automatically use an earlier version.dsIsIPV6Enabled
- Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution.
dsId :: Lens' DistributionSummary Text #
The identifier for the distribution. For example: EDFDVBD632BHDS5
.
dsARN :: 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.
dsStatus :: 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.
dsLastModifiedTime :: Lens' DistributionSummary UTCTime #
The date and time the distribution was last modified.
dsDomainName :: Lens' DistributionSummary Text #
The domain name that corresponds to the distribution. For example: d604721fxaaqy9.cloudfront.net
.
dsAliases :: Lens' DistributionSummary Aliases #
A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.
dsOrigins :: Lens' DistributionSummary Origins #
A complex type that contains information about origins for this distribution.
dsDefaultCacheBehavior :: Lens' DistributionSummary DefaultCacheBehavior #
A complex type that describes the default cache behavior if you do not 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 :: Lens' DistributionSummary CacheBehaviors #
A complex type that contains zero or more CacheBehavior
elements.
dsCustomErrorResponses :: Lens' DistributionSummary CustomErrorResponses #
A complex type that contains zero or more CustomErrorResponses
elements.
dsComment :: Lens' DistributionSummary Text #
The comment originally specified when this distribution was created.
dsPriceClass :: Lens' DistributionSummary PriceClass #
Undocumented member.
dsEnabled :: Lens' DistributionSummary Bool #
Whether the distribution is enabled to accept user requests for content.
dsViewerCertificate :: Lens' DistributionSummary ViewerCertificate #
Undocumented member.
dsRestrictions :: Lens' DistributionSummary Restrictions #
Undocumented member.
dsWebACLId :: Lens' DistributionSummary Text #
The Web ACL Id (if any) associated with the distribution.
dsHTTPVersion :: Lens' DistributionSummary HTTPVersion #
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 :: Lens' DistributionSummary Bool #
Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution.
ForwardedValues
data ForwardedValues #
A complex type that specifies how CloudFront handles query strings and cookies.
See: forwardedValues
smart constructor.
Arguments
:: Bool | |
-> CookiePreference | |
-> 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 theHeaders
, if any, that you want CloudFront to vary upon 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 ofQueryString
and on the values that you specify forQueryStringCacheKeys
, if any: If you specify true forQueryString
and you don't specify any values forQueryStringCacheKeys
, 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 forQueryString
and you specify one or more values forQueryStringCacheKeys
, 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 forQueryString
, 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 .
fvQueryStringCacheKeys :: Lens' ForwardedValues (Maybe QueryStringCacheKeys) #
A complex type that contains information about the query string parameters that you want CloudFront to use for caching for this cache behavior.
fvHeaders :: Lens' ForwardedValues (Maybe Headers) #
A complex type that specifies the Headers
, if any, that you want CloudFront to vary upon for this cache behavior.
fvQueryString :: Lens' ForwardedValues Bool #
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 :: Lens' ForwardedValues CookiePreference #
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 .
GeoRestriction
data GeoRestriction #
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.
Arguments
:: GeoRestrictionType | |
-> Int | |
-> 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 aLocation
element for each country in which you want CloudFront either to distribute your content (whitelist
) or not distribute your content (blacklist
). TheLocation
element is a two-letter, uppercase country code for a country that you want to include in yourblacklist
orwhitelist
. Include oneLocation
element for each country. CloudFront andMaxMind
both useISO 3166
country codes. For the current list of countries and the corresponding codes, seeISO 3166-1-alpha-2
code on the International Organization for Standardization website. You can also refer to the country list in 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
: TheLocation
elements specify the countries in which you do not want CloudFront to distribute your content. *whitelist
: TheLocation
elements specify the countries in which you want CloudFront to distribute your content.grQuantity
- When geo restriction isenabled
, this is the number of countries in yourwhitelist
orblacklist
. Otherwise, when it is not enabled,Quantity
is0
, and you can omitItems
.
grItems :: Lens' GeoRestriction [Text] #
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 in the CloudFront console, which includes both country names and codes.
grRestrictionType :: Lens' GeoRestriction GeoRestrictionType #
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 do not want CloudFront to distribute your content. * whitelist
: The Location
elements specify the countries in which you want CloudFront to distribute your content.
grQuantity :: Lens' GeoRestriction Int #
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
.
Headers
A complex type that specifies the headers that you want CloudFront to forward to the origin for this cache behavior.
For the headers that you specify, CloudFront also 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.
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 complex type that contains oneName
element for each header that you want CloudFront to forward to the origin and to vary on for this cache behavior. IfQuantity
is0
, omitItems
.hQuantity
- The number of different headers that you want CloudFront to forward to the origin 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 : Specify1
forQuantity
and*
forName
. Important: If you configure CloudFront to forward all headers to your origin, CloudFront doesn't cache the objects associated with this cache behavior. Instead, it sends every request to the origin. * Forward a whitelist of headers you specify : Specify the number of headers that you want to forward, and specify the header names inName
elements. CloudFront caches your objects based on the values in all of the specified headers. CloudFront also forwards the headers that it forwards by default, but it caches your objects based only on the headers that you specify. * Forward only the default headers : Specify0
forQuantity
and omitItems
. In this configuration, CloudFront doesn't cache based on the values in the request headers.
hItems :: Lens' Headers [Text] #
A complex type that contains one Name
element for each header that you want CloudFront to forward to the origin and to vary on for this cache behavior. If Quantity
is 0
, omit Items
.
hQuantity :: Lens' Headers Int #
The number of different headers that you want CloudFront to forward to the origin 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: If you configure CloudFront to forward all headers to your origin, CloudFront doesn't cache the objects associated with this cache behavior. Instead, it sends every request to the origin. * Forward a whitelist of headers you specify : Specify the number of headers that you want to forward, and specify the header names in Name
elements. CloudFront caches your objects based on the values in all of the specified headers. CloudFront also forwards the headers that it forwards by default, but it caches your objects based only on the headers that you specify. * 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.
Invalidation
Arguments
:: Text | |
-> Text | |
-> UTCTime | |
-> InvalidationBatch | |
-> 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 isCompleted
.iCreateTime
- The date and time the invalidation request was first made.iInvalidationBatch
- The current invalidation information for the batch request.
iId :: Lens' Invalidation Text #
The identifier for the invalidation request. For example: IDFDVBD632BHDS5
.
iStatus :: Lens' Invalidation Text #
The status of the invalidation request. When the invalidation batch is finished, the status is Completed
.
iCreateTime :: Lens' Invalidation UTCTime #
The date and time the invalidation request was first made.
iInvalidationBatch :: Lens' Invalidation InvalidationBatch #
The current invalidation information for the batch request.
InvalidationBatch
data InvalidationBatch #
An invalidation batch.
See: invalidationBatch
smart constructor.
Arguments
:: Paths | |
-> Text | |
-> 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 forCallerReference
and change other values in the request as applicable. One way to ensure that the value ofCallerReference
is unique is to use atimestamp
, for example,20120301090000
. If you make a second invalidation request with the same value forCallerReference
, 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 sameCallerReference
. IfCallerReference
is a value you already sent in a previous invalidation batch request but the content of anyPath
is different from the original request, CloudFront returns anInvalidationBatchAlreadyExists
error.
ibPaths :: Lens' InvalidationBatch Paths #
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 :: Lens' InvalidationBatch Text #
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.
InvalidationList
data InvalidationList #
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.
Arguments
:: Text | |
-> Int | |
-> Bool | |
-> Int | |
-> 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 oneInvalidationSummary
element for each invalidation batch created by the current AWS account.ilNextMarker
- IfIsTruncated
istrue
, this element is present and contains the value that you can use for theMarker
request parameter to continue listing your invalidation batches where they left off.ilMarker
- The value that you provided for theMarker
request parameter.ilMaxItems
- The value that you provided for theMaxItems
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 theMarker
request parameter to retrieve more invalidation batches in the list.ilQuantity
- The number of invalidation batches that were created by the current AWS account.
ilItems :: Lens' InvalidationList [InvalidationSummary] #
A complex type that contains one InvalidationSummary
element for each invalidation batch created by the current AWS account.
ilNextMarker :: Lens' InvalidationList (Maybe Text) #
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 :: Lens' InvalidationList Text #
The value that you provided for the Marker
request parameter.
ilMaxItems :: Lens' InvalidationList Int #
The value that you provided for the MaxItems
request parameter.
ilIsTruncated :: Lens' InvalidationList Bool #
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 :: Lens' InvalidationList Int #
The number of invalidation batches that were created by the current AWS account.
InvalidationSummary
data InvalidationSummary #
A summary of an invalidation request.
See: invalidationSummary
smart constructor.
Arguments
:: Text | |
-> UTCTime | |
-> Text | |
-> 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.
isId :: Lens' InvalidationSummary Text #
The unique ID for an invalidation request.
isCreateTime :: Lens' InvalidationSummary UTCTime #
Undocumented member.
isStatus :: Lens' InvalidationSummary Text #
The status of an invalidation request.
KeyPairIds
data KeyPairIds #
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.
Instances
Arguments
:: Int | |
-> 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 withAwsAccountNumber
. For more information, seeActiveTrustedSigners
.kpiQuantity
- The number of active CloudFront key pairs forAwsAccountNumber
. For more information, seeActiveTrustedSigners
.
kpiItems :: Lens' KeyPairIds [Text] #
A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber
. For more information, see ActiveTrustedSigners
.
kpiQuantity :: Lens' KeyPairIds Int #
The number of active CloudFront key pairs for AwsAccountNumber
. For more information, see ActiveTrustedSigners
.
LoggingConfig
data LoggingConfig #
A complex type that controls whether access logs are written for the distribution.
See: loggingConfig
smart constructor.
Arguments
:: Bool | |
-> Bool | |
-> Text | |
-> Text | |
-> 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 do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specifyfalse
forEnabled
, and specify emptyBucket
andPrefix
elements. If you specifyfalse
forEnabled
but you specify values forBucket
,prefix
, andIncludeCookies
, the values are automatically deleted.lcIncludeCookies
- Specifies whether you want CloudFront to include cookies in access logs, specifytrue
forIncludeCookies
. 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 do not want to include cookies when you create a distribution or if you want to disable include cookies for an existing distribution, specifyfalse
forIncludeCookies
.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 logfilenames
for this distribution, for example,myprefix/
. If you want to enable logging, but you do not want to specify a prefix, you still must include an emptyPrefix
element in theLogging
element.
lcEnabled :: Lens' LoggingConfig Bool #
Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not 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 :: 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 do not 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 :: Lens' LoggingConfig Text #
The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com
.
lcPrefix :: 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 do not want to specify a prefix, you still must include an empty Prefix
element in the Logging
element.
Origin
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.
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 theS3OriginConfig
element instead.oS3OriginConfig
- A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use theCustomOriginConfig
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 theOriginPath
element, specify the directory name, beginning with a/
. CloudFront appends the directory name to the value ofDomainName
, 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 namedmyawsbucket
. *OriginPath
:/production
*CNAME
:example.com
When a user entersexample.com/index.html
in a browser, CloudFront sends a request to Amazon S3 formyawsbucketproductionindex.html
. When a user entersexample.comacmeindex.html
in a browser, CloudFront sends a request to Amazon S3 formyawsbucketproductionacme/index.html
.oId
- A unique identifier for the origin. The value ofId
must be unique within the distribution. When you specify the value ofTargetOriginId
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 theId
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, do not specify thes3-accelerate
endpoint forDomainName
. * 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.
oCustomHeaders :: Lens' Origin (Maybe CustomHeaders) #
A complex type that contains names and values for the custom headers that you want.
oCustomOriginConfig :: Lens' Origin (Maybe CustomOriginConfig) #
A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig
element instead.
oS3OriginConfig :: Lens' Origin (Maybe S3OriginConfig) #
A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig
element instead.
oOriginPath :: Lens' Origin (Maybe Text) #
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
.
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 :: 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, do not 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.
OriginCustomHeader
data OriginCustomHeader #
A complex type that contains HeaderName
and HeaderValue
elements, if any, for this distribution.
See: originCustomHeader
smart constructor.
Arguments
:: Text | |
-> Text | |
-> 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:
ochHeaderName
- 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 .ochHeaderValue
- The value for the header that you specified in theHeaderName
field.
ochHeaderName :: Lens' OriginCustomHeader Text #
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 .
ochHeaderValue :: Lens' OriginCustomHeader Text #
The value for the header that you specified in the HeaderName
field.
OriginSSLProtocols
data OriginSSLProtocols #
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.
Arguments
:: Int | |
-> 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.
ospQuantity :: Lens' OriginSSLProtocols Int #
The number of SSL/TLS protocols that you want to allow CloudFront to use when establishing an HTTPS connection with this origin.
ospItems :: Lens' OriginSSLProtocols [SSLProtocol] #
A list that contains allowed SSL/TLS protocols for this distribution.
Origins
A complex type that contains information about origins for this distribution.
See: origins
smart constructor.
oItems :: Lens' Origins (Maybe (NonEmpty Origin)) #
A complex type that contains origins for this distribution.
Paths
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.
pItems :: Lens' Paths [Text] #
A complex type that contains a list of the paths that you want to invalidate.
QueryStringCacheKeys
Arguments
:: Int | |
-> 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. IfQuantity
is 0, you can omitItems
.qsckQuantity
- The number ofwhitelisted
query string parameters for this cache behavior.
qsckItems :: Lens' QueryStringCacheKeys [Text] #
(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 :: Lens' QueryStringCacheKeys Int #
The number of whitelisted
query string parameters for this cache behavior.
Restrictions
data Restrictions #
A complex type that identifies ways in which you want to restrict distribution of your content.
See: restrictions
smart constructor.
Arguments
:: GeoRestriction | |
-> 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:
rGeoRestriction
- Undocumented member.
rGeoRestriction :: Lens' Restrictions GeoRestriction #
Undocumented member.
S3Origin
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.
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 emptyOriginAccessIdentity
element. To delete the origin access identity from an existing distribution, update the distribution configuration and include an emptyOriginAccessIdentity
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 .
soDomainName :: Lens' S3Origin Text #
The DNS name of the Amazon S3 origin.
soOriginAccessIdentity :: 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 .
S3OriginConfig
data S3OriginConfig #
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.
Arguments
:: Text | |
-> 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 whereID-of-origin-access-identity
is the value that CloudFront returned in theID
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 emptyOriginAccessIdentity
element. To delete the origin access identity from an existing distribution, update the distribution configuration and include an emptyOriginAccessIdentity
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 #
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 .
Signer
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.
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 theTrustedSigners
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 withAwsAccountNumber
.
sAWSAccountNumber :: Lens' Signer (Maybe Text) #
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 :: Lens' Signer (Maybe KeyPairIds) #
A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber
.
StreamingDistribution
data StreamingDistribution #
A streaming distribution.
See: streamingDistribution
smart constructor.
Arguments
:: Text | |
-> Text | |
-> Text | |
-> Text | |
-> ActiveTrustedSigners | |
-> StreamingDistributionConfig | |
-> 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 isDeployed
, 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 theTrustedSigners
complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content. TheSigner
complex type lists the AWS account number of the trusted signer orself
if the signer is the AWS account that created the distribution. TheSigner
element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If noKeyPairId
element appears for aSigner
, 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.
sdLastModifiedTime :: Lens' StreamingDistribution (Maybe UTCTime) #
The date and time that the distribution was last modified.
sdId :: Lens' StreamingDistribution Text #
The identifier for the RTMP distribution. For example: EGTXBD79EXAMPLE
.
sdARN :: Lens' StreamingDistribution Text #
Undocumented member.
sdStatus :: 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.
sdDomainName :: Lens' StreamingDistribution Text #
The domain name that corresponds to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net
.
sdActiveTrustedSigners :: Lens' StreamingDistribution ActiveTrustedSigners #
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 :: Lens' StreamingDistribution StreamingDistributionConfig #
The current configuration information for the RTMP distribution.
StreamingDistributionConfig
data StreamingDistributionConfig #
The RTMP distribution's configuration information.
See: streamingDistributionConfig
smart constructor.
Instances
Arguments
:: Text | |
-> S3Origin | |
-> Text | |
-> TrustedSigners | |
-> Bool | |
-> 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 theCallerReference
is new (no matter the content of theStreamingDistributionConfig
object), a new streaming distribution is created. If theCallerReference
is a value that you already sent in a previous request to create a streaming distribution, and the content of theStreamingDistributionConfig
is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If theCallerReference
is a value that you already sent in a previous request to create a streaming distribution but the content of theStreamingDistributionConfig
is different from the original request, CloudFront returns aDistributionAlreadyExists
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.
sdcAliases :: Lens' StreamingDistributionConfig (Maybe Aliases) #
A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.
sdcPriceClass :: Lens' StreamingDistributionConfig (Maybe PriceClass) #
A complex type that contains information about price class for this streaming distribution.
sdcLogging :: Lens' StreamingDistributionConfig (Maybe StreamingLoggingConfig) #
A complex type that controls whether access logs are written for the streaming distribution.
sdcCallerReference :: Lens' StreamingDistributionConfig Text #
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 :: Lens' StreamingDistributionConfig S3Origin #
A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.
sdcComment :: Lens' StreamingDistributionConfig Text #
Any comments you want to include about the streaming distribution.
sdcTrustedSigners :: Lens' StreamingDistributionConfig TrustedSigners #
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 :: Lens' StreamingDistributionConfig Bool #
Whether the streaming distribution is enabled to accept user requests for content.
StreamingDistributionConfigWithTags
data StreamingDistributionConfigWithTags #
A streaming distribution Configuration and a list of tags to be associated with the streaming distribution.
See: streamingDistributionConfigWithTags
smart constructor.
Instances
streamingDistributionConfigWithTags #
Arguments
:: StreamingDistributionConfig | |
-> Tags | |
-> 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:
sdcwtStreamingDistributionConfig
- A streaming distribution Configuration.sdcwtTags
- A complex type that contains zero or moreTag
elements.
sdcwtStreamingDistributionConfig :: Lens' StreamingDistributionConfigWithTags StreamingDistributionConfig #
A streaming distribution Configuration.
sdcwtTags :: Lens' StreamingDistributionConfigWithTags Tags #
A complex type that contains zero or more Tag
elements.
StreamingDistributionList
data StreamingDistributionList #
A streaming distribution list.
See: streamingDistributionList
smart constructor.
Instances
Arguments
:: Text | |
-> Int | |
-> Bool | |
-> Int | |
-> 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 oneStreamingDistributionSummary
element for each distribution that was created by the current AWS account.sdlNextMarker
- IfIsTruncated
istrue
, this element is present and contains the value you can use for theMarker
request parameter to continue listing your RTMP distributions where they left off.sdlMarker
- The value you provided for theMarker
request parameter.sdlMaxItems
- The value you provided for theMaxItems
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 theMarker
request parameter to retrieve more distributions in the list.sdlQuantity
- The number of streaming distributions that were created by the current AWS account.
sdlItems :: Lens' StreamingDistributionList [StreamingDistributionSummary] #
A complex type that contains one StreamingDistributionSummary
element for each distribution that was created by the current AWS account.
sdlNextMarker :: Lens' StreamingDistributionList (Maybe Text) #
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 :: Lens' StreamingDistributionList Text #
The value you provided for the Marker
request parameter.
sdlMaxItems :: Lens' StreamingDistributionList Int #
The value you provided for the MaxItems
request parameter.
sdlIsTruncated :: Lens' StreamingDistributionList Bool #
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 :: Lens' StreamingDistributionList Int #
The number of streaming distributions that were created by the current AWS account.
StreamingDistributionSummary
data StreamingDistributionSummary #
A summary of the information for an Amazon CloudFront streaming distribution.
See: streamingDistributionSummary
smart constructor.
Instances
streamingDistributionSummary #
Arguments
:: Text | |
-> Text | |
-> Text | |
-> UTCTime | |
-> Text | |
-> S3Origin | |
-> Aliases | |
-> TrustedSigners | |
-> Text | |
-> PriceClass | |
-> Bool | |
-> 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
, where123456789012
is your AWS account ID.sdsStatus
- Indicates the current status of the distribution. When the status isDeployed
, 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:d604721fxaaqy9.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 thePathPattern
for this cache behavior, specifytrue
forEnabled
, and specify the applicable values forQuantity
andItems
.If you don't want to require signed URLs in requests for objects that matchPathPattern
, specifyfalse
forEnabled
and0
forQuantity
. OmitItems
. To add, change, or remove one or more trusted signers, changeEnabled
totrue
(if it's currentlyfalse
), changeQuantity
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.
sdsId :: Lens' StreamingDistributionSummary Text #
The identifier for the distribution. For example: EDFDVBD632BHDS5
.
sdsARN :: 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.
sdsStatus :: 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.
sdsLastModifiedTime :: Lens' StreamingDistributionSummary UTCTime #
The date and time the distribution was last modified.
sdsDomainName :: Lens' StreamingDistributionSummary Text #
The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net
.
sdsS3Origin :: Lens' StreamingDistributionSummary S3Origin #
A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.
sdsAliases :: Lens' StreamingDistributionSummary Aliases #
A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.
sdsTrustedSigners :: Lens' StreamingDistributionSummary TrustedSigners #
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 :: Lens' StreamingDistributionSummary Text #
The comment originally specified when this distribution was created.
sdsPriceClass :: Lens' StreamingDistributionSummary PriceClass #
Undocumented member.
sdsEnabled :: Lens' StreamingDistributionSummary Bool #
Whether the distribution is enabled to accept end user requests for content.
StreamingLoggingConfig
data StreamingLoggingConfig #
A complex type that controls whether access logs are written for this streaming distribution.
See: streamingLoggingConfig
smart constructor.
Instances
Arguments
:: Bool | |
-> Text | |
-> Text | |
-> 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 do not want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specifyfalse
forEnabled
, and specifyempty Bucket
andPrefix
elements. If you specifyfalse
forEnabled
but you specify values forBucket
andPrefix
, 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 logfilenames
for this streaming distribution, for example,myprefix/
. If you want to enable logging, but you do not want to specify a prefix, you still must include an emptyPrefix
element in theLogging
element.
slcEnabled :: Lens' StreamingLoggingConfig Bool #
Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not 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 :: Lens' StreamingLoggingConfig Text #
The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com
.
slcPrefix :: 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 do not want to specify a prefix, you still must include an empty Prefix
element in the Logging
element.
Tag
A complex type that contains Tag
key and Tag
value.
See: tag
smart constructor.
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 optionalTag
value. The string length should be between 0 and 256 characters. Valid characters includea-z
,A-Z
,0-9
, space, and the special characters_ - . : / = +
@ .tagKey
- A string that containsTag
key. The string length should be between 1 and 128 characters. Valid characters includea-z
,A-Z
,0-9
, space, and the special characters_ - . : / = +
@ .
tagValue :: Lens' Tag (Maybe Text) #
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 _ - . : / = +
@ .
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 _ - . : / = +
@ .
TagKeys
A complex type that contains zero or more Tag
elements.
See: tagKeys
smart constructor.
Tags
A complex type that contains zero or more Tag
elements.
See: tags
smart constructor.
TrustedSigners
data TrustedSigners #
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.
Arguments
:: Bool | |
-> Int | |
-> 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. IfQuantity
is0
, you can omitItems
.tsEnabled
- Specifies whether you want to require viewers to use signed URLs to access the files specified byPathPattern
andTargetOriginId
.tsQuantity
- The number of trusted signers for this cache behavior.
tsItems :: Lens' TrustedSigners [Text] #
Optional : A complex type that contains trusted signers for this cache behavior. If Quantity
is 0
, you can omit Items
.
tsEnabled :: Lens' TrustedSigners Bool #
Specifies whether you want to require viewers to use signed URLs to access the files specified by PathPattern
and TargetOriginId
.
tsQuantity :: Lens' TrustedSigners Int #
The number of trusted signers for this cache behavior.
ViewerCertificate
data ViewerCertificate #
A complex type that specifies the following:
- Which SSL/TLS certificate to use when viewers request objects using HTTPS
- Whether you want CloudFront to use dedicated IP addresses or SNI when you're using alternate domain names in your object names
- The minimum protocol version that you want CloudFront to use when communicating with viewers
For more information, see Using an HTTPS Connection to Access Your Objects in the Amazon Amazon CloudFront Developer Guide .
See: viewerCertificate
smart constructor.
viewerCertificate :: 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 forACMCertificateArn
or forIAMCertificateId
, 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 must request permission to use this feature, and you 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 thevip
option (dedicated IP addresses) instead ofsni-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. Do not specify a value for
SSLSupportMethodif you specified
CloudFrontDefaultCertificatetrueCloudFrontDefaultCertificate@ . For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide .vcACMCertificateARN
- If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example,https://example.com/logo.jpg)
, specify the ACM certificate ARN of the custom viewer certificate for this distribution. Specify either this value,IAMCertificateId
, orCloudFrontDefaultCertificate
.vcCertificateSource
-vcMinimumProtocolVersion
- Specify the minimum version of the SSLTLS protocol that you want CloudFront to use for HTTPS connections between viewers and CloudFront:SSLv3
orTLSv1
. CloudFront serves your objects only to viewers that support SSLTLS version that you specify and later versions. TheTLSv1
protocol is more secure, so we recommend that you specifySSLv3
only if your users are using browsers or devices that don't supportTLSv1
. Note the following: * If you specify CloudFrontDefaultCertificatetrueCloudFrontDefaultCertificate, the minimum SSL protocol version isTLSv1
and can't be changed. * If you're using a custom certificate (if you specify a value forACMCertificateArn
or forIAMCertificateId
) and if you're using SNI (if you specifysni-only
forSSLSupportMethod
), you must specifyTLSv1
forMinimumProtocolVersion
.vcCertificate
- Include one of these values to specify 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 asd111111abcdef8.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 one (and only one) of the three values. Do not specifyfalse
forCloudFrontDefaultCertificate
. If you want viewers to use HTTP to request your objects : Specify the following value:CloudFrontDefaultCertificatetrueCloudFrontDefaultCertificate
In addition, specifyallow-all
forViewerProtocolPolicy
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 certificateACMCertificateArn
where ARN for ACM SSLTLS certificate is the ARN for the ACM SSLTLS certificate that you want to use for this distribution. *IAMCertificateIdIAM certificate IDIAMCertificateId
where IAM certificate ID is the ID that IAM returned when you added the certificate to the IAM certificate store. If you specifyACMCertificateArn
orIAMCertificateId
, you must also specify a value forSSLSupportMethod
. 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 (https://d111111abcdef8.cloudfront.net/logo.jpg
) and the viewer supportsSNI
, then CloudFront behaves normally. However, if the browser does not support SNI, the user's experience depends on the value that you choose forSSLSupportMethod
: *vip
: The viewer displays a warning because there is a mismatch between the CloudFront domain name and the domain name in your SSLTLS 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 asd111111abcdef8.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: *ViewerProtocolPolicyhttps-onlyViewerProtocolPolicy
*ViewerProtocolPolicyredirect-to-httpsViewerProtocolPolicy
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: *OriginProtocolPolicyhttps-onlyOriginProtocolPolicy
*OriginProtocolPolicymatch-viewerOriginProtocolPolicy
For more information, see <http:docs.aws.amazon.comAmazonCloudFrontlatestDeveloperGuideSecureConnections.html#CNAMEsAndHTTPS Using Alternate Domain Names and HTTPS> in the Amazon CloudFront Developer Guide/ .vcIAMCertificateId
- If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example,https://example.com/logo.jpg)
, specify the IAM certificate identifier of the custom viewer certificate for this distribution. Specify either this value,ACMCertificateArn
, orCloudFrontDefaultCertificate
.vcCloudFrontDefaultCertificate
- If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name of your distribution in your object URLs (for example,https://d111111abcdef8.cloudfront.net/logo.jpg
), set totrue
. Omit this value if you are setting anACMCertificateArn
orIAMCertificateId
.
vcSSLSupportMethod :: Lens' ViewerCertificate (Maybe SSLSupportMethod) #
If you specify a value for ACMCertificateArn
or for 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 must request permission to use this feature, and you 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. Do not 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 :: Lens' ViewerCertificate (Maybe Text) #
If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg)
, specify the ACM certificate ARN of the custom viewer certificate for this distribution. Specify either this value, IAMCertificateId
, or CloudFrontDefaultCertificate
.
vcMinimumProtocolVersion :: Lens' ViewerCertificate (Maybe MinimumProtocolVersion) #
Specify the minimum version of the SSLTLS protocol that you want CloudFront to use for HTTPS connections between viewers and CloudFront: SSLv3
or TLSv1
. CloudFront serves your objects only to viewers that support SSLTLS version that you specify and later versions. The TLSv1
protocol is more secure, so we recommend that you specify SSLv3
only if your users are using browsers or devices that don't support TLSv1
. Note the following: * If you specify CloudFrontDefaultCertificatetrueCloudFrontDefaultCertificate, the minimum SSL protocol version is TLSv1
and can't be changed. * If you're using a custom certificate (if you specify a value for ACMCertificateArn
or for IAMCertificateId
) and if you're using SNI (if you specify sni-only
for SSLSupportMethod
), you must specify TLSv1
for MinimumProtocolVersion
.
vcCertificate :: Lens' ViewerCertificate (Maybe Text) #
Include one of these values to specify 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 one (and only one) of the three values. Do not specify false
for CloudFrontDefaultCertificate
. If you want viewers to use HTTP 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 certificateACMCertificateArn
where ARN for ACM SSLTLS certificate is the ARN for the ACM SSLTLS certificate that you want to use for this distribution. * IAMCertificateIdIAM certificate IDIAMCertificateId
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 (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 SSLTLS 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: * ViewerProtocolPolicyhttps-onlyViewerProtocolPolicy
* ViewerProtocolPolicyredirect-to-httpsViewerProtocolPolicy
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: * OriginProtocolPolicyhttps-onlyOriginProtocolPolicy
* OriginProtocolPolicymatch-viewerOriginProtocolPolicy
For more information, see <http:docs.aws.amazon.comAmazonCloudFrontlatestDeveloperGuideSecureConnections.html#CNAMEsAndHTTPS Using Alternate Domain Names and HTTPS> in the Amazon CloudFront Developer Guide/ .
vcIAMCertificateId :: Lens' ViewerCertificate (Maybe Text) #
If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg)
, specify the IAM certificate identifier of the custom viewer certificate for this distribution. Specify either this value, ACMCertificateArn
, or CloudFrontDefaultCertificate
.
vcCloudFrontDefaultCertificate :: Lens' ViewerCertificate (Maybe Bool) #
If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg
), set to true
. Omit this value if you are setting an ACMCertificateArn
or IAMCertificateId
.