amazonka-cloudfront 0.3.6 → 1.0.0
raw patch · 32 files changed
+7725/−5882 lines, 32 filesdep +amazonka-cloudfrontdep +amazonka-testdep +bytestringdep ~amazonka-coredep ~basePVP ok
version bump matches the API change (PVP)
Dependencies added: amazonka-cloudfront, amazonka-test, bytestring, lens, tasty, tasty-hunit, text, time, unordered-containers
Dependency ranges changed: amazonka-core, base
API changes (from Hackage documentation)
- Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: ccfoairCloudFrontOriginAccessIdentity :: Lens' CreateCloudFrontOriginAccessIdentityResponse (Maybe CloudFrontOriginAccessIdentity)
- Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: ccfoairETag :: Lens' CreateCloudFrontOriginAccessIdentityResponse (Maybe Text)
- Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: ccfoairLocation :: Lens' CreateCloudFrontOriginAccessIdentityResponse (Maybe Text)
- Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance ToXML CreateCloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance ToXMLRoot CreateCloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.CreateDistribution: cdrDistribution :: Lens' CreateDistributionResponse (Maybe Distribution)
- Network.AWS.CloudFront.CreateDistribution: cdrETag :: Lens' CreateDistributionResponse (Maybe Text)
- Network.AWS.CloudFront.CreateDistribution: cdrLocation :: Lens' CreateDistributionResponse (Maybe Text)
- Network.AWS.CloudFront.CreateDistribution: instance ToXML CreateDistribution
- Network.AWS.CloudFront.CreateDistribution: instance ToXMLRoot CreateDistribution
- Network.AWS.CloudFront.CreateInvalidation: cirInvalidation :: Lens' CreateInvalidationResponse (Maybe Invalidation)
- Network.AWS.CloudFront.CreateInvalidation: cirLocation :: Lens' CreateInvalidationResponse (Maybe Text)
- Network.AWS.CloudFront.CreateInvalidation: instance ToXML CreateInvalidation
- Network.AWS.CloudFront.CreateInvalidation: instance ToXMLRoot CreateInvalidation
- Network.AWS.CloudFront.CreateStreamingDistribution: csdrETag :: Lens' CreateStreamingDistributionResponse (Maybe Text)
- Network.AWS.CloudFront.CreateStreamingDistribution: csdrLocation :: Lens' CreateStreamingDistributionResponse (Maybe Text)
- Network.AWS.CloudFront.CreateStreamingDistribution: csdrStreamingDistribution :: Lens' CreateStreamingDistributionResponse (Maybe StreamingDistribution)
- Network.AWS.CloudFront.CreateStreamingDistribution: instance ToXML CreateStreamingDistribution
- Network.AWS.CloudFront.CreateStreamingDistribution: instance ToXMLRoot CreateStreamingDistribution
- Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity: instance Ord DeleteCloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity: instance Ord DeleteCloudFrontOriginAccessIdentityResponse
- Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity: instance ToXML DeleteCloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity: instance ToXMLRoot DeleteCloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.DeleteDistribution: instance Ord DeleteDistribution
- Network.AWS.CloudFront.DeleteDistribution: instance Ord DeleteDistributionResponse
- Network.AWS.CloudFront.DeleteDistribution: instance ToXML DeleteDistribution
- Network.AWS.CloudFront.DeleteDistribution: instance ToXMLRoot DeleteDistribution
- Network.AWS.CloudFront.DeleteStreamingDistribution: instance Ord DeleteStreamingDistribution
- Network.AWS.CloudFront.DeleteStreamingDistribution: instance Ord DeleteStreamingDistributionResponse
- Network.AWS.CloudFront.DeleteStreamingDistribution: instance ToXML DeleteStreamingDistribution
- Network.AWS.CloudFront.DeleteStreamingDistribution: instance ToXMLRoot DeleteStreamingDistribution
- Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: gcfoairCloudFrontOriginAccessIdentity :: Lens' GetCloudFrontOriginAccessIdentityResponse (Maybe CloudFrontOriginAccessIdentity)
- Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: gcfoairETag :: Lens' GetCloudFrontOriginAccessIdentityResponse (Maybe Text)
- Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance IsString GetCloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance Monoid GetCloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance Ord GetCloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance ToXML GetCloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance ToXMLRoot GetCloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: gcfoaicrCloudFrontOriginAccessIdentityConfig :: Lens' GetCloudFrontOriginAccessIdentityConfigResponse (Maybe CloudFrontOriginAccessIdentityConfig)
- Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: gcfoaicrETag :: Lens' GetCloudFrontOriginAccessIdentityConfigResponse (Maybe Text)
- Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance IsString GetCloudFrontOriginAccessIdentityConfig
- Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance Monoid GetCloudFrontOriginAccessIdentityConfig
- Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance Ord GetCloudFrontOriginAccessIdentityConfig
- Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance ToXML GetCloudFrontOriginAccessIdentityConfig
- Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance ToXMLRoot GetCloudFrontOriginAccessIdentityConfig
- Network.AWS.CloudFront.GetDistribution: gdrDistribution :: Lens' GetDistributionResponse (Maybe Distribution)
- Network.AWS.CloudFront.GetDistribution: gdrETag :: Lens' GetDistributionResponse (Maybe Text)
- Network.AWS.CloudFront.GetDistribution: instance IsString GetDistribution
- Network.AWS.CloudFront.GetDistribution: instance Monoid GetDistribution
- Network.AWS.CloudFront.GetDistribution: instance Ord GetDistribution
- Network.AWS.CloudFront.GetDistribution: instance ToXML GetDistribution
- Network.AWS.CloudFront.GetDistribution: instance ToXMLRoot GetDistribution
- Network.AWS.CloudFront.GetDistributionConfig: gdcrDistributionConfig :: Lens' GetDistributionConfigResponse (Maybe DistributionConfig)
- Network.AWS.CloudFront.GetDistributionConfig: gdcrETag :: Lens' GetDistributionConfigResponse (Maybe Text)
- Network.AWS.CloudFront.GetDistributionConfig: instance IsString GetDistributionConfig
- Network.AWS.CloudFront.GetDistributionConfig: instance Monoid GetDistributionConfig
- Network.AWS.CloudFront.GetDistributionConfig: instance Ord GetDistributionConfig
- Network.AWS.CloudFront.GetDistributionConfig: instance ToXML GetDistributionConfig
- Network.AWS.CloudFront.GetDistributionConfig: instance ToXMLRoot GetDistributionConfig
- Network.AWS.CloudFront.GetInvalidation: girInvalidation :: Lens' GetInvalidationResponse (Maybe Invalidation)
- Network.AWS.CloudFront.GetInvalidation: instance FromXML GetInvalidationResponse
- Network.AWS.CloudFront.GetInvalidation: instance Ord GetInvalidation
- Network.AWS.CloudFront.GetInvalidation: instance ToXML GetInvalidation
- Network.AWS.CloudFront.GetInvalidation: instance ToXMLRoot GetInvalidation
- Network.AWS.CloudFront.GetStreamingDistribution: gsdrETag :: Lens' GetStreamingDistributionResponse (Maybe Text)
- Network.AWS.CloudFront.GetStreamingDistribution: gsdrStreamingDistribution :: Lens' GetStreamingDistributionResponse (Maybe StreamingDistribution)
- Network.AWS.CloudFront.GetStreamingDistribution: instance IsString GetStreamingDistribution
- Network.AWS.CloudFront.GetStreamingDistribution: instance Monoid GetStreamingDistribution
- Network.AWS.CloudFront.GetStreamingDistribution: instance Ord GetStreamingDistribution
- Network.AWS.CloudFront.GetStreamingDistribution: instance ToXML GetStreamingDistribution
- Network.AWS.CloudFront.GetStreamingDistribution: instance ToXMLRoot GetStreamingDistribution
- Network.AWS.CloudFront.GetStreamingDistributionConfig: gsdcrETag :: Lens' GetStreamingDistributionConfigResponse (Maybe Text)
- Network.AWS.CloudFront.GetStreamingDistributionConfig: gsdcrStreamingDistributionConfig :: Lens' GetStreamingDistributionConfigResponse (Maybe StreamingDistributionConfig)
- Network.AWS.CloudFront.GetStreamingDistributionConfig: instance IsString GetStreamingDistributionConfig
- Network.AWS.CloudFront.GetStreamingDistributionConfig: instance Monoid GetStreamingDistributionConfig
- Network.AWS.CloudFront.GetStreamingDistributionConfig: instance Ord GetStreamingDistributionConfig
- Network.AWS.CloudFront.GetStreamingDistributionConfig: instance ToXML GetStreamingDistributionConfig
- Network.AWS.CloudFront.GetStreamingDistributionConfig: instance ToXMLRoot GetStreamingDistributionConfig
- Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance AWSPager ListCloudFrontOriginAccessIdentities
- Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance FromXML ListCloudFrontOriginAccessIdentitiesResponse
- Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance Ord ListCloudFrontOriginAccessIdentities
- Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance ToXML ListCloudFrontOriginAccessIdentities
- Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance ToXMLRoot ListCloudFrontOriginAccessIdentities
- Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: lcfoairCloudFrontOriginAccessIdentityList :: Lens' ListCloudFrontOriginAccessIdentitiesResponse CloudFrontOriginAccessIdentityList
- Network.AWS.CloudFront.ListDistributions: instance AWSPager ListDistributions
- Network.AWS.CloudFront.ListDistributions: instance FromXML ListDistributionsResponse
- Network.AWS.CloudFront.ListDistributions: instance Ord ListDistributions
- Network.AWS.CloudFront.ListDistributions: instance ToXML ListDistributions
- Network.AWS.CloudFront.ListDistributions: instance ToXMLRoot ListDistributions
- Network.AWS.CloudFront.ListDistributions: ldrDistributionList :: Lens' ListDistributionsResponse DistributionList
- Network.AWS.CloudFront.ListInvalidations: instance AWSPager ListInvalidations
- Network.AWS.CloudFront.ListInvalidations: instance FromXML ListInvalidationsResponse
- Network.AWS.CloudFront.ListInvalidations: instance Ord ListInvalidations
- Network.AWS.CloudFront.ListInvalidations: instance ToXML ListInvalidations
- Network.AWS.CloudFront.ListInvalidations: instance ToXMLRoot ListInvalidations
- Network.AWS.CloudFront.ListInvalidations: lirInvalidationList :: Lens' ListInvalidationsResponse InvalidationList
- Network.AWS.CloudFront.ListStreamingDistributions: instance AWSPager ListStreamingDistributions
- Network.AWS.CloudFront.ListStreamingDistributions: instance FromXML ListStreamingDistributionsResponse
- Network.AWS.CloudFront.ListStreamingDistributions: instance Ord ListStreamingDistributions
- Network.AWS.CloudFront.ListStreamingDistributions: instance ToXML ListStreamingDistributions
- Network.AWS.CloudFront.ListStreamingDistributions: instance ToXMLRoot ListStreamingDistributions
- Network.AWS.CloudFront.ListStreamingDistributions: lsdrStreamingDistributionList :: Lens' ListStreamingDistributionsResponse StreamingDistributionList
- Network.AWS.CloudFront.Types: All :: ItemSelection
- Network.AWS.CloudFront.Types: Delete' :: Method
- Network.AWS.CloudFront.Types: GRTBlacklist :: GeoRestrictionType
- Network.AWS.CloudFront.Types: GRTNone :: GeoRestrictionType
- Network.AWS.CloudFront.Types: GRTWhitelist :: GeoRestrictionType
- Network.AWS.CloudFront.Types: Head' :: Method
- Network.AWS.CloudFront.Types: HttpOnly :: OriginProtocolPolicy
- Network.AWS.CloudFront.Types: HttpsOnly :: ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: RedirectToHttps :: ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: SSLv3 :: MinimumProtocolVersion
- Network.AWS.CloudFront.Types: SniOnly :: SSLSupportMethod
- Network.AWS.CloudFront.Types: TLSv1 :: MinimumProtocolVersion
- Network.AWS.CloudFront.Types: Vip :: SSLSupportMethod
- Network.AWS.CloudFront.Types: cerErrorCachingMinTTL :: Lens' CustomErrorResponse (Maybe Integer)
- Network.AWS.CloudFront.Types: cerErrorCode :: Lens' CustomErrorResponse Int
- Network.AWS.CloudFront.Types: cerResponseCode :: Lens' CustomErrorResponse (Maybe Text)
- Network.AWS.CloudFront.Types: cerResponsePagePath :: Lens' CustomErrorResponse (Maybe Text)
- Network.AWS.CloudFront.Types: data RESTError :: *
- Network.AWS.CloudFront.Types: instance Constructor C1_0GeoRestrictionType
- Network.AWS.CloudFront.Types: instance Constructor C1_0ItemSelection
- Network.AWS.CloudFront.Types: instance Constructor C1_0Method
- Network.AWS.CloudFront.Types: instance Constructor C1_0MinimumProtocolVersion
- Network.AWS.CloudFront.Types: instance Constructor C1_0OriginProtocolPolicy
- Network.AWS.CloudFront.Types: instance Constructor C1_0PriceClass
- Network.AWS.CloudFront.Types: instance Constructor C1_0SSLSupportMethod
- Network.AWS.CloudFront.Types: instance Constructor C1_0ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance Constructor C1_1GeoRestrictionType
- Network.AWS.CloudFront.Types: instance Constructor C1_1ItemSelection
- Network.AWS.CloudFront.Types: instance Constructor C1_1Method
- Network.AWS.CloudFront.Types: instance Constructor C1_1MinimumProtocolVersion
- Network.AWS.CloudFront.Types: instance Constructor C1_1OriginProtocolPolicy
- Network.AWS.CloudFront.Types: instance Constructor C1_1PriceClass
- Network.AWS.CloudFront.Types: instance Constructor C1_1SSLSupportMethod
- Network.AWS.CloudFront.Types: instance Constructor C1_1ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance Constructor C1_2GeoRestrictionType
- Network.AWS.CloudFront.Types: instance Constructor C1_2ItemSelection
- Network.AWS.CloudFront.Types: instance Constructor C1_2Method
- Network.AWS.CloudFront.Types: instance Constructor C1_2PriceClass
- Network.AWS.CloudFront.Types: instance Constructor C1_2ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance Constructor C1_3Method
- Network.AWS.CloudFront.Types: instance Constructor C1_4Method
- Network.AWS.CloudFront.Types: instance Constructor C1_5Method
- Network.AWS.CloudFront.Types: instance Constructor C1_6Method
- Network.AWS.CloudFront.Types: instance Datatype D1GeoRestrictionType
- Network.AWS.CloudFront.Types: instance Datatype D1ItemSelection
- Network.AWS.CloudFront.Types: instance Datatype D1Method
- Network.AWS.CloudFront.Types: instance Datatype D1MinimumProtocolVersion
- Network.AWS.CloudFront.Types: instance Datatype D1OriginProtocolPolicy
- Network.AWS.CloudFront.Types: instance Datatype D1PriceClass
- Network.AWS.CloudFront.Types: instance Datatype D1SSLSupportMethod
- Network.AWS.CloudFront.Types: instance Datatype D1ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance Enum GeoRestrictionType
- Network.AWS.CloudFront.Types: instance Enum ItemSelection
- Network.AWS.CloudFront.Types: instance Enum Method
- Network.AWS.CloudFront.Types: instance Enum MinimumProtocolVersion
- Network.AWS.CloudFront.Types: instance Enum OriginProtocolPolicy
- Network.AWS.CloudFront.Types: instance Enum PriceClass
- Network.AWS.CloudFront.Types: instance Enum SSLSupportMethod
- Network.AWS.CloudFront.Types: instance Enum ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance Eq ActiveTrustedSigners
- Network.AWS.CloudFront.Types: instance Eq Aliases
- Network.AWS.CloudFront.Types: instance Eq AllowedMethods
- Network.AWS.CloudFront.Types: instance Eq CacheBehavior
- Network.AWS.CloudFront.Types: instance Eq CacheBehaviors
- Network.AWS.CloudFront.Types: instance Eq CachedMethods
- Network.AWS.CloudFront.Types: instance Eq CloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.Types: instance Eq CloudFrontOriginAccessIdentityConfig
- Network.AWS.CloudFront.Types: instance Eq CloudFrontOriginAccessIdentityList
- Network.AWS.CloudFront.Types: instance Eq CloudFrontOriginAccessIdentitySummary
- Network.AWS.CloudFront.Types: instance Eq CookieNames
- Network.AWS.CloudFront.Types: instance Eq CookiePreference
- Network.AWS.CloudFront.Types: instance Eq CustomErrorResponse
- Network.AWS.CloudFront.Types: instance Eq CustomErrorResponses
- Network.AWS.CloudFront.Types: instance Eq CustomOriginConfig
- Network.AWS.CloudFront.Types: instance Eq DefaultCacheBehavior
- Network.AWS.CloudFront.Types: instance Eq Distribution
- Network.AWS.CloudFront.Types: instance Eq DistributionConfig
- Network.AWS.CloudFront.Types: instance Eq DistributionList
- Network.AWS.CloudFront.Types: instance Eq DistributionSummary
- Network.AWS.CloudFront.Types: instance Eq ForwardedValues
- Network.AWS.CloudFront.Types: instance Eq GeoRestriction
- Network.AWS.CloudFront.Types: instance Eq GeoRestrictionType
- Network.AWS.CloudFront.Types: instance Eq Headers
- Network.AWS.CloudFront.Types: instance Eq Invalidation
- Network.AWS.CloudFront.Types: instance Eq InvalidationBatch
- Network.AWS.CloudFront.Types: instance Eq InvalidationList
- Network.AWS.CloudFront.Types: instance Eq InvalidationSummary
- Network.AWS.CloudFront.Types: instance Eq ItemSelection
- Network.AWS.CloudFront.Types: instance Eq KeyPairIds
- Network.AWS.CloudFront.Types: instance Eq LoggingConfig
- Network.AWS.CloudFront.Types: instance Eq Method
- Network.AWS.CloudFront.Types: instance Eq MinimumProtocolVersion
- Network.AWS.CloudFront.Types: instance Eq Origin
- Network.AWS.CloudFront.Types: instance Eq OriginProtocolPolicy
- Network.AWS.CloudFront.Types: instance Eq Origins
- Network.AWS.CloudFront.Types: instance Eq Paths
- Network.AWS.CloudFront.Types: instance Eq PriceClass
- Network.AWS.CloudFront.Types: instance Eq Restrictions
- Network.AWS.CloudFront.Types: instance Eq S3Origin
- Network.AWS.CloudFront.Types: instance Eq S3OriginConfig
- Network.AWS.CloudFront.Types: instance Eq SSLSupportMethod
- Network.AWS.CloudFront.Types: instance Eq Signer
- Network.AWS.CloudFront.Types: instance Eq StreamingDistribution
- Network.AWS.CloudFront.Types: instance Eq StreamingDistributionConfig
- Network.AWS.CloudFront.Types: instance Eq StreamingDistributionList
- Network.AWS.CloudFront.Types: instance Eq StreamingDistributionSummary
- Network.AWS.CloudFront.Types: instance Eq StreamingLoggingConfig
- Network.AWS.CloudFront.Types: instance Eq TrustedSigners
- Network.AWS.CloudFront.Types: instance Eq ViewerCertificate
- Network.AWS.CloudFront.Types: instance Eq ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance FromText GeoRestrictionType
- Network.AWS.CloudFront.Types: instance FromText ItemSelection
- Network.AWS.CloudFront.Types: instance FromText Method
- Network.AWS.CloudFront.Types: instance FromText MinimumProtocolVersion
- Network.AWS.CloudFront.Types: instance FromText OriginProtocolPolicy
- Network.AWS.CloudFront.Types: instance FromText PriceClass
- Network.AWS.CloudFront.Types: instance FromText SSLSupportMethod
- Network.AWS.CloudFront.Types: instance FromText ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance FromXML ActiveTrustedSigners
- Network.AWS.CloudFront.Types: instance FromXML Aliases
- Network.AWS.CloudFront.Types: instance FromXML AllowedMethods
- Network.AWS.CloudFront.Types: instance FromXML CacheBehavior
- Network.AWS.CloudFront.Types: instance FromXML CacheBehaviors
- Network.AWS.CloudFront.Types: instance FromXML CachedMethods
- Network.AWS.CloudFront.Types: instance FromXML CloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.Types: instance FromXML CloudFrontOriginAccessIdentityConfig
- Network.AWS.CloudFront.Types: instance FromXML CloudFrontOriginAccessIdentityList
- Network.AWS.CloudFront.Types: instance FromXML CloudFrontOriginAccessIdentitySummary
- Network.AWS.CloudFront.Types: instance FromXML CookieNames
- Network.AWS.CloudFront.Types: instance FromXML CookiePreference
- Network.AWS.CloudFront.Types: instance FromXML CustomErrorResponse
- Network.AWS.CloudFront.Types: instance FromXML CustomErrorResponses
- Network.AWS.CloudFront.Types: instance FromXML CustomOriginConfig
- Network.AWS.CloudFront.Types: instance FromXML DefaultCacheBehavior
- Network.AWS.CloudFront.Types: instance FromXML Distribution
- Network.AWS.CloudFront.Types: instance FromXML DistributionConfig
- Network.AWS.CloudFront.Types: instance FromXML DistributionList
- Network.AWS.CloudFront.Types: instance FromXML DistributionSummary
- Network.AWS.CloudFront.Types: instance FromXML ForwardedValues
- Network.AWS.CloudFront.Types: instance FromXML GeoRestriction
- Network.AWS.CloudFront.Types: instance FromXML GeoRestrictionType
- Network.AWS.CloudFront.Types: instance FromXML Headers
- Network.AWS.CloudFront.Types: instance FromXML Invalidation
- Network.AWS.CloudFront.Types: instance FromXML InvalidationBatch
- Network.AWS.CloudFront.Types: instance FromXML InvalidationList
- Network.AWS.CloudFront.Types: instance FromXML InvalidationSummary
- Network.AWS.CloudFront.Types: instance FromXML ItemSelection
- Network.AWS.CloudFront.Types: instance FromXML KeyPairIds
- Network.AWS.CloudFront.Types: instance FromXML LoggingConfig
- Network.AWS.CloudFront.Types: instance FromXML Method
- Network.AWS.CloudFront.Types: instance FromXML MinimumProtocolVersion
- Network.AWS.CloudFront.Types: instance FromXML Origin
- Network.AWS.CloudFront.Types: instance FromXML OriginProtocolPolicy
- Network.AWS.CloudFront.Types: instance FromXML Origins
- Network.AWS.CloudFront.Types: instance FromXML Paths
- Network.AWS.CloudFront.Types: instance FromXML PriceClass
- Network.AWS.CloudFront.Types: instance FromXML Restrictions
- Network.AWS.CloudFront.Types: instance FromXML S3Origin
- Network.AWS.CloudFront.Types: instance FromXML S3OriginConfig
- Network.AWS.CloudFront.Types: instance FromXML SSLSupportMethod
- Network.AWS.CloudFront.Types: instance FromXML Signer
- Network.AWS.CloudFront.Types: instance FromXML StreamingDistribution
- Network.AWS.CloudFront.Types: instance FromXML StreamingDistributionConfig
- Network.AWS.CloudFront.Types: instance FromXML StreamingDistributionList
- Network.AWS.CloudFront.Types: instance FromXML StreamingDistributionSummary
- Network.AWS.CloudFront.Types: instance FromXML StreamingLoggingConfig
- Network.AWS.CloudFront.Types: instance FromXML TrustedSigners
- Network.AWS.CloudFront.Types: instance FromXML ViewerCertificate
- Network.AWS.CloudFront.Types: instance FromXML ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance Generic GeoRestrictionType
- Network.AWS.CloudFront.Types: instance Generic ItemSelection
- Network.AWS.CloudFront.Types: instance Generic Method
- Network.AWS.CloudFront.Types: instance Generic MinimumProtocolVersion
- Network.AWS.CloudFront.Types: instance Generic OriginProtocolPolicy
- Network.AWS.CloudFront.Types: instance Generic PriceClass
- Network.AWS.CloudFront.Types: instance Generic SSLSupportMethod
- Network.AWS.CloudFront.Types: instance Generic ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance Hashable GeoRestrictionType
- Network.AWS.CloudFront.Types: instance Hashable ItemSelection
- Network.AWS.CloudFront.Types: instance Hashable Method
- Network.AWS.CloudFront.Types: instance Hashable MinimumProtocolVersion
- Network.AWS.CloudFront.Types: instance Hashable OriginProtocolPolicy
- Network.AWS.CloudFront.Types: instance Hashable PriceClass
- Network.AWS.CloudFront.Types: instance Hashable SSLSupportMethod
- Network.AWS.CloudFront.Types: instance Hashable ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance IsString S3OriginConfig
- Network.AWS.CloudFront.Types: instance Monoid S3OriginConfig
- Network.AWS.CloudFront.Types: instance Ord Aliases
- Network.AWS.CloudFront.Types: instance Ord CloudFrontOriginAccessIdentityConfig
- Network.AWS.CloudFront.Types: instance Ord CloudFrontOriginAccessIdentitySummary
- Network.AWS.CloudFront.Types: instance Ord CookieNames
- Network.AWS.CloudFront.Types: instance Ord CustomErrorResponse
- Network.AWS.CloudFront.Types: instance Ord GeoRestrictionType
- Network.AWS.CloudFront.Types: instance Ord Headers
- Network.AWS.CloudFront.Types: instance Ord InvalidationSummary
- Network.AWS.CloudFront.Types: instance Ord ItemSelection
- Network.AWS.CloudFront.Types: instance Ord KeyPairIds
- Network.AWS.CloudFront.Types: instance Ord LoggingConfig
- Network.AWS.CloudFront.Types: instance Ord Method
- Network.AWS.CloudFront.Types: instance Ord MinimumProtocolVersion
- Network.AWS.CloudFront.Types: instance Ord OriginProtocolPolicy
- Network.AWS.CloudFront.Types: instance Ord Paths
- Network.AWS.CloudFront.Types: instance Ord PriceClass
- Network.AWS.CloudFront.Types: instance Ord S3Origin
- Network.AWS.CloudFront.Types: instance Ord S3OriginConfig
- Network.AWS.CloudFront.Types: instance Ord SSLSupportMethod
- Network.AWS.CloudFront.Types: instance Ord StreamingLoggingConfig
- Network.AWS.CloudFront.Types: instance Ord TrustedSigners
- Network.AWS.CloudFront.Types: instance Ord ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance Read ActiveTrustedSigners
- Network.AWS.CloudFront.Types: instance Read Aliases
- Network.AWS.CloudFront.Types: instance Read AllowedMethods
- Network.AWS.CloudFront.Types: instance Read CacheBehavior
- Network.AWS.CloudFront.Types: instance Read CacheBehaviors
- Network.AWS.CloudFront.Types: instance Read CachedMethods
- Network.AWS.CloudFront.Types: instance Read CloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.Types: instance Read CloudFrontOriginAccessIdentityConfig
- Network.AWS.CloudFront.Types: instance Read CloudFrontOriginAccessIdentityList
- Network.AWS.CloudFront.Types: instance Read CloudFrontOriginAccessIdentitySummary
- Network.AWS.CloudFront.Types: instance Read CookieNames
- Network.AWS.CloudFront.Types: instance Read CookiePreference
- Network.AWS.CloudFront.Types: instance Read CustomErrorResponse
- Network.AWS.CloudFront.Types: instance Read CustomErrorResponses
- Network.AWS.CloudFront.Types: instance Read CustomOriginConfig
- Network.AWS.CloudFront.Types: instance Read DefaultCacheBehavior
- Network.AWS.CloudFront.Types: instance Read Distribution
- Network.AWS.CloudFront.Types: instance Read DistributionConfig
- Network.AWS.CloudFront.Types: instance Read DistributionList
- Network.AWS.CloudFront.Types: instance Read DistributionSummary
- Network.AWS.CloudFront.Types: instance Read ForwardedValues
- Network.AWS.CloudFront.Types: instance Read GeoRestriction
- Network.AWS.CloudFront.Types: instance Read GeoRestrictionType
- Network.AWS.CloudFront.Types: instance Read Headers
- Network.AWS.CloudFront.Types: instance Read Invalidation
- Network.AWS.CloudFront.Types: instance Read InvalidationBatch
- Network.AWS.CloudFront.Types: instance Read InvalidationList
- Network.AWS.CloudFront.Types: instance Read InvalidationSummary
- Network.AWS.CloudFront.Types: instance Read ItemSelection
- Network.AWS.CloudFront.Types: instance Read KeyPairIds
- Network.AWS.CloudFront.Types: instance Read LoggingConfig
- Network.AWS.CloudFront.Types: instance Read Method
- Network.AWS.CloudFront.Types: instance Read MinimumProtocolVersion
- Network.AWS.CloudFront.Types: instance Read Origin
- Network.AWS.CloudFront.Types: instance Read OriginProtocolPolicy
- Network.AWS.CloudFront.Types: instance Read Origins
- Network.AWS.CloudFront.Types: instance Read Paths
- Network.AWS.CloudFront.Types: instance Read PriceClass
- Network.AWS.CloudFront.Types: instance Read Restrictions
- Network.AWS.CloudFront.Types: instance Read S3Origin
- Network.AWS.CloudFront.Types: instance Read S3OriginConfig
- Network.AWS.CloudFront.Types: instance Read SSLSupportMethod
- Network.AWS.CloudFront.Types: instance Read Signer
- Network.AWS.CloudFront.Types: instance Read StreamingDistribution
- Network.AWS.CloudFront.Types: instance Read StreamingDistributionConfig
- Network.AWS.CloudFront.Types: instance Read StreamingDistributionList
- Network.AWS.CloudFront.Types: instance Read StreamingDistributionSummary
- Network.AWS.CloudFront.Types: instance Read StreamingLoggingConfig
- Network.AWS.CloudFront.Types: instance Read TrustedSigners
- Network.AWS.CloudFront.Types: instance Read ViewerCertificate
- Network.AWS.CloudFront.Types: instance Read ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance Show ActiveTrustedSigners
- Network.AWS.CloudFront.Types: instance Show Aliases
- Network.AWS.CloudFront.Types: instance Show AllowedMethods
- Network.AWS.CloudFront.Types: instance Show CacheBehavior
- Network.AWS.CloudFront.Types: instance Show CacheBehaviors
- Network.AWS.CloudFront.Types: instance Show CachedMethods
- Network.AWS.CloudFront.Types: instance Show CloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.Types: instance Show CloudFrontOriginAccessIdentityConfig
- Network.AWS.CloudFront.Types: instance Show CloudFrontOriginAccessIdentityList
- Network.AWS.CloudFront.Types: instance Show CloudFrontOriginAccessIdentitySummary
- Network.AWS.CloudFront.Types: instance Show CookieNames
- Network.AWS.CloudFront.Types: instance Show CookiePreference
- Network.AWS.CloudFront.Types: instance Show CustomErrorResponse
- Network.AWS.CloudFront.Types: instance Show CustomErrorResponses
- Network.AWS.CloudFront.Types: instance Show CustomOriginConfig
- Network.AWS.CloudFront.Types: instance Show DefaultCacheBehavior
- Network.AWS.CloudFront.Types: instance Show Distribution
- Network.AWS.CloudFront.Types: instance Show DistributionConfig
- Network.AWS.CloudFront.Types: instance Show DistributionList
- Network.AWS.CloudFront.Types: instance Show DistributionSummary
- Network.AWS.CloudFront.Types: instance Show ForwardedValues
- Network.AWS.CloudFront.Types: instance Show GeoRestriction
- Network.AWS.CloudFront.Types: instance Show GeoRestrictionType
- Network.AWS.CloudFront.Types: instance Show Headers
- Network.AWS.CloudFront.Types: instance Show Invalidation
- Network.AWS.CloudFront.Types: instance Show InvalidationBatch
- Network.AWS.CloudFront.Types: instance Show InvalidationList
- Network.AWS.CloudFront.Types: instance Show InvalidationSummary
- Network.AWS.CloudFront.Types: instance Show ItemSelection
- Network.AWS.CloudFront.Types: instance Show KeyPairIds
- Network.AWS.CloudFront.Types: instance Show LoggingConfig
- Network.AWS.CloudFront.Types: instance Show Method
- Network.AWS.CloudFront.Types: instance Show MinimumProtocolVersion
- Network.AWS.CloudFront.Types: instance Show Origin
- Network.AWS.CloudFront.Types: instance Show OriginProtocolPolicy
- Network.AWS.CloudFront.Types: instance Show Origins
- Network.AWS.CloudFront.Types: instance Show Paths
- Network.AWS.CloudFront.Types: instance Show PriceClass
- Network.AWS.CloudFront.Types: instance Show Restrictions
- Network.AWS.CloudFront.Types: instance Show S3Origin
- Network.AWS.CloudFront.Types: instance Show S3OriginConfig
- Network.AWS.CloudFront.Types: instance Show SSLSupportMethod
- Network.AWS.CloudFront.Types: instance Show Signer
- Network.AWS.CloudFront.Types: instance Show StreamingDistribution
- Network.AWS.CloudFront.Types: instance Show StreamingDistributionConfig
- Network.AWS.CloudFront.Types: instance Show StreamingDistributionList
- Network.AWS.CloudFront.Types: instance Show StreamingDistributionSummary
- Network.AWS.CloudFront.Types: instance Show StreamingLoggingConfig
- Network.AWS.CloudFront.Types: instance Show TrustedSigners
- Network.AWS.CloudFront.Types: instance Show ViewerCertificate
- Network.AWS.CloudFront.Types: instance Show ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance ToByteString GeoRestrictionType
- Network.AWS.CloudFront.Types: instance ToByteString ItemSelection
- Network.AWS.CloudFront.Types: instance ToByteString Method
- Network.AWS.CloudFront.Types: instance ToByteString MinimumProtocolVersion
- Network.AWS.CloudFront.Types: instance ToByteString OriginProtocolPolicy
- Network.AWS.CloudFront.Types: instance ToByteString PriceClass
- Network.AWS.CloudFront.Types: instance ToByteString SSLSupportMethod
- Network.AWS.CloudFront.Types: instance ToByteString ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance ToHeader GeoRestrictionType
- Network.AWS.CloudFront.Types: instance ToHeader ItemSelection
- Network.AWS.CloudFront.Types: instance ToHeader Method
- Network.AWS.CloudFront.Types: instance ToHeader MinimumProtocolVersion
- Network.AWS.CloudFront.Types: instance ToHeader OriginProtocolPolicy
- Network.AWS.CloudFront.Types: instance ToHeader PriceClass
- Network.AWS.CloudFront.Types: instance ToHeader SSLSupportMethod
- Network.AWS.CloudFront.Types: instance ToHeader ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance ToQuery GeoRestrictionType
- Network.AWS.CloudFront.Types: instance ToQuery ItemSelection
- Network.AWS.CloudFront.Types: instance ToQuery Method
- Network.AWS.CloudFront.Types: instance ToQuery MinimumProtocolVersion
- Network.AWS.CloudFront.Types: instance ToQuery OriginProtocolPolicy
- Network.AWS.CloudFront.Types: instance ToQuery PriceClass
- Network.AWS.CloudFront.Types: instance ToQuery SSLSupportMethod
- Network.AWS.CloudFront.Types: instance ToQuery ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance ToText GeoRestrictionType
- Network.AWS.CloudFront.Types: instance ToText ItemSelection
- Network.AWS.CloudFront.Types: instance ToText Method
- Network.AWS.CloudFront.Types: instance ToText MinimumProtocolVersion
- Network.AWS.CloudFront.Types: instance ToText OriginProtocolPolicy
- Network.AWS.CloudFront.Types: instance ToText PriceClass
- Network.AWS.CloudFront.Types: instance ToText SSLSupportMethod
- Network.AWS.CloudFront.Types: instance ToText ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance ToXML ActiveTrustedSigners
- Network.AWS.CloudFront.Types: instance ToXML Aliases
- Network.AWS.CloudFront.Types: instance ToXML AllowedMethods
- Network.AWS.CloudFront.Types: instance ToXML CacheBehavior
- Network.AWS.CloudFront.Types: instance ToXML CacheBehaviors
- Network.AWS.CloudFront.Types: instance ToXML CachedMethods
- Network.AWS.CloudFront.Types: instance ToXML CloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.Types: instance ToXML CloudFrontOriginAccessIdentityConfig
- Network.AWS.CloudFront.Types: instance ToXML CloudFrontOriginAccessIdentityList
- Network.AWS.CloudFront.Types: instance ToXML CloudFrontOriginAccessIdentitySummary
- Network.AWS.CloudFront.Types: instance ToXML CookieNames
- Network.AWS.CloudFront.Types: instance ToXML CookiePreference
- Network.AWS.CloudFront.Types: instance ToXML CustomErrorResponse
- Network.AWS.CloudFront.Types: instance ToXML CustomErrorResponses
- Network.AWS.CloudFront.Types: instance ToXML CustomOriginConfig
- Network.AWS.CloudFront.Types: instance ToXML DefaultCacheBehavior
- Network.AWS.CloudFront.Types: instance ToXML Distribution
- Network.AWS.CloudFront.Types: instance ToXML DistributionConfig
- Network.AWS.CloudFront.Types: instance ToXML DistributionList
- Network.AWS.CloudFront.Types: instance ToXML DistributionSummary
- Network.AWS.CloudFront.Types: instance ToXML ForwardedValues
- Network.AWS.CloudFront.Types: instance ToXML GeoRestriction
- Network.AWS.CloudFront.Types: instance ToXML GeoRestrictionType
- Network.AWS.CloudFront.Types: instance ToXML Headers
- Network.AWS.CloudFront.Types: instance ToXML Invalidation
- Network.AWS.CloudFront.Types: instance ToXML InvalidationBatch
- Network.AWS.CloudFront.Types: instance ToXML InvalidationList
- Network.AWS.CloudFront.Types: instance ToXML InvalidationSummary
- Network.AWS.CloudFront.Types: instance ToXML ItemSelection
- Network.AWS.CloudFront.Types: instance ToXML KeyPairIds
- Network.AWS.CloudFront.Types: instance ToXML LoggingConfig
- Network.AWS.CloudFront.Types: instance ToXML Method
- Network.AWS.CloudFront.Types: instance ToXML MinimumProtocolVersion
- Network.AWS.CloudFront.Types: instance ToXML Origin
- Network.AWS.CloudFront.Types: instance ToXML OriginProtocolPolicy
- Network.AWS.CloudFront.Types: instance ToXML Origins
- Network.AWS.CloudFront.Types: instance ToXML Paths
- Network.AWS.CloudFront.Types: instance ToXML PriceClass
- Network.AWS.CloudFront.Types: instance ToXML Restrictions
- Network.AWS.CloudFront.Types: instance ToXML S3Origin
- Network.AWS.CloudFront.Types: instance ToXML S3OriginConfig
- Network.AWS.CloudFront.Types: instance ToXML SSLSupportMethod
- Network.AWS.CloudFront.Types: instance ToXML Signer
- Network.AWS.CloudFront.Types: instance ToXML StreamingDistribution
- Network.AWS.CloudFront.Types: instance ToXML StreamingDistributionConfig
- Network.AWS.CloudFront.Types: instance ToXML StreamingDistributionList
- Network.AWS.CloudFront.Types: instance ToXML StreamingDistributionSummary
- Network.AWS.CloudFront.Types: instance ToXML StreamingLoggingConfig
- Network.AWS.CloudFront.Types: instance ToXML TrustedSigners
- Network.AWS.CloudFront.Types: instance ToXML ViewerCertificate
- Network.AWS.CloudFront.Types: instance ToXML ViewerProtocolPolicy
- Network.AWS.CloudFront.Types: instance ToXMLRoot CloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.Types: instance ToXMLRoot CloudFrontOriginAccessIdentityConfig
- Network.AWS.CloudFront.Types: instance ToXMLRoot Distribution
- Network.AWS.CloudFront.Types: instance ToXMLRoot DistributionConfig
- Network.AWS.CloudFront.Types: instance ToXMLRoot Invalidation
- Network.AWS.CloudFront.Types: instance ToXMLRoot StreamingDistribution
- Network.AWS.CloudFront.Types: instance ToXMLRoot StreamingDistributionConfig
- Network.AWS.CloudFront.Types: ns :: Text
- Network.AWS.CloudFront.Types: sAwsAccountNumber :: Lens' Signer (Maybe Text)
- Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance ToXML UpdateCloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance ToXMLRoot UpdateCloudFrontOriginAccessIdentity
- Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: ucfoairCloudFrontOriginAccessIdentity :: Lens' UpdateCloudFrontOriginAccessIdentityResponse (Maybe CloudFrontOriginAccessIdentity)
- Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: ucfoairETag :: Lens' UpdateCloudFrontOriginAccessIdentityResponse (Maybe Text)
- Network.AWS.CloudFront.UpdateDistribution: instance ToXML UpdateDistribution
- Network.AWS.CloudFront.UpdateDistribution: instance ToXMLRoot UpdateDistribution
- Network.AWS.CloudFront.UpdateDistribution: udrDistribution :: Lens' UpdateDistributionResponse (Maybe Distribution)
- Network.AWS.CloudFront.UpdateDistribution: udrETag :: Lens' UpdateDistributionResponse (Maybe Text)
- Network.AWS.CloudFront.UpdateStreamingDistribution: instance ToXML UpdateStreamingDistribution
- Network.AWS.CloudFront.UpdateStreamingDistribution: instance ToXMLRoot UpdateStreamingDistribution
- Network.AWS.CloudFront.UpdateStreamingDistribution: usdrETag :: Lens' UpdateStreamingDistributionResponse (Maybe Text)
- Network.AWS.CloudFront.UpdateStreamingDistribution: usdrStreamingDistribution :: Lens' UpdateStreamingDistributionResponse (Maybe StreamingDistribution)
+ Network.AWS.CloudFront: AllowAll :: ViewerProtocolPolicy
+ Network.AWS.CloudFront: Blacklist :: GeoRestrictionType
+ Network.AWS.CloudFront: Delete :: Method
+ Network.AWS.CloudFront: Get :: Method
+ Network.AWS.CloudFront: HTTPOnly :: OriginProtocolPolicy
+ Network.AWS.CloudFront: HTTPSOnly :: ViewerProtocolPolicy
+ Network.AWS.CloudFront: Head :: Method
+ Network.AWS.CloudFront: ISAll :: ItemSelection
+ Network.AWS.CloudFront: ISNone :: ItemSelection
+ Network.AWS.CloudFront: ISWhitelist :: ItemSelection
+ Network.AWS.CloudFront: MatchViewer :: OriginProtocolPolicy
+ Network.AWS.CloudFront: None :: GeoRestrictionType
+ Network.AWS.CloudFront: Options :: Method
+ Network.AWS.CloudFront: Patch :: Method
+ Network.AWS.CloudFront: Post :: Method
+ Network.AWS.CloudFront: PriceClass100 :: PriceClass
+ Network.AWS.CloudFront: PriceClass200 :: PriceClass
+ Network.AWS.CloudFront: PriceClassAll :: PriceClass
+ Network.AWS.CloudFront: Put :: Method
+ Network.AWS.CloudFront: RedirectToHTTPS :: ViewerProtocolPolicy
+ Network.AWS.CloudFront: SNIOnly :: SSLSupportMethod
+ Network.AWS.CloudFront: SSLV3 :: MinimumProtocolVersion
+ Network.AWS.CloudFront: TLSV1 :: MinimumProtocolVersion
+ Network.AWS.CloudFront: VIP :: SSLSupportMethod
+ Network.AWS.CloudFront: Whitelist :: GeoRestrictionType
+ Network.AWS.CloudFront: _AccessDenied :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _BatchTooLarge :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _CNAMEAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _CloudFrontOriginAccessIdentityAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _CloudFrontOriginAccessIdentityInUse :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _DistributionAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _DistributionNotDisabled :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _IllegalUpdate :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InconsistentQuantities :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InvalidArgument :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InvalidDefaultRootObject :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InvalidErrorCode :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InvalidForwardCookies :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InvalidGeoRestrictionParameter :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InvalidHeadersForS3Origin :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InvalidIfMatchVersion :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InvalidLocationCode :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InvalidMinimumProtocolVersion :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InvalidOrigin :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InvalidOriginAccessIdentity :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InvalidProtocolSettings :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InvalidRelativePath :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InvalidRequiredProtocol :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InvalidResponseCode :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InvalidTTLOrder :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _InvalidViewerCertificate :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _MissingBody :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _NoSuchCloudFrontOriginAccessIdentity :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _NoSuchDistribution :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _NoSuchInvalidation :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _NoSuchOrigin :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _NoSuchStreamingDistribution :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _PreconditionFailed :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _StreamingDistributionAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _StreamingDistributionNotDisabled :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _TooManyCacheBehaviors :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _TooManyCertificates :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _TooManyCloudFrontOriginAccessIdentities :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _TooManyCookieNamesInWhiteList :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _TooManyDistributionCNAMEs :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _TooManyDistributions :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _TooManyHeadersInForwardedValues :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _TooManyInvalidationsInProgress :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _TooManyOrigins :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _TooManyStreamingDistributionCNAMEs :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _TooManyStreamingDistributions :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _TooManyTrustedSigners :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: _TrustedSignerDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront: aItems :: Lens' Aliases [Text]
+ Network.AWS.CloudFront: aQuantity :: Lens' Aliases Int
+ Network.AWS.CloudFront: activeTrustedSigners :: Bool -> Int -> ActiveTrustedSigners
+ Network.AWS.CloudFront: aliases :: Int -> Aliases
+ Network.AWS.CloudFront: allowedMethods :: Int -> AllowedMethods
+ Network.AWS.CloudFront: amCachedMethods :: Lens' AllowedMethods (Maybe CachedMethods)
+ Network.AWS.CloudFront: amItems :: Lens' AllowedMethods [Method]
+ Network.AWS.CloudFront: amQuantity :: Lens' AllowedMethods Int
+ Network.AWS.CloudFront: atsEnabled :: Lens' ActiveTrustedSigners Bool
+ Network.AWS.CloudFront: atsItems :: Lens' ActiveTrustedSigners [Signer]
+ Network.AWS.CloudFront: atsQuantity :: Lens' ActiveTrustedSigners Int
+ Network.AWS.CloudFront: cacheBehavior :: Text -> Text -> ForwardedValues -> TrustedSigners -> ViewerProtocolPolicy -> Integer -> CacheBehavior
+ Network.AWS.CloudFront: cacheBehaviors :: Int -> CacheBehaviors
+ Network.AWS.CloudFront: cachedMethods :: Int -> CachedMethods
+ Network.AWS.CloudFront: cbAllowedMethods :: Lens' CacheBehavior (Maybe AllowedMethods)
+ Network.AWS.CloudFront: cbDefaultTTL :: Lens' CacheBehavior (Maybe Integer)
+ Network.AWS.CloudFront: cbForwardedValues :: Lens' CacheBehavior ForwardedValues
+ Network.AWS.CloudFront: cbItems :: Lens' CacheBehaviors [CacheBehavior]
+ Network.AWS.CloudFront: cbMaxTTL :: Lens' CacheBehavior (Maybe Integer)
+ Network.AWS.CloudFront: cbMinTTL :: Lens' CacheBehavior Integer
+ Network.AWS.CloudFront: cbPathPattern :: Lens' CacheBehavior Text
+ Network.AWS.CloudFront: cbQuantity :: Lens' CacheBehaviors Int
+ Network.AWS.CloudFront: cbSmoothStreaming :: Lens' CacheBehavior (Maybe Bool)
+ Network.AWS.CloudFront: cbTargetOriginId :: Lens' CacheBehavior Text
+ Network.AWS.CloudFront: cbTrustedSigners :: Lens' CacheBehavior TrustedSigners
+ Network.AWS.CloudFront: cbViewerProtocolPolicy :: Lens' CacheBehavior ViewerProtocolPolicy
+ Network.AWS.CloudFront: ceErrorCachingMinTTL :: Lens' CustomErrorResponse (Maybe Integer)
+ Network.AWS.CloudFront: ceErrorCode :: Lens' CustomErrorResponse Int
+ Network.AWS.CloudFront: ceResponseCode :: Lens' CustomErrorResponse (Maybe Text)
+ Network.AWS.CloudFront: ceResponsePagePath :: Lens' CustomErrorResponse (Maybe Text)
+ Network.AWS.CloudFront: cerItems :: Lens' CustomErrorResponses [CustomErrorResponse]
+ Network.AWS.CloudFront: cerQuantity :: Lens' CustomErrorResponses Int
+ Network.AWS.CloudFront: cfoaiCloudFrontOriginAccessIdentityConfig :: Lens' CloudFrontOriginAccessIdentity (Maybe CloudFrontOriginAccessIdentityConfig)
+ Network.AWS.CloudFront: cfoaiId :: Lens' CloudFrontOriginAccessIdentity Text
+ Network.AWS.CloudFront: cfoaiS3CanonicalUserId :: Lens' CloudFrontOriginAccessIdentity Text
+ Network.AWS.CloudFront: cfoaicCallerReference :: Lens' CloudFrontOriginAccessIdentityConfig Text
+ Network.AWS.CloudFront: cfoaicComment :: Lens' CloudFrontOriginAccessIdentityConfig Text
+ Network.AWS.CloudFront: cfoailIsTruncated :: Lens' CloudFrontOriginAccessIdentityList Bool
+ Network.AWS.CloudFront: cfoailItems :: Lens' CloudFrontOriginAccessIdentityList [CloudFrontOriginAccessIdentitySummary]
+ Network.AWS.CloudFront: cfoailMarker :: Lens' CloudFrontOriginAccessIdentityList Text
+ Network.AWS.CloudFront: cfoailMaxItems :: Lens' CloudFrontOriginAccessIdentityList Int
+ Network.AWS.CloudFront: cfoailNextMarker :: Lens' CloudFrontOriginAccessIdentityList (Maybe Text)
+ Network.AWS.CloudFront: cfoailQuantity :: Lens' CloudFrontOriginAccessIdentityList Int
+ Network.AWS.CloudFront: cfoaisComment :: Lens' CloudFrontOriginAccessIdentitySummary Text
+ Network.AWS.CloudFront: cfoaisId :: Lens' CloudFrontOriginAccessIdentitySummary Text
+ Network.AWS.CloudFront: cfoaisS3CanonicalUserId :: Lens' CloudFrontOriginAccessIdentitySummary Text
+ Network.AWS.CloudFront: cloudFrontOriginAccessIdentity :: Text -> Text -> CloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront: cloudFrontOriginAccessIdentityConfig :: Text -> Text -> CloudFrontOriginAccessIdentityConfig
+ Network.AWS.CloudFront: cloudFrontOriginAccessIdentityList :: Text -> Int -> Bool -> Int -> CloudFrontOriginAccessIdentityList
+ Network.AWS.CloudFront: cloudFrontOriginAccessIdentitySummary :: Text -> Text -> Text -> CloudFrontOriginAccessIdentitySummary
+ Network.AWS.CloudFront: cmItems :: Lens' CachedMethods [Method]
+ Network.AWS.CloudFront: cmQuantity :: Lens' CachedMethods Int
+ Network.AWS.CloudFront: cnItems :: Lens' CookieNames [Text]
+ Network.AWS.CloudFront: cnQuantity :: Lens' CookieNames Int
+ Network.AWS.CloudFront: cocHTTPPort :: Lens' CustomOriginConfig Int
+ Network.AWS.CloudFront: cocHTTPSPort :: Lens' CustomOriginConfig Int
+ Network.AWS.CloudFront: cocOriginProtocolPolicy :: Lens' CustomOriginConfig OriginProtocolPolicy
+ Network.AWS.CloudFront: cookieNames :: Int -> CookieNames
+ Network.AWS.CloudFront: cookiePreference :: ItemSelection -> CookiePreference
+ Network.AWS.CloudFront: cpForward :: Lens' CookiePreference ItemSelection
+ Network.AWS.CloudFront: cpWhitelistedNames :: Lens' CookiePreference (Maybe CookieNames)
+ Network.AWS.CloudFront: customErrorResponse :: Int -> CustomErrorResponse
+ Network.AWS.CloudFront: customErrorResponses :: Int -> CustomErrorResponses
+ Network.AWS.CloudFront: customOriginConfig :: Int -> Int -> OriginProtocolPolicy -> CustomOriginConfig
+ Network.AWS.CloudFront: dActiveTrustedSigners :: Lens' Distribution ActiveTrustedSigners
+ Network.AWS.CloudFront: dDistributionConfig :: Lens' Distribution DistributionConfig
+ Network.AWS.CloudFront: dDomainName :: Lens' Distribution Text
+ Network.AWS.CloudFront: dId :: Lens' Distribution Text
+ Network.AWS.CloudFront: dInProgressInvalidationBatches :: Lens' Distribution Int
+ Network.AWS.CloudFront: dLastModifiedTime :: Lens' Distribution UTCTime
+ Network.AWS.CloudFront: dStatus :: Lens' Distribution Text
+ Network.AWS.CloudFront: data ActiveTrustedSigners
+ Network.AWS.CloudFront: data Aliases
+ Network.AWS.CloudFront: data AllowedMethods
+ Network.AWS.CloudFront: data CacheBehavior
+ Network.AWS.CloudFront: data CacheBehaviors
+ Network.AWS.CloudFront: data CachedMethods
+ Network.AWS.CloudFront: data CloudFront
+ Network.AWS.CloudFront: data CloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront: data CloudFrontOriginAccessIdentityConfig
+ Network.AWS.CloudFront: data CloudFrontOriginAccessIdentityList
+ Network.AWS.CloudFront: data CloudFrontOriginAccessIdentitySummary
+ Network.AWS.CloudFront: data CookieNames
+ Network.AWS.CloudFront: data CookiePreference
+ Network.AWS.CloudFront: data CustomErrorResponse
+ Network.AWS.CloudFront: data CustomErrorResponses
+ Network.AWS.CloudFront: data CustomOriginConfig
+ Network.AWS.CloudFront: data DefaultCacheBehavior
+ Network.AWS.CloudFront: data Distribution
+ Network.AWS.CloudFront: data DistributionConfig
+ Network.AWS.CloudFront: data DistributionList
+ Network.AWS.CloudFront: data DistributionSummary
+ Network.AWS.CloudFront: data ForwardedValues
+ Network.AWS.CloudFront: data GeoRestriction
+ Network.AWS.CloudFront: data GeoRestrictionType
+ Network.AWS.CloudFront: data Headers
+ Network.AWS.CloudFront: data Invalidation
+ Network.AWS.CloudFront: data InvalidationBatch
+ Network.AWS.CloudFront: data InvalidationList
+ Network.AWS.CloudFront: data InvalidationSummary
+ Network.AWS.CloudFront: data ItemSelection
+ Network.AWS.CloudFront: data KeyPairIds
+ Network.AWS.CloudFront: data LoggingConfig
+ Network.AWS.CloudFront: data Method
+ Network.AWS.CloudFront: data MinimumProtocolVersion
+ Network.AWS.CloudFront: data Origin
+ Network.AWS.CloudFront: data OriginProtocolPolicy
+ Network.AWS.CloudFront: data Origins
+ Network.AWS.CloudFront: data Paths
+ Network.AWS.CloudFront: data PriceClass
+ Network.AWS.CloudFront: data Restrictions
+ Network.AWS.CloudFront: data S3Origin
+ Network.AWS.CloudFront: data S3OriginConfig
+ Network.AWS.CloudFront: data SSLSupportMethod
+ Network.AWS.CloudFront: data Signer
+ Network.AWS.CloudFront: data StreamingDistribution
+ Network.AWS.CloudFront: data StreamingDistributionConfig
+ Network.AWS.CloudFront: data StreamingDistributionList
+ Network.AWS.CloudFront: data StreamingDistributionSummary
+ Network.AWS.CloudFront: data StreamingLoggingConfig
+ Network.AWS.CloudFront: data TrustedSigners
+ Network.AWS.CloudFront: data ViewerCertificate
+ Network.AWS.CloudFront: data ViewerProtocolPolicy
+ Network.AWS.CloudFront: dcAliases :: Lens' DistributionConfig (Maybe Aliases)
+ Network.AWS.CloudFront: dcCacheBehaviors :: Lens' DistributionConfig (Maybe CacheBehaviors)
+ Network.AWS.CloudFront: dcCallerReference :: Lens' DistributionConfig Text
+ Network.AWS.CloudFront: dcComment :: Lens' DistributionConfig Text
+ Network.AWS.CloudFront: dcCustomErrorResponses :: Lens' DistributionConfig (Maybe CustomErrorResponses)
+ Network.AWS.CloudFront: dcDefaultCacheBehavior :: Lens' DistributionConfig DefaultCacheBehavior
+ Network.AWS.CloudFront: dcDefaultRootObject :: Lens' DistributionConfig (Maybe Text)
+ Network.AWS.CloudFront: dcEnabled :: Lens' DistributionConfig Bool
+ Network.AWS.CloudFront: dcLogging :: Lens' DistributionConfig (Maybe LoggingConfig)
+ Network.AWS.CloudFront: dcOrigins :: Lens' DistributionConfig Origins
+ Network.AWS.CloudFront: dcPriceClass :: Lens' DistributionConfig (Maybe PriceClass)
+ Network.AWS.CloudFront: dcRestrictions :: Lens' DistributionConfig (Maybe Restrictions)
+ Network.AWS.CloudFront: dcViewerCertificate :: Lens' DistributionConfig (Maybe ViewerCertificate)
+ Network.AWS.CloudFront: dcbAllowedMethods :: Lens' DefaultCacheBehavior (Maybe AllowedMethods)
+ Network.AWS.CloudFront: dcbDefaultTTL :: Lens' DefaultCacheBehavior (Maybe Integer)
+ Network.AWS.CloudFront: dcbForwardedValues :: Lens' DefaultCacheBehavior ForwardedValues
+ Network.AWS.CloudFront: dcbMaxTTL :: Lens' DefaultCacheBehavior (Maybe Integer)
+ Network.AWS.CloudFront: dcbMinTTL :: Lens' DefaultCacheBehavior Integer
+ Network.AWS.CloudFront: dcbSmoothStreaming :: Lens' DefaultCacheBehavior (Maybe Bool)
+ Network.AWS.CloudFront: dcbTargetOriginId :: Lens' DefaultCacheBehavior Text
+ Network.AWS.CloudFront: dcbTrustedSigners :: Lens' DefaultCacheBehavior TrustedSigners
+ Network.AWS.CloudFront: dcbViewerProtocolPolicy :: Lens' DefaultCacheBehavior ViewerProtocolPolicy
+ Network.AWS.CloudFront: defaultCacheBehavior :: Text -> ForwardedValues -> TrustedSigners -> ViewerProtocolPolicy -> Integer -> DefaultCacheBehavior
+ Network.AWS.CloudFront: distribution :: Text -> Text -> UTCTime -> Int -> Text -> ActiveTrustedSigners -> DistributionConfig -> Distribution
+ Network.AWS.CloudFront: distributionConfig :: Text -> Origins -> DefaultCacheBehavior -> Text -> Bool -> DistributionConfig
+ Network.AWS.CloudFront: distributionList :: Text -> Int -> Bool -> Int -> DistributionList
+ Network.AWS.CloudFront: distributionSummary :: Text -> Text -> UTCTime -> Text -> Aliases -> Origins -> DefaultCacheBehavior -> CacheBehaviors -> CustomErrorResponses -> Text -> PriceClass -> Bool -> ViewerCertificate -> Restrictions -> DistributionSummary
+ Network.AWS.CloudFront: dlIsTruncated :: Lens' DistributionList Bool
+ Network.AWS.CloudFront: dlItems :: Lens' DistributionList [DistributionSummary]
+ Network.AWS.CloudFront: dlMarker :: Lens' DistributionList Text
+ Network.AWS.CloudFront: dlMaxItems :: Lens' DistributionList Int
+ Network.AWS.CloudFront: dlNextMarker :: Lens' DistributionList (Maybe Text)
+ Network.AWS.CloudFront: dlQuantity :: Lens' DistributionList Int
+ Network.AWS.CloudFront: dsAliases :: Lens' DistributionSummary Aliases
+ Network.AWS.CloudFront: dsCacheBehaviors :: Lens' DistributionSummary CacheBehaviors
+ Network.AWS.CloudFront: dsComment :: Lens' DistributionSummary Text
+ Network.AWS.CloudFront: dsCustomErrorResponses :: Lens' DistributionSummary CustomErrorResponses
+ Network.AWS.CloudFront: dsDefaultCacheBehavior :: Lens' DistributionSummary DefaultCacheBehavior
+ Network.AWS.CloudFront: dsDomainName :: Lens' DistributionSummary Text
+ Network.AWS.CloudFront: dsEnabled :: Lens' DistributionSummary Bool
+ Network.AWS.CloudFront: dsId :: Lens' DistributionSummary Text
+ Network.AWS.CloudFront: dsLastModifiedTime :: Lens' DistributionSummary UTCTime
+ Network.AWS.CloudFront: dsOrigins :: Lens' DistributionSummary Origins
+ Network.AWS.CloudFront: dsPriceClass :: Lens' DistributionSummary PriceClass
+ Network.AWS.CloudFront: dsRestrictions :: Lens' DistributionSummary Restrictions
+ Network.AWS.CloudFront: dsStatus :: Lens' DistributionSummary Text
+ Network.AWS.CloudFront: dsViewerCertificate :: Lens' DistributionSummary ViewerCertificate
+ Network.AWS.CloudFront: forwardedValues :: Bool -> CookiePreference -> ForwardedValues
+ Network.AWS.CloudFront: fvCookies :: Lens' ForwardedValues CookiePreference
+ Network.AWS.CloudFront: fvHeaders :: Lens' ForwardedValues (Maybe Headers)
+ Network.AWS.CloudFront: fvQueryString :: Lens' ForwardedValues Bool
+ Network.AWS.CloudFront: geoRestriction :: GeoRestrictionType -> Int -> GeoRestriction
+ Network.AWS.CloudFront: grItems :: Lens' GeoRestriction [Text]
+ Network.AWS.CloudFront: grQuantity :: Lens' GeoRestriction Int
+ Network.AWS.CloudFront: grRestrictionType :: Lens' GeoRestriction GeoRestrictionType
+ Network.AWS.CloudFront: hItems :: Lens' Headers [Text]
+ Network.AWS.CloudFront: hQuantity :: Lens' Headers Int
+ Network.AWS.CloudFront: headers :: Int -> Headers
+ Network.AWS.CloudFront: iCreateTime :: Lens' Invalidation UTCTime
+ Network.AWS.CloudFront: iId :: Lens' Invalidation Text
+ Network.AWS.CloudFront: iInvalidationBatch :: Lens' Invalidation InvalidationBatch
+ Network.AWS.CloudFront: iStatus :: Lens' Invalidation Text
+ Network.AWS.CloudFront: ibCallerReference :: Lens' InvalidationBatch Text
+ Network.AWS.CloudFront: ibPaths :: Lens' InvalidationBatch Paths
+ Network.AWS.CloudFront: ilIsTruncated :: Lens' InvalidationList Bool
+ Network.AWS.CloudFront: ilItems :: Lens' InvalidationList [InvalidationSummary]
+ Network.AWS.CloudFront: ilMarker :: Lens' InvalidationList Text
+ Network.AWS.CloudFront: ilMaxItems :: Lens' InvalidationList Int
+ Network.AWS.CloudFront: ilNextMarker :: Lens' InvalidationList (Maybe Text)
+ Network.AWS.CloudFront: ilQuantity :: Lens' InvalidationList Int
+ Network.AWS.CloudFront: invalidation :: Text -> Text -> UTCTime -> InvalidationBatch -> Invalidation
+ Network.AWS.CloudFront: invalidationBatch :: Paths -> Text -> InvalidationBatch
+ Network.AWS.CloudFront: invalidationList :: Text -> Int -> Bool -> Int -> InvalidationList
+ Network.AWS.CloudFront: invalidationSummary :: Text -> UTCTime -> Text -> InvalidationSummary
+ Network.AWS.CloudFront: isCreateTime :: Lens' InvalidationSummary UTCTime
+ Network.AWS.CloudFront: isId :: Lens' InvalidationSummary Text
+ Network.AWS.CloudFront: isStatus :: Lens' InvalidationSummary Text
+ Network.AWS.CloudFront: keyPairIds :: Int -> KeyPairIds
+ Network.AWS.CloudFront: kpiItems :: Lens' KeyPairIds [Text]
+ Network.AWS.CloudFront: kpiQuantity :: Lens' KeyPairIds Int
+ Network.AWS.CloudFront: lcBucket :: Lens' LoggingConfig Text
+ Network.AWS.CloudFront: lcEnabled :: Lens' LoggingConfig Bool
+ Network.AWS.CloudFront: lcIncludeCookies :: Lens' LoggingConfig Bool
+ Network.AWS.CloudFront: lcPrefix :: Lens' LoggingConfig Text
+ Network.AWS.CloudFront: loggingConfig :: Bool -> Bool -> Text -> Text -> LoggingConfig
+ Network.AWS.CloudFront: oCustomOriginConfig :: Lens' Origin (Maybe CustomOriginConfig)
+ Network.AWS.CloudFront: oDomainName :: Lens' Origin Text
+ Network.AWS.CloudFront: oId :: Lens' Origin Text
+ Network.AWS.CloudFront: oItems :: Lens' Origins (Maybe (NonEmpty Origin))
+ Network.AWS.CloudFront: oOriginPath :: Lens' Origin (Maybe Text)
+ Network.AWS.CloudFront: oQuantity :: Lens' Origins Int
+ Network.AWS.CloudFront: oS3OriginConfig :: Lens' Origin (Maybe S3OriginConfig)
+ Network.AWS.CloudFront: origin :: Text -> Text -> Origin
+ Network.AWS.CloudFront: origins :: Int -> Origins
+ Network.AWS.CloudFront: pItems :: Lens' Paths [Text]
+ Network.AWS.CloudFront: pQuantity :: Lens' Paths Int
+ Network.AWS.CloudFront: paths :: Int -> Paths
+ Network.AWS.CloudFront: rGeoRestriction :: Lens' Restrictions GeoRestriction
+ Network.AWS.CloudFront: restrictions :: GeoRestriction -> Restrictions
+ Network.AWS.CloudFront: s3Origin :: Text -> Text -> S3Origin
+ Network.AWS.CloudFront: s3OriginConfig :: Text -> S3OriginConfig
+ Network.AWS.CloudFront: sAWSAccountNumber :: Lens' Signer (Maybe Text)
+ Network.AWS.CloudFront: sKeyPairIds :: Lens' Signer (Maybe KeyPairIds)
+ Network.AWS.CloudFront: sdActiveTrustedSigners :: Lens' StreamingDistribution ActiveTrustedSigners
+ Network.AWS.CloudFront: sdDomainName :: Lens' StreamingDistribution Text
+ Network.AWS.CloudFront: sdId :: Lens' StreamingDistribution Text
+ Network.AWS.CloudFront: sdLastModifiedTime :: Lens' StreamingDistribution (Maybe UTCTime)
+ Network.AWS.CloudFront: sdStatus :: Lens' StreamingDistribution Text
+ Network.AWS.CloudFront: sdStreamingDistributionConfig :: Lens' StreamingDistribution StreamingDistributionConfig
+ Network.AWS.CloudFront: sdcAliases :: Lens' StreamingDistributionConfig (Maybe Aliases)
+ Network.AWS.CloudFront: sdcCallerReference :: Lens' StreamingDistributionConfig Text
+ Network.AWS.CloudFront: sdcComment :: Lens' StreamingDistributionConfig Text
+ Network.AWS.CloudFront: sdcEnabled :: Lens' StreamingDistributionConfig Bool
+ Network.AWS.CloudFront: sdcLogging :: Lens' StreamingDistributionConfig (Maybe StreamingLoggingConfig)
+ Network.AWS.CloudFront: sdcPriceClass :: Lens' StreamingDistributionConfig (Maybe PriceClass)
+ Network.AWS.CloudFront: sdcS3Origin :: Lens' StreamingDistributionConfig S3Origin
+ Network.AWS.CloudFront: sdcTrustedSigners :: Lens' StreamingDistributionConfig TrustedSigners
+ Network.AWS.CloudFront: sdlIsTruncated :: Lens' StreamingDistributionList Bool
+ Network.AWS.CloudFront: sdlItems :: Lens' StreamingDistributionList [StreamingDistributionSummary]
+ Network.AWS.CloudFront: sdlMarker :: Lens' StreamingDistributionList Text
+ Network.AWS.CloudFront: sdlMaxItems :: Lens' StreamingDistributionList Int
+ Network.AWS.CloudFront: sdlNextMarker :: Lens' StreamingDistributionList (Maybe Text)
+ Network.AWS.CloudFront: sdlQuantity :: Lens' StreamingDistributionList Int
+ Network.AWS.CloudFront: sdsAliases :: Lens' StreamingDistributionSummary Aliases
+ Network.AWS.CloudFront: sdsComment :: Lens' StreamingDistributionSummary Text
+ Network.AWS.CloudFront: sdsDomainName :: Lens' StreamingDistributionSummary Text
+ Network.AWS.CloudFront: sdsEnabled :: Lens' StreamingDistributionSummary Bool
+ Network.AWS.CloudFront: sdsId :: Lens' StreamingDistributionSummary Text
+ Network.AWS.CloudFront: sdsLastModifiedTime :: Lens' StreamingDistributionSummary UTCTime
+ Network.AWS.CloudFront: sdsPriceClass :: Lens' StreamingDistributionSummary PriceClass
+ Network.AWS.CloudFront: sdsS3Origin :: Lens' StreamingDistributionSummary S3Origin
+ Network.AWS.CloudFront: sdsStatus :: Lens' StreamingDistributionSummary Text
+ Network.AWS.CloudFront: sdsTrustedSigners :: Lens' StreamingDistributionSummary TrustedSigners
+ Network.AWS.CloudFront: signer :: Signer
+ Network.AWS.CloudFront: slcBucket :: Lens' StreamingLoggingConfig Text
+ Network.AWS.CloudFront: slcEnabled :: Lens' StreamingLoggingConfig Bool
+ Network.AWS.CloudFront: slcPrefix :: Lens' StreamingLoggingConfig Text
+ Network.AWS.CloudFront: soDomainName :: Lens' S3Origin Text
+ Network.AWS.CloudFront: soOriginAccessIdentity :: Lens' S3Origin Text
+ Network.AWS.CloudFront: socOriginAccessIdentity :: Lens' S3OriginConfig Text
+ Network.AWS.CloudFront: streamingDistribution :: Text -> Text -> Text -> ActiveTrustedSigners -> StreamingDistributionConfig -> StreamingDistribution
+ Network.AWS.CloudFront: streamingDistributionConfig :: Text -> S3Origin -> Text -> TrustedSigners -> Bool -> StreamingDistributionConfig
+ Network.AWS.CloudFront: streamingDistributionList :: Text -> Int -> Bool -> Int -> StreamingDistributionList
+ Network.AWS.CloudFront: streamingDistributionSummary :: Text -> Text -> UTCTime -> Text -> S3Origin -> Aliases -> TrustedSigners -> Text -> PriceClass -> Bool -> StreamingDistributionSummary
+ Network.AWS.CloudFront: streamingLoggingConfig :: Bool -> Text -> Text -> StreamingLoggingConfig
+ Network.AWS.CloudFront: trustedSigners :: Bool -> Int -> TrustedSigners
+ Network.AWS.CloudFront: tsEnabled :: Lens' TrustedSigners Bool
+ Network.AWS.CloudFront: tsItems :: Lens' TrustedSigners [Text]
+ Network.AWS.CloudFront: tsQuantity :: Lens' TrustedSigners Int
+ Network.AWS.CloudFront: vcCloudFrontDefaultCertificate :: Lens' ViewerCertificate (Maybe Bool)
+ Network.AWS.CloudFront: vcIAMCertificateId :: Lens' ViewerCertificate (Maybe Text)
+ Network.AWS.CloudFront: vcMinimumProtocolVersion :: Lens' ViewerCertificate (Maybe MinimumProtocolVersion)
+ Network.AWS.CloudFront: vcSSLSupportMethod :: Lens' ViewerCertificate (Maybe SSLSupportMethod)
+ Network.AWS.CloudFront: viewerCertificate :: ViewerCertificate
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: ccfoairsCloudFrontOriginAccessIdentity :: Lens' CreateCloudFrontOriginAccessIdentityResponse (Maybe CloudFrontOriginAccessIdentity)
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: ccfoairsETag :: Lens' CreateCloudFrontOriginAccessIdentityResponse (Maybe Text)
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: ccfoairsLocation :: Lens' CreateCloudFrontOriginAccessIdentityResponse (Maybe Text)
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: ccfoairsStatus :: Lens' CreateCloudFrontOriginAccessIdentityResponse Int
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance Constructor C1_0CreateCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance Constructor C1_0CreateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance Data CreateCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance Data CreateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance Datatype D1CreateCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance Datatype D1CreateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance Generic CreateCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance Generic CreateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance Selector S1_0_0CreateCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance Selector S1_0_0CreateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance Selector S1_0_1CreateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance Selector S1_0_2CreateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance Selector S1_0_3CreateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance ToElement CreateCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance Typeable CreateCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: instance Typeable CreateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.CreateDistribution: cdrsDistribution :: Lens' CreateDistributionResponse (Maybe Distribution)
+ Network.AWS.CloudFront.CreateDistribution: cdrsETag :: Lens' CreateDistributionResponse (Maybe Text)
+ Network.AWS.CloudFront.CreateDistribution: cdrsLocation :: Lens' CreateDistributionResponse (Maybe Text)
+ Network.AWS.CloudFront.CreateDistribution: cdrsStatus :: Lens' CreateDistributionResponse Int
+ Network.AWS.CloudFront.CreateDistribution: instance Constructor C1_0CreateDistribution
+ Network.AWS.CloudFront.CreateDistribution: instance Constructor C1_0CreateDistributionResponse
+ Network.AWS.CloudFront.CreateDistribution: instance Data CreateDistribution
+ Network.AWS.CloudFront.CreateDistribution: instance Data CreateDistributionResponse
+ Network.AWS.CloudFront.CreateDistribution: instance Datatype D1CreateDistribution
+ Network.AWS.CloudFront.CreateDistribution: instance Datatype D1CreateDistributionResponse
+ Network.AWS.CloudFront.CreateDistribution: instance Generic CreateDistribution
+ Network.AWS.CloudFront.CreateDistribution: instance Generic CreateDistributionResponse
+ Network.AWS.CloudFront.CreateDistribution: instance Selector S1_0_0CreateDistribution
+ Network.AWS.CloudFront.CreateDistribution: instance Selector S1_0_0CreateDistributionResponse
+ Network.AWS.CloudFront.CreateDistribution: instance Selector S1_0_1CreateDistributionResponse
+ Network.AWS.CloudFront.CreateDistribution: instance Selector S1_0_2CreateDistributionResponse
+ Network.AWS.CloudFront.CreateDistribution: instance Selector S1_0_3CreateDistributionResponse
+ Network.AWS.CloudFront.CreateDistribution: instance ToElement CreateDistribution
+ Network.AWS.CloudFront.CreateDistribution: instance Typeable CreateDistribution
+ Network.AWS.CloudFront.CreateDistribution: instance Typeable CreateDistributionResponse
+ Network.AWS.CloudFront.CreateInvalidation: cirsInvalidation :: Lens' CreateInvalidationResponse (Maybe Invalidation)
+ Network.AWS.CloudFront.CreateInvalidation: cirsLocation :: Lens' CreateInvalidationResponse (Maybe Text)
+ Network.AWS.CloudFront.CreateInvalidation: cirsStatus :: Lens' CreateInvalidationResponse Int
+ Network.AWS.CloudFront.CreateInvalidation: instance Constructor C1_0CreateInvalidation
+ Network.AWS.CloudFront.CreateInvalidation: instance Constructor C1_0CreateInvalidationResponse
+ Network.AWS.CloudFront.CreateInvalidation: instance Data CreateInvalidation
+ Network.AWS.CloudFront.CreateInvalidation: instance Data CreateInvalidationResponse
+ Network.AWS.CloudFront.CreateInvalidation: instance Datatype D1CreateInvalidation
+ Network.AWS.CloudFront.CreateInvalidation: instance Datatype D1CreateInvalidationResponse
+ Network.AWS.CloudFront.CreateInvalidation: instance Generic CreateInvalidation
+ Network.AWS.CloudFront.CreateInvalidation: instance Generic CreateInvalidationResponse
+ Network.AWS.CloudFront.CreateInvalidation: instance Selector S1_0_0CreateInvalidation
+ Network.AWS.CloudFront.CreateInvalidation: instance Selector S1_0_0CreateInvalidationResponse
+ Network.AWS.CloudFront.CreateInvalidation: instance Selector S1_0_1CreateInvalidation
+ Network.AWS.CloudFront.CreateInvalidation: instance Selector S1_0_1CreateInvalidationResponse
+ Network.AWS.CloudFront.CreateInvalidation: instance Selector S1_0_2CreateInvalidationResponse
+ Network.AWS.CloudFront.CreateInvalidation: instance ToElement CreateInvalidation
+ Network.AWS.CloudFront.CreateInvalidation: instance Typeable CreateInvalidation
+ Network.AWS.CloudFront.CreateInvalidation: instance Typeable CreateInvalidationResponse
+ Network.AWS.CloudFront.CreateStreamingDistribution: csdrsETag :: Lens' CreateStreamingDistributionResponse (Maybe Text)
+ Network.AWS.CloudFront.CreateStreamingDistribution: csdrsLocation :: Lens' CreateStreamingDistributionResponse (Maybe Text)
+ Network.AWS.CloudFront.CreateStreamingDistribution: csdrsStatus :: Lens' CreateStreamingDistributionResponse Int
+ Network.AWS.CloudFront.CreateStreamingDistribution: csdrsStreamingDistribution :: Lens' CreateStreamingDistributionResponse (Maybe StreamingDistribution)
+ Network.AWS.CloudFront.CreateStreamingDistribution: instance Constructor C1_0CreateStreamingDistribution
+ Network.AWS.CloudFront.CreateStreamingDistribution: instance Constructor C1_0CreateStreamingDistributionResponse
+ Network.AWS.CloudFront.CreateStreamingDistribution: instance Data CreateStreamingDistribution
+ Network.AWS.CloudFront.CreateStreamingDistribution: instance Data CreateStreamingDistributionResponse
+ Network.AWS.CloudFront.CreateStreamingDistribution: instance Datatype D1CreateStreamingDistribution
+ Network.AWS.CloudFront.CreateStreamingDistribution: instance Datatype D1CreateStreamingDistributionResponse
+ Network.AWS.CloudFront.CreateStreamingDistribution: instance Generic CreateStreamingDistribution
+ Network.AWS.CloudFront.CreateStreamingDistribution: instance Generic CreateStreamingDistributionResponse
+ Network.AWS.CloudFront.CreateStreamingDistribution: instance Selector S1_0_0CreateStreamingDistribution
+ Network.AWS.CloudFront.CreateStreamingDistribution: instance Selector S1_0_0CreateStreamingDistributionResponse
+ Network.AWS.CloudFront.CreateStreamingDistribution: instance Selector S1_0_1CreateStreamingDistributionResponse
+ Network.AWS.CloudFront.CreateStreamingDistribution: instance Selector S1_0_2CreateStreamingDistributionResponse
+ Network.AWS.CloudFront.CreateStreamingDistribution: instance Selector S1_0_3CreateStreamingDistributionResponse
+ Network.AWS.CloudFront.CreateStreamingDistribution: instance ToElement CreateStreamingDistribution
+ Network.AWS.CloudFront.CreateStreamingDistribution: instance Typeable CreateStreamingDistribution
+ Network.AWS.CloudFront.CreateStreamingDistribution: instance Typeable CreateStreamingDistributionResponse
+ Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity: instance Constructor C1_0DeleteCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity: instance Data DeleteCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity: instance Data DeleteCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity: instance Datatype D1DeleteCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity: instance Generic DeleteCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity: instance Selector S1_0_0DeleteCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity: instance Selector S1_0_1DeleteCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity: instance Typeable DeleteCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity: instance Typeable DeleteCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.DeleteDistribution: instance Constructor C1_0DeleteDistribution
+ Network.AWS.CloudFront.DeleteDistribution: instance Data DeleteDistribution
+ Network.AWS.CloudFront.DeleteDistribution: instance Data DeleteDistributionResponse
+ Network.AWS.CloudFront.DeleteDistribution: instance Datatype D1DeleteDistribution
+ Network.AWS.CloudFront.DeleteDistribution: instance Generic DeleteDistribution
+ Network.AWS.CloudFront.DeleteDistribution: instance Selector S1_0_0DeleteDistribution
+ Network.AWS.CloudFront.DeleteDistribution: instance Selector S1_0_1DeleteDistribution
+ Network.AWS.CloudFront.DeleteDistribution: instance Typeable DeleteDistribution
+ Network.AWS.CloudFront.DeleteDistribution: instance Typeable DeleteDistributionResponse
+ Network.AWS.CloudFront.DeleteStreamingDistribution: instance Constructor C1_0DeleteStreamingDistribution
+ Network.AWS.CloudFront.DeleteStreamingDistribution: instance Data DeleteStreamingDistribution
+ Network.AWS.CloudFront.DeleteStreamingDistribution: instance Data DeleteStreamingDistributionResponse
+ Network.AWS.CloudFront.DeleteStreamingDistribution: instance Datatype D1DeleteStreamingDistribution
+ Network.AWS.CloudFront.DeleteStreamingDistribution: instance Generic DeleteStreamingDistribution
+ Network.AWS.CloudFront.DeleteStreamingDistribution: instance Selector S1_0_0DeleteStreamingDistribution
+ Network.AWS.CloudFront.DeleteStreamingDistribution: instance Selector S1_0_1DeleteStreamingDistribution
+ Network.AWS.CloudFront.DeleteStreamingDistribution: instance Typeable DeleteStreamingDistribution
+ Network.AWS.CloudFront.DeleteStreamingDistribution: instance Typeable DeleteStreamingDistributionResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: gcfoairsCloudFrontOriginAccessIdentity :: Lens' GetCloudFrontOriginAccessIdentityResponse (Maybe CloudFrontOriginAccessIdentity)
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: gcfoairsETag :: Lens' GetCloudFrontOriginAccessIdentityResponse (Maybe Text)
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: gcfoairsStatus :: Lens' GetCloudFrontOriginAccessIdentityResponse Int
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance Constructor C1_0GetCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance Constructor C1_0GetCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance Data GetCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance Data GetCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance Datatype D1GetCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance Datatype D1GetCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance Generic GetCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance Generic GetCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance Selector S1_0_0GetCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance Selector S1_0_0GetCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance Selector S1_0_1GetCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance Selector S1_0_2GetCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance Typeable GetCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: instance Typeable GetCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: gcfoaicrsCloudFrontOriginAccessIdentityConfig :: Lens' GetCloudFrontOriginAccessIdentityConfigResponse (Maybe CloudFrontOriginAccessIdentityConfig)
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: gcfoaicrsETag :: Lens' GetCloudFrontOriginAccessIdentityConfigResponse (Maybe Text)
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: gcfoaicrsStatus :: Lens' GetCloudFrontOriginAccessIdentityConfigResponse Int
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance Constructor C1_0GetCloudFrontOriginAccessIdentityConfig
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance Constructor C1_0GetCloudFrontOriginAccessIdentityConfigResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance Data GetCloudFrontOriginAccessIdentityConfig
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance Data GetCloudFrontOriginAccessIdentityConfigResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance Datatype D1GetCloudFrontOriginAccessIdentityConfig
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance Datatype D1GetCloudFrontOriginAccessIdentityConfigResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance Generic GetCloudFrontOriginAccessIdentityConfig
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance Generic GetCloudFrontOriginAccessIdentityConfigResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance Selector S1_0_0GetCloudFrontOriginAccessIdentityConfig
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance Selector S1_0_0GetCloudFrontOriginAccessIdentityConfigResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance Selector S1_0_1GetCloudFrontOriginAccessIdentityConfigResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance Selector S1_0_2GetCloudFrontOriginAccessIdentityConfigResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance Typeable GetCloudFrontOriginAccessIdentityConfig
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: instance Typeable GetCloudFrontOriginAccessIdentityConfigResponse
+ Network.AWS.CloudFront.GetDistribution: gdrsDistribution :: Lens' GetDistributionResponse (Maybe Distribution)
+ Network.AWS.CloudFront.GetDistribution: gdrsETag :: Lens' GetDistributionResponse (Maybe Text)
+ Network.AWS.CloudFront.GetDistribution: gdrsStatus :: Lens' GetDistributionResponse Int
+ Network.AWS.CloudFront.GetDistribution: instance Constructor C1_0GetDistribution
+ Network.AWS.CloudFront.GetDistribution: instance Constructor C1_0GetDistributionResponse
+ Network.AWS.CloudFront.GetDistribution: instance Data GetDistribution
+ Network.AWS.CloudFront.GetDistribution: instance Data GetDistributionResponse
+ Network.AWS.CloudFront.GetDistribution: instance Datatype D1GetDistribution
+ Network.AWS.CloudFront.GetDistribution: instance Datatype D1GetDistributionResponse
+ Network.AWS.CloudFront.GetDistribution: instance Generic GetDistribution
+ Network.AWS.CloudFront.GetDistribution: instance Generic GetDistributionResponse
+ Network.AWS.CloudFront.GetDistribution: instance Selector S1_0_0GetDistribution
+ Network.AWS.CloudFront.GetDistribution: instance Selector S1_0_0GetDistributionResponse
+ Network.AWS.CloudFront.GetDistribution: instance Selector S1_0_1GetDistributionResponse
+ Network.AWS.CloudFront.GetDistribution: instance Selector S1_0_2GetDistributionResponse
+ Network.AWS.CloudFront.GetDistribution: instance Typeable GetDistribution
+ Network.AWS.CloudFront.GetDistribution: instance Typeable GetDistributionResponse
+ Network.AWS.CloudFront.GetDistributionConfig: gdcrsDistributionConfig :: Lens' GetDistributionConfigResponse (Maybe DistributionConfig)
+ Network.AWS.CloudFront.GetDistributionConfig: gdcrsETag :: Lens' GetDistributionConfigResponse (Maybe Text)
+ Network.AWS.CloudFront.GetDistributionConfig: gdcrsStatus :: Lens' GetDistributionConfigResponse Int
+ Network.AWS.CloudFront.GetDistributionConfig: instance Constructor C1_0GetDistributionConfig
+ Network.AWS.CloudFront.GetDistributionConfig: instance Constructor C1_0GetDistributionConfigResponse
+ Network.AWS.CloudFront.GetDistributionConfig: instance Data GetDistributionConfig
+ Network.AWS.CloudFront.GetDistributionConfig: instance Data GetDistributionConfigResponse
+ Network.AWS.CloudFront.GetDistributionConfig: instance Datatype D1GetDistributionConfig
+ Network.AWS.CloudFront.GetDistributionConfig: instance Datatype D1GetDistributionConfigResponse
+ Network.AWS.CloudFront.GetDistributionConfig: instance Generic GetDistributionConfig
+ Network.AWS.CloudFront.GetDistributionConfig: instance Generic GetDistributionConfigResponse
+ Network.AWS.CloudFront.GetDistributionConfig: instance Selector S1_0_0GetDistributionConfig
+ Network.AWS.CloudFront.GetDistributionConfig: instance Selector S1_0_0GetDistributionConfigResponse
+ Network.AWS.CloudFront.GetDistributionConfig: instance Selector S1_0_1GetDistributionConfigResponse
+ Network.AWS.CloudFront.GetDistributionConfig: instance Selector S1_0_2GetDistributionConfigResponse
+ Network.AWS.CloudFront.GetDistributionConfig: instance Typeable GetDistributionConfig
+ Network.AWS.CloudFront.GetDistributionConfig: instance Typeable GetDistributionConfigResponse
+ Network.AWS.CloudFront.GetInvalidation: girsInvalidation :: Lens' GetInvalidationResponse (Maybe Invalidation)
+ Network.AWS.CloudFront.GetInvalidation: girsStatus :: Lens' GetInvalidationResponse Int
+ Network.AWS.CloudFront.GetInvalidation: instance Constructor C1_0GetInvalidation
+ Network.AWS.CloudFront.GetInvalidation: instance Constructor C1_0GetInvalidationResponse
+ Network.AWS.CloudFront.GetInvalidation: instance Data GetInvalidation
+ Network.AWS.CloudFront.GetInvalidation: instance Data GetInvalidationResponse
+ Network.AWS.CloudFront.GetInvalidation: instance Datatype D1GetInvalidation
+ Network.AWS.CloudFront.GetInvalidation: instance Datatype D1GetInvalidationResponse
+ Network.AWS.CloudFront.GetInvalidation: instance Generic GetInvalidation
+ Network.AWS.CloudFront.GetInvalidation: instance Generic GetInvalidationResponse
+ Network.AWS.CloudFront.GetInvalidation: instance Selector S1_0_0GetInvalidation
+ Network.AWS.CloudFront.GetInvalidation: instance Selector S1_0_0GetInvalidationResponse
+ Network.AWS.CloudFront.GetInvalidation: instance Selector S1_0_1GetInvalidation
+ Network.AWS.CloudFront.GetInvalidation: instance Selector S1_0_1GetInvalidationResponse
+ Network.AWS.CloudFront.GetInvalidation: instance Typeable GetInvalidation
+ Network.AWS.CloudFront.GetInvalidation: instance Typeable GetInvalidationResponse
+ Network.AWS.CloudFront.GetStreamingDistribution: gsdrsETag :: Lens' GetStreamingDistributionResponse (Maybe Text)
+ Network.AWS.CloudFront.GetStreamingDistribution: gsdrsStatus :: Lens' GetStreamingDistributionResponse Int
+ Network.AWS.CloudFront.GetStreamingDistribution: gsdrsStreamingDistribution :: Lens' GetStreamingDistributionResponse (Maybe StreamingDistribution)
+ Network.AWS.CloudFront.GetStreamingDistribution: instance Constructor C1_0GetStreamingDistribution
+ Network.AWS.CloudFront.GetStreamingDistribution: instance Constructor C1_0GetStreamingDistributionResponse
+ Network.AWS.CloudFront.GetStreamingDistribution: instance Data GetStreamingDistribution
+ Network.AWS.CloudFront.GetStreamingDistribution: instance Data GetStreamingDistributionResponse
+ Network.AWS.CloudFront.GetStreamingDistribution: instance Datatype D1GetStreamingDistribution
+ Network.AWS.CloudFront.GetStreamingDistribution: instance Datatype D1GetStreamingDistributionResponse
+ Network.AWS.CloudFront.GetStreamingDistribution: instance Generic GetStreamingDistribution
+ Network.AWS.CloudFront.GetStreamingDistribution: instance Generic GetStreamingDistributionResponse
+ Network.AWS.CloudFront.GetStreamingDistribution: instance Selector S1_0_0GetStreamingDistribution
+ Network.AWS.CloudFront.GetStreamingDistribution: instance Selector S1_0_0GetStreamingDistributionResponse
+ Network.AWS.CloudFront.GetStreamingDistribution: instance Selector S1_0_1GetStreamingDistributionResponse
+ Network.AWS.CloudFront.GetStreamingDistribution: instance Selector S1_0_2GetStreamingDistributionResponse
+ Network.AWS.CloudFront.GetStreamingDistribution: instance Typeable GetStreamingDistribution
+ Network.AWS.CloudFront.GetStreamingDistribution: instance Typeable GetStreamingDistributionResponse
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: gsdcrsETag :: Lens' GetStreamingDistributionConfigResponse (Maybe Text)
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: gsdcrsStatus :: Lens' GetStreamingDistributionConfigResponse Int
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: gsdcrsStreamingDistributionConfig :: Lens' GetStreamingDistributionConfigResponse (Maybe StreamingDistributionConfig)
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: instance Constructor C1_0GetStreamingDistributionConfig
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: instance Constructor C1_0GetStreamingDistributionConfigResponse
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: instance Data GetStreamingDistributionConfig
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: instance Data GetStreamingDistributionConfigResponse
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: instance Datatype D1GetStreamingDistributionConfig
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: instance Datatype D1GetStreamingDistributionConfigResponse
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: instance Generic GetStreamingDistributionConfig
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: instance Generic GetStreamingDistributionConfigResponse
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: instance Selector S1_0_0GetStreamingDistributionConfig
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: instance Selector S1_0_0GetStreamingDistributionConfigResponse
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: instance Selector S1_0_1GetStreamingDistributionConfigResponse
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: instance Selector S1_0_2GetStreamingDistributionConfigResponse
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: instance Typeable GetStreamingDistributionConfig
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: instance Typeable GetStreamingDistributionConfigResponse
+ Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance Constructor C1_0ListCloudFrontOriginAccessIdentities
+ Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance Constructor C1_0ListCloudFrontOriginAccessIdentitiesResponse
+ Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance Data ListCloudFrontOriginAccessIdentities
+ Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance Data ListCloudFrontOriginAccessIdentitiesResponse
+ Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance Datatype D1ListCloudFrontOriginAccessIdentities
+ Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance Datatype D1ListCloudFrontOriginAccessIdentitiesResponse
+ Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance Generic ListCloudFrontOriginAccessIdentities
+ Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance Generic ListCloudFrontOriginAccessIdentitiesResponse
+ Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance Selector S1_0_0ListCloudFrontOriginAccessIdentities
+ Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance Selector S1_0_0ListCloudFrontOriginAccessIdentitiesResponse
+ Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance Selector S1_0_1ListCloudFrontOriginAccessIdentities
+ Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance Selector S1_0_1ListCloudFrontOriginAccessIdentitiesResponse
+ Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance Typeable ListCloudFrontOriginAccessIdentities
+ Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: instance Typeable ListCloudFrontOriginAccessIdentitiesResponse
+ Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: lcfoairsCloudFrontOriginAccessIdentityList :: Lens' ListCloudFrontOriginAccessIdentitiesResponse CloudFrontOriginAccessIdentityList
+ Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: lcfoairsStatus :: Lens' ListCloudFrontOriginAccessIdentitiesResponse Int
+ Network.AWS.CloudFront.ListDistributions: instance Constructor C1_0ListDistributions
+ Network.AWS.CloudFront.ListDistributions: instance Constructor C1_0ListDistributionsResponse
+ Network.AWS.CloudFront.ListDistributions: instance Data ListDistributions
+ Network.AWS.CloudFront.ListDistributions: instance Data ListDistributionsResponse
+ Network.AWS.CloudFront.ListDistributions: instance Datatype D1ListDistributions
+ Network.AWS.CloudFront.ListDistributions: instance Datatype D1ListDistributionsResponse
+ Network.AWS.CloudFront.ListDistributions: instance Generic ListDistributions
+ Network.AWS.CloudFront.ListDistributions: instance Generic ListDistributionsResponse
+ Network.AWS.CloudFront.ListDistributions: instance Selector S1_0_0ListDistributions
+ Network.AWS.CloudFront.ListDistributions: instance Selector S1_0_0ListDistributionsResponse
+ Network.AWS.CloudFront.ListDistributions: instance Selector S1_0_1ListDistributions
+ Network.AWS.CloudFront.ListDistributions: instance Selector S1_0_1ListDistributionsResponse
+ Network.AWS.CloudFront.ListDistributions: instance Typeable ListDistributions
+ Network.AWS.CloudFront.ListDistributions: instance Typeable ListDistributionsResponse
+ Network.AWS.CloudFront.ListDistributions: ldrsDistributionList :: Lens' ListDistributionsResponse DistributionList
+ Network.AWS.CloudFront.ListDistributions: ldrsStatus :: Lens' ListDistributionsResponse Int
+ Network.AWS.CloudFront.ListInvalidations: instance Constructor C1_0ListInvalidations
+ Network.AWS.CloudFront.ListInvalidations: instance Constructor C1_0ListInvalidationsResponse
+ Network.AWS.CloudFront.ListInvalidations: instance Data ListInvalidations
+ Network.AWS.CloudFront.ListInvalidations: instance Data ListInvalidationsResponse
+ Network.AWS.CloudFront.ListInvalidations: instance Datatype D1ListInvalidations
+ Network.AWS.CloudFront.ListInvalidations: instance Datatype D1ListInvalidationsResponse
+ Network.AWS.CloudFront.ListInvalidations: instance Generic ListInvalidations
+ Network.AWS.CloudFront.ListInvalidations: instance Generic ListInvalidationsResponse
+ Network.AWS.CloudFront.ListInvalidations: instance Selector S1_0_0ListInvalidations
+ Network.AWS.CloudFront.ListInvalidations: instance Selector S1_0_0ListInvalidationsResponse
+ Network.AWS.CloudFront.ListInvalidations: instance Selector S1_0_1ListInvalidations
+ Network.AWS.CloudFront.ListInvalidations: instance Selector S1_0_1ListInvalidationsResponse
+ Network.AWS.CloudFront.ListInvalidations: instance Selector S1_0_2ListInvalidations
+ Network.AWS.CloudFront.ListInvalidations: instance Typeable ListInvalidations
+ Network.AWS.CloudFront.ListInvalidations: instance Typeable ListInvalidationsResponse
+ Network.AWS.CloudFront.ListInvalidations: lirsInvalidationList :: Lens' ListInvalidationsResponse InvalidationList
+ Network.AWS.CloudFront.ListInvalidations: lirsStatus :: Lens' ListInvalidationsResponse Int
+ Network.AWS.CloudFront.ListStreamingDistributions: instance Constructor C1_0ListStreamingDistributions
+ Network.AWS.CloudFront.ListStreamingDistributions: instance Constructor C1_0ListStreamingDistributionsResponse
+ Network.AWS.CloudFront.ListStreamingDistributions: instance Data ListStreamingDistributions
+ Network.AWS.CloudFront.ListStreamingDistributions: instance Data ListStreamingDistributionsResponse
+ Network.AWS.CloudFront.ListStreamingDistributions: instance Datatype D1ListStreamingDistributions
+ Network.AWS.CloudFront.ListStreamingDistributions: instance Datatype D1ListStreamingDistributionsResponse
+ Network.AWS.CloudFront.ListStreamingDistributions: instance Generic ListStreamingDistributions
+ Network.AWS.CloudFront.ListStreamingDistributions: instance Generic ListStreamingDistributionsResponse
+ Network.AWS.CloudFront.ListStreamingDistributions: instance Selector S1_0_0ListStreamingDistributions
+ Network.AWS.CloudFront.ListStreamingDistributions: instance Selector S1_0_0ListStreamingDistributionsResponse
+ Network.AWS.CloudFront.ListStreamingDistributions: instance Selector S1_0_1ListStreamingDistributions
+ Network.AWS.CloudFront.ListStreamingDistributions: instance Selector S1_0_1ListStreamingDistributionsResponse
+ Network.AWS.CloudFront.ListStreamingDistributions: instance Typeable ListStreamingDistributions
+ Network.AWS.CloudFront.ListStreamingDistributions: instance Typeable ListStreamingDistributionsResponse
+ Network.AWS.CloudFront.ListStreamingDistributions: lsdrsStatus :: Lens' ListStreamingDistributionsResponse Int
+ Network.AWS.CloudFront.ListStreamingDistributions: lsdrsStreamingDistributionList :: Lens' ListStreamingDistributionsResponse StreamingDistributionList
+ Network.AWS.CloudFront.Types: Blacklist :: GeoRestrictionType
+ Network.AWS.CloudFront.Types: Delete :: Method
+ Network.AWS.CloudFront.Types: HTTPOnly :: OriginProtocolPolicy
+ Network.AWS.CloudFront.Types: HTTPSOnly :: ViewerProtocolPolicy
+ Network.AWS.CloudFront.Types: Head :: Method
+ Network.AWS.CloudFront.Types: ISAll :: ItemSelection
+ Network.AWS.CloudFront.Types: ISNone :: ItemSelection
+ Network.AWS.CloudFront.Types: ISWhitelist :: ItemSelection
+ Network.AWS.CloudFront.Types: RedirectToHTTPS :: ViewerProtocolPolicy
+ Network.AWS.CloudFront.Types: SNIOnly :: SSLSupportMethod
+ Network.AWS.CloudFront.Types: SSLV3 :: MinimumProtocolVersion
+ Network.AWS.CloudFront.Types: TLSV1 :: MinimumProtocolVersion
+ Network.AWS.CloudFront.Types: VIP :: SSLSupportMethod
+ Network.AWS.CloudFront.Types: _AccessDenied :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _BatchTooLarge :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _CNAMEAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _CloudFrontOriginAccessIdentityAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _CloudFrontOriginAccessIdentityInUse :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _DistributionAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _DistributionNotDisabled :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _IllegalUpdate :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InconsistentQuantities :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InvalidArgument :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InvalidDefaultRootObject :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InvalidErrorCode :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InvalidForwardCookies :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InvalidGeoRestrictionParameter :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InvalidHeadersForS3Origin :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InvalidIfMatchVersion :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InvalidLocationCode :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InvalidMinimumProtocolVersion :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InvalidOrigin :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InvalidOriginAccessIdentity :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InvalidProtocolSettings :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InvalidRelativePath :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InvalidRequiredProtocol :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InvalidResponseCode :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InvalidTTLOrder :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _InvalidViewerCertificate :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _MissingBody :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _NoSuchCloudFrontOriginAccessIdentity :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _NoSuchDistribution :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _NoSuchInvalidation :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _NoSuchOrigin :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _NoSuchStreamingDistribution :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _PreconditionFailed :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _StreamingDistributionAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _StreamingDistributionNotDisabled :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _TooManyCacheBehaviors :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _TooManyCertificates :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _TooManyCloudFrontOriginAccessIdentities :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _TooManyCookieNamesInWhiteList :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _TooManyDistributionCNAMEs :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _TooManyDistributions :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _TooManyHeadersInForwardedValues :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _TooManyInvalidationsInProgress :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _TooManyOrigins :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _TooManyStreamingDistributionCNAMEs :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _TooManyStreamingDistributions :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _TooManyTrustedSigners :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: _TrustedSignerDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFront.Types: cbDefaultTTL :: Lens' CacheBehavior (Maybe Integer)
+ Network.AWS.CloudFront.Types: cbMaxTTL :: Lens' CacheBehavior (Maybe Integer)
+ Network.AWS.CloudFront.Types: ceErrorCachingMinTTL :: Lens' CustomErrorResponse (Maybe Integer)
+ Network.AWS.CloudFront.Types: ceErrorCode :: Lens' CustomErrorResponse Int
+ Network.AWS.CloudFront.Types: ceResponseCode :: Lens' CustomErrorResponse (Maybe Text)
+ Network.AWS.CloudFront.Types: ceResponsePagePath :: Lens' CustomErrorResponse (Maybe Text)
+ Network.AWS.CloudFront.Types: dcbDefaultTTL :: Lens' DefaultCacheBehavior (Maybe Integer)
+ Network.AWS.CloudFront.Types: dcbMaxTTL :: Lens' DefaultCacheBehavior (Maybe Integer)
+ Network.AWS.CloudFront.Types: sAWSAccountNumber :: Lens' Signer (Maybe Text)
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance Constructor C1_0UpdateCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance Constructor C1_0UpdateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance Data UpdateCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance Data UpdateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance Datatype D1UpdateCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance Datatype D1UpdateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance Generic UpdateCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance Generic UpdateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance Selector S1_0_0UpdateCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance Selector S1_0_0UpdateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance Selector S1_0_1UpdateCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance Selector S1_0_1UpdateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance Selector S1_0_2UpdateCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance Selector S1_0_2UpdateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance ToElement UpdateCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance Typeable UpdateCloudFrontOriginAccessIdentity
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: instance Typeable UpdateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: ucfoairsCloudFrontOriginAccessIdentity :: Lens' UpdateCloudFrontOriginAccessIdentityResponse (Maybe CloudFrontOriginAccessIdentity)
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: ucfoairsETag :: Lens' UpdateCloudFrontOriginAccessIdentityResponse (Maybe Text)
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: ucfoairsStatus :: Lens' UpdateCloudFrontOriginAccessIdentityResponse Int
+ Network.AWS.CloudFront.UpdateDistribution: instance Constructor C1_0UpdateDistribution
+ Network.AWS.CloudFront.UpdateDistribution: instance Constructor C1_0UpdateDistributionResponse
+ Network.AWS.CloudFront.UpdateDistribution: instance Data UpdateDistribution
+ Network.AWS.CloudFront.UpdateDistribution: instance Data UpdateDistributionResponse
+ Network.AWS.CloudFront.UpdateDistribution: instance Datatype D1UpdateDistribution
+ Network.AWS.CloudFront.UpdateDistribution: instance Datatype D1UpdateDistributionResponse
+ Network.AWS.CloudFront.UpdateDistribution: instance Generic UpdateDistribution
+ Network.AWS.CloudFront.UpdateDistribution: instance Generic UpdateDistributionResponse
+ Network.AWS.CloudFront.UpdateDistribution: instance Selector S1_0_0UpdateDistribution
+ Network.AWS.CloudFront.UpdateDistribution: instance Selector S1_0_0UpdateDistributionResponse
+ Network.AWS.CloudFront.UpdateDistribution: instance Selector S1_0_1UpdateDistribution
+ Network.AWS.CloudFront.UpdateDistribution: instance Selector S1_0_1UpdateDistributionResponse
+ Network.AWS.CloudFront.UpdateDistribution: instance Selector S1_0_2UpdateDistribution
+ Network.AWS.CloudFront.UpdateDistribution: instance Selector S1_0_2UpdateDistributionResponse
+ Network.AWS.CloudFront.UpdateDistribution: instance ToElement UpdateDistribution
+ Network.AWS.CloudFront.UpdateDistribution: instance Typeable UpdateDistribution
+ Network.AWS.CloudFront.UpdateDistribution: instance Typeable UpdateDistributionResponse
+ Network.AWS.CloudFront.UpdateDistribution: udrsDistribution :: Lens' UpdateDistributionResponse (Maybe Distribution)
+ Network.AWS.CloudFront.UpdateDistribution: udrsETag :: Lens' UpdateDistributionResponse (Maybe Text)
+ Network.AWS.CloudFront.UpdateDistribution: udrsStatus :: Lens' UpdateDistributionResponse Int
+ Network.AWS.CloudFront.UpdateStreamingDistribution: instance Constructor C1_0UpdateStreamingDistribution
+ Network.AWS.CloudFront.UpdateStreamingDistribution: instance Constructor C1_0UpdateStreamingDistributionResponse
+ Network.AWS.CloudFront.UpdateStreamingDistribution: instance Data UpdateStreamingDistribution
+ Network.AWS.CloudFront.UpdateStreamingDistribution: instance Data UpdateStreamingDistributionResponse
+ Network.AWS.CloudFront.UpdateStreamingDistribution: instance Datatype D1UpdateStreamingDistribution
+ Network.AWS.CloudFront.UpdateStreamingDistribution: instance Datatype D1UpdateStreamingDistributionResponse
+ Network.AWS.CloudFront.UpdateStreamingDistribution: instance Generic UpdateStreamingDistribution
+ Network.AWS.CloudFront.UpdateStreamingDistribution: instance Generic UpdateStreamingDistributionResponse
+ Network.AWS.CloudFront.UpdateStreamingDistribution: instance Selector S1_0_0UpdateStreamingDistribution
+ Network.AWS.CloudFront.UpdateStreamingDistribution: instance Selector S1_0_0UpdateStreamingDistributionResponse
+ Network.AWS.CloudFront.UpdateStreamingDistribution: instance Selector S1_0_1UpdateStreamingDistribution
+ Network.AWS.CloudFront.UpdateStreamingDistribution: instance Selector S1_0_1UpdateStreamingDistributionResponse
+ Network.AWS.CloudFront.UpdateStreamingDistribution: instance Selector S1_0_2UpdateStreamingDistribution
+ Network.AWS.CloudFront.UpdateStreamingDistribution: instance Selector S1_0_2UpdateStreamingDistributionResponse
+ Network.AWS.CloudFront.UpdateStreamingDistribution: instance ToElement UpdateStreamingDistribution
+ Network.AWS.CloudFront.UpdateStreamingDistribution: instance Typeable UpdateStreamingDistribution
+ Network.AWS.CloudFront.UpdateStreamingDistribution: instance Typeable UpdateStreamingDistributionResponse
+ Network.AWS.CloudFront.UpdateStreamingDistribution: usdrsETag :: Lens' UpdateStreamingDistributionResponse (Maybe Text)
+ Network.AWS.CloudFront.UpdateStreamingDistribution: usdrsStatus :: Lens' UpdateStreamingDistributionResponse Int
+ Network.AWS.CloudFront.UpdateStreamingDistribution: usdrsStreamingDistribution :: Lens' UpdateStreamingDistributionResponse (Maybe StreamingDistribution)
- Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: createCloudFrontOriginAccessIdentityResponse :: CreateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity: createCloudFrontOriginAccessIdentityResponse :: Int -> CreateCloudFrontOriginAccessIdentityResponse
- Network.AWS.CloudFront.CreateDistribution: createDistributionResponse :: CreateDistributionResponse
+ Network.AWS.CloudFront.CreateDistribution: createDistributionResponse :: Int -> CreateDistributionResponse
- Network.AWS.CloudFront.CreateInvalidation: createInvalidationResponse :: CreateInvalidationResponse
+ Network.AWS.CloudFront.CreateInvalidation: createInvalidationResponse :: Int -> CreateInvalidationResponse
- Network.AWS.CloudFront.CreateStreamingDistribution: createStreamingDistributionResponse :: CreateStreamingDistributionResponse
+ Network.AWS.CloudFront.CreateStreamingDistribution: createStreamingDistributionResponse :: Int -> CreateStreamingDistributionResponse
- Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: getCloudFrontOriginAccessIdentityResponse :: GetCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity: getCloudFrontOriginAccessIdentityResponse :: Int -> GetCloudFrontOriginAccessIdentityResponse
- Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: getCloudFrontOriginAccessIdentityConfigResponse :: GetCloudFrontOriginAccessIdentityConfigResponse
+ Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig: getCloudFrontOriginAccessIdentityConfigResponse :: Int -> GetCloudFrontOriginAccessIdentityConfigResponse
- Network.AWS.CloudFront.GetDistribution: getDistributionResponse :: GetDistributionResponse
+ Network.AWS.CloudFront.GetDistribution: getDistributionResponse :: Int -> GetDistributionResponse
- Network.AWS.CloudFront.GetDistributionConfig: getDistributionConfigResponse :: GetDistributionConfigResponse
+ Network.AWS.CloudFront.GetDistributionConfig: getDistributionConfigResponse :: Int -> GetDistributionConfigResponse
- Network.AWS.CloudFront.GetInvalidation: getInvalidationResponse :: GetInvalidationResponse
+ Network.AWS.CloudFront.GetInvalidation: getInvalidationResponse :: Int -> GetInvalidationResponse
- Network.AWS.CloudFront.GetStreamingDistribution: getStreamingDistributionResponse :: GetStreamingDistributionResponse
+ Network.AWS.CloudFront.GetStreamingDistribution: getStreamingDistributionResponse :: Int -> GetStreamingDistributionResponse
- Network.AWS.CloudFront.GetStreamingDistributionConfig: getStreamingDistributionConfigResponse :: GetStreamingDistributionConfigResponse
+ Network.AWS.CloudFront.GetStreamingDistributionConfig: getStreamingDistributionConfigResponse :: Int -> GetStreamingDistributionConfigResponse
- Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: listCloudFrontOriginAccessIdentitiesResponse :: CloudFrontOriginAccessIdentityList -> ListCloudFrontOriginAccessIdentitiesResponse
+ Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities: listCloudFrontOriginAccessIdentitiesResponse :: Int -> CloudFrontOriginAccessIdentityList -> ListCloudFrontOriginAccessIdentitiesResponse
- Network.AWS.CloudFront.ListDistributions: listDistributionsResponse :: DistributionList -> ListDistributionsResponse
+ Network.AWS.CloudFront.ListDistributions: listDistributionsResponse :: Int -> DistributionList -> ListDistributionsResponse
- Network.AWS.CloudFront.ListInvalidations: listInvalidationsResponse :: InvalidationList -> ListInvalidationsResponse
+ Network.AWS.CloudFront.ListInvalidations: listInvalidationsResponse :: Int -> InvalidationList -> ListInvalidationsResponse
- Network.AWS.CloudFront.ListStreamingDistributions: listStreamingDistributionsResponse :: StreamingDistributionList -> ListStreamingDistributionsResponse
+ Network.AWS.CloudFront.ListStreamingDistributions: listStreamingDistributionsResponse :: Int -> StreamingDistributionList -> ListStreamingDistributionsResponse
- Network.AWS.CloudFront.Types: None :: ItemSelection
+ Network.AWS.CloudFront.Types: None :: GeoRestrictionType
- Network.AWS.CloudFront.Types: Whitelist :: ItemSelection
+ Network.AWS.CloudFront.Types: Whitelist :: GeoRestrictionType
- Network.AWS.CloudFront.Types: oItems :: Lens' Origins (NonEmpty Origin)
+ Network.AWS.CloudFront.Types: oItems :: Lens' Origins (Maybe (NonEmpty Origin))
- Network.AWS.CloudFront.Types: origins :: Int -> NonEmpty Origin -> Origins
+ Network.AWS.CloudFront.Types: origins :: Int -> Origins
- Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: updateCloudFrontOriginAccessIdentityResponse :: UpdateCloudFrontOriginAccessIdentityResponse
+ Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity: updateCloudFrontOriginAccessIdentityResponse :: Int -> UpdateCloudFrontOriginAccessIdentityResponse
- Network.AWS.CloudFront.UpdateDistribution: updateDistributionResponse :: UpdateDistributionResponse
+ Network.AWS.CloudFront.UpdateDistribution: updateDistributionResponse :: Int -> UpdateDistributionResponse
- Network.AWS.CloudFront.UpdateStreamingDistribution: updateStreamingDistributionResponse :: UpdateStreamingDistributionResponse
+ Network.AWS.CloudFront.UpdateStreamingDistribution: updateStreamingDistributionResponse :: Int -> UpdateStreamingDistributionResponse
Files
- README.md +26/−13
- amazonka-cloudfront.cabal +57/−18
- gen/Network/AWS/CloudFront.hs +668/−57
- gen/Network/AWS/CloudFront/CreateCloudFrontOriginAccessIdentity.hs +121/−100
- gen/Network/AWS/CloudFront/CreateDistribution.hs +113/−97
- gen/Network/AWS/CloudFront/CreateInvalidation.hs +112/−97
- gen/Network/AWS/CloudFront/CreateStreamingDistribution.hs +111/−98
- gen/Network/AWS/CloudFront/DeleteCloudFrontOriginAccessIdentity.hs +84/−79
- gen/Network/AWS/CloudFront/DeleteDistribution.hs +72/−77
- gen/Network/AWS/CloudFront/DeleteStreamingDistribution.hs +74/−77
- gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentity.hs +106/−91
- gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentityConfig.hs +104/−90
- gen/Network/AWS/CloudFront/GetDistribution.hs +97/−88
- gen/Network/AWS/CloudFront/GetDistributionConfig.hs +98/−89
- gen/Network/AWS/CloudFront/GetInvalidation.hs +96/−90
- gen/Network/AWS/CloudFront/GetStreamingDistribution.hs +99/−90
- gen/Network/AWS/CloudFront/GetStreamingDistributionConfig.hs +101/−90
- gen/Network/AWS/CloudFront/ListCloudFrontOriginAccessIdentities.hs +112/−103
- gen/Network/AWS/CloudFront/ListDistributions.hs +99/−99
- gen/Network/AWS/CloudFront/ListInvalidations.hs +114/−114
- gen/Network/AWS/CloudFront/ListStreamingDistributions.hs +102/−101
- gen/Network/AWS/CloudFront/Types.hs +743/−3799
- gen/Network/AWS/CloudFront/Types/Product.hs +3297/−0
- gen/Network/AWS/CloudFront/Types/Sum.hs +271/−0
- gen/Network/AWS/CloudFront/UpdateCloudFrontOriginAccessIdentity.hs +128/−110
- gen/Network/AWS/CloudFront/UpdateDistribution.hs +121/−107
- gen/Network/AWS/CloudFront/UpdateStreamingDistribution.hs +120/−108
- gen/Network/AWS/CloudFront/Waiters.hs +20/−0
- test/Main.hs +21/−0
- test/Test/AWS/CloudFront.hs +26/−0
- test/Test/AWS/CloudFront/Internal.hs +16/−0
- test/Test/AWS/Gen/CloudFront.hs +396/−0
README.md view
@@ -1,28 +1,41 @@ # Amazon CloudFront SDK -> _Warning:_ This is an experimental preview release which is still under heavy development and not intended for public consumption, _caveat emptor_!-+* [Version](#version) * [Description](#description) * [Contribute](#contribute) * [Licence](#licence) ++## Version++`1.0.0`++ ## 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.+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. Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-cloudfront) and the [AWS API Reference](http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/Welcome.html). +The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information and sending requests.++Use of lenses is required for constructing and manipulating types.+This is due to the amount of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core). ## Contribute
amazonka-cloudfront.cabal view
@@ -1,35 +1,43 @@ name: amazonka-cloudfront-version: 0.3.6+version: 1.0.0 synopsis: Amazon CloudFront SDK. homepage: https://github.com/brendanhay/amazonka license: OtherLicense license-file: LICENSE author: Brendan Hay maintainer: Brendan Hay <brendan.g.hay@gmail.com>-copyright: Copyright (c) 2013-2014 Brendan Hay+copyright: Copyright (c) 2013-2015 Brendan Hay category: Network, AWS, Cloud, Distributed Computing build-type: Simple extra-source-files: README.md cabal-version: >= 1.10 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.-+ 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. .- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/Welcome.html AWS API Reference>+ The types from this library are intended to be used with+ <http://hackage.haskell.org/package/amazonka amazonka>, which provides+ mechanisms for specifying AuthN/AuthZ information and sending requests. .- /Warning:/ This is an experimental preview release which is still under- heavy development and not intended for public consumption, caveat emptor!+ Use of lenses is required for constructing and manipulating types.+ This is due to the amount of nesting of AWS types and transparency regarding+ de/serialisation into more palatable Haskell values.+ The provided lenses should be compatible with any of the major lens libraries+ such as <http://hackage.haskell.org/package/lens lens> or+ <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+ .+ See "Network.AWS.CloudFront" and the <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/Welcome.html AWS API Reference>+ to get started. source-repository head type: git@@ -65,9 +73,40 @@ , Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity , Network.AWS.CloudFront.UpdateDistribution , Network.AWS.CloudFront.UpdateStreamingDistribution+ , Network.AWS.CloudFront.Waiters other-modules:+ Network.AWS.CloudFront.Types.Product+ , Network.AWS.CloudFront.Types.Sum build-depends:- amazonka-core == 0.3.6.*+ amazonka-core == 1.0.0.* , base >= 4.7 && < 5++test-suite amazonka-cloudfront-test+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs++ ghc-options: -Wall -threaded++ -- This is not comprehensive if modules have manually been added.+ -- It exists to ensure cabal 'somewhat' detects test module changes.+ other-modules:+ Test.AWS.CloudFront+ , Test.AWS.Gen.CloudFront+ , Test.AWS.CloudFront.Internal++ build-depends:+ amazonka-core == 1.0.0+ , amazonka-test == 1.0.0+ , amazonka-cloudfront == 1.0.0+ , base+ , bytestring+ , lens+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
gen/Network/AWS/CloudFront.hs view
@@ -1,70 +1,681 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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.+-- 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.+--+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/Welcome.html AWS API Reference> module Network.AWS.CloudFront- ( module Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity- , module Network.AWS.CloudFront.CreateDistribution- , module Network.AWS.CloudFront.CreateInvalidation- , module Network.AWS.CloudFront.CreateStreamingDistribution- , module Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity- , module Network.AWS.CloudFront.DeleteDistribution+ (+ -- * Service+ CloudFront++ -- * Errors+ -- $errors++ -- ** InvalidErrorCode+ , _InvalidErrorCode++ -- ** TooManyCacheBehaviors+ , _TooManyCacheBehaviors++ -- ** DistributionNotDisabled+ , _DistributionNotDisabled++ -- ** InvalidOriginAccessIdentity+ , _InvalidOriginAccessIdentity++ -- ** TooManyCloudFrontOriginAccessIdentities+ , _TooManyCloudFrontOriginAccessIdentities++ -- ** TooManyStreamingDistributions+ , _TooManyStreamingDistributions++ -- ** InvalidArgument+ , _InvalidArgument++ -- ** NoSuchCloudFrontOriginAccessIdentity+ , _NoSuchCloudFrontOriginAccessIdentity++ -- ** NoSuchStreamingDistribution+ , _NoSuchStreamingDistribution++ -- ** CloudFrontOriginAccessIdentityInUse+ , _CloudFrontOriginAccessIdentityInUse++ -- ** InconsistentQuantities+ , _InconsistentQuantities++ -- ** TooManyInvalidationsInProgress+ , _TooManyInvalidationsInProgress++ -- ** TooManyDistributionCNAMEs+ , _TooManyDistributionCNAMEs++ -- ** InvalidForwardCookies+ , _InvalidForwardCookies++ -- ** TooManyCookieNamesInWhiteList+ , _TooManyCookieNamesInWhiteList++ -- ** BatchTooLarge+ , _BatchTooLarge++ -- ** InvalidOrigin+ , _InvalidOrigin++ -- ** TooManyTrustedSigners+ , _TooManyTrustedSigners++ -- ** NoSuchOrigin+ , _NoSuchOrigin++ -- ** NoSuchInvalidation+ , _NoSuchInvalidation++ -- ** StreamingDistributionNotDisabled+ , _StreamingDistributionNotDisabled++ -- ** InvalidTTLOrder+ , _InvalidTTLOrder++ -- ** TooManyStreamingDistributionCNAMEs+ , _TooManyStreamingDistributionCNAMEs++ -- ** TooManyDistributions+ , _TooManyDistributions++ -- ** InvalidRequiredProtocol+ , _InvalidRequiredProtocol++ -- ** TooManyHeadersInForwardedValues+ , _TooManyHeadersInForwardedValues++ -- ** TooManyCertificates+ , _TooManyCertificates++ -- ** MissingBody+ , _MissingBody++ -- ** DistributionAlreadyExists+ , _DistributionAlreadyExists++ -- ** IllegalUpdate+ , _IllegalUpdate++ -- ** InvalidResponseCode+ , _InvalidResponseCode++ -- ** InvalidIfMatchVersion+ , _InvalidIfMatchVersion++ -- ** PreconditionFailed+ , _PreconditionFailed++ -- ** InvalidProtocolSettings+ , _InvalidProtocolSettings++ -- ** TrustedSignerDoesNotExist+ , _TrustedSignerDoesNotExist++ -- ** InvalidHeadersForS3Origin+ , _InvalidHeadersForS3Origin++ -- ** CNAMEAlreadyExists+ , _CNAMEAlreadyExists++ -- ** StreamingDistributionAlreadyExists+ , _StreamingDistributionAlreadyExists++ -- ** TooManyOrigins+ , _TooManyOrigins++ -- ** CloudFrontOriginAccessIdentityAlreadyExists+ , _CloudFrontOriginAccessIdentityAlreadyExists++ -- ** InvalidRelativePath+ , _InvalidRelativePath++ -- ** InvalidMinimumProtocolVersion+ , _InvalidMinimumProtocolVersion++ -- ** AccessDenied+ , _AccessDenied++ -- ** NoSuchDistribution+ , _NoSuchDistribution++ -- ** InvalidViewerCertificate+ , _InvalidViewerCertificate++ -- ** InvalidDefaultRootObject+ , _InvalidDefaultRootObject++ -- ** InvalidLocationCode+ , _InvalidLocationCode++ -- ** InvalidGeoRestrictionParameter+ , _InvalidGeoRestrictionParameter++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** DeleteStreamingDistribution , module Network.AWS.CloudFront.DeleteStreamingDistribution- , module Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity- , module Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig- , module Network.AWS.CloudFront.GetDistribution++ -- ** UpdateStreamingDistribution+ , module Network.AWS.CloudFront.UpdateStreamingDistribution++ -- ** CreateDistribution+ , module Network.AWS.CloudFront.CreateDistribution++ -- ** GetDistributionConfig , module Network.AWS.CloudFront.GetDistributionConfig- , module Network.AWS.CloudFront.GetInvalidation- , module Network.AWS.CloudFront.GetStreamingDistribution++ -- ** GetDistribution+ , module Network.AWS.CloudFront.GetDistribution++ -- ** DeleteCloudFrontOriginAccessIdentity+ , module Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity++ -- ** UpdateCloudFrontOriginAccessIdentity+ , module Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity++ -- ** ListStreamingDistributions+ , module Network.AWS.CloudFront.ListStreamingDistributions++ -- ** GetStreamingDistributionConfig , module Network.AWS.CloudFront.GetStreamingDistributionConfig++ -- ** GetCloudFrontOriginAccessIdentityConfig+ , module Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig++ -- ** CreateStreamingDistribution+ , module Network.AWS.CloudFront.CreateStreamingDistribution++ -- ** CreateCloudFrontOriginAccessIdentity+ , module Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity++ -- ** ListCloudFrontOriginAccessIdentities , module Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities- , module Network.AWS.CloudFront.ListDistributions++ -- ** GetInvalidation+ , module Network.AWS.CloudFront.GetInvalidation++ -- ** ListInvalidations , module Network.AWS.CloudFront.ListInvalidations- , module Network.AWS.CloudFront.ListStreamingDistributions- , module Network.AWS.CloudFront.Types- , module Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity++ -- ** GetStreamingDistribution+ , module Network.AWS.CloudFront.GetStreamingDistribution++ -- ** GetCloudFrontOriginAccessIdentity+ , module Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity++ -- ** CreateInvalidation+ , module Network.AWS.CloudFront.CreateInvalidation++ -- ** UpdateDistribution , module Network.AWS.CloudFront.UpdateDistribution- , module Network.AWS.CloudFront.UpdateStreamingDistribution++ -- ** DeleteDistribution+ , module Network.AWS.CloudFront.DeleteDistribution++ -- ** ListDistributions+ , module Network.AWS.CloudFront.ListDistributions++ -- * Types++ -- ** GeoRestrictionType+ , GeoRestrictionType (..)++ -- ** ItemSelection+ , ItemSelection (..)++ -- ** Method+ , Method (..)++ -- ** MinimumProtocolVersion+ , MinimumProtocolVersion (..)++ -- ** OriginProtocolPolicy+ , OriginProtocolPolicy (..)++ -- ** PriceClass+ , PriceClass (..)++ -- ** SSLSupportMethod+ , SSLSupportMethod (..)++ -- ** ViewerProtocolPolicy+ , ViewerProtocolPolicy (..)++ -- ** ActiveTrustedSigners+ , ActiveTrustedSigners+ , activeTrustedSigners+ , atsItems+ , atsEnabled+ , atsQuantity++ -- ** Aliases+ , Aliases+ , aliases+ , aItems+ , aQuantity++ -- ** AllowedMethods+ , AllowedMethods+ , allowedMethods+ , amCachedMethods+ , amQuantity+ , amItems++ -- ** CacheBehavior+ , CacheBehavior+ , cacheBehavior+ , cbAllowedMethods+ , cbMaxTTL+ , cbSmoothStreaming+ , cbDefaultTTL+ , cbPathPattern+ , cbTargetOriginId+ , cbForwardedValues+ , cbTrustedSigners+ , cbViewerProtocolPolicy+ , cbMinTTL++ -- ** CacheBehaviors+ , CacheBehaviors+ , cacheBehaviors+ , cbItems+ , cbQuantity++ -- ** CachedMethods+ , CachedMethods+ , cachedMethods+ , cmQuantity+ , cmItems++ -- ** CloudFrontOriginAccessIdentity+ , CloudFrontOriginAccessIdentity+ , cloudFrontOriginAccessIdentity+ , cfoaiCloudFrontOriginAccessIdentityConfig+ , cfoaiId+ , cfoaiS3CanonicalUserId++ -- ** CloudFrontOriginAccessIdentityConfig+ , CloudFrontOriginAccessIdentityConfig+ , cloudFrontOriginAccessIdentityConfig+ , cfoaicCallerReference+ , cfoaicComment++ -- ** CloudFrontOriginAccessIdentityList+ , CloudFrontOriginAccessIdentityList+ , cloudFrontOriginAccessIdentityList+ , cfoailItems+ , cfoailNextMarker+ , cfoailMarker+ , cfoailMaxItems+ , cfoailIsTruncated+ , cfoailQuantity++ -- ** CloudFrontOriginAccessIdentitySummary+ , CloudFrontOriginAccessIdentitySummary+ , cloudFrontOriginAccessIdentitySummary+ , cfoaisId+ , cfoaisS3CanonicalUserId+ , cfoaisComment++ -- ** CookieNames+ , CookieNames+ , cookieNames+ , cnItems+ , cnQuantity++ -- ** CookiePreference+ , CookiePreference+ , cookiePreference+ , cpWhitelistedNames+ , cpForward++ -- ** CustomErrorResponse+ , CustomErrorResponse+ , customErrorResponse+ , ceResponsePagePath+ , ceResponseCode+ , ceErrorCachingMinTTL+ , ceErrorCode++ -- ** CustomErrorResponses+ , CustomErrorResponses+ , customErrorResponses+ , cerItems+ , cerQuantity++ -- ** CustomOriginConfig+ , CustomOriginConfig+ , customOriginConfig+ , cocHTTPPort+ , cocHTTPSPort+ , cocOriginProtocolPolicy++ -- ** DefaultCacheBehavior+ , DefaultCacheBehavior+ , defaultCacheBehavior+ , dcbAllowedMethods+ , dcbMaxTTL+ , dcbSmoothStreaming+ , dcbDefaultTTL+ , dcbTargetOriginId+ , dcbForwardedValues+ , dcbTrustedSigners+ , dcbViewerProtocolPolicy+ , dcbMinTTL++ -- ** Distribution+ , Distribution+ , distribution+ , dId+ , dStatus+ , dLastModifiedTime+ , dInProgressInvalidationBatches+ , dDomainName+ , dActiveTrustedSigners+ , dDistributionConfig++ -- ** DistributionConfig+ , DistributionConfig+ , distributionConfig+ , dcDefaultRootObject+ , dcAliases+ , dcCustomErrorResponses+ , dcPriceClass+ , dcViewerCertificate+ , dcRestrictions+ , dcCacheBehaviors+ , dcLogging+ , dcCallerReference+ , dcOrigins+ , dcDefaultCacheBehavior+ , dcComment+ , dcEnabled++ -- ** DistributionList+ , DistributionList+ , distributionList+ , dlItems+ , dlNextMarker+ , dlMarker+ , dlMaxItems+ , dlIsTruncated+ , dlQuantity++ -- ** DistributionSummary+ , DistributionSummary+ , distributionSummary+ , dsId+ , dsStatus+ , dsLastModifiedTime+ , dsDomainName+ , dsAliases+ , dsOrigins+ , dsDefaultCacheBehavior+ , dsCacheBehaviors+ , dsCustomErrorResponses+ , dsComment+ , dsPriceClass+ , dsEnabled+ , dsViewerCertificate+ , dsRestrictions++ -- ** ForwardedValues+ , ForwardedValues+ , forwardedValues+ , fvHeaders+ , fvQueryString+ , fvCookies++ -- ** GeoRestriction+ , GeoRestriction+ , geoRestriction+ , grItems+ , grRestrictionType+ , grQuantity++ -- ** Headers+ , Headers+ , headers+ , hItems+ , hQuantity++ -- ** Invalidation+ , Invalidation+ , invalidation+ , iId+ , iStatus+ , iCreateTime+ , iInvalidationBatch++ -- ** InvalidationBatch+ , InvalidationBatch+ , invalidationBatch+ , ibPaths+ , ibCallerReference++ -- ** InvalidationList+ , InvalidationList+ , invalidationList+ , ilItems+ , ilNextMarker+ , ilMarker+ , ilMaxItems+ , ilIsTruncated+ , ilQuantity++ -- ** InvalidationSummary+ , InvalidationSummary+ , invalidationSummary+ , isId+ , isCreateTime+ , isStatus++ -- ** KeyPairIds+ , KeyPairIds+ , keyPairIds+ , kpiItems+ , kpiQuantity++ -- ** LoggingConfig+ , LoggingConfig+ , loggingConfig+ , lcEnabled+ , lcIncludeCookies+ , lcBucket+ , lcPrefix++ -- ** Origin+ , Origin+ , origin+ , oCustomOriginConfig+ , oS3OriginConfig+ , oOriginPath+ , oId+ , oDomainName++ -- ** Origins+ , Origins+ , origins+ , oItems+ , oQuantity++ -- ** Paths+ , Paths+ , paths+ , pItems+ , pQuantity++ -- ** Restrictions+ , Restrictions+ , restrictions+ , rGeoRestriction++ -- ** S3Origin+ , S3Origin+ , s3Origin+ , soDomainName+ , soOriginAccessIdentity++ -- ** S3OriginConfig+ , S3OriginConfig+ , s3OriginConfig+ , socOriginAccessIdentity++ -- ** Signer+ , Signer+ , signer+ , sAWSAccountNumber+ , sKeyPairIds++ -- ** StreamingDistribution+ , StreamingDistribution+ , streamingDistribution+ , sdLastModifiedTime+ , sdId+ , sdStatus+ , sdDomainName+ , sdActiveTrustedSigners+ , sdStreamingDistributionConfig++ -- ** StreamingDistributionConfig+ , StreamingDistributionConfig+ , streamingDistributionConfig+ , sdcAliases+ , sdcPriceClass+ , sdcLogging+ , sdcCallerReference+ , sdcS3Origin+ , sdcComment+ , sdcTrustedSigners+ , sdcEnabled++ -- ** StreamingDistributionList+ , StreamingDistributionList+ , streamingDistributionList+ , sdlItems+ , sdlNextMarker+ , sdlMarker+ , sdlMaxItems+ , sdlIsTruncated+ , sdlQuantity++ -- ** StreamingDistributionSummary+ , StreamingDistributionSummary+ , streamingDistributionSummary+ , sdsId+ , sdsStatus+ , sdsLastModifiedTime+ , sdsDomainName+ , sdsS3Origin+ , sdsAliases+ , sdsTrustedSigners+ , sdsComment+ , sdsPriceClass+ , sdsEnabled++ -- ** StreamingLoggingConfig+ , StreamingLoggingConfig+ , streamingLoggingConfig+ , slcEnabled+ , slcBucket+ , slcPrefix++ -- ** TrustedSigners+ , TrustedSigners+ , trustedSigners+ , tsItems+ , tsEnabled+ , tsQuantity++ -- ** ViewerCertificate+ , ViewerCertificate+ , viewerCertificate+ , vcSSLSupportMethod+ , vcMinimumProtocolVersion+ , vcIAMCertificateId+ , vcCloudFrontDefaultCertificate ) where -import Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity-import Network.AWS.CloudFront.CreateDistribution-import Network.AWS.CloudFront.CreateInvalidation-import Network.AWS.CloudFront.CreateStreamingDistribution-import Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity-import Network.AWS.CloudFront.DeleteDistribution-import Network.AWS.CloudFront.DeleteStreamingDistribution-import Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity-import Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig-import Network.AWS.CloudFront.GetDistribution-import Network.AWS.CloudFront.GetDistributionConfig-import Network.AWS.CloudFront.GetInvalidation-import Network.AWS.CloudFront.GetStreamingDistribution-import Network.AWS.CloudFront.GetStreamingDistributionConfig-import Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities-import Network.AWS.CloudFront.ListDistributions-import Network.AWS.CloudFront.ListInvalidations-import Network.AWS.CloudFront.ListStreamingDistributions-import Network.AWS.CloudFront.Types-import Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity-import Network.AWS.CloudFront.UpdateDistribution-import Network.AWS.CloudFront.UpdateStreamingDistribution+import Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity+import Network.AWS.CloudFront.CreateDistribution+import Network.AWS.CloudFront.CreateInvalidation+import Network.AWS.CloudFront.CreateStreamingDistribution+import Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity+import Network.AWS.CloudFront.DeleteDistribution+import Network.AWS.CloudFront.DeleteStreamingDistribution+import Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity+import Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig+import Network.AWS.CloudFront.GetDistribution+import Network.AWS.CloudFront.GetDistributionConfig+import Network.AWS.CloudFront.GetInvalidation+import Network.AWS.CloudFront.GetStreamingDistribution+import Network.AWS.CloudFront.GetStreamingDistributionConfig+import Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities+import Network.AWS.CloudFront.ListDistributions+import Network.AWS.CloudFront.ListInvalidations+import Network.AWS.CloudFront.ListStreamingDistributions+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity+import Network.AWS.CloudFront.UpdateDistribution+import Network.AWS.CloudFront.UpdateStreamingDistribution+import Network.AWS.CloudFront.Waiters++{- $errors+Error matchers are designed for use with the functions provided by+<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+This allows catching (and rethrowing) service specific errors returned+by 'CloudFront'.+-}++{- $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.+-}++{- $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.+-}
gen/Network/AWS/CloudFront/CreateCloudFrontOriginAccessIdentity.hs view
@@ -1,136 +1,157 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Create a new origin access identity.+-- Create a new origin access identity. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/CreateCloudFrontOriginAccessIdentity.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/CreateCloudFrontOriginAccessIdentity.html AWS API Reference> for CreateCloudFrontOriginAccessIdentity. module Network.AWS.CloudFront.CreateCloudFrontOriginAccessIdentity (- -- * Request- CreateCloudFrontOriginAccessIdentity- -- ** Request constructor- , createCloudFrontOriginAccessIdentity- -- ** Request lenses+ -- * Creating a Request+ createCloudFrontOriginAccessIdentity+ , CreateCloudFrontOriginAccessIdentity+ -- * Request Lenses , ccfoaiCloudFrontOriginAccessIdentityConfig - -- * Response- , CreateCloudFrontOriginAccessIdentityResponse- -- ** Response constructor+ -- * Destructuring the Response , createCloudFrontOriginAccessIdentityResponse- -- ** Response lenses- , ccfoairCloudFrontOriginAccessIdentity- , ccfoairETag- , ccfoairLocation+ , CreateCloudFrontOriginAccessIdentityResponse+ -- * Response Lenses+ , ccfoairsETag+ , ccfoairsLocation+ , ccfoairsCloudFrontOriginAccessIdentity+ , ccfoairsStatus ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response -newtype CreateCloudFrontOriginAccessIdentity = CreateCloudFrontOriginAccessIdentity+-- | The request to create a new origin access identity.+--+-- /See:/ 'createCloudFrontOriginAccessIdentity' smart constructor.+newtype CreateCloudFrontOriginAccessIdentity = CreateCloudFrontOriginAccessIdentity' { _ccfoaiCloudFrontOriginAccessIdentityConfig :: CloudFrontOriginAccessIdentityConfig- } deriving (Eq, Read, Show)+ } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateCloudFrontOriginAccessIdentity' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateCloudFrontOriginAccessIdentity' with the minimum fields required to make a request. ----- * 'ccfoaiCloudFrontOriginAccessIdentityConfig' @::@ 'CloudFrontOriginAccessIdentityConfig'+-- Use one of the following lenses to modify other fields as desired: ---createCloudFrontOriginAccessIdentity :: CloudFrontOriginAccessIdentityConfig -- ^ 'ccfoaiCloudFrontOriginAccessIdentityConfig'- -> CreateCloudFrontOriginAccessIdentity-createCloudFrontOriginAccessIdentity p1 = CreateCloudFrontOriginAccessIdentity- { _ccfoaiCloudFrontOriginAccessIdentityConfig = p1+-- * 'ccfoaiCloudFrontOriginAccessIdentityConfig'+createCloudFrontOriginAccessIdentity+ :: CloudFrontOriginAccessIdentityConfig -- ^ 'ccfoaiCloudFrontOriginAccessIdentityConfig'+ -> CreateCloudFrontOriginAccessIdentity+createCloudFrontOriginAccessIdentity pCloudFrontOriginAccessIdentityConfig_ =+ CreateCloudFrontOriginAccessIdentity'+ { _ccfoaiCloudFrontOriginAccessIdentityConfig = pCloudFrontOriginAccessIdentityConfig_ } --- | The origin access identity's configuration information.+-- | The origin access identity\'s configuration information. ccfoaiCloudFrontOriginAccessIdentityConfig :: Lens' CreateCloudFrontOriginAccessIdentity CloudFrontOriginAccessIdentityConfig-ccfoaiCloudFrontOriginAccessIdentityConfig =- lens _ccfoaiCloudFrontOriginAccessIdentityConfig- (\s a -> s { _ccfoaiCloudFrontOriginAccessIdentityConfig = a })+ccfoaiCloudFrontOriginAccessIdentityConfig = lens _ccfoaiCloudFrontOriginAccessIdentityConfig (\ s a -> s{_ccfoaiCloudFrontOriginAccessIdentityConfig = a}); -data CreateCloudFrontOriginAccessIdentityResponse = CreateCloudFrontOriginAccessIdentityResponse- { _ccfoairCloudFrontOriginAccessIdentity :: Maybe CloudFrontOriginAccessIdentity- , _ccfoairETag :: Maybe Text- , _ccfoairLocation :: Maybe Text- } deriving (Eq, Read, Show)+instance AWSRequest+ CreateCloudFrontOriginAccessIdentity where+ type Sv CreateCloudFrontOriginAccessIdentity =+ CloudFront+ type Rs CreateCloudFrontOriginAccessIdentity =+ CreateCloudFrontOriginAccessIdentityResponse+ request = postXML+ response+ = receiveXML+ (\ s h x ->+ CreateCloudFrontOriginAccessIdentityResponse' <$>+ (h .#? "ETag") <*> (h .#? "Location") <*>+ (parseXML x)+ <*> (pure (fromEnum s))) --- | 'CreateCloudFrontOriginAccessIdentityResponse' constructor.+instance ToElement+ CreateCloudFrontOriginAccessIdentity where+ toElement+ = mkElement+ "{http://cloudfront.amazonaws.com/doc/2015-04-17/}CloudFrontOriginAccessIdentityConfig"+ .+ _ccfoaiCloudFrontOriginAccessIdentityConfig++instance ToHeaders+ CreateCloudFrontOriginAccessIdentity where+ toHeaders = const mempty++instance ToPath CreateCloudFrontOriginAccessIdentity+ where+ toPath+ = const+ "/2015-04-17/origin-access-identity/cloudfront"++instance ToQuery CreateCloudFrontOriginAccessIdentity+ where+ toQuery = const mempty++-- | The returned result of the corresponding request. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'createCloudFrontOriginAccessIdentityResponse' smart constructor.+data CreateCloudFrontOriginAccessIdentityResponse = CreateCloudFrontOriginAccessIdentityResponse'+ { _ccfoairsETag :: !(Maybe Text)+ , _ccfoairsLocation :: !(Maybe Text)+ , _ccfoairsCloudFrontOriginAccessIdentity :: !(Maybe CloudFrontOriginAccessIdentity)+ , _ccfoairsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateCloudFrontOriginAccessIdentityResponse' with the minimum fields required to make a request. ----- * 'ccfoairCloudFrontOriginAccessIdentity' @::@ 'Maybe' 'CloudFrontOriginAccessIdentity'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ccfoairETag' @::@ 'Maybe' 'Text'+-- * 'ccfoairsETag' ----- * 'ccfoairLocation' @::@ 'Maybe' 'Text'+-- * 'ccfoairsLocation' ---createCloudFrontOriginAccessIdentityResponse :: CreateCloudFrontOriginAccessIdentityResponse-createCloudFrontOriginAccessIdentityResponse = CreateCloudFrontOriginAccessIdentityResponse- { _ccfoairCloudFrontOriginAccessIdentity = Nothing- , _ccfoairLocation = Nothing- , _ccfoairETag = Nothing+-- * 'ccfoairsCloudFrontOriginAccessIdentity'+--+-- * 'ccfoairsStatus'+createCloudFrontOriginAccessIdentityResponse+ :: Int -- ^ 'ccfoairsStatus'+ -> CreateCloudFrontOriginAccessIdentityResponse+createCloudFrontOriginAccessIdentityResponse pStatus_ =+ CreateCloudFrontOriginAccessIdentityResponse'+ { _ccfoairsETag = Nothing+ , _ccfoairsLocation = Nothing+ , _ccfoairsCloudFrontOriginAccessIdentity = Nothing+ , _ccfoairsStatus = pStatus_ } --- | The origin access identity's information.-ccfoairCloudFrontOriginAccessIdentity :: Lens' CreateCloudFrontOriginAccessIdentityResponse (Maybe CloudFrontOriginAccessIdentity)-ccfoairCloudFrontOriginAccessIdentity =- lens _ccfoairCloudFrontOriginAccessIdentity- (\s a -> s { _ccfoairCloudFrontOriginAccessIdentity = a })- -- | The current version of the origin access identity created.-ccfoairETag :: Lens' CreateCloudFrontOriginAccessIdentityResponse (Maybe Text)-ccfoairETag = lens _ccfoairETag (\s a -> s { _ccfoairETag = a })---- | The fully qualified URI of the new origin access identity just created. For--- example:--- https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A.-ccfoairLocation :: Lens' CreateCloudFrontOriginAccessIdentityResponse (Maybe Text)-ccfoairLocation = lens _ccfoairLocation (\s a -> s { _ccfoairLocation = a })--instance ToPath CreateCloudFrontOriginAccessIdentity where- toPath = const "/2014-11-06/origin-access-identity/cloudfront"--instance ToQuery CreateCloudFrontOriginAccessIdentity where- toQuery = const mempty--instance ToHeaders CreateCloudFrontOriginAccessIdentity--instance ToXMLRoot CreateCloudFrontOriginAccessIdentity where- toXMLRoot CreateCloudFrontOriginAccessIdentity{..} = namespaced ns "CreateCloudFrontOriginAccessIdentity"- [ "CloudFrontOriginAccessIdentityConfig" =@ _ccfoaiCloudFrontOriginAccessIdentityConfig- ]+ccfoairsETag :: Lens' CreateCloudFrontOriginAccessIdentityResponse (Maybe Text)+ccfoairsETag = lens _ccfoairsETag (\ s a -> s{_ccfoairsETag = a}); -instance ToXML CreateCloudFrontOriginAccessIdentity+-- | The fully qualified URI of the new origin access identity just created.+-- For example:+-- https:\/\/cloudfront.amazonaws.com\/2010-11-01\/origin-access-identity\/cloudfront\/E74FTE3AJFJ256A.+ccfoairsLocation :: Lens' CreateCloudFrontOriginAccessIdentityResponse (Maybe Text)+ccfoairsLocation = lens _ccfoairsLocation (\ s a -> s{_ccfoairsLocation = a}); -instance AWSRequest CreateCloudFrontOriginAccessIdentity where- type Sv CreateCloudFrontOriginAccessIdentity = CloudFront- type Rs CreateCloudFrontOriginAccessIdentity = CreateCloudFrontOriginAccessIdentityResponse+-- | The origin access identity\'s information.+ccfoairsCloudFrontOriginAccessIdentity :: Lens' CreateCloudFrontOriginAccessIdentityResponse (Maybe CloudFrontOriginAccessIdentity)+ccfoairsCloudFrontOriginAccessIdentity = lens _ccfoairsCloudFrontOriginAccessIdentity (\ s a -> s{_ccfoairsCloudFrontOriginAccessIdentity = a}); - request = post- response = xmlHeaderResponse $ \h x -> CreateCloudFrontOriginAccessIdentityResponse- <$> x .@? "CloudFrontOriginAccessIdentity"- <*> h ~:? "ETag"- <*> h ~:? "Location"+-- | The response status code.+ccfoairsStatus :: Lens' CreateCloudFrontOriginAccessIdentityResponse Int+ccfoairsStatus = lens _ccfoairsStatus (\ s a -> s{_ccfoairsStatus = a});
gen/Network/AWS/CloudFront/CreateDistribution.hs view
@@ -1,133 +1,149 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.CreateDistribution--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Create a new distribution.+-- Create a new distribution. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/CreateDistribution.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/CreateDistribution.html AWS API Reference> for CreateDistribution. module Network.AWS.CloudFront.CreateDistribution (- -- * Request- CreateDistribution- -- ** Request constructor- , createDistribution- -- ** Request lenses+ -- * Creating a Request+ createDistribution+ , CreateDistribution+ -- * Request Lenses , cdDistributionConfig - -- * Response- , CreateDistributionResponse- -- ** Response constructor+ -- * Destructuring the Response , createDistributionResponse- -- ** Response lenses- , cdrDistribution- , cdrETag- , cdrLocation+ , CreateDistributionResponse+ -- * Response Lenses+ , cdrsETag+ , cdrsDistribution+ , cdrsLocation+ , cdrsStatus ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response -newtype CreateDistribution = CreateDistribution+-- | The request to create a new distribution.+--+-- /See:/ 'createDistribution' smart constructor.+newtype CreateDistribution = CreateDistribution' { _cdDistributionConfig :: DistributionConfig- } deriving (Eq, Read, Show)+ } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateDistribution' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateDistribution' with the minimum fields required to make a request. ----- * 'cdDistributionConfig' @::@ 'DistributionConfig'+-- Use one of the following lenses to modify other fields as desired: ---createDistribution :: DistributionConfig -- ^ 'cdDistributionConfig'- -> CreateDistribution-createDistribution p1 = CreateDistribution- { _cdDistributionConfig = p1+-- * 'cdDistributionConfig'+createDistribution+ :: DistributionConfig -- ^ 'cdDistributionConfig'+ -> CreateDistribution+createDistribution pDistributionConfig_ =+ CreateDistribution'+ { _cdDistributionConfig = pDistributionConfig_ } --- | The distribution's configuration information.+-- | The distribution\'s configuration information. cdDistributionConfig :: Lens' CreateDistribution DistributionConfig-cdDistributionConfig =- lens _cdDistributionConfig (\s a -> s { _cdDistributionConfig = a })+cdDistributionConfig = lens _cdDistributionConfig (\ s a -> s{_cdDistributionConfig = a}); -data CreateDistributionResponse = CreateDistributionResponse- { _cdrDistribution :: Maybe Distribution- , _cdrETag :: Maybe Text- , _cdrLocation :: Maybe Text- } deriving (Eq, Read, Show)+instance AWSRequest CreateDistribution where+ type Sv CreateDistribution = CloudFront+ type Rs CreateDistribution =+ CreateDistributionResponse+ request = postXML+ response+ = receiveXML+ (\ s h x ->+ CreateDistributionResponse' <$>+ (h .#? "ETag") <*> (parseXML x) <*>+ (h .#? "Location")+ <*> (pure (fromEnum s))) --- | 'CreateDistributionResponse' constructor.+instance ToElement CreateDistribution where+ toElement+ = mkElement+ "{http://cloudfront.amazonaws.com/doc/2015-04-17/}DistributionConfig"+ .+ _cdDistributionConfig++instance ToHeaders CreateDistribution where+ toHeaders = const mempty++instance ToPath CreateDistribution where+ toPath = const "/2015-04-17/distribution"++instance ToQuery CreateDistribution where+ toQuery = const mempty++-- | The returned result of the corresponding request. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'createDistributionResponse' smart constructor.+data CreateDistributionResponse = CreateDistributionResponse'+ { _cdrsETag :: !(Maybe Text)+ , _cdrsDistribution :: !(Maybe Distribution)+ , _cdrsLocation :: !(Maybe Text)+ , _cdrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateDistributionResponse' with the minimum fields required to make a request. ----- * 'cdrDistribution' @::@ 'Maybe' 'Distribution'+-- Use one of the following lenses to modify other fields as desired: ----- * 'cdrETag' @::@ 'Maybe' 'Text'+-- * 'cdrsETag' ----- * 'cdrLocation' @::@ 'Maybe' 'Text'+-- * 'cdrsDistribution' ---createDistributionResponse :: CreateDistributionResponse-createDistributionResponse = CreateDistributionResponse- { _cdrDistribution = Nothing- , _cdrLocation = Nothing- , _cdrETag = Nothing+-- * 'cdrsLocation'+--+-- * 'cdrsStatus'+createDistributionResponse+ :: Int -- ^ 'cdrsStatus'+ -> CreateDistributionResponse+createDistributionResponse pStatus_ =+ CreateDistributionResponse'+ { _cdrsETag = Nothing+ , _cdrsDistribution = Nothing+ , _cdrsLocation = Nothing+ , _cdrsStatus = pStatus_ } --- | The distribution's information.-cdrDistribution :: Lens' CreateDistributionResponse (Maybe Distribution)-cdrDistribution = lens _cdrDistribution (\s a -> s { _cdrDistribution = a })- -- | The current version of the distribution created.-cdrETag :: Lens' CreateDistributionResponse (Maybe Text)-cdrETag = lens _cdrETag (\s a -> s { _cdrETag = a })---- | The fully qualified URI of the new distribution resource just created. For--- example:--- https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.-cdrLocation :: Lens' CreateDistributionResponse (Maybe Text)-cdrLocation = lens _cdrLocation (\s a -> s { _cdrLocation = a })--instance ToPath CreateDistribution where- toPath = const "/2014-11-06/distribution"--instance ToQuery CreateDistribution where- toQuery = const mempty--instance ToHeaders CreateDistribution--instance ToXMLRoot CreateDistribution where- toXMLRoot CreateDistribution{..} = namespaced ns "CreateDistribution"- [ "DistributionConfig" =@ _cdDistributionConfig- ]+cdrsETag :: Lens' CreateDistributionResponse (Maybe Text)+cdrsETag = lens _cdrsETag (\ s a -> s{_cdrsETag = a}); -instance ToXML CreateDistribution+-- | The distribution\'s information.+cdrsDistribution :: Lens' CreateDistributionResponse (Maybe Distribution)+cdrsDistribution = lens _cdrsDistribution (\ s a -> s{_cdrsDistribution = a}); -instance AWSRequest CreateDistribution where- type Sv CreateDistribution = CloudFront- type Rs CreateDistribution = CreateDistributionResponse+-- | The fully qualified URI of the new distribution resource just created.+-- For example:+-- https:\/\/cloudfront.amazonaws.com\/2010-11-01\/distribution\/EDFDVBD632BHDS5.+cdrsLocation :: Lens' CreateDistributionResponse (Maybe Text)+cdrsLocation = lens _cdrsLocation (\ s a -> s{_cdrsLocation = a}); - request = post- response = xmlHeaderResponse $ \h x -> CreateDistributionResponse- <$> x .@? "Distribution"- <*> h ~:? "ETag"- <*> h ~:? "Location"+-- | The response status code.+cdrsStatus :: Lens' CreateDistributionResponse Int+cdrsStatus = lens _cdrsStatus (\ s a -> s{_cdrsStatus = a});
gen/Network/AWS/CloudFront/CreateInvalidation.hs view
@@ -1,136 +1,151 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.CreateInvalidation--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Create a new invalidation.+-- Create a new invalidation. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/CreateInvalidation.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/CreateInvalidation.html AWS API Reference> for CreateInvalidation. module Network.AWS.CloudFront.CreateInvalidation (- -- * Request- CreateInvalidation- -- ** Request constructor- , createInvalidation- -- ** Request lenses+ -- * Creating a Request+ createInvalidation+ , CreateInvalidation+ -- * Request Lenses , ciDistributionId , ciInvalidationBatch - -- * Response- , CreateInvalidationResponse- -- ** Response constructor+ -- * Destructuring the Response , createInvalidationResponse- -- ** Response lenses- , cirInvalidation- , cirLocation+ , CreateInvalidationResponse+ -- * Response Lenses+ , cirsInvalidation+ , cirsLocation+ , cirsStatus ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts--data CreateInvalidation = CreateInvalidation- { _ciDistributionId :: Text- , _ciInvalidationBatch :: InvalidationBatch- } deriving (Eq, Read, Show)+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | 'CreateInvalidation' constructor.+-- | The request to create an invalidation. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'createInvalidation' smart constructor.+data CreateInvalidation = CreateInvalidation'+ { _ciDistributionId :: !Text+ , _ciInvalidationBatch :: !InvalidationBatch+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateInvalidation' with the minimum fields required to make a request. ----- * 'ciDistributionId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ciInvalidationBatch' @::@ 'InvalidationBatch'+-- * 'ciDistributionId' ---createInvalidation :: Text -- ^ 'ciDistributionId'- -> InvalidationBatch -- ^ 'ciInvalidationBatch'- -> CreateInvalidation-createInvalidation p1 p2 = CreateInvalidation- { _ciDistributionId = p1- , _ciInvalidationBatch = p2+-- * 'ciInvalidationBatch'+createInvalidation+ :: Text -- ^ 'ciDistributionId'+ -> InvalidationBatch -- ^ 'ciInvalidationBatch'+ -> CreateInvalidation+createInvalidation pDistributionId_ pInvalidationBatch_ =+ CreateInvalidation'+ { _ciDistributionId = pDistributionId_+ , _ciInvalidationBatch = pInvalidationBatch_ } --- | The distribution's id.+-- | The distribution\'s id. ciDistributionId :: Lens' CreateInvalidation Text-ciDistributionId = lens _ciDistributionId (\s a -> s { _ciDistributionId = a })+ciDistributionId = lens _ciDistributionId (\ s a -> s{_ciDistributionId = a}); -- | The batch information for the invalidation. ciInvalidationBatch :: Lens' CreateInvalidation InvalidationBatch-ciInvalidationBatch =- lens _ciInvalidationBatch (\s a -> s { _ciInvalidationBatch = a })--data CreateInvalidationResponse = CreateInvalidationResponse- { _cirInvalidation :: Maybe Invalidation- , _cirLocation :: Maybe Text- } deriving (Eq, Read, Show)+ciInvalidationBatch = lens _ciInvalidationBatch (\ s a -> s{_ciInvalidationBatch = a}); --- | 'CreateInvalidationResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cirInvalidation' @::@ 'Maybe' 'Invalidation'------ * 'cirLocation' @::@ 'Maybe' 'Text'----createInvalidationResponse :: CreateInvalidationResponse-createInvalidationResponse = CreateInvalidationResponse- { _cirLocation = Nothing- , _cirInvalidation = Nothing- }+instance AWSRequest CreateInvalidation where+ type Sv CreateInvalidation = CloudFront+ type Rs CreateInvalidation =+ CreateInvalidationResponse+ request = postXML+ response+ = receiveXML+ (\ s h x ->+ CreateInvalidationResponse' <$>+ (parseXML x) <*> (h .#? "Location") <*>+ (pure (fromEnum s))) --- | The invalidation's information.-cirInvalidation :: Lens' CreateInvalidationResponse (Maybe Invalidation)-cirInvalidation = lens _cirInvalidation (\s a -> s { _cirInvalidation = a })+instance ToElement CreateInvalidation where+ toElement+ = mkElement+ "{http://cloudfront.amazonaws.com/doc/2015-04-17/}InvalidationBatch"+ .+ _ciInvalidationBatch --- | The fully qualified URI of the distribution and invalidation batch request,--- including the Invalidation ID.-cirLocation :: Lens' CreateInvalidationResponse (Maybe Text)-cirLocation = lens _cirLocation (\s a -> s { _cirLocation = a })+instance ToHeaders CreateInvalidation where+ toHeaders = const mempty instance ToPath CreateInvalidation where- toPath CreateInvalidation{..} = mconcat- [ "/2014-11-06/distribution/"- , toText _ciDistributionId- , "/invalidation"- ]+ toPath CreateInvalidation'{..}+ = mconcat+ ["/2015-04-17/distribution/", toBS _ciDistributionId,+ "/invalidation"] instance ToQuery CreateInvalidation where- toQuery = const mempty+ toQuery = const mempty -instance ToHeaders CreateInvalidation+-- | The returned result of the corresponding request.+--+-- /See:/ 'createInvalidationResponse' smart constructor.+data CreateInvalidationResponse = CreateInvalidationResponse'+ { _cirsInvalidation :: !(Maybe Invalidation)+ , _cirsLocation :: !(Maybe Text)+ , _cirsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToXMLRoot CreateInvalidation where- toXMLRoot CreateInvalidation{..} = namespaced ns "CreateInvalidation"- [ "InvalidationBatch" =@ _ciInvalidationBatch- ]+-- | Creates a value of 'CreateInvalidationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cirsInvalidation'+--+-- * 'cirsLocation'+--+-- * 'cirsStatus'+createInvalidationResponse+ :: Int -- ^ 'cirsStatus'+ -> CreateInvalidationResponse+createInvalidationResponse pStatus_ =+ CreateInvalidationResponse'+ { _cirsInvalidation = Nothing+ , _cirsLocation = Nothing+ , _cirsStatus = pStatus_+ } -instance ToXML CreateInvalidation+-- | The invalidation\'s information.+cirsInvalidation :: Lens' CreateInvalidationResponse (Maybe Invalidation)+cirsInvalidation = lens _cirsInvalidation (\ s a -> s{_cirsInvalidation = a}); -instance AWSRequest CreateInvalidation where- type Sv CreateInvalidation = CloudFront- type Rs CreateInvalidation = CreateInvalidationResponse+-- | The fully qualified URI of the distribution and invalidation batch+-- request, including the Invalidation ID.+cirsLocation :: Lens' CreateInvalidationResponse (Maybe Text)+cirsLocation = lens _cirsLocation (\ s a -> s{_cirsLocation = a}); - request = post- response = xmlHeaderResponse $ \h x -> CreateInvalidationResponse- <$> x .@? "Invalidation"- <*> h ~:? "Location"+-- | The response status code.+cirsStatus :: Lens' CreateInvalidationResponse Int+cirsStatus = lens _cirsStatus (\ s a -> s{_cirsStatus = a});
gen/Network/AWS/CloudFront/CreateStreamingDistribution.hs view
@@ -1,136 +1,149 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.CreateStreamingDistribution--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Create a new streaming distribution.+-- Create a new streaming distribution. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/CreateStreamingDistribution.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/CreateStreamingDistribution.html AWS API Reference> for CreateStreamingDistribution. module Network.AWS.CloudFront.CreateStreamingDistribution (- -- * Request- CreateStreamingDistribution- -- ** Request constructor- , createStreamingDistribution- -- ** Request lenses+ -- * Creating a Request+ createStreamingDistribution+ , CreateStreamingDistribution+ -- * Request Lenses , csdStreamingDistributionConfig - -- * Response- , CreateStreamingDistributionResponse- -- ** Response constructor+ -- * Destructuring the Response , createStreamingDistributionResponse- -- ** Response lenses- , csdrETag- , csdrLocation- , csdrStreamingDistribution+ , CreateStreamingDistributionResponse+ -- * Response Lenses+ , csdrsETag+ , csdrsLocation+ , csdrsStreamingDistribution+ , csdrsStatus ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response -newtype CreateStreamingDistribution = CreateStreamingDistribution+-- | The request to create a new streaming distribution.+--+-- /See:/ 'createStreamingDistribution' smart constructor.+newtype CreateStreamingDistribution = CreateStreamingDistribution' { _csdStreamingDistributionConfig :: StreamingDistributionConfig- } deriving (Eq, Read, Show)+ } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateStreamingDistribution' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateStreamingDistribution' with the minimum fields required to make a request. ----- * 'csdStreamingDistributionConfig' @::@ 'StreamingDistributionConfig'+-- Use one of the following lenses to modify other fields as desired: ---createStreamingDistribution :: StreamingDistributionConfig -- ^ 'csdStreamingDistributionConfig'- -> CreateStreamingDistribution-createStreamingDistribution p1 = CreateStreamingDistribution- { _csdStreamingDistributionConfig = p1+-- * 'csdStreamingDistributionConfig'+createStreamingDistribution+ :: StreamingDistributionConfig -- ^ 'csdStreamingDistributionConfig'+ -> CreateStreamingDistribution+createStreamingDistribution pStreamingDistributionConfig_ =+ CreateStreamingDistribution'+ { _csdStreamingDistributionConfig = pStreamingDistributionConfig_ } --- | The streaming distribution's configuration information.+-- | The streaming distribution\'s configuration information. csdStreamingDistributionConfig :: Lens' CreateStreamingDistribution StreamingDistributionConfig-csdStreamingDistributionConfig =- lens _csdStreamingDistributionConfig- (\s a -> s { _csdStreamingDistributionConfig = a })+csdStreamingDistributionConfig = lens _csdStreamingDistributionConfig (\ s a -> s{_csdStreamingDistributionConfig = a}); -data CreateStreamingDistributionResponse = CreateStreamingDistributionResponse- { _csdrETag :: Maybe Text- , _csdrLocation :: Maybe Text- , _csdrStreamingDistribution :: Maybe StreamingDistribution- } deriving (Eq, Read, Show)+instance AWSRequest CreateStreamingDistribution where+ type Sv CreateStreamingDistribution = CloudFront+ type Rs CreateStreamingDistribution =+ CreateStreamingDistributionResponse+ request = postXML+ response+ = receiveXML+ (\ s h x ->+ CreateStreamingDistributionResponse' <$>+ (h .#? "ETag") <*> (h .#? "Location") <*>+ (parseXML x)+ <*> (pure (fromEnum s))) --- | 'CreateStreamingDistributionResponse' constructor.+instance ToElement CreateStreamingDistribution where+ toElement+ = mkElement+ "{http://cloudfront.amazonaws.com/doc/2015-04-17/}StreamingDistributionConfig"+ .+ _csdStreamingDistributionConfig++instance ToHeaders CreateStreamingDistribution where+ toHeaders = const mempty++instance ToPath CreateStreamingDistribution where+ toPath = const "/2015-04-17/streaming-distribution"++instance ToQuery CreateStreamingDistribution where+ toQuery = const mempty++-- | The returned result of the corresponding request. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'createStreamingDistributionResponse' smart constructor.+data CreateStreamingDistributionResponse = CreateStreamingDistributionResponse'+ { _csdrsETag :: !(Maybe Text)+ , _csdrsLocation :: !(Maybe Text)+ , _csdrsStreamingDistribution :: !(Maybe StreamingDistribution)+ , _csdrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateStreamingDistributionResponse' with the minimum fields required to make a request. ----- * 'csdrETag' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'csdrLocation' @::@ 'Maybe' 'Text'+-- * 'csdrsETag' ----- * 'csdrStreamingDistribution' @::@ 'Maybe' 'StreamingDistribution'+-- * 'csdrsLocation' ---createStreamingDistributionResponse :: CreateStreamingDistributionResponse-createStreamingDistributionResponse = CreateStreamingDistributionResponse- { _csdrStreamingDistribution = Nothing- , _csdrLocation = Nothing- , _csdrETag = Nothing+-- * 'csdrsStreamingDistribution'+--+-- * 'csdrsStatus'+createStreamingDistributionResponse+ :: Int -- ^ 'csdrsStatus'+ -> CreateStreamingDistributionResponse+createStreamingDistributionResponse pStatus_ =+ CreateStreamingDistributionResponse'+ { _csdrsETag = Nothing+ , _csdrsLocation = Nothing+ , _csdrsStreamingDistribution = Nothing+ , _csdrsStatus = pStatus_ } -- | The current version of the streaming distribution created.-csdrETag :: Lens' CreateStreamingDistributionResponse (Maybe Text)-csdrETag = lens _csdrETag (\s a -> s { _csdrETag = a })+csdrsETag :: Lens' CreateStreamingDistributionResponse (Maybe Text)+csdrsETag = lens _csdrsETag (\ s a -> s{_csdrsETag = a}); -- | The fully qualified URI of the new streaming distribution resource just -- created. For example:--- https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.-csdrLocation :: Lens' CreateStreamingDistributionResponse (Maybe Text)-csdrLocation = lens _csdrLocation (\s a -> s { _csdrLocation = a })---- | The streaming distribution's information.-csdrStreamingDistribution :: Lens' CreateStreamingDistributionResponse (Maybe StreamingDistribution)-csdrStreamingDistribution =- lens _csdrStreamingDistribution- (\s a -> s { _csdrStreamingDistribution = a })--instance ToPath CreateStreamingDistribution where- toPath = const "/2014-11-06/streaming-distribution"--instance ToQuery CreateStreamingDistribution where- toQuery = const mempty--instance ToHeaders CreateStreamingDistribution--instance ToXMLRoot CreateStreamingDistribution where- toXMLRoot CreateStreamingDistribution{..} = namespaced ns "CreateStreamingDistribution"- [ "StreamingDistributionConfig" =@ _csdStreamingDistributionConfig- ]--instance ToXML CreateStreamingDistribution+-- https:\/\/cloudfront.amazonaws.com\/2010-11-01\/streaming-distribution\/EGTXBD79H29TRA8.+csdrsLocation :: Lens' CreateStreamingDistributionResponse (Maybe Text)+csdrsLocation = lens _csdrsLocation (\ s a -> s{_csdrsLocation = a}); -instance AWSRequest CreateStreamingDistribution where- type Sv CreateStreamingDistribution = CloudFront- type Rs CreateStreamingDistribution = CreateStreamingDistributionResponse+-- | The streaming distribution\'s information.+csdrsStreamingDistribution :: Lens' CreateStreamingDistributionResponse (Maybe StreamingDistribution)+csdrsStreamingDistribution = lens _csdrsStreamingDistribution (\ s a -> s{_csdrsStreamingDistribution = a}); - request = post- response = xmlHeaderResponse $ \h x -> CreateStreamingDistributionResponse- <$> h ~:? "ETag"- <*> h ~:? "Location"- <*> x .@? "StreamingDistribution"+-- | The response status code.+csdrsStatus :: Lens' CreateStreamingDistributionResponse Int+csdrsStatus = lens _csdrsStatus (\ s a -> s{_csdrsStatus = a});
gen/Network/AWS/CloudFront/DeleteCloudFrontOriginAccessIdentity.hs view
@@ -1,109 +1,114 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Delete an origin access identity.+-- Delete an origin access identity. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/DeleteCloudFrontOriginAccessIdentity.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/DeleteCloudFrontOriginAccessIdentity.html AWS API Reference> for DeleteCloudFrontOriginAccessIdentity. module Network.AWS.CloudFront.DeleteCloudFrontOriginAccessIdentity (- -- * Request- DeleteCloudFrontOriginAccessIdentity- -- ** Request constructor- , deleteCloudFrontOriginAccessIdentity- -- ** Request lenses- , dcfoaiId+ -- * Creating a Request+ deleteCloudFrontOriginAccessIdentity+ , DeleteCloudFrontOriginAccessIdentity+ -- * Request Lenses , dcfoaiIfMatch+ , dcfoaiId - -- * Response- , DeleteCloudFrontOriginAccessIdentityResponse- -- ** Response constructor+ -- * Destructuring the Response , deleteCloudFrontOriginAccessIdentityResponse+ , DeleteCloudFrontOriginAccessIdentityResponse ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts--data DeleteCloudFrontOriginAccessIdentity = DeleteCloudFrontOriginAccessIdentity- { _dcfoaiId :: Text- , _dcfoaiIfMatch :: Maybe Text- } deriving (Eq, Ord, Read, Show)+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | 'DeleteCloudFrontOriginAccessIdentity' constructor.+-- | The request to delete a origin access identity. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'deleteCloudFrontOriginAccessIdentity' smart constructor.+data DeleteCloudFrontOriginAccessIdentity = DeleteCloudFrontOriginAccessIdentity'+ { _dcfoaiIfMatch :: !(Maybe Text)+ , _dcfoaiId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteCloudFrontOriginAccessIdentity' with the minimum fields required to make a request. ----- * 'dcfoaiId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dcfoaiIfMatch' @::@ 'Maybe' 'Text'+-- * 'dcfoaiIfMatch' ---deleteCloudFrontOriginAccessIdentity :: Text -- ^ 'dcfoaiId'- -> DeleteCloudFrontOriginAccessIdentity-deleteCloudFrontOriginAccessIdentity p1 = DeleteCloudFrontOriginAccessIdentity- { _dcfoaiId = p1- , _dcfoaiIfMatch = Nothing+-- * 'dcfoaiId'+deleteCloudFrontOriginAccessIdentity+ :: Text -- ^ 'dcfoaiId'+ -> DeleteCloudFrontOriginAccessIdentity+deleteCloudFrontOriginAccessIdentity pId_ =+ DeleteCloudFrontOriginAccessIdentity'+ { _dcfoaiIfMatch = Nothing+ , _dcfoaiId = pId_ } --- | The origin access identity's id.-dcfoaiId :: Lens' DeleteCloudFrontOriginAccessIdentity Text-dcfoaiId = lens _dcfoaiId (\s a -> s { _dcfoaiId = a })---- | The value of the ETag header you received from a previous GET or PUT request.--- For example: E2QWRUHAPOMQZL.+-- | The value of the ETag header you received from a previous GET or PUT+-- request. For example: E2QWRUHAPOMQZL. dcfoaiIfMatch :: Lens' DeleteCloudFrontOriginAccessIdentity (Maybe Text)-dcfoaiIfMatch = lens _dcfoaiIfMatch (\s a -> s { _dcfoaiIfMatch = a })--data DeleteCloudFrontOriginAccessIdentityResponse = DeleteCloudFrontOriginAccessIdentityResponse- deriving (Eq, Ord, Read, Show, Generic)---- | 'DeleteCloudFrontOriginAccessIdentityResponse' constructor.-deleteCloudFrontOriginAccessIdentityResponse :: DeleteCloudFrontOriginAccessIdentityResponse-deleteCloudFrontOriginAccessIdentityResponse = DeleteCloudFrontOriginAccessIdentityResponse+dcfoaiIfMatch = lens _dcfoaiIfMatch (\ s a -> s{_dcfoaiIfMatch = a}); -instance ToPath DeleteCloudFrontOriginAccessIdentity where- toPath DeleteCloudFrontOriginAccessIdentity{..} = mconcat- [ "/2014-11-06/origin-access-identity/cloudfront/"- , toText _dcfoaiId- ]+-- | The origin access identity\'s id.+dcfoaiId :: Lens' DeleteCloudFrontOriginAccessIdentity Text+dcfoaiId = lens _dcfoaiId (\ s a -> s{_dcfoaiId = a}); -instance ToQuery DeleteCloudFrontOriginAccessIdentity where- toQuery = const mempty+instance AWSRequest+ DeleteCloudFrontOriginAccessIdentity where+ type Sv DeleteCloudFrontOriginAccessIdentity =+ CloudFront+ type Rs DeleteCloudFrontOriginAccessIdentity =+ DeleteCloudFrontOriginAccessIdentityResponse+ request = delete+ response+ = receiveNull+ DeleteCloudFrontOriginAccessIdentityResponse' -instance ToHeaders DeleteCloudFrontOriginAccessIdentity where- toHeaders DeleteCloudFrontOriginAccessIdentity{..} = mconcat- [ "If-Match" =: _dcfoaiIfMatch- ]+instance ToHeaders+ DeleteCloudFrontOriginAccessIdentity where+ toHeaders DeleteCloudFrontOriginAccessIdentity'{..}+ = mconcat ["If-Match" =# _dcfoaiIfMatch] -instance ToXMLRoot DeleteCloudFrontOriginAccessIdentity where- toXMLRoot = const (namespaced ns "DeleteCloudFrontOriginAccessIdentity" [])+instance ToPath DeleteCloudFrontOriginAccessIdentity+ where+ toPath DeleteCloudFrontOriginAccessIdentity'{..}+ = mconcat+ ["/2015-04-17/origin-access-identity/cloudfront/",+ toBS _dcfoaiId] -instance ToXML DeleteCloudFrontOriginAccessIdentity+instance ToQuery DeleteCloudFrontOriginAccessIdentity+ where+ toQuery = const mempty -instance AWSRequest DeleteCloudFrontOriginAccessIdentity where- type Sv DeleteCloudFrontOriginAccessIdentity = CloudFront- type Rs DeleteCloudFrontOriginAccessIdentity = DeleteCloudFrontOriginAccessIdentityResponse+-- | /See:/ 'deleteCloudFrontOriginAccessIdentityResponse' smart constructor.+data DeleteCloudFrontOriginAccessIdentityResponse =+ DeleteCloudFrontOriginAccessIdentityResponse'+ deriving (Eq,Read,Show,Data,Typeable,Generic) - request = delete- response = nullResponse DeleteCloudFrontOriginAccessIdentityResponse+-- | Creates a value of 'DeleteCloudFrontOriginAccessIdentityResponse' with the minimum fields required to make a request.+--+deleteCloudFrontOriginAccessIdentityResponse+ :: DeleteCloudFrontOriginAccessIdentityResponse+deleteCloudFrontOriginAccessIdentityResponse =+ DeleteCloudFrontOriginAccessIdentityResponse'
gen/Network/AWS/CloudFront/DeleteDistribution.hs view
@@ -1,109 +1,104 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.DeleteDistribution--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Delete a distribution.+-- Delete a distribution. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/DeleteDistribution.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/DeleteDistribution.html AWS API Reference> for DeleteDistribution. module Network.AWS.CloudFront.DeleteDistribution (- -- * Request- DeleteDistribution- -- ** Request constructor- , deleteDistribution- -- ** Request lenses- , ddId+ -- * Creating a Request+ deleteDistribution+ , DeleteDistribution+ -- * Request Lenses , ddIfMatch+ , ddId - -- * Response- , DeleteDistributionResponse- -- ** Response constructor+ -- * Destructuring the Response , deleteDistributionResponse+ , DeleteDistributionResponse ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts--data DeleteDistribution = DeleteDistribution- { _ddId :: Text- , _ddIfMatch :: Maybe Text- } deriving (Eq, Ord, Read, Show)+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | 'DeleteDistribution' constructor.+-- | The request to delete a distribution. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'deleteDistribution' smart constructor.+data DeleteDistribution = DeleteDistribution'+ { _ddIfMatch :: !(Maybe Text)+ , _ddId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDistribution' with the minimum fields required to make a request. ----- * 'ddId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ddIfMatch' @::@ 'Maybe' 'Text'+-- * 'ddIfMatch' ---deleteDistribution :: Text -- ^ 'ddId'- -> DeleteDistribution-deleteDistribution p1 = DeleteDistribution- { _ddId = p1- , _ddIfMatch = Nothing+-- * 'ddId'+deleteDistribution+ :: Text -- ^ 'ddId'+ -> DeleteDistribution+deleteDistribution pId_ =+ DeleteDistribution'+ { _ddIfMatch = Nothing+ , _ddId = pId_ } +-- | The value of the ETag header you received when you disabled the+-- distribution. For example: E2QWRUHAPOMQZL.+ddIfMatch :: Lens' DeleteDistribution (Maybe Text)+ddIfMatch = lens _ddIfMatch (\ s a -> s{_ddIfMatch = a});+ -- | The distribution id. ddId :: Lens' DeleteDistribution Text-ddId = lens _ddId (\s a -> s { _ddId = a })---- | The value of the ETag header you received when you disabled the distribution.--- For example: E2QWRUHAPOMQZL.-ddIfMatch :: Lens' DeleteDistribution (Maybe Text)-ddIfMatch = lens _ddIfMatch (\s a -> s { _ddIfMatch = a })+ddId = lens _ddId (\ s a -> s{_ddId = a}); -data DeleteDistributionResponse = DeleteDistributionResponse- deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteDistribution where+ type Sv DeleteDistribution = CloudFront+ type Rs DeleteDistribution =+ DeleteDistributionResponse+ request = delete+ response = receiveNull DeleteDistributionResponse' --- | 'DeleteDistributionResponse' constructor.-deleteDistributionResponse :: DeleteDistributionResponse-deleteDistributionResponse = DeleteDistributionResponse+instance ToHeaders DeleteDistribution where+ toHeaders DeleteDistribution'{..}+ = mconcat ["If-Match" =# _ddIfMatch] instance ToPath DeleteDistribution where- toPath DeleteDistribution{..} = mconcat- [ "/2014-11-06/distribution/"- , toText _ddId- ]+ toPath DeleteDistribution'{..}+ = mconcat ["/2015-04-17/distribution/", toBS _ddId] instance ToQuery DeleteDistribution where- toQuery = const mempty--instance ToHeaders DeleteDistribution where- toHeaders DeleteDistribution{..} = mconcat- [ "If-Match" =: _ddIfMatch- ]--instance ToXMLRoot DeleteDistribution where- toXMLRoot = const (namespaced ns "DeleteDistribution" [])--instance ToXML DeleteDistribution+ toQuery = const mempty -instance AWSRequest DeleteDistribution where- type Sv DeleteDistribution = CloudFront- type Rs DeleteDistribution = DeleteDistributionResponse+-- | /See:/ 'deleteDistributionResponse' smart constructor.+data DeleteDistributionResponse =+ DeleteDistributionResponse'+ deriving (Eq,Read,Show,Data,Typeable,Generic) - request = delete- response = nullResponse DeleteDistributionResponse+-- | Creates a value of 'DeleteDistributionResponse' with the minimum fields required to make a request.+--+deleteDistributionResponse+ :: DeleteDistributionResponse+deleteDistributionResponse = DeleteDistributionResponse'
gen/Network/AWS/CloudFront/DeleteStreamingDistribution.hs view
@@ -1,109 +1,106 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.DeleteStreamingDistribution--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Delete a streaming distribution.+-- Delete a streaming distribution. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/DeleteStreamingDistribution.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/DeleteStreamingDistribution.html AWS API Reference> for DeleteStreamingDistribution. module Network.AWS.CloudFront.DeleteStreamingDistribution (- -- * Request- DeleteStreamingDistribution- -- ** Request constructor- , deleteStreamingDistribution- -- ** Request lenses- , dsdId+ -- * Creating a Request+ deleteStreamingDistribution+ , DeleteStreamingDistribution+ -- * Request Lenses , dsdIfMatch+ , dsdId - -- * Response- , DeleteStreamingDistributionResponse- -- ** Response constructor+ -- * Destructuring the Response , deleteStreamingDistributionResponse+ , DeleteStreamingDistributionResponse ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts--data DeleteStreamingDistribution = DeleteStreamingDistribution- { _dsdId :: Text- , _dsdIfMatch :: Maybe Text- } deriving (Eq, Ord, Read, Show)+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | 'DeleteStreamingDistribution' constructor.+-- | The request to delete a streaming distribution. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'deleteStreamingDistribution' smart constructor.+data DeleteStreamingDistribution = DeleteStreamingDistribution'+ { _dsdIfMatch :: !(Maybe Text)+ , _dsdId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteStreamingDistribution' with the minimum fields required to make a request. ----- * 'dsdId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsdIfMatch' @::@ 'Maybe' 'Text'+-- * 'dsdIfMatch' ---deleteStreamingDistribution :: Text -- ^ 'dsdId'- -> DeleteStreamingDistribution-deleteStreamingDistribution p1 = DeleteStreamingDistribution- { _dsdId = p1- , _dsdIfMatch = Nothing+-- * 'dsdId'+deleteStreamingDistribution+ :: Text -- ^ 'dsdId'+ -> DeleteStreamingDistribution+deleteStreamingDistribution pId_ =+ DeleteStreamingDistribution'+ { _dsdIfMatch = Nothing+ , _dsdId = pId_ } +-- | The value of the ETag header you received when you disabled the+-- streaming distribution. For example: E2QWRUHAPOMQZL.+dsdIfMatch :: Lens' DeleteStreamingDistribution (Maybe Text)+dsdIfMatch = lens _dsdIfMatch (\ s a -> s{_dsdIfMatch = a});+ -- | The distribution id. dsdId :: Lens' DeleteStreamingDistribution Text-dsdId = lens _dsdId (\s a -> s { _dsdId = a })---- | The value of the ETag header you received when you disabled the streaming--- distribution. For example: E2QWRUHAPOMQZL.-dsdIfMatch :: Lens' DeleteStreamingDistribution (Maybe Text)-dsdIfMatch = lens _dsdIfMatch (\s a -> s { _dsdIfMatch = a })+dsdId = lens _dsdId (\ s a -> s{_dsdId = a}); -data DeleteStreamingDistributionResponse = DeleteStreamingDistributionResponse- deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteStreamingDistribution where+ type Sv DeleteStreamingDistribution = CloudFront+ type Rs DeleteStreamingDistribution =+ DeleteStreamingDistributionResponse+ request = delete+ response+ = receiveNull DeleteStreamingDistributionResponse' --- | 'DeleteStreamingDistributionResponse' constructor.-deleteStreamingDistributionResponse :: DeleteStreamingDistributionResponse-deleteStreamingDistributionResponse = DeleteStreamingDistributionResponse+instance ToHeaders DeleteStreamingDistribution where+ toHeaders DeleteStreamingDistribution'{..}+ = mconcat ["If-Match" =# _dsdIfMatch] instance ToPath DeleteStreamingDistribution where- toPath DeleteStreamingDistribution{..} = mconcat- [ "/2014-11-06/streaming-distribution/"- , toText _dsdId- ]+ toPath DeleteStreamingDistribution'{..}+ = mconcat+ ["/2015-04-17/streaming-distribution/", toBS _dsdId] instance ToQuery DeleteStreamingDistribution where- toQuery = const mempty--instance ToHeaders DeleteStreamingDistribution where- toHeaders DeleteStreamingDistribution{..} = mconcat- [ "If-Match" =: _dsdIfMatch- ]--instance ToXMLRoot DeleteStreamingDistribution where- toXMLRoot = const (namespaced ns "DeleteStreamingDistribution" [])--instance ToXML DeleteStreamingDistribution+ toQuery = const mempty -instance AWSRequest DeleteStreamingDistribution where- type Sv DeleteStreamingDistribution = CloudFront- type Rs DeleteStreamingDistribution = DeleteStreamingDistributionResponse+-- | /See:/ 'deleteStreamingDistributionResponse' smart constructor.+data DeleteStreamingDistributionResponse =+ DeleteStreamingDistributionResponse'+ deriving (Eq,Read,Show,Data,Typeable,Generic) - request = delete- response = nullResponse DeleteStreamingDistributionResponse+-- | Creates a value of 'DeleteStreamingDistributionResponse' with the minimum fields required to make a request.+--+deleteStreamingDistributionResponse+ :: DeleteStreamingDistributionResponse+deleteStreamingDistributionResponse = DeleteStreamingDistributionResponse'
gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentity.hs view
@@ -1,124 +1,139 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Get the information about an origin access identity.+-- Get the information about an origin access identity. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/GetCloudFrontOriginAccessIdentity.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/GetCloudFrontOriginAccessIdentity.html AWS API Reference> for GetCloudFrontOriginAccessIdentity. module Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentity (- -- * Request- GetCloudFrontOriginAccessIdentity- -- ** Request constructor- , getCloudFrontOriginAccessIdentity- -- ** Request lenses+ -- * Creating a Request+ getCloudFrontOriginAccessIdentity+ , GetCloudFrontOriginAccessIdentity+ -- * Request Lenses , gcfoaiId - -- * Response- , GetCloudFrontOriginAccessIdentityResponse- -- ** Response constructor+ -- * Destructuring the Response , getCloudFrontOriginAccessIdentityResponse- -- ** Response lenses- , gcfoairCloudFrontOriginAccessIdentity- , gcfoairETag+ , GetCloudFrontOriginAccessIdentityResponse+ -- * Response Lenses+ , gcfoairsETag+ , gcfoairsCloudFrontOriginAccessIdentity+ , gcfoairsStatus ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response -newtype GetCloudFrontOriginAccessIdentity = GetCloudFrontOriginAccessIdentity+-- | The request to get an origin access identity\'s information.+--+-- /See:/ 'getCloudFrontOriginAccessIdentity' smart constructor.+newtype GetCloudFrontOriginAccessIdentity = GetCloudFrontOriginAccessIdentity' { _gcfoaiId :: Text- } deriving (Eq, Ord, Read, Show, Monoid, IsString)+ } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetCloudFrontOriginAccessIdentity' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetCloudFrontOriginAccessIdentity' with the minimum fields required to make a request. ----- * 'gcfoaiId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---getCloudFrontOriginAccessIdentity :: Text -- ^ 'gcfoaiId'- -> GetCloudFrontOriginAccessIdentity-getCloudFrontOriginAccessIdentity p1 = GetCloudFrontOriginAccessIdentity- { _gcfoaiId = p1+-- * 'gcfoaiId'+getCloudFrontOriginAccessIdentity+ :: Text -- ^ 'gcfoaiId'+ -> GetCloudFrontOriginAccessIdentity+getCloudFrontOriginAccessIdentity pId_ =+ GetCloudFrontOriginAccessIdentity'+ { _gcfoaiId = pId_ } --- | The identity's id.+-- | The identity\'s id. gcfoaiId :: Lens' GetCloudFrontOriginAccessIdentity Text-gcfoaiId = lens _gcfoaiId (\s a -> s { _gcfoaiId = a })+gcfoaiId = lens _gcfoaiId (\ s a -> s{_gcfoaiId = a}); -data GetCloudFrontOriginAccessIdentityResponse = GetCloudFrontOriginAccessIdentityResponse- { _gcfoairCloudFrontOriginAccessIdentity :: Maybe CloudFrontOriginAccessIdentity- , _gcfoairETag :: Maybe Text- } deriving (Eq, Read, Show)+instance AWSRequest GetCloudFrontOriginAccessIdentity+ where+ type Sv GetCloudFrontOriginAccessIdentity =+ CloudFront+ type Rs GetCloudFrontOriginAccessIdentity =+ GetCloudFrontOriginAccessIdentityResponse+ request = get+ response+ = receiveXML+ (\ s h x ->+ GetCloudFrontOriginAccessIdentityResponse' <$>+ (h .#? "ETag") <*> (parseXML x) <*>+ (pure (fromEnum s))) --- | 'GetCloudFrontOriginAccessIdentityResponse' constructor.+instance ToHeaders GetCloudFrontOriginAccessIdentity+ where+ toHeaders = const mempty++instance ToPath GetCloudFrontOriginAccessIdentity+ where+ toPath GetCloudFrontOriginAccessIdentity'{..}+ = mconcat+ ["/2015-04-17/origin-access-identity/cloudfront/",+ toBS _gcfoaiId]++instance ToQuery GetCloudFrontOriginAccessIdentity+ where+ toQuery = const mempty++-- | The returned result of the corresponding request. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'getCloudFrontOriginAccessIdentityResponse' smart constructor.+data GetCloudFrontOriginAccessIdentityResponse = GetCloudFrontOriginAccessIdentityResponse'+ { _gcfoairsETag :: !(Maybe Text)+ , _gcfoairsCloudFrontOriginAccessIdentity :: !(Maybe CloudFrontOriginAccessIdentity)+ , _gcfoairsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetCloudFrontOriginAccessIdentityResponse' with the minimum fields required to make a request. ----- * 'gcfoairCloudFrontOriginAccessIdentity' @::@ 'Maybe' 'CloudFrontOriginAccessIdentity'+-- Use one of the following lenses to modify other fields as desired: ----- * 'gcfoairETag' @::@ 'Maybe' 'Text'+-- * 'gcfoairsETag' ---getCloudFrontOriginAccessIdentityResponse :: GetCloudFrontOriginAccessIdentityResponse-getCloudFrontOriginAccessIdentityResponse = GetCloudFrontOriginAccessIdentityResponse- { _gcfoairCloudFrontOriginAccessIdentity = Nothing- , _gcfoairETag = Nothing+-- * 'gcfoairsCloudFrontOriginAccessIdentity'+--+-- * 'gcfoairsStatus'+getCloudFrontOriginAccessIdentityResponse+ :: Int -- ^ 'gcfoairsStatus'+ -> GetCloudFrontOriginAccessIdentityResponse+getCloudFrontOriginAccessIdentityResponse pStatus_ =+ GetCloudFrontOriginAccessIdentityResponse'+ { _gcfoairsETag = Nothing+ , _gcfoairsCloudFrontOriginAccessIdentity = Nothing+ , _gcfoairsStatus = pStatus_ } --- | The origin access identity's information.-gcfoairCloudFrontOriginAccessIdentity :: Lens' GetCloudFrontOriginAccessIdentityResponse (Maybe CloudFrontOriginAccessIdentity)-gcfoairCloudFrontOriginAccessIdentity =- lens _gcfoairCloudFrontOriginAccessIdentity- (\s a -> s { _gcfoairCloudFrontOriginAccessIdentity = a })---- | The current version of the origin access identity's information. For example:--- E2QWRUHAPOMQZL.-gcfoairETag :: Lens' GetCloudFrontOriginAccessIdentityResponse (Maybe Text)-gcfoairETag = lens _gcfoairETag (\s a -> s { _gcfoairETag = a })--instance ToPath GetCloudFrontOriginAccessIdentity where- toPath GetCloudFrontOriginAccessIdentity{..} = mconcat- [ "/2014-11-06/origin-access-identity/cloudfront/"- , toText _gcfoaiId- ]--instance ToQuery GetCloudFrontOriginAccessIdentity where- toQuery = const mempty--instance ToHeaders GetCloudFrontOriginAccessIdentity--instance ToXMLRoot GetCloudFrontOriginAccessIdentity where- toXMLRoot = const (namespaced ns "GetCloudFrontOriginAccessIdentity" [])--instance ToXML GetCloudFrontOriginAccessIdentity+-- | The current version of the origin access identity\'s information. For+-- example: E2QWRUHAPOMQZL.+gcfoairsETag :: Lens' GetCloudFrontOriginAccessIdentityResponse (Maybe Text)+gcfoairsETag = lens _gcfoairsETag (\ s a -> s{_gcfoairsETag = a}); -instance AWSRequest GetCloudFrontOriginAccessIdentity where- type Sv GetCloudFrontOriginAccessIdentity = CloudFront- type Rs GetCloudFrontOriginAccessIdentity = GetCloudFrontOriginAccessIdentityResponse+-- | The origin access identity\'s information.+gcfoairsCloudFrontOriginAccessIdentity :: Lens' GetCloudFrontOriginAccessIdentityResponse (Maybe CloudFrontOriginAccessIdentity)+gcfoairsCloudFrontOriginAccessIdentity = lens _gcfoairsCloudFrontOriginAccessIdentity (\ s a -> s{_gcfoairsCloudFrontOriginAccessIdentity = a}); - request = get- response = xmlHeaderResponse $ \h x -> GetCloudFrontOriginAccessIdentityResponse- <$> x .@? "CloudFrontOriginAccessIdentity"- <*> h ~:? "ETag"+-- | The response status code.+gcfoairsStatus :: Lens' GetCloudFrontOriginAccessIdentityResponse Int+gcfoairsStatus = lens _gcfoairsStatus (\ s a -> s{_gcfoairsStatus = a});
gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentityConfig.hs view
@@ -1,124 +1,138 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Get the configuration information about an origin access identity.+-- Get the configuration information about an origin access identity. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/GetCloudFrontOriginAccessIdentityConfig.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/GetCloudFrontOriginAccessIdentityConfig.html AWS API Reference> for GetCloudFrontOriginAccessIdentityConfig. module Network.AWS.CloudFront.GetCloudFrontOriginAccessIdentityConfig (- -- * Request- GetCloudFrontOriginAccessIdentityConfig- -- ** Request constructor- , getCloudFrontOriginAccessIdentityConfig- -- ** Request lenses+ -- * Creating a Request+ getCloudFrontOriginAccessIdentityConfig+ , GetCloudFrontOriginAccessIdentityConfig+ -- * Request Lenses , gcfoaicId - -- * Response- , GetCloudFrontOriginAccessIdentityConfigResponse- -- ** Response constructor+ -- * Destructuring the Response , getCloudFrontOriginAccessIdentityConfigResponse- -- ** Response lenses- , gcfoaicrCloudFrontOriginAccessIdentityConfig- , gcfoaicrETag+ , GetCloudFrontOriginAccessIdentityConfigResponse+ -- * Response Lenses+ , gcfoaicrsCloudFrontOriginAccessIdentityConfig+ , gcfoaicrsETag+ , gcfoaicrsStatus ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response -newtype GetCloudFrontOriginAccessIdentityConfig = GetCloudFrontOriginAccessIdentityConfig+-- | The request to get an origin access identity\'s configuration.+--+-- /See:/ 'getCloudFrontOriginAccessIdentityConfig' smart constructor.+newtype GetCloudFrontOriginAccessIdentityConfig = GetCloudFrontOriginAccessIdentityConfig' { _gcfoaicId :: Text- } deriving (Eq, Ord, Read, Show, Monoid, IsString)+ } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetCloudFrontOriginAccessIdentityConfig' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetCloudFrontOriginAccessIdentityConfig' with the minimum fields required to make a request. ----- * 'gcfoaicId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---getCloudFrontOriginAccessIdentityConfig :: Text -- ^ 'gcfoaicId'- -> GetCloudFrontOriginAccessIdentityConfig-getCloudFrontOriginAccessIdentityConfig p1 = GetCloudFrontOriginAccessIdentityConfig- { _gcfoaicId = p1+-- * 'gcfoaicId'+getCloudFrontOriginAccessIdentityConfig+ :: Text -- ^ 'gcfoaicId'+ -> GetCloudFrontOriginAccessIdentityConfig+getCloudFrontOriginAccessIdentityConfig pId_ =+ GetCloudFrontOriginAccessIdentityConfig'+ { _gcfoaicId = pId_ } --- | The identity's id.+-- | The identity\'s id. gcfoaicId :: Lens' GetCloudFrontOriginAccessIdentityConfig Text-gcfoaicId = lens _gcfoaicId (\s a -> s { _gcfoaicId = a })+gcfoaicId = lens _gcfoaicId (\ s a -> s{_gcfoaicId = a}); -data GetCloudFrontOriginAccessIdentityConfigResponse = GetCloudFrontOriginAccessIdentityConfigResponse- { _gcfoaicrCloudFrontOriginAccessIdentityConfig :: Maybe CloudFrontOriginAccessIdentityConfig- , _gcfoaicrETag :: Maybe Text- } deriving (Eq, Read, Show)+instance AWSRequest+ GetCloudFrontOriginAccessIdentityConfig where+ type Sv GetCloudFrontOriginAccessIdentityConfig =+ CloudFront+ type Rs GetCloudFrontOriginAccessIdentityConfig =+ GetCloudFrontOriginAccessIdentityConfigResponse+ request = get+ response+ = receiveXML+ (\ s h x ->+ GetCloudFrontOriginAccessIdentityConfigResponse' <$>+ (parseXML x) <*> (h .#? "ETag") <*>+ (pure (fromEnum s))) --- | 'GetCloudFrontOriginAccessIdentityConfigResponse' constructor.+instance ToHeaders+ GetCloudFrontOriginAccessIdentityConfig where+ toHeaders = const mempty++instance ToPath+ GetCloudFrontOriginAccessIdentityConfig where+ toPath GetCloudFrontOriginAccessIdentityConfig'{..}+ = mconcat+ ["/2015-04-17/origin-access-identity/cloudfront/",+ toBS _gcfoaicId, "/config"]++instance ToQuery+ GetCloudFrontOriginAccessIdentityConfig where+ toQuery = const mempty++-- | The returned result of the corresponding request. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'getCloudFrontOriginAccessIdentityConfigResponse' smart constructor.+data GetCloudFrontOriginAccessIdentityConfigResponse = GetCloudFrontOriginAccessIdentityConfigResponse'+ { _gcfoaicrsCloudFrontOriginAccessIdentityConfig :: !(Maybe CloudFrontOriginAccessIdentityConfig)+ , _gcfoaicrsETag :: !(Maybe Text)+ , _gcfoaicrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetCloudFrontOriginAccessIdentityConfigResponse' with the minimum fields required to make a request. ----- * 'gcfoaicrCloudFrontOriginAccessIdentityConfig' @::@ 'Maybe' 'CloudFrontOriginAccessIdentityConfig'+-- Use one of the following lenses to modify other fields as desired: ----- * 'gcfoaicrETag' @::@ 'Maybe' 'Text'+-- * 'gcfoaicrsCloudFrontOriginAccessIdentityConfig' ---getCloudFrontOriginAccessIdentityConfigResponse :: GetCloudFrontOriginAccessIdentityConfigResponse-getCloudFrontOriginAccessIdentityConfigResponse = GetCloudFrontOriginAccessIdentityConfigResponse- { _gcfoaicrCloudFrontOriginAccessIdentityConfig = Nothing- , _gcfoaicrETag = Nothing+-- * 'gcfoaicrsETag'+--+-- * 'gcfoaicrsStatus'+getCloudFrontOriginAccessIdentityConfigResponse+ :: Int -- ^ 'gcfoaicrsStatus'+ -> GetCloudFrontOriginAccessIdentityConfigResponse+getCloudFrontOriginAccessIdentityConfigResponse pStatus_ =+ GetCloudFrontOriginAccessIdentityConfigResponse'+ { _gcfoaicrsCloudFrontOriginAccessIdentityConfig = Nothing+ , _gcfoaicrsETag = Nothing+ , _gcfoaicrsStatus = pStatus_ } --- | The origin access identity's configuration information.-gcfoaicrCloudFrontOriginAccessIdentityConfig :: Lens' GetCloudFrontOriginAccessIdentityConfigResponse (Maybe CloudFrontOriginAccessIdentityConfig)-gcfoaicrCloudFrontOriginAccessIdentityConfig =- lens _gcfoaicrCloudFrontOriginAccessIdentityConfig- (\s a -> s { _gcfoaicrCloudFrontOriginAccessIdentityConfig = a })+-- | The origin access identity\'s configuration information.+gcfoaicrsCloudFrontOriginAccessIdentityConfig :: Lens' GetCloudFrontOriginAccessIdentityConfigResponse (Maybe CloudFrontOriginAccessIdentityConfig)+gcfoaicrsCloudFrontOriginAccessIdentityConfig = lens _gcfoaicrsCloudFrontOriginAccessIdentityConfig (\ s a -> s{_gcfoaicrsCloudFrontOriginAccessIdentityConfig = a}); -- | The current version of the configuration. For example: E2QWRUHAPOMQZL.-gcfoaicrETag :: Lens' GetCloudFrontOriginAccessIdentityConfigResponse (Maybe Text)-gcfoaicrETag = lens _gcfoaicrETag (\s a -> s { _gcfoaicrETag = a })--instance ToPath GetCloudFrontOriginAccessIdentityConfig where- toPath GetCloudFrontOriginAccessIdentityConfig{..} = mconcat- [ "/2014-11-06/origin-access-identity/cloudfront/"- , toText _gcfoaicId- , "/config"- ]--instance ToQuery GetCloudFrontOriginAccessIdentityConfig where- toQuery = const mempty--instance ToHeaders GetCloudFrontOriginAccessIdentityConfig--instance ToXMLRoot GetCloudFrontOriginAccessIdentityConfig where- toXMLRoot = const (namespaced ns "GetCloudFrontOriginAccessIdentityConfig" [])--instance ToXML GetCloudFrontOriginAccessIdentityConfig--instance AWSRequest GetCloudFrontOriginAccessIdentityConfig where- type Sv GetCloudFrontOriginAccessIdentityConfig = CloudFront- type Rs GetCloudFrontOriginAccessIdentityConfig = GetCloudFrontOriginAccessIdentityConfigResponse+gcfoaicrsETag :: Lens' GetCloudFrontOriginAccessIdentityConfigResponse (Maybe Text)+gcfoaicrsETag = lens _gcfoaicrsETag (\ s a -> s{_gcfoaicrsETag = a}); - request = get- response = xmlHeaderResponse $ \h x -> GetCloudFrontOriginAccessIdentityConfigResponse- <$> x .@? "CloudFrontOriginAccessIdentityConfig"- <*> h ~:? "ETag"+-- | The response status code.+gcfoaicrsStatus :: Lens' GetCloudFrontOriginAccessIdentityConfigResponse Int+gcfoaicrsStatus = lens _gcfoaicrsStatus (\ s a -> s{_gcfoaicrsStatus = a});
gen/Network/AWS/CloudFront/GetDistribution.hs view
@@ -1,122 +1,131 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.GetDistribution--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Get the information about a distribution.+-- Get the information about a distribution. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/GetDistribution.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/GetDistribution.html AWS API Reference> for GetDistribution. module Network.AWS.CloudFront.GetDistribution (- -- * Request- GetDistribution- -- ** Request constructor- , getDistribution- -- ** Request lenses+ -- * Creating a Request+ getDistribution+ , GetDistribution+ -- * Request Lenses , gdId - -- * Response- , GetDistributionResponse- -- ** Response constructor+ -- * Destructuring the Response , getDistributionResponse- -- ** Response lenses- , gdrDistribution- , gdrETag+ , GetDistributionResponse+ -- * Response Lenses+ , gdrsETag+ , gdrsDistribution+ , gdrsStatus ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response -newtype GetDistribution = GetDistribution+-- | The request to get a distribution\'s information.+--+-- /See:/ 'getDistribution' smart constructor.+newtype GetDistribution = GetDistribution' { _gdId :: Text- } deriving (Eq, Ord, Read, Show, Monoid, IsString)+ } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetDistribution' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetDistribution' with the minimum fields required to make a request. ----- * 'gdId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---getDistribution :: Text -- ^ 'gdId'- -> GetDistribution-getDistribution p1 = GetDistribution- { _gdId = p1+-- * 'gdId'+getDistribution+ :: Text -- ^ 'gdId'+ -> GetDistribution+getDistribution pId_ =+ GetDistribution'+ { _gdId = pId_ } --- | The distribution's id.+-- | The distribution\'s id. gdId :: Lens' GetDistribution Text-gdId = lens _gdId (\s a -> s { _gdId = a })--data GetDistributionResponse = GetDistributionResponse- { _gdrDistribution :: Maybe Distribution- , _gdrETag :: Maybe Text- } deriving (Eq, Read, Show)---- | 'GetDistributionResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'gdrDistribution' @::@ 'Maybe' 'Distribution'------ * 'gdrETag' @::@ 'Maybe' 'Text'----getDistributionResponse :: GetDistributionResponse-getDistributionResponse = GetDistributionResponse- { _gdrDistribution = Nothing- , _gdrETag = Nothing- }+gdId = lens _gdId (\ s a -> s{_gdId = a}); --- | The distribution's information.-gdrDistribution :: Lens' GetDistributionResponse (Maybe Distribution)-gdrDistribution = lens _gdrDistribution (\s a -> s { _gdrDistribution = a })+instance AWSRequest GetDistribution where+ type Sv GetDistribution = CloudFront+ type Rs GetDistribution = GetDistributionResponse+ request = get+ response+ = receiveXML+ (\ s h x ->+ GetDistributionResponse' <$>+ (h .#? "ETag") <*> (parseXML x) <*>+ (pure (fromEnum s))) --- | The current version of the distribution's information. For example:--- E2QWRUHAPOMQZL.-gdrETag :: Lens' GetDistributionResponse (Maybe Text)-gdrETag = lens _gdrETag (\s a -> s { _gdrETag = a })+instance ToHeaders GetDistribution where+ toHeaders = const mempty instance ToPath GetDistribution where- toPath GetDistribution{..} = mconcat- [ "/2014-11-06/distribution/"- , toText _gdId- ]+ toPath GetDistribution'{..}+ = mconcat ["/2015-04-17/distribution/", toBS _gdId] instance ToQuery GetDistribution where- toQuery = const mempty+ toQuery = const mempty -instance ToHeaders GetDistribution+-- | The returned result of the corresponding request.+--+-- /See:/ 'getDistributionResponse' smart constructor.+data GetDistributionResponse = GetDistributionResponse'+ { _gdrsETag :: !(Maybe Text)+ , _gdrsDistribution :: !(Maybe Distribution)+ , _gdrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToXMLRoot GetDistribution where- toXMLRoot = const (namespaced ns "GetDistribution" [])+-- | Creates a value of 'GetDistributionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdrsETag'+--+-- * 'gdrsDistribution'+--+-- * 'gdrsStatus'+getDistributionResponse+ :: Int -- ^ 'gdrsStatus'+ -> GetDistributionResponse+getDistributionResponse pStatus_ =+ GetDistributionResponse'+ { _gdrsETag = Nothing+ , _gdrsDistribution = Nothing+ , _gdrsStatus = pStatus_+ } -instance ToXML GetDistribution+-- | The current version of the distribution\'s information. For example:+-- E2QWRUHAPOMQZL.+gdrsETag :: Lens' GetDistributionResponse (Maybe Text)+gdrsETag = lens _gdrsETag (\ s a -> s{_gdrsETag = a}); -instance AWSRequest GetDistribution where- type Sv GetDistribution = CloudFront- type Rs GetDistribution = GetDistributionResponse+-- | The distribution\'s information.+gdrsDistribution :: Lens' GetDistributionResponse (Maybe Distribution)+gdrsDistribution = lens _gdrsDistribution (\ s a -> s{_gdrsDistribution = a}); - request = get- response = xmlHeaderResponse $ \h x -> GetDistributionResponse- <$> x .@? "Distribution"- <*> h ~:? "ETag"+-- | The response status code.+gdrsStatus :: Lens' GetDistributionResponse Int+gdrsStatus = lens _gdrsStatus (\ s a -> s{_gdrsStatus = a});
gen/Network/AWS/CloudFront/GetDistributionConfig.hs view
@@ -1,123 +1,132 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.GetDistributionConfig--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Get the configuration information about a distribution.+-- Get the configuration information about a distribution. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/GetDistributionConfig.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/GetDistributionConfig.html AWS API Reference> for GetDistributionConfig. module Network.AWS.CloudFront.GetDistributionConfig (- -- * Request- GetDistributionConfig- -- ** Request constructor- , getDistributionConfig- -- ** Request lenses+ -- * Creating a Request+ getDistributionConfig+ , GetDistributionConfig+ -- * Request Lenses , gdcId - -- * Response- , GetDistributionConfigResponse- -- ** Response constructor+ -- * Destructuring the Response , getDistributionConfigResponse- -- ** Response lenses- , gdcrDistributionConfig- , gdcrETag+ , GetDistributionConfigResponse+ -- * Response Lenses+ , gdcrsETag+ , gdcrsDistributionConfig+ , gdcrsStatus ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response -newtype GetDistributionConfig = GetDistributionConfig+-- | The request to get a distribution configuration.+--+-- /See:/ 'getDistributionConfig' smart constructor.+newtype GetDistributionConfig = GetDistributionConfig' { _gdcId :: Text- } deriving (Eq, Ord, Read, Show, Monoid, IsString)+ } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetDistributionConfig' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetDistributionConfig' with the minimum fields required to make a request. ----- * 'gdcId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---getDistributionConfig :: Text -- ^ 'gdcId'- -> GetDistributionConfig-getDistributionConfig p1 = GetDistributionConfig- { _gdcId = p1+-- * 'gdcId'+getDistributionConfig+ :: Text -- ^ 'gdcId'+ -> GetDistributionConfig+getDistributionConfig pId_ =+ GetDistributionConfig'+ { _gdcId = pId_ } --- | The distribution's id.+-- | The distribution\'s id. gdcId :: Lens' GetDistributionConfig Text-gdcId = lens _gdcId (\s a -> s { _gdcId = a })--data GetDistributionConfigResponse = GetDistributionConfigResponse- { _gdcrDistributionConfig :: Maybe DistributionConfig- , _gdcrETag :: Maybe Text- } deriving (Eq, Read, Show)---- | 'GetDistributionConfigResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'gdcrDistributionConfig' @::@ 'Maybe' 'DistributionConfig'------ * 'gdcrETag' @::@ 'Maybe' 'Text'----getDistributionConfigResponse :: GetDistributionConfigResponse-getDistributionConfigResponse = GetDistributionConfigResponse- { _gdcrDistributionConfig = Nothing- , _gdcrETag = Nothing- }+gdcId = lens _gdcId (\ s a -> s{_gdcId = a}); --- | The distribution's configuration information.-gdcrDistributionConfig :: Lens' GetDistributionConfigResponse (Maybe DistributionConfig)-gdcrDistributionConfig =- lens _gdcrDistributionConfig (\s a -> s { _gdcrDistributionConfig = a })+instance AWSRequest GetDistributionConfig where+ type Sv GetDistributionConfig = CloudFront+ type Rs GetDistributionConfig =+ GetDistributionConfigResponse+ request = get+ response+ = receiveXML+ (\ s h x ->+ GetDistributionConfigResponse' <$>+ (h .#? "ETag") <*> (parseXML x) <*>+ (pure (fromEnum s))) --- | The current version of the configuration. For example: E2QWRUHAPOMQZL.-gdcrETag :: Lens' GetDistributionConfigResponse (Maybe Text)-gdcrETag = lens _gdcrETag (\s a -> s { _gdcrETag = a })+instance ToHeaders GetDistributionConfig where+ toHeaders = const mempty instance ToPath GetDistributionConfig where- toPath GetDistributionConfig{..} = mconcat- [ "/2014-11-06/distribution/"- , toText _gdcId- , "/config"- ]+ toPath GetDistributionConfig'{..}+ = mconcat+ ["/2015-04-17/distribution/", toBS _gdcId, "/config"] instance ToQuery GetDistributionConfig where- toQuery = const mempty+ toQuery = const mempty -instance ToHeaders GetDistributionConfig+-- | The returned result of the corresponding request.+--+-- /See:/ 'getDistributionConfigResponse' smart constructor.+data GetDistributionConfigResponse = GetDistributionConfigResponse'+ { _gdcrsETag :: !(Maybe Text)+ , _gdcrsDistributionConfig :: !(Maybe DistributionConfig)+ , _gdcrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToXMLRoot GetDistributionConfig where- toXMLRoot = const (namespaced ns "GetDistributionConfig" [])+-- | Creates a value of 'GetDistributionConfigResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdcrsETag'+--+-- * 'gdcrsDistributionConfig'+--+-- * 'gdcrsStatus'+getDistributionConfigResponse+ :: Int -- ^ 'gdcrsStatus'+ -> GetDistributionConfigResponse+getDistributionConfigResponse pStatus_ =+ GetDistributionConfigResponse'+ { _gdcrsETag = Nothing+ , _gdcrsDistributionConfig = Nothing+ , _gdcrsStatus = pStatus_+ } -instance ToXML GetDistributionConfig+-- | The current version of the configuration. For example: E2QWRUHAPOMQZL.+gdcrsETag :: Lens' GetDistributionConfigResponse (Maybe Text)+gdcrsETag = lens _gdcrsETag (\ s a -> s{_gdcrsETag = a}); -instance AWSRequest GetDistributionConfig where- type Sv GetDistributionConfig = CloudFront- type Rs GetDistributionConfig = GetDistributionConfigResponse+-- | The distribution\'s configuration information.+gdcrsDistributionConfig :: Lens' GetDistributionConfigResponse (Maybe DistributionConfig)+gdcrsDistributionConfig = lens _gdcrsDistributionConfig (\ s a -> s{_gdcrsDistributionConfig = a}); - request = get- response = xmlHeaderResponse $ \h x -> GetDistributionConfigResponse- <$> x .@? "DistributionConfig"- <*> h ~:? "ETag"+-- | The response status code.+gdcrsStatus :: Lens' GetDistributionConfigResponse Int+gdcrsStatus = lens _gdcrsStatus (\ s a -> s{_gdcrsStatus = a});
gen/Network/AWS/CloudFront/GetInvalidation.hs view
@@ -1,126 +1,132 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.GetInvalidation--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Get the information about an invalidation.+-- Get the information about an invalidation. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/GetInvalidation.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/GetInvalidation.html AWS API Reference> for GetInvalidation. module Network.AWS.CloudFront.GetInvalidation (- -- * Request- GetInvalidation- -- ** Request constructor- , getInvalidation- -- ** Request lenses+ -- * Creating a Request+ getInvalidation+ , GetInvalidation+ -- * Request Lenses , giDistributionId , giId - -- * Response- , GetInvalidationResponse- -- ** Response constructor+ -- * Destructuring the Response , getInvalidationResponse- -- ** Response lenses- , girInvalidation+ , GetInvalidationResponse+ -- * Response Lenses+ , girsInvalidation+ , girsStatus ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts--data GetInvalidation = GetInvalidation- { _giDistributionId :: Text- , _giId :: Text- } deriving (Eq, Ord, Read, Show)+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | 'GetInvalidation' constructor.+-- | The request to get an invalidation\'s information. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'getInvalidation' smart constructor.+data GetInvalidation = GetInvalidation'+ { _giDistributionId :: !Text+ , _giId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetInvalidation' with the minimum fields required to make a request. ----- * 'giDistributionId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'giId' @::@ 'Text'+-- * 'giDistributionId' ---getInvalidation :: Text -- ^ 'giDistributionId'- -> Text -- ^ 'giId'- -> GetInvalidation-getInvalidation p1 p2 = GetInvalidation- { _giDistributionId = p1- , _giId = p2+-- * 'giId'+getInvalidation+ :: Text -- ^ 'giDistributionId'+ -> Text -- ^ 'giId'+ -> GetInvalidation+getInvalidation pDistributionId_ pId_ =+ GetInvalidation'+ { _giDistributionId = pDistributionId_+ , _giId = pId_ } --- | The distribution's id.+-- | The distribution\'s id. giDistributionId :: Lens' GetInvalidation Text-giDistributionId = lens _giDistributionId (\s a -> s { _giDistributionId = a })+giDistributionId = lens _giDistributionId (\ s a -> s{_giDistributionId = a}); --- | The invalidation's id.+-- | The invalidation\'s id. giId :: Lens' GetInvalidation Text-giId = lens _giId (\s a -> s { _giId = a })--newtype GetInvalidationResponse = GetInvalidationResponse- { _girInvalidation :: Maybe Invalidation- } deriving (Eq, Read, Show)+giId = lens _giId (\ s a -> s{_giId = a}); --- | 'GetInvalidationResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'girInvalidation' @::@ 'Maybe' 'Invalidation'----getInvalidationResponse :: GetInvalidationResponse-getInvalidationResponse = GetInvalidationResponse- { _girInvalidation = Nothing- }+instance AWSRequest GetInvalidation where+ type Sv GetInvalidation = CloudFront+ type Rs GetInvalidation = GetInvalidationResponse+ request = get+ response+ = receiveXML+ (\ s h x ->+ GetInvalidationResponse' <$>+ (parseXML x) <*> (pure (fromEnum s))) --- | The invalidation's information.-girInvalidation :: Lens' GetInvalidationResponse (Maybe Invalidation)-girInvalidation = lens _girInvalidation (\s a -> s { _girInvalidation = a })+instance ToHeaders GetInvalidation where+ toHeaders = const mempty instance ToPath GetInvalidation where- toPath GetInvalidation{..} = mconcat- [ "/2014-11-06/distribution/"- , toText _giDistributionId- , "/invalidation/"- , toText _giId- ]+ toPath GetInvalidation'{..}+ = mconcat+ ["/2015-04-17/distribution/", toBS _giDistributionId,+ "/invalidation/", toBS _giId] instance ToQuery GetInvalidation where- toQuery = const mempty--instance ToHeaders GetInvalidation--instance ToXMLRoot GetInvalidation where- toXMLRoot = const (namespaced ns "GetInvalidation" [])+ toQuery = const mempty -instance ToXML GetInvalidation+-- | The returned result of the corresponding request.+--+-- /See:/ 'getInvalidationResponse' smart constructor.+data GetInvalidationResponse = GetInvalidationResponse'+ { _girsInvalidation :: !(Maybe Invalidation)+ , _girsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest GetInvalidation where- type Sv GetInvalidation = CloudFront- type Rs GetInvalidation = GetInvalidationResponse+-- | Creates a value of 'GetInvalidationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'girsInvalidation'+--+-- * 'girsStatus'+getInvalidationResponse+ :: Int -- ^ 'girsStatus'+ -> GetInvalidationResponse+getInvalidationResponse pStatus_ =+ GetInvalidationResponse'+ { _girsInvalidation = Nothing+ , _girsStatus = pStatus_+ } - request = get- response = xmlResponse+-- | The invalidation\'s information.+girsInvalidation :: Lens' GetInvalidationResponse (Maybe Invalidation)+girsInvalidation = lens _girsInvalidation (\ s a -> s{_girsInvalidation = a}); -instance FromXML GetInvalidationResponse where- parseXML x = GetInvalidationResponse- <$> x .@? "Invalidation"+-- | The response status code.+girsStatus :: Lens' GetInvalidationResponse Int+girsStatus = lens _girsStatus (\ s a -> s{_girsStatus = a});
gen/Network/AWS/CloudFront/GetStreamingDistribution.hs view
@@ -1,124 +1,133 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.GetStreamingDistribution--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Get the information about a streaming distribution.+-- Get the information about a streaming distribution. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/GetStreamingDistribution.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/GetStreamingDistribution.html AWS API Reference> for GetStreamingDistribution. module Network.AWS.CloudFront.GetStreamingDistribution (- -- * Request- GetStreamingDistribution- -- ** Request constructor- , getStreamingDistribution- -- ** Request lenses+ -- * Creating a Request+ getStreamingDistribution+ , GetStreamingDistribution+ -- * Request Lenses , gsdId - -- * Response- , GetStreamingDistributionResponse- -- ** Response constructor+ -- * Destructuring the Response , getStreamingDistributionResponse- -- ** Response lenses- , gsdrETag- , gsdrStreamingDistribution+ , GetStreamingDistributionResponse+ -- * Response Lenses+ , gsdrsETag+ , gsdrsStreamingDistribution+ , gsdrsStatus ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response -newtype GetStreamingDistribution = GetStreamingDistribution+-- | The request to get a streaming distribution\'s information.+--+-- /See:/ 'getStreamingDistribution' smart constructor.+newtype GetStreamingDistribution = GetStreamingDistribution' { _gsdId :: Text- } deriving (Eq, Ord, Read, Show, Monoid, IsString)+ } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetStreamingDistribution' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetStreamingDistribution' with the minimum fields required to make a request. ----- * 'gsdId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---getStreamingDistribution :: Text -- ^ 'gsdId'- -> GetStreamingDistribution-getStreamingDistribution p1 = GetStreamingDistribution- { _gsdId = p1+-- * 'gsdId'+getStreamingDistribution+ :: Text -- ^ 'gsdId'+ -> GetStreamingDistribution+getStreamingDistribution pId_ =+ GetStreamingDistribution'+ { _gsdId = pId_ } --- | The streaming distribution's id.+-- | The streaming distribution\'s id. gsdId :: Lens' GetStreamingDistribution Text-gsdId = lens _gsdId (\s a -> s { _gsdId = a })--data GetStreamingDistributionResponse = GetStreamingDistributionResponse- { _gsdrETag :: Maybe Text- , _gsdrStreamingDistribution :: Maybe StreamingDistribution- } deriving (Eq, Read, Show)---- | 'GetStreamingDistributionResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'gsdrETag' @::@ 'Maybe' 'Text'------ * 'gsdrStreamingDistribution' @::@ 'Maybe' 'StreamingDistribution'----getStreamingDistributionResponse :: GetStreamingDistributionResponse-getStreamingDistributionResponse = GetStreamingDistributionResponse- { _gsdrStreamingDistribution = Nothing- , _gsdrETag = Nothing- }+gsdId = lens _gsdId (\ s a -> s{_gsdId = a}); --- | The current version of the streaming distribution's information. For example:--- E2QWRUHAPOMQZL.-gsdrETag :: Lens' GetStreamingDistributionResponse (Maybe Text)-gsdrETag = lens _gsdrETag (\s a -> s { _gsdrETag = a })+instance AWSRequest GetStreamingDistribution where+ type Sv GetStreamingDistribution = CloudFront+ type Rs GetStreamingDistribution =+ GetStreamingDistributionResponse+ request = get+ response+ = receiveXML+ (\ s h x ->+ GetStreamingDistributionResponse' <$>+ (h .#? "ETag") <*> (parseXML x) <*>+ (pure (fromEnum s))) --- | The streaming distribution's information.-gsdrStreamingDistribution :: Lens' GetStreamingDistributionResponse (Maybe StreamingDistribution)-gsdrStreamingDistribution =- lens _gsdrStreamingDistribution- (\s a -> s { _gsdrStreamingDistribution = a })+instance ToHeaders GetStreamingDistribution where+ toHeaders = const mempty instance ToPath GetStreamingDistribution where- toPath GetStreamingDistribution{..} = mconcat- [ "/2014-11-06/streaming-distribution/"- , toText _gsdId- ]+ toPath GetStreamingDistribution'{..}+ = mconcat+ ["/2015-04-17/streaming-distribution/", toBS _gsdId] instance ToQuery GetStreamingDistribution where- toQuery = const mempty+ toQuery = const mempty -instance ToHeaders GetStreamingDistribution+-- | The returned result of the corresponding request.+--+-- /See:/ 'getStreamingDistributionResponse' smart constructor.+data GetStreamingDistributionResponse = GetStreamingDistributionResponse'+ { _gsdrsETag :: !(Maybe Text)+ , _gsdrsStreamingDistribution :: !(Maybe StreamingDistribution)+ , _gsdrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToXMLRoot GetStreamingDistribution where- toXMLRoot = const (namespaced ns "GetStreamingDistribution" [])+-- | Creates a value of 'GetStreamingDistributionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsdrsETag'+--+-- * 'gsdrsStreamingDistribution'+--+-- * 'gsdrsStatus'+getStreamingDistributionResponse+ :: Int -- ^ 'gsdrsStatus'+ -> GetStreamingDistributionResponse+getStreamingDistributionResponse pStatus_ =+ GetStreamingDistributionResponse'+ { _gsdrsETag = Nothing+ , _gsdrsStreamingDistribution = Nothing+ , _gsdrsStatus = pStatus_+ } -instance ToXML GetStreamingDistribution+-- | The current version of the streaming distribution\'s information. For+-- example: E2QWRUHAPOMQZL.+gsdrsETag :: Lens' GetStreamingDistributionResponse (Maybe Text)+gsdrsETag = lens _gsdrsETag (\ s a -> s{_gsdrsETag = a}); -instance AWSRequest GetStreamingDistribution where- type Sv GetStreamingDistribution = CloudFront- type Rs GetStreamingDistribution = GetStreamingDistributionResponse+-- | The streaming distribution\'s information.+gsdrsStreamingDistribution :: Lens' GetStreamingDistributionResponse (Maybe StreamingDistribution)+gsdrsStreamingDistribution = lens _gsdrsStreamingDistribution (\ s a -> s{_gsdrsStreamingDistribution = a}); - request = get- response = xmlHeaderResponse $ \h x -> GetStreamingDistributionResponse- <$> h ~:? "ETag"- <*> x .@? "StreamingDistribution"+-- | The response status code.+gsdrsStatus :: Lens' GetStreamingDistributionResponse Int+gsdrsStatus = lens _gsdrsStatus (\ s a -> s{_gsdrsStatus = a});
gen/Network/AWS/CloudFront/GetStreamingDistributionConfig.hs view
@@ -1,124 +1,135 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.GetStreamingDistributionConfig--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Get the configuration information about a streaming distribution.+-- Get the configuration information about a streaming distribution. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/GetStreamingDistributionConfig.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/GetStreamingDistributionConfig.html AWS API Reference> for GetStreamingDistributionConfig. module Network.AWS.CloudFront.GetStreamingDistributionConfig (- -- * Request- GetStreamingDistributionConfig- -- ** Request constructor- , getStreamingDistributionConfig- -- ** Request lenses+ -- * Creating a Request+ getStreamingDistributionConfig+ , GetStreamingDistributionConfig+ -- * Request Lenses , gsdcId - -- * Response- , GetStreamingDistributionConfigResponse- -- ** Response constructor+ -- * Destructuring the Response , getStreamingDistributionConfigResponse- -- ** Response lenses- , gsdcrETag- , gsdcrStreamingDistributionConfig+ , GetStreamingDistributionConfigResponse+ -- * Response Lenses+ , gsdcrsStreamingDistributionConfig+ , gsdcrsETag+ , gsdcrsStatus ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response -newtype GetStreamingDistributionConfig = GetStreamingDistributionConfig+-- | To request to get a streaming distribution configuration.+--+-- /See:/ 'getStreamingDistributionConfig' smart constructor.+newtype GetStreamingDistributionConfig = GetStreamingDistributionConfig' { _gsdcId :: Text- } deriving (Eq, Ord, Read, Show, Monoid, IsString)+ } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetStreamingDistributionConfig' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetStreamingDistributionConfig' with the minimum fields required to make a request. ----- * 'gsdcId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---getStreamingDistributionConfig :: Text -- ^ 'gsdcId'- -> GetStreamingDistributionConfig-getStreamingDistributionConfig p1 = GetStreamingDistributionConfig- { _gsdcId = p1+-- * 'gsdcId'+getStreamingDistributionConfig+ :: Text -- ^ 'gsdcId'+ -> GetStreamingDistributionConfig+getStreamingDistributionConfig pId_ =+ GetStreamingDistributionConfig'+ { _gsdcId = pId_ } --- | The streaming distribution's id.+-- | The streaming distribution\'s id. gsdcId :: Lens' GetStreamingDistributionConfig Text-gsdcId = lens _gsdcId (\s a -> s { _gsdcId = a })--data GetStreamingDistributionConfigResponse = GetStreamingDistributionConfigResponse- { _gsdcrETag :: Maybe Text- , _gsdcrStreamingDistributionConfig :: Maybe StreamingDistributionConfig- } deriving (Eq, Read, Show)---- | 'GetStreamingDistributionConfigResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'gsdcrETag' @::@ 'Maybe' 'Text'------ * 'gsdcrStreamingDistributionConfig' @::@ 'Maybe' 'StreamingDistributionConfig'----getStreamingDistributionConfigResponse :: GetStreamingDistributionConfigResponse-getStreamingDistributionConfigResponse = GetStreamingDistributionConfigResponse- { _gsdcrStreamingDistributionConfig = Nothing- , _gsdcrETag = Nothing- }+gsdcId = lens _gsdcId (\ s a -> s{_gsdcId = a}); --- | The current version of the configuration. For example: E2QWRUHAPOMQZL.-gsdcrETag :: Lens' GetStreamingDistributionConfigResponse (Maybe Text)-gsdcrETag = lens _gsdcrETag (\s a -> s { _gsdcrETag = a })+instance AWSRequest GetStreamingDistributionConfig+ where+ type Sv GetStreamingDistributionConfig = CloudFront+ type Rs GetStreamingDistributionConfig =+ GetStreamingDistributionConfigResponse+ request = get+ response+ = receiveXML+ (\ s h x ->+ GetStreamingDistributionConfigResponse' <$>+ (parseXML x) <*> (h .#? "ETag") <*>+ (pure (fromEnum s))) --- | The streaming distribution's configuration information.-gsdcrStreamingDistributionConfig :: Lens' GetStreamingDistributionConfigResponse (Maybe StreamingDistributionConfig)-gsdcrStreamingDistributionConfig =- lens _gsdcrStreamingDistributionConfig- (\s a -> s { _gsdcrStreamingDistributionConfig = a })+instance ToHeaders GetStreamingDistributionConfig+ where+ toHeaders = const mempty instance ToPath GetStreamingDistributionConfig where- toPath GetStreamingDistributionConfig{..} = mconcat- [ "/2014-11-06/streaming-distribution/"- , toText _gsdcId- , "/config"- ]+ toPath GetStreamingDistributionConfig'{..}+ = mconcat+ ["/2015-04-17/streaming-distribution/", toBS _gsdcId,+ "/config"] instance ToQuery GetStreamingDistributionConfig where- toQuery = const mempty+ toQuery = const mempty -instance ToHeaders GetStreamingDistributionConfig+-- | The returned result of the corresponding request.+--+-- /See:/ 'getStreamingDistributionConfigResponse' smart constructor.+data GetStreamingDistributionConfigResponse = GetStreamingDistributionConfigResponse'+ { _gsdcrsStreamingDistributionConfig :: !(Maybe StreamingDistributionConfig)+ , _gsdcrsETag :: !(Maybe Text)+ , _gsdcrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToXMLRoot GetStreamingDistributionConfig where- toXMLRoot = const (namespaced ns "GetStreamingDistributionConfig" [])+-- | Creates a value of 'GetStreamingDistributionConfigResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsdcrsStreamingDistributionConfig'+--+-- * 'gsdcrsETag'+--+-- * 'gsdcrsStatus'+getStreamingDistributionConfigResponse+ :: Int -- ^ 'gsdcrsStatus'+ -> GetStreamingDistributionConfigResponse+getStreamingDistributionConfigResponse pStatus_ =+ GetStreamingDistributionConfigResponse'+ { _gsdcrsStreamingDistributionConfig = Nothing+ , _gsdcrsETag = Nothing+ , _gsdcrsStatus = pStatus_+ } -instance ToXML GetStreamingDistributionConfig+-- | The streaming distribution\'s configuration information.+gsdcrsStreamingDistributionConfig :: Lens' GetStreamingDistributionConfigResponse (Maybe StreamingDistributionConfig)+gsdcrsStreamingDistributionConfig = lens _gsdcrsStreamingDistributionConfig (\ s a -> s{_gsdcrsStreamingDistributionConfig = a}); -instance AWSRequest GetStreamingDistributionConfig where- type Sv GetStreamingDistributionConfig = CloudFront- type Rs GetStreamingDistributionConfig = GetStreamingDistributionConfigResponse+-- | The current version of the configuration. For example: E2QWRUHAPOMQZL.+gsdcrsETag :: Lens' GetStreamingDistributionConfigResponse (Maybe Text)+gsdcrsETag = lens _gsdcrsETag (\ s a -> s{_gsdcrsETag = a}); - request = get- response = xmlHeaderResponse $ \h x -> GetStreamingDistributionConfigResponse- <$> h ~:? "ETag"- <*> x .@? "StreamingDistributionConfig"+-- | The response status code.+gsdcrsStatus :: Lens' GetStreamingDistributionConfigResponse Int+gsdcrsStatus = lens _gsdcrsStatus (\ s a -> s{_gsdcrsStatus = a});
gen/Network/AWS/CloudFront/ListCloudFrontOriginAccessIdentities.hs view
@@ -1,135 +1,144 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | List origin access identities.+-- List origin access identities. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/ListCloudFrontOriginAccessIdentities.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/ListCloudFrontOriginAccessIdentities.html AWS API Reference> for ListCloudFrontOriginAccessIdentities. module Network.AWS.CloudFront.ListCloudFrontOriginAccessIdentities (- -- * Request- ListCloudFrontOriginAccessIdentities- -- ** Request constructor- , listCloudFrontOriginAccessIdentities- -- ** Request lenses- , lcfoaiMarker+ -- * Creating a Request+ listCloudFrontOriginAccessIdentities+ , ListCloudFrontOriginAccessIdentities+ -- * Request Lenses , lcfoaiMaxItems+ , lcfoaiMarker - -- * Response- , ListCloudFrontOriginAccessIdentitiesResponse- -- ** Response constructor+ -- * Destructuring the Response , listCloudFrontOriginAccessIdentitiesResponse- -- ** Response lenses- , lcfoairCloudFrontOriginAccessIdentityList+ , ListCloudFrontOriginAccessIdentitiesResponse+ -- * Response Lenses+ , lcfoairsStatus+ , lcfoairsCloudFrontOriginAccessIdentityList ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts--data ListCloudFrontOriginAccessIdentities = ListCloudFrontOriginAccessIdentities- { _lcfoaiMarker :: Maybe Text- , _lcfoaiMaxItems :: Maybe Text- } deriving (Eq, Ord, Read, Show)+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | 'ListCloudFrontOriginAccessIdentities' constructor.------ The fields accessible through corresponding lenses are:------ * 'lcfoaiMarker' @::@ 'Maybe' 'Text'------ * 'lcfoaiMaxItems' @::@ 'Maybe' 'Text'+-- | The request to list origin access identities. ---listCloudFrontOriginAccessIdentities :: ListCloudFrontOriginAccessIdentities-listCloudFrontOriginAccessIdentities = ListCloudFrontOriginAccessIdentities- { _lcfoaiMarker = Nothing- , _lcfoaiMaxItems = Nothing- }---- | Use this when paginating results to indicate where to begin in your list of--- origin access identities. The results include identities in the list that--- occur after the marker. To get the next page of results, set the Marker to--- the value of the NextMarker from the current page's response (which is also--- the ID of the last identity on that page).-lcfoaiMarker :: Lens' ListCloudFrontOriginAccessIdentities (Maybe Text)-lcfoaiMarker = lens _lcfoaiMarker (\s a -> s { _lcfoaiMarker = a })---- | The maximum number of origin access identities you want in the response body.-lcfoaiMaxItems :: Lens' ListCloudFrontOriginAccessIdentities (Maybe Text)-lcfoaiMaxItems = lens _lcfoaiMaxItems (\s a -> s { _lcfoaiMaxItems = a })--newtype ListCloudFrontOriginAccessIdentitiesResponse = ListCloudFrontOriginAccessIdentitiesResponse- { _lcfoairCloudFrontOriginAccessIdentityList :: CloudFrontOriginAccessIdentityList- } deriving (Eq, Read, Show)+-- /See:/ 'listCloudFrontOriginAccessIdentities' smart constructor.+data ListCloudFrontOriginAccessIdentities = ListCloudFrontOriginAccessIdentities'+ { _lcfoaiMaxItems :: !(Maybe Text)+ , _lcfoaiMarker :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ListCloudFrontOriginAccessIdentitiesResponse' constructor.+-- | Creates a value of 'ListCloudFrontOriginAccessIdentities' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'lcfoairCloudFrontOriginAccessIdentityList' @::@ 'CloudFrontOriginAccessIdentityList'+-- * 'lcfoaiMaxItems' ---listCloudFrontOriginAccessIdentitiesResponse :: CloudFrontOriginAccessIdentityList -- ^ 'lcfoairCloudFrontOriginAccessIdentityList'- -> ListCloudFrontOriginAccessIdentitiesResponse-listCloudFrontOriginAccessIdentitiesResponse p1 = ListCloudFrontOriginAccessIdentitiesResponse- { _lcfoairCloudFrontOriginAccessIdentityList = p1+-- * 'lcfoaiMarker'+listCloudFrontOriginAccessIdentities+ :: ListCloudFrontOriginAccessIdentities+listCloudFrontOriginAccessIdentities =+ ListCloudFrontOriginAccessIdentities'+ { _lcfoaiMaxItems = Nothing+ , _lcfoaiMarker = Nothing } --- | The CloudFrontOriginAccessIdentityList type.-lcfoairCloudFrontOriginAccessIdentityList :: Lens' ListCloudFrontOriginAccessIdentitiesResponse CloudFrontOriginAccessIdentityList-lcfoairCloudFrontOriginAccessIdentityList =- lens _lcfoairCloudFrontOriginAccessIdentityList- (\s a -> s { _lcfoairCloudFrontOriginAccessIdentityList = a })+-- | The maximum number of origin access identities you want in the response+-- body.+lcfoaiMaxItems :: Lens' ListCloudFrontOriginAccessIdentities (Maybe Text)+lcfoaiMaxItems = lens _lcfoaiMaxItems (\ s a -> s{_lcfoaiMaxItems = a}); -instance ToPath ListCloudFrontOriginAccessIdentities where- toPath = const "/2014-11-06/origin-access-identity/cloudfront"+-- | Use this when paginating results to indicate where to begin in your list+-- of origin access identities. The results include identities in the list+-- that occur after the marker. To get the next page of results, set the+-- Marker to the value of the NextMarker from the current page\'s response+-- (which is also the ID of the last identity on that page).+lcfoaiMarker :: Lens' ListCloudFrontOriginAccessIdentities (Maybe Text)+lcfoaiMarker = lens _lcfoaiMarker (\ s a -> s{_lcfoaiMarker = a}); -instance ToQuery ListCloudFrontOriginAccessIdentities where- toQuery ListCloudFrontOriginAccessIdentities{..} = mconcat- [ "Marker" =? _lcfoaiMarker- , "MaxItems" =? _lcfoaiMaxItems- ]+instance AWSRequest+ ListCloudFrontOriginAccessIdentities where+ type Sv ListCloudFrontOriginAccessIdentities =+ CloudFront+ type Rs ListCloudFrontOriginAccessIdentities =+ ListCloudFrontOriginAccessIdentitiesResponse+ request = get+ response+ = receiveXML+ (\ s h x ->+ ListCloudFrontOriginAccessIdentitiesResponse' <$>+ (pure (fromEnum s)) <*> (parseXML x)) -instance ToHeaders ListCloudFrontOriginAccessIdentities+instance ToHeaders+ ListCloudFrontOriginAccessIdentities where+ toHeaders = const mempty -instance ToXMLRoot ListCloudFrontOriginAccessIdentities where- toXMLRoot = const (namespaced ns "ListCloudFrontOriginAccessIdentities" [])+instance ToPath ListCloudFrontOriginAccessIdentities+ where+ toPath+ = const+ "/2015-04-17/origin-access-identity/cloudfront" -instance ToXML ListCloudFrontOriginAccessIdentities+instance ToQuery ListCloudFrontOriginAccessIdentities+ where+ toQuery ListCloudFrontOriginAccessIdentities'{..}+ = mconcat+ ["MaxItems" =: _lcfoaiMaxItems,+ "Marker" =: _lcfoaiMarker] -instance AWSRequest ListCloudFrontOriginAccessIdentities where- type Sv ListCloudFrontOriginAccessIdentities = CloudFront- type Rs ListCloudFrontOriginAccessIdentities = ListCloudFrontOriginAccessIdentitiesResponse+-- | The returned result of the corresponding request.+--+-- /See:/ 'listCloudFrontOriginAccessIdentitiesResponse' smart constructor.+data ListCloudFrontOriginAccessIdentitiesResponse = ListCloudFrontOriginAccessIdentitiesResponse'+ { _lcfoairsStatus :: !Int+ , _lcfoairsCloudFrontOriginAccessIdentityList :: !CloudFrontOriginAccessIdentityList+ } deriving (Eq,Read,Show,Data,Typeable,Generic) - request = get- response = xmlResponse+-- | Creates a value of 'ListCloudFrontOriginAccessIdentitiesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcfoairsStatus'+--+-- * 'lcfoairsCloudFrontOriginAccessIdentityList'+listCloudFrontOriginAccessIdentitiesResponse+ :: Int -- ^ 'lcfoairsStatus'+ -> CloudFrontOriginAccessIdentityList -- ^ 'lcfoairsCloudFrontOriginAccessIdentityList'+ -> ListCloudFrontOriginAccessIdentitiesResponse+listCloudFrontOriginAccessIdentitiesResponse pStatus_ pCloudFrontOriginAccessIdentityList_ =+ ListCloudFrontOriginAccessIdentitiesResponse'+ { _lcfoairsStatus = pStatus_+ , _lcfoairsCloudFrontOriginAccessIdentityList = pCloudFrontOriginAccessIdentityList_+ } -instance FromXML ListCloudFrontOriginAccessIdentitiesResponse where- parseXML x = ListCloudFrontOriginAccessIdentitiesResponse- <$> x .@ "CloudFrontOriginAccessIdentityList"+-- | The response status code.+lcfoairsStatus :: Lens' ListCloudFrontOriginAccessIdentitiesResponse Int+lcfoairsStatus = lens _lcfoairsStatus (\ s a -> s{_lcfoairsStatus = a}); -instance AWSPager ListCloudFrontOriginAccessIdentities where- page rq rs- | stop (rs ^. lcfoairCloudFrontOriginAccessIdentityList . cfoailIsTruncated) = Nothing- | otherwise = Just $ rq- & lcfoaiMarker .~ rs ^. lcfoairCloudFrontOriginAccessIdentityList . cfoailNextMarker+-- | The CloudFrontOriginAccessIdentityList type.+lcfoairsCloudFrontOriginAccessIdentityList :: Lens' ListCloudFrontOriginAccessIdentitiesResponse CloudFrontOriginAccessIdentityList+lcfoairsCloudFrontOriginAccessIdentityList = lens _lcfoairsCloudFrontOriginAccessIdentityList (\ s a -> s{_lcfoairsCloudFrontOriginAccessIdentityList = a});
gen/Network/AWS/CloudFront/ListDistributions.hs view
@@ -1,134 +1,134 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.ListDistributions--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | List distributions.+-- List distributions. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/ListDistributions.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/ListDistributions.html AWS API Reference> for ListDistributions. module Network.AWS.CloudFront.ListDistributions (- -- * Request- ListDistributions- -- ** Request constructor- , listDistributions- -- ** Request lenses- , ldMarker+ -- * Creating a Request+ listDistributions+ , ListDistributions+ -- * Request Lenses , ldMaxItems+ , ldMarker - -- * Response- , ListDistributionsResponse- -- ** Response constructor+ -- * Destructuring the Response , listDistributionsResponse- -- ** Response lenses- , ldrDistributionList+ , ListDistributionsResponse+ -- * Response Lenses+ , ldrsStatus+ , ldrsDistributionList ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts--data ListDistributions = ListDistributions- { _ldMarker :: Maybe Text- , _ldMaxItems :: Maybe Text- } deriving (Eq, Ord, Read, Show)+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | 'ListDistributions' constructor.+-- | The request to list your distributions. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'listDistributions' smart constructor.+data ListDistributions = ListDistributions'+ { _ldMaxItems :: !(Maybe Text)+ , _ldMarker :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListDistributions' with the minimum fields required to make a request. ----- * 'ldMarker' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ldMaxItems' @::@ 'Maybe' 'Text'+-- * 'ldMaxItems' ---listDistributions :: ListDistributions-listDistributions = ListDistributions- { _ldMarker = Nothing- , _ldMaxItems = Nothing+-- * 'ldMarker'+listDistributions+ :: ListDistributions+listDistributions =+ ListDistributions'+ { _ldMaxItems = Nothing+ , _ldMarker = Nothing } --- | Use this when paginating results to indicate where to begin in your list of--- distributions. The results include distributions in the list that occur after--- the marker. To get the next page of results, set the Marker to the value of--- the NextMarker from the current page's response (which is also the ID of the--- last distribution on that page).-ldMarker :: Lens' ListDistributions (Maybe Text)-ldMarker = lens _ldMarker (\s a -> s { _ldMarker = a })- -- | The maximum number of distributions you want in the response body. ldMaxItems :: Lens' ListDistributions (Maybe Text)-ldMaxItems = lens _ldMaxItems (\s a -> s { _ldMaxItems = a })+ldMaxItems = lens _ldMaxItems (\ s a -> s{_ldMaxItems = a}); -newtype ListDistributionsResponse = ListDistributionsResponse- { _ldrDistributionList :: DistributionList- } deriving (Eq, Read, Show)+-- | Use this when paginating results to indicate where to begin in your list+-- of distributions. The results include distributions in the list that+-- occur after the marker. To get the next page of results, set the Marker+-- to the value of the NextMarker from the current page\'s response (which+-- is also the ID of the last distribution on that page).+ldMarker :: Lens' ListDistributions (Maybe Text)+ldMarker = lens _ldMarker (\ s a -> s{_ldMarker = a}); --- | 'ListDistributionsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'ldrDistributionList' @::@ 'DistributionList'----listDistributionsResponse :: DistributionList -- ^ 'ldrDistributionList'- -> ListDistributionsResponse-listDistributionsResponse p1 = ListDistributionsResponse- { _ldrDistributionList = p1- }+instance AWSRequest ListDistributions where+ type Sv ListDistributions = CloudFront+ type Rs ListDistributions = ListDistributionsResponse+ request = get+ response+ = receiveXML+ (\ s h x ->+ ListDistributionsResponse' <$>+ (pure (fromEnum s)) <*> (parseXML x)) --- | The DistributionList type.-ldrDistributionList :: Lens' ListDistributionsResponse DistributionList-ldrDistributionList =- lens _ldrDistributionList (\s a -> s { _ldrDistributionList = a })+instance ToHeaders ListDistributions where+ toHeaders = const mempty instance ToPath ListDistributions where- toPath = const "/2014-11-06/distribution"+ toPath = const "/2015-04-17/distribution" instance ToQuery ListDistributions where- toQuery ListDistributions{..} = mconcat- [ "Marker" =? _ldMarker- , "MaxItems" =? _ldMaxItems- ]--instance ToHeaders ListDistributions--instance ToXMLRoot ListDistributions where- toXMLRoot = const (namespaced ns "ListDistributions" [])--instance ToXML ListDistributions+ toQuery ListDistributions'{..}+ = mconcat+ ["MaxItems" =: _ldMaxItems, "Marker" =: _ldMarker] -instance AWSRequest ListDistributions where- type Sv ListDistributions = CloudFront- type Rs ListDistributions = ListDistributionsResponse+-- | The returned result of the corresponding request.+--+-- /See:/ 'listDistributionsResponse' smart constructor.+data ListDistributionsResponse = ListDistributionsResponse'+ { _ldrsStatus :: !Int+ , _ldrsDistributionList :: !DistributionList+ } deriving (Eq,Read,Show,Data,Typeable,Generic) - request = get- response = xmlResponse+-- | Creates a value of 'ListDistributionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ldrsStatus'+--+-- * 'ldrsDistributionList'+listDistributionsResponse+ :: Int -- ^ 'ldrsStatus'+ -> DistributionList -- ^ 'ldrsDistributionList'+ -> ListDistributionsResponse+listDistributionsResponse pStatus_ pDistributionList_ =+ ListDistributionsResponse'+ { _ldrsStatus = pStatus_+ , _ldrsDistributionList = pDistributionList_+ } -instance FromXML ListDistributionsResponse where- parseXML x = ListDistributionsResponse- <$> x .@ "DistributionList"+-- | The response status code.+ldrsStatus :: Lens' ListDistributionsResponse Int+ldrsStatus = lens _ldrsStatus (\ s a -> s{_ldrsStatus = a}); -instance AWSPager ListDistributions where- page rq rs- | stop (rs ^. ldrDistributionList . dlIsTruncated) = Nothing- | otherwise = Just $ rq- & ldMarker .~ rs ^. ldrDistributionList . dlNextMarker+-- | The DistributionList type.+ldrsDistributionList :: Lens' ListDistributionsResponse DistributionList+ldrsDistributionList = lens _ldrsDistributionList (\ s a -> s{_ldrsDistributionList = a});
gen/Network/AWS/CloudFront/ListInvalidations.hs view
@@ -1,150 +1,150 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.ListInvalidations--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | List invalidation batches.+-- List invalidation batches. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/ListInvalidations.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/ListInvalidations.html AWS API Reference> for ListInvalidations. module Network.AWS.CloudFront.ListInvalidations (- -- * Request- ListInvalidations- -- ** Request constructor- , listInvalidations- -- ** Request lenses- , liDistributionId- , liMarker+ -- * Creating a Request+ listInvalidations+ , ListInvalidations+ -- * Request Lenses , liMaxItems+ , liMarker+ , liDistributionId - -- * Response- , ListInvalidationsResponse- -- ** Response constructor+ -- * Destructuring the Response , listInvalidationsResponse- -- ** Response lenses- , lirInvalidationList+ , ListInvalidationsResponse+ -- * Response Lenses+ , lirsStatus+ , lirsInvalidationList ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts--data ListInvalidations = ListInvalidations- { _liDistributionId :: Text- , _liMarker :: Maybe Text- , _liMaxItems :: Maybe Text- } deriving (Eq, Ord, Read, Show)+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | 'ListInvalidations' constructor.+-- | The request to list invalidations. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'listInvalidations' smart constructor.+data ListInvalidations = ListInvalidations'+ { _liMaxItems :: !(Maybe Text)+ , _liMarker :: !(Maybe Text)+ , _liDistributionId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListInvalidations' with the minimum fields required to make a request. ----- * 'liDistributionId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'liMarker' @::@ 'Maybe' 'Text'+-- * 'liMaxItems' ----- * 'liMaxItems' @::@ 'Maybe' 'Text'+-- * 'liMarker' ---listInvalidations :: Text -- ^ 'liDistributionId'- -> ListInvalidations-listInvalidations p1 = ListInvalidations- { _liDistributionId = p1- , _liMarker = Nothing- , _liMaxItems = Nothing+-- * 'liDistributionId'+listInvalidations+ :: Text -- ^ 'liDistributionId'+ -> ListInvalidations+listInvalidations pDistributionId_ =+ ListInvalidations'+ { _liMaxItems = Nothing+ , _liMarker = Nothing+ , _liDistributionId = pDistributionId_ } --- | The distribution's id.-liDistributionId :: Lens' ListInvalidations Text-liDistributionId = lens _liDistributionId (\s a -> s { _liDistributionId = a })+-- | The maximum number of invalidation batches you want in the response+-- body.+liMaxItems :: Lens' ListInvalidations (Maybe Text)+liMaxItems = lens _liMaxItems (\ s a -> s{_liMaxItems = a}); --- | Use this parameter when paginating results to indicate where to begin in your--- list of invalidation batches. Because the results are returned in decreasing--- order from most recent to oldest, the most recent results are on the first--- page, the second page will contain earlier results, and so on. To get the--- next page of results, set the Marker to the value of the NextMarker from the--- current page's response. This value is the same as the ID of the last--- invalidation batch on that page.+-- | Use this parameter when paginating results to indicate where to begin in+-- your list of invalidation batches. Because the results are returned in+-- decreasing order from most recent to oldest, the most recent results are+-- on the first page, the second page will contain earlier results, and so+-- on. To get the next page of results, set the Marker to the value of the+-- NextMarker from the current page\'s response. This value is the same as+-- the ID of the last invalidation batch on that page. liMarker :: Lens' ListInvalidations (Maybe Text)-liMarker = lens _liMarker (\s a -> s { _liMarker = a })---- | The maximum number of invalidation batches you want in the response body.-liMaxItems :: Lens' ListInvalidations (Maybe Text)-liMaxItems = lens _liMaxItems (\s a -> s { _liMaxItems = a })+liMarker = lens _liMarker (\ s a -> s{_liMarker = a}); -newtype ListInvalidationsResponse = ListInvalidationsResponse- { _lirInvalidationList :: InvalidationList- } deriving (Eq, Read, Show)+-- | The distribution\'s id.+liDistributionId :: Lens' ListInvalidations Text+liDistributionId = lens _liDistributionId (\ s a -> s{_liDistributionId = a}); --- | 'ListInvalidationsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'lirInvalidationList' @::@ 'InvalidationList'----listInvalidationsResponse :: InvalidationList -- ^ 'lirInvalidationList'- -> ListInvalidationsResponse-listInvalidationsResponse p1 = ListInvalidationsResponse- { _lirInvalidationList = p1- }+instance AWSRequest ListInvalidations where+ type Sv ListInvalidations = CloudFront+ type Rs ListInvalidations = ListInvalidationsResponse+ request = get+ response+ = receiveXML+ (\ s h x ->+ ListInvalidationsResponse' <$>+ (pure (fromEnum s)) <*> (parseXML x)) --- | Information about invalidation batches.-lirInvalidationList :: Lens' ListInvalidationsResponse InvalidationList-lirInvalidationList =- lens _lirInvalidationList (\s a -> s { _lirInvalidationList = a })+instance ToHeaders ListInvalidations where+ toHeaders = const mempty instance ToPath ListInvalidations where- toPath ListInvalidations{..} = mconcat- [ "/2014-11-06/distribution/"- , toText _liDistributionId- , "/invalidation"- ]+ toPath ListInvalidations'{..}+ = mconcat+ ["/2015-04-17/distribution/", toBS _liDistributionId,+ "/invalidation"] instance ToQuery ListInvalidations where- toQuery ListInvalidations{..} = mconcat- [ "Marker" =? _liMarker- , "MaxItems" =? _liMaxItems- ]--instance ToHeaders ListInvalidations--instance ToXMLRoot ListInvalidations where- toXMLRoot = const (namespaced ns "ListInvalidations" [])--instance ToXML ListInvalidations+ toQuery ListInvalidations'{..}+ = mconcat+ ["MaxItems" =: _liMaxItems, "Marker" =: _liMarker] -instance AWSRequest ListInvalidations where- type Sv ListInvalidations = CloudFront- type Rs ListInvalidations = ListInvalidationsResponse+-- | The returned result of the corresponding request.+--+-- /See:/ 'listInvalidationsResponse' smart constructor.+data ListInvalidationsResponse = ListInvalidationsResponse'+ { _lirsStatus :: !Int+ , _lirsInvalidationList :: !InvalidationList+ } deriving (Eq,Read,Show,Data,Typeable,Generic) - request = get- response = xmlResponse+-- | Creates a value of 'ListInvalidationsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lirsStatus'+--+-- * 'lirsInvalidationList'+listInvalidationsResponse+ :: Int -- ^ 'lirsStatus'+ -> InvalidationList -- ^ 'lirsInvalidationList'+ -> ListInvalidationsResponse+listInvalidationsResponse pStatus_ pInvalidationList_ =+ ListInvalidationsResponse'+ { _lirsStatus = pStatus_+ , _lirsInvalidationList = pInvalidationList_+ } -instance FromXML ListInvalidationsResponse where- parseXML x = ListInvalidationsResponse- <$> x .@ "InvalidationList"+-- | The response status code.+lirsStatus :: Lens' ListInvalidationsResponse Int+lirsStatus = lens _lirsStatus (\ s a -> s{_lirsStatus = a}); -instance AWSPager ListInvalidations where- page rq rs- | stop (rs ^. lirInvalidationList . ilIsTruncated) = Nothing- | otherwise = Just $ rq- & liMarker .~ rs ^. lirInvalidationList . ilNextMarker+-- | Information about invalidation batches.+lirsInvalidationList :: Lens' ListInvalidationsResponse InvalidationList+lirsInvalidationList = lens _lirsInvalidationList (\ s a -> s{_lirsInvalidationList = a});
gen/Network/AWS/CloudFront/ListStreamingDistributions.hs view
@@ -1,135 +1,136 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.ListStreamingDistributions--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | List streaming distributions.+-- List streaming distributions. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/ListStreamingDistributions.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/ListStreamingDistributions.html AWS API Reference> for ListStreamingDistributions. module Network.AWS.CloudFront.ListStreamingDistributions (- -- * Request- ListStreamingDistributions- -- ** Request constructor- , listStreamingDistributions- -- ** Request lenses- , lsdMarker+ -- * Creating a Request+ listStreamingDistributions+ , ListStreamingDistributions+ -- * Request Lenses , lsdMaxItems+ , lsdMarker - -- * Response- , ListStreamingDistributionsResponse- -- ** Response constructor+ -- * Destructuring the Response , listStreamingDistributionsResponse- -- ** Response lenses- , lsdrStreamingDistributionList+ , ListStreamingDistributionsResponse+ -- * Response Lenses+ , lsdrsStatus+ , lsdrsStreamingDistributionList ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts--data ListStreamingDistributions = ListStreamingDistributions- { _lsdMarker :: Maybe Text- , _lsdMaxItems :: Maybe Text- } deriving (Eq, Ord, Read, Show)+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | 'ListStreamingDistributions' constructor.+-- | The request to list your streaming distributions. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'listStreamingDistributions' smart constructor.+data ListStreamingDistributions = ListStreamingDistributions'+ { _lsdMaxItems :: !(Maybe Text)+ , _lsdMarker :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListStreamingDistributions' with the minimum fields required to make a request. ----- * 'lsdMarker' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'lsdMaxItems' @::@ 'Maybe' 'Text'+-- * 'lsdMaxItems' ---listStreamingDistributions :: ListStreamingDistributions-listStreamingDistributions = ListStreamingDistributions- { _lsdMarker = Nothing- , _lsdMaxItems = Nothing+-- * 'lsdMarker'+listStreamingDistributions+ :: ListStreamingDistributions+listStreamingDistributions =+ ListStreamingDistributions'+ { _lsdMaxItems = Nothing+ , _lsdMarker = Nothing } --- | Use this when paginating results to indicate where to begin in your list of--- streaming distributions. The results include distributions in the list that--- occur after the marker. To get the next page of results, set the Marker to--- the value of the NextMarker from the current page's response (which is also--- the ID of the last distribution on that page).-lsdMarker :: Lens' ListStreamingDistributions (Maybe Text)-lsdMarker = lens _lsdMarker (\s a -> s { _lsdMarker = a })---- | The maximum number of streaming distributions you want in the response body.+-- | The maximum number of streaming distributions you want in the response+-- body. lsdMaxItems :: Lens' ListStreamingDistributions (Maybe Text)-lsdMaxItems = lens _lsdMaxItems (\s a -> s { _lsdMaxItems = a })+lsdMaxItems = lens _lsdMaxItems (\ s a -> s{_lsdMaxItems = a}); -newtype ListStreamingDistributionsResponse = ListStreamingDistributionsResponse- { _lsdrStreamingDistributionList :: StreamingDistributionList- } deriving (Eq, Read, Show)+-- | Use this when paginating results to indicate where to begin in your list+-- of streaming distributions. The results include distributions in the+-- list that occur after the marker. To get the next page of results, set+-- the Marker to the value of the NextMarker from the current page\'s+-- response (which is also the ID of the last distribution on that page).+lsdMarker :: Lens' ListStreamingDistributions (Maybe Text)+lsdMarker = lens _lsdMarker (\ s a -> s{_lsdMarker = a}); --- | 'ListStreamingDistributionsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'lsdrStreamingDistributionList' @::@ 'StreamingDistributionList'----listStreamingDistributionsResponse :: StreamingDistributionList -- ^ 'lsdrStreamingDistributionList'- -> ListStreamingDistributionsResponse-listStreamingDistributionsResponse p1 = ListStreamingDistributionsResponse- { _lsdrStreamingDistributionList = p1- }+instance AWSRequest ListStreamingDistributions where+ type Sv ListStreamingDistributions = CloudFront+ type Rs ListStreamingDistributions =+ ListStreamingDistributionsResponse+ request = get+ response+ = receiveXML+ (\ s h x ->+ ListStreamingDistributionsResponse' <$>+ (pure (fromEnum s)) <*> (parseXML x)) --- | The StreamingDistributionList type.-lsdrStreamingDistributionList :: Lens' ListStreamingDistributionsResponse StreamingDistributionList-lsdrStreamingDistributionList =- lens _lsdrStreamingDistributionList- (\s a -> s { _lsdrStreamingDistributionList = a })+instance ToHeaders ListStreamingDistributions where+ toHeaders = const mempty instance ToPath ListStreamingDistributions where- toPath = const "/2014-11-06/streaming-distribution"+ toPath = const "/2015-04-17/streaming-distribution" instance ToQuery ListStreamingDistributions where- toQuery ListStreamingDistributions{..} = mconcat- [ "Marker" =? _lsdMarker- , "MaxItems" =? _lsdMaxItems- ]--instance ToHeaders ListStreamingDistributions--instance ToXMLRoot ListStreamingDistributions where- toXMLRoot = const (namespaced ns "ListStreamingDistributions" [])--instance ToXML ListStreamingDistributions+ toQuery ListStreamingDistributions'{..}+ = mconcat+ ["MaxItems" =: _lsdMaxItems, "Marker" =: _lsdMarker] -instance AWSRequest ListStreamingDistributions where- type Sv ListStreamingDistributions = CloudFront- type Rs ListStreamingDistributions = ListStreamingDistributionsResponse+-- | The returned result of the corresponding request.+--+-- /See:/ 'listStreamingDistributionsResponse' smart constructor.+data ListStreamingDistributionsResponse = ListStreamingDistributionsResponse'+ { _lsdrsStatus :: !Int+ , _lsdrsStreamingDistributionList :: !StreamingDistributionList+ } deriving (Eq,Read,Show,Data,Typeable,Generic) - request = get- response = xmlResponse+-- | Creates a value of 'ListStreamingDistributionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsdrsStatus'+--+-- * 'lsdrsStreamingDistributionList'+listStreamingDistributionsResponse+ :: Int -- ^ 'lsdrsStatus'+ -> StreamingDistributionList -- ^ 'lsdrsStreamingDistributionList'+ -> ListStreamingDistributionsResponse+listStreamingDistributionsResponse pStatus_ pStreamingDistributionList_ =+ ListStreamingDistributionsResponse'+ { _lsdrsStatus = pStatus_+ , _lsdrsStreamingDistributionList = pStreamingDistributionList_+ } -instance FromXML ListStreamingDistributionsResponse where- parseXML x = ListStreamingDistributionsResponse- <$> x .@ "StreamingDistributionList"+-- | The response status code.+lsdrsStatus :: Lens' ListStreamingDistributionsResponse Int+lsdrsStatus = lens _lsdrsStatus (\ s a -> s{_lsdrsStatus = a}); -instance AWSPager ListStreamingDistributions where- page rq rs- | stop (rs ^. lsdrStreamingDistributionList . sdlIsTruncated) = Nothing- | otherwise = Just $ rq- & lsdMarker .~ rs ^. lsdrStreamingDistributionList . sdlNextMarker+-- | The StreamingDistributionList type.+lsdrsStreamingDistributionList :: Lens' ListStreamingDistributionsResponse StreamingDistributionList+lsdrsStreamingDistributionList = lens _lsdrsStreamingDistributionList (\ s a -> s{_lsdrsStreamingDistributionList = a});
gen/Network/AWS/CloudFront/Types.hs view
@@ -1,3799 +1,743 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}-{-# LANGUAGE ViewPatterns #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module : Network.AWS.CloudFront.Types--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.--module Network.AWS.CloudFront.Types- (- -- * Service- CloudFront- -- ** Error- , RESTError- -- ** XML- , ns-- -- * CloudFrontOriginAccessIdentityList- , CloudFrontOriginAccessIdentityList- , cloudFrontOriginAccessIdentityList- , cfoailIsTruncated- , cfoailItems- , cfoailMarker- , cfoailMaxItems- , cfoailNextMarker- , cfoailQuantity-- -- * Invalidation- , Invalidation- , invalidation- , iCreateTime- , iId- , iInvalidationBatch- , iStatus-- -- * SSLSupportMethod- , SSLSupportMethod (..)-- -- * AllowedMethods- , AllowedMethods- , allowedMethods- , amCachedMethods- , amItems- , amQuantity-- -- * CloudFrontOriginAccessIdentityConfig- , CloudFrontOriginAccessIdentityConfig- , cloudFrontOriginAccessIdentityConfig- , cfoaicCallerReference- , cfoaicComment-- -- * Origin- , Origin- , origin- , oCustomOriginConfig- , oDomainName- , oId- , oOriginPath- , oS3OriginConfig-- -- * ViewerProtocolPolicy- , ViewerProtocolPolicy (..)-- -- * StreamingDistributionList- , StreamingDistributionList- , streamingDistributionList- , sdlIsTruncated- , sdlItems- , sdlMarker- , sdlMaxItems- , sdlNextMarker- , sdlQuantity-- -- * StreamingDistributionConfig- , StreamingDistributionConfig- , streamingDistributionConfig- , sdcAliases- , sdcCallerReference- , sdcComment- , sdcEnabled- , sdcLogging- , sdcPriceClass- , sdcS3Origin- , sdcTrustedSigners-- -- * Signer- , Signer- , signer- , sAwsAccountNumber- , sKeyPairIds-- -- * CookiePreference- , CookiePreference- , cookiePreference- , cpForward- , cpWhitelistedNames-- -- * OriginProtocolPolicy- , OriginProtocolPolicy (..)-- -- * Distribution- , Distribution- , distribution- , dActiveTrustedSigners- , dDistributionConfig- , dDomainName- , dId- , dInProgressInvalidationBatches- , dLastModifiedTime- , dStatus-- -- * CloudFrontOriginAccessIdentitySummary- , CloudFrontOriginAccessIdentitySummary- , cloudFrontOriginAccessIdentitySummary- , cfoaisComment- , cfoaisId- , cfoaisS3CanonicalUserId-- -- * StreamingDistributionSummary- , StreamingDistributionSummary- , streamingDistributionSummary- , sdsAliases- , sdsComment- , sdsDomainName- , sdsEnabled- , sdsId- , sdsLastModifiedTime- , sdsPriceClass- , sdsS3Origin- , sdsStatus- , sdsTrustedSigners-- -- * CustomOriginConfig- , CustomOriginConfig- , customOriginConfig- , cocHTTPPort- , cocHTTPSPort- , cocOriginProtocolPolicy-- -- * Aliases- , Aliases- , aliases- , aItems- , aQuantity-- -- * InvalidationBatch- , InvalidationBatch- , invalidationBatch- , ibCallerReference- , ibPaths-- -- * InvalidationSummary- , InvalidationSummary- , invalidationSummary- , isCreateTime- , isId- , isStatus-- -- * DistributionConfig- , DistributionConfig- , distributionConfig- , dcAliases- , dcCacheBehaviors- , dcCallerReference- , dcComment- , dcCustomErrorResponses- , dcDefaultCacheBehavior- , dcDefaultRootObject- , dcEnabled- , dcLogging- , dcOrigins- , dcPriceClass- , dcRestrictions- , dcViewerCertificate-- -- * CacheBehavior- , CacheBehavior- , cacheBehavior- , cbAllowedMethods- , cbForwardedValues- , cbMinTTL- , cbPathPattern- , cbSmoothStreaming- , cbTargetOriginId- , cbTrustedSigners- , cbViewerProtocolPolicy-- -- * DistributionList- , DistributionList- , distributionList- , dlIsTruncated- , dlItems- , dlMarker- , dlMaxItems- , dlNextMarker- , dlQuantity-- -- * KeyPairIds- , KeyPairIds- , keyPairIds- , kpiItems- , kpiQuantity-- -- * PriceClass- , PriceClass (..)-- -- * CustomErrorResponses- , CustomErrorResponses- , customErrorResponses- , cerItems- , cerQuantity-- -- * S3OriginConfig- , S3OriginConfig- , s3OriginConfig- , socOriginAccessIdentity-- -- * GeoRestriction- , GeoRestriction- , geoRestriction- , grItems- , grQuantity- , grRestrictionType-- -- * S3Origin- , S3Origin- , s3Origin- , soDomainName- , soOriginAccessIdentity-- -- * Headers- , Headers- , headers- , hItems- , hQuantity-- -- * CachedMethods- , CachedMethods- , cachedMethods- , cmItems- , cmQuantity-- -- * ViewerCertificate- , ViewerCertificate- , viewerCertificate- , vcCloudFrontDefaultCertificate- , vcIAMCertificateId- , vcMinimumProtocolVersion- , vcSSLSupportMethod-- -- * Restrictions- , Restrictions- , restrictions- , rGeoRestriction-- -- * Origins- , Origins- , origins- , oItems- , oQuantity-- -- * Method- , Method (..)-- -- * MinimumProtocolVersion- , MinimumProtocolVersion (..)-- -- * ForwardedValues- , ForwardedValues- , forwardedValues- , fvCookies- , fvHeaders- , fvQueryString-- -- * TrustedSigners- , TrustedSigners- , trustedSigners- , tsEnabled- , tsItems- , tsQuantity-- -- * ItemSelection- , ItemSelection (..)-- -- * StreamingLoggingConfig- , StreamingLoggingConfig- , streamingLoggingConfig- , slcBucket- , slcEnabled- , slcPrefix-- -- * CookieNames- , CookieNames- , cookieNames- , cnItems- , cnQuantity-- -- * CustomErrorResponse- , CustomErrorResponse- , customErrorResponse- , cerErrorCachingMinTTL- , cerErrorCode- , cerResponseCode- , cerResponsePagePath-- -- * CacheBehaviors- , CacheBehaviors- , cacheBehaviors- , cbItems- , cbQuantity-- -- * DefaultCacheBehavior- , DefaultCacheBehavior- , defaultCacheBehavior- , dcbAllowedMethods- , dcbForwardedValues- , dcbMinTTL- , dcbSmoothStreaming- , dcbTargetOriginId- , dcbTrustedSigners- , dcbViewerProtocolPolicy-- -- * InvalidationList- , InvalidationList- , invalidationList- , ilIsTruncated- , ilItems- , ilMarker- , ilMaxItems- , ilNextMarker- , ilQuantity-- -- * StreamingDistribution- , StreamingDistribution- , streamingDistribution- , sdActiveTrustedSigners- , sdDomainName- , sdId- , sdLastModifiedTime- , sdStatus- , sdStreamingDistributionConfig-- -- * Paths- , Paths- , paths- , pItems- , pQuantity-- -- * CloudFrontOriginAccessIdentity- , CloudFrontOriginAccessIdentity- , cloudFrontOriginAccessIdentity- , cfoaiCloudFrontOriginAccessIdentityConfig- , cfoaiId- , cfoaiS3CanonicalUserId-- -- * ActiveTrustedSigners- , ActiveTrustedSigners- , activeTrustedSigners- , atsEnabled- , atsItems- , atsQuantity-- -- * DistributionSummary- , DistributionSummary- , distributionSummary- , dsAliases- , dsCacheBehaviors- , dsComment- , dsCustomErrorResponses- , dsDefaultCacheBehavior- , dsDomainName- , dsEnabled- , dsId- , dsLastModifiedTime- , dsOrigins- , dsPriceClass- , dsRestrictions- , dsStatus- , dsViewerCertificate-- -- * GeoRestrictionType- , GeoRestrictionType (..)-- -- * LoggingConfig- , LoggingConfig- , loggingConfig- , lcBucket- , lcEnabled- , lcIncludeCookies- , lcPrefix- ) where--import Network.AWS.Prelude-import Network.AWS.Signing-import qualified GHC.Exts---- | Version @2014-11-06@ of the Amazon CloudFront service.-data CloudFront--instance AWSService CloudFront where- type Sg CloudFront = V4- type Er CloudFront = RESTError-- service = service'- where- service' :: Service CloudFront- service' = Service- { _svcAbbrev = "CloudFront"- , _svcPrefix = "cloudfront"- , _svcVersion = "2014-11-06"- , _svcTargetPrefix = Nothing- , _svcJSONVersion = Nothing- , _svcHandle = handle- , _svcRetry = retry- }-- handle :: Status- -> Maybe (LazyByteString -> ServiceError RESTError)- handle = restError statusSuccess service'-- retry :: Retry CloudFront- retry = Exponential- { _retryBase = 0.05- , _retryGrowth = 2- , _retryAttempts = 5- , _retryCheck = check- }-- check :: Status- -> RESTError- -> Bool- check (statusCode -> s) (awsErrorCode -> e)- | s == 500 = True -- General Server Error- | s == 509 = True -- Limit Exceeded- | s == 503 = True -- Service Unavailable- | otherwise = False--ns :: Text-ns = "http://cloudfront.amazonaws.com/doc/2014-11-06/"-{-# INLINE ns #-}--data CloudFrontOriginAccessIdentityList = CloudFrontOriginAccessIdentityList- { _cfoailIsTruncated :: Bool- , _cfoailItems :: List "CloudFrontOriginAccessIdentitySummary" CloudFrontOriginAccessIdentitySummary- , _cfoailMarker :: Text- , _cfoailMaxItems :: Int- , _cfoailNextMarker :: Maybe Text- , _cfoailQuantity :: Int- } deriving (Eq, Read, Show)---- | 'CloudFrontOriginAccessIdentityList' constructor.------ The fields accessible through corresponding lenses are:------ * 'cfoailIsTruncated' @::@ 'Bool'------ * 'cfoailItems' @::@ ['CloudFrontOriginAccessIdentitySummary']------ * 'cfoailMarker' @::@ 'Text'------ * 'cfoailMaxItems' @::@ 'Int'------ * 'cfoailNextMarker' @::@ 'Maybe' 'Text'------ * 'cfoailQuantity' @::@ 'Int'----cloudFrontOriginAccessIdentityList :: Text -- ^ 'cfoailMarker'- -> Int -- ^ 'cfoailMaxItems'- -> Bool -- ^ 'cfoailIsTruncated'- -> Int -- ^ 'cfoailQuantity'- -> CloudFrontOriginAccessIdentityList-cloudFrontOriginAccessIdentityList p1 p2 p3 p4 = CloudFrontOriginAccessIdentityList- { _cfoailMarker = p1- , _cfoailMaxItems = p2- , _cfoailIsTruncated = p3- , _cfoailQuantity = p4- , _cfoailNextMarker = Nothing- , _cfoailItems = mempty- }---- | A flag that indicates whether more origin access identities remain to be--- listed. If your results were truncated, you can make a follow-up pagination--- request using the Marker request parameter to retrieve more items in the list.-cfoailIsTruncated :: Lens' CloudFrontOriginAccessIdentityList Bool-cfoailIsTruncated =- lens _cfoailIsTruncated (\s a -> s { _cfoailIsTruncated = a })---- | A complex type that contains one CloudFrontOriginAccessIdentitySummary--- element for each origin access identity that was created by the current AWS--- account.-cfoailItems :: Lens' CloudFrontOriginAccessIdentityList [CloudFrontOriginAccessIdentitySummary]-cfoailItems = lens _cfoailItems (\s a -> s { _cfoailItems = a }) . _List---- | The value you provided for the Marker request parameter.-cfoailMarker :: Lens' CloudFrontOriginAccessIdentityList Text-cfoailMarker = lens _cfoailMarker (\s a -> s { _cfoailMarker = a })---- | The value you provided for the MaxItems request parameter.-cfoailMaxItems :: Lens' CloudFrontOriginAccessIdentityList Int-cfoailMaxItems = lens _cfoailMaxItems (\s a -> s { _cfoailMaxItems = a })---- | If IsTruncated is true, this element is present and contains the value you--- can use for the Marker request parameter to continue listing your origin--- access identities where they left off.-cfoailNextMarker :: Lens' CloudFrontOriginAccessIdentityList (Maybe Text)-cfoailNextMarker = lens _cfoailNextMarker (\s a -> s { _cfoailNextMarker = a })---- | The number of CloudFront origin access identities that were created by the--- current AWS account.-cfoailQuantity :: Lens' CloudFrontOriginAccessIdentityList Int-cfoailQuantity = lens _cfoailQuantity (\s a -> s { _cfoailQuantity = a })--instance FromXML CloudFrontOriginAccessIdentityList where- parseXML x = CloudFrontOriginAccessIdentityList- <$> x .@ "IsTruncated"- <*> x .@? "Items" .!@ mempty- <*> x .@ "Marker"- <*> x .@ "MaxItems"- <*> x .@? "NextMarker"- <*> x .@ "Quantity"--instance ToXML CloudFrontOriginAccessIdentityList where- toXML CloudFrontOriginAccessIdentityList{..} = nodes "CloudFrontOriginAccessIdentityList"- [ "Marker" =@ _cfoailMarker- , "NextMarker" =@ _cfoailNextMarker- , "MaxItems" =@ _cfoailMaxItems- , "IsTruncated" =@ _cfoailIsTruncated- , "Quantity" =@ _cfoailQuantity- , "Items" =@ _cfoailItems- ]--data Invalidation = Invalidation- { _iCreateTime :: ISO8601- , _iId :: Text- , _iInvalidationBatch :: InvalidationBatch- , _iStatus :: Text- } deriving (Eq, Read, Show)---- | 'Invalidation' constructor.------ The fields accessible through corresponding lenses are:------ * 'iCreateTime' @::@ 'UTCTime'------ * 'iId' @::@ 'Text'------ * 'iInvalidationBatch' @::@ 'InvalidationBatch'------ * 'iStatus' @::@ 'Text'----invalidation :: Text -- ^ 'iId'- -> Text -- ^ 'iStatus'- -> UTCTime -- ^ 'iCreateTime'- -> InvalidationBatch -- ^ 'iInvalidationBatch'- -> Invalidation-invalidation p1 p2 p3 p4 = Invalidation- { _iId = p1- , _iStatus = p2- , _iCreateTime = withIso _Time (const id) p3- , _iInvalidationBatch = p4- }---- | The date and time the invalidation request was first made.-iCreateTime :: Lens' Invalidation UTCTime-iCreateTime = lens _iCreateTime (\s a -> s { _iCreateTime = a }) . _Time---- | The identifier for the invalidation request. For example: IDFDVBD632BHDS5.-iId :: Lens' Invalidation Text-iId = lens _iId (\s a -> s { _iId = a })---- | The current invalidation information for the batch request.-iInvalidationBatch :: Lens' Invalidation InvalidationBatch-iInvalidationBatch =- lens _iInvalidationBatch (\s a -> s { _iInvalidationBatch = a })---- | The status of the invalidation request. When the invalidation batch is--- finished, the status is Completed.-iStatus :: Lens' Invalidation Text-iStatus = lens _iStatus (\s a -> s { _iStatus = a })--instance FromXML Invalidation where- parseXML x = Invalidation- <$> x .@ "CreateTime"- <*> x .@ "Id"- <*> x .@ "InvalidationBatch"- <*> x .@ "Status"--instance ToXMLRoot Invalidation where- toXMLRoot Invalidation{..} = namespaced ns "Invalidation"- [ "Id" =@ _iId- , "Status" =@ _iStatus- , "CreateTime" =@ _iCreateTime- , "InvalidationBatch" =@ _iInvalidationBatch- ]--instance ToXML Invalidation--data SSLSupportMethod- = SniOnly -- ^ sni-only- | Vip -- ^ vip- deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable SSLSupportMethod--instance FromText SSLSupportMethod where- parser = takeLowerText >>= \case- "sni-only" -> pure SniOnly- "vip" -> pure Vip- e -> fail $- "Failure parsing SSLSupportMethod from " ++ show e--instance ToText SSLSupportMethod where- toText = \case- SniOnly -> "sni-only"- Vip -> "vip"--instance ToByteString SSLSupportMethod-instance ToHeader SSLSupportMethod-instance ToQuery SSLSupportMethod--instance FromXML SSLSupportMethod where- parseXML = parseXMLText "SSLSupportMethod"--instance ToXML SSLSupportMethod where- toXML = toXMLText--data AllowedMethods = AllowedMethods- { _amCachedMethods :: Maybe CachedMethods- , _amItems :: List "Method" Method- , _amQuantity :: Int- } deriving (Eq, Read, Show)---- | 'AllowedMethods' constructor.------ The fields accessible through corresponding lenses are:------ * 'amCachedMethods' @::@ 'Maybe' 'CachedMethods'------ * 'amItems' @::@ ['Method']------ * 'amQuantity' @::@ 'Int'----allowedMethods :: Int -- ^ 'amQuantity'- -> AllowedMethods-allowedMethods p1 = AllowedMethods- { _amQuantity = p1- , _amItems = mempty- , _amCachedMethods = Nothing- }--amCachedMethods :: Lens' AllowedMethods (Maybe CachedMethods)-amCachedMethods = lens _amCachedMethods (\s a -> s { _amCachedMethods = a })---- | A complex type that contains the HTTP methods that you want CloudFront to--- process and forward to your origin.-amItems :: Lens' AllowedMethods [Method]-amItems = lens _amItems (\s a -> s { _amItems = a }) . _List---- | The number of HTTP methods that you want CloudFront to forward to your--- origin. Valid values are 2 (for GET and HEAD requests), 3 (for GET, HEAD and--- OPTIONS requests) and 7 (for GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE--- requests).-amQuantity :: Lens' AllowedMethods Int-amQuantity = lens _amQuantity (\s a -> s { _amQuantity = a })--instance FromXML AllowedMethods where- parseXML x = AllowedMethods- <$> x .@? "CachedMethods"- <*> x .@? "Items" .!@ mempty- <*> x .@ "Quantity"--instance ToXML AllowedMethods where- toXML AllowedMethods{..} = nodes "AllowedMethods"- [ "Quantity" =@ _amQuantity- , "Items" =@ _amItems- , "CachedMethods" =@ _amCachedMethods- ]--data CloudFrontOriginAccessIdentityConfig = CloudFrontOriginAccessIdentityConfig- { _cfoaicCallerReference :: Text- , _cfoaicComment :: Text- } deriving (Eq, Ord, Read, Show)---- | 'CloudFrontOriginAccessIdentityConfig' constructor.------ The fields accessible through corresponding lenses are:------ * 'cfoaicCallerReference' @::@ 'Text'------ * 'cfoaicComment' @::@ 'Text'----cloudFrontOriginAccessIdentityConfig :: Text -- ^ 'cfoaicCallerReference'- -> Text -- ^ 'cfoaicComment'- -> CloudFrontOriginAccessIdentityConfig-cloudFrontOriginAccessIdentityConfig p1 p2 = CloudFrontOriginAccessIdentityConfig- { _cfoaicCallerReference = p1- , _cfoaicComment = p2- }---- | 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 you already sent in a previous--- request to create an identity, and the content of the--- CloudFrontOriginAccessIdentityConfig is identical to the original request--- (ignoring white space), the response includes the same information returned--- to the original request. If the CallerReference is a value you already sent--- in a previous request to create an identity but the content of the--- CloudFrontOriginAccessIdentityConfig is different from the original request,--- CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.-cfoaicCallerReference :: Lens' CloudFrontOriginAccessIdentityConfig Text-cfoaicCallerReference =- lens _cfoaicCallerReference (\s a -> s { _cfoaicCallerReference = a })---- | Any comments you want to include about the origin access identity.-cfoaicComment :: Lens' CloudFrontOriginAccessIdentityConfig Text-cfoaicComment = lens _cfoaicComment (\s a -> s { _cfoaicComment = a })--instance FromXML CloudFrontOriginAccessIdentityConfig where- parseXML x = CloudFrontOriginAccessIdentityConfig- <$> x .@ "CallerReference"- <*> x .@ "Comment"--instance ToXMLRoot CloudFrontOriginAccessIdentityConfig where- toXMLRoot CloudFrontOriginAccessIdentityConfig{..} = namespaced ns "CloudFrontOriginAccessIdentityConfig"- [ "CallerReference" =@ _cfoaicCallerReference- , "Comment" =@ _cfoaicComment- ]--instance ToXML CloudFrontOriginAccessIdentityConfig--data Origin = Origin- { _oCustomOriginConfig :: Maybe CustomOriginConfig- , _oDomainName :: Text- , _oId :: Text- , _oOriginPath :: Maybe Text- , _oS3OriginConfig :: Maybe S3OriginConfig- } deriving (Eq, Read, Show)---- | 'Origin' constructor.------ The fields accessible through corresponding lenses are:------ * 'oCustomOriginConfig' @::@ 'Maybe' 'CustomOriginConfig'------ * 'oDomainName' @::@ 'Text'------ * 'oId' @::@ 'Text'------ * 'oOriginPath' @::@ 'Maybe' 'Text'------ * 'oS3OriginConfig' @::@ 'Maybe' 'S3OriginConfig'----origin :: Text -- ^ 'oId'- -> Text -- ^ 'oDomainName'- -> Origin-origin p1 p2 = Origin- { _oId = p1- , _oDomainName = p2- , _oOriginPath = Nothing- , _oS3OriginConfig = Nothing- , _oCustomOriginConfig = Nothing- }---- | A complex type that contains information about a custom origin. If the origin--- is an Amazon S3 bucket, use the S3OriginConfig element instead.-oCustomOriginConfig :: Lens' Origin (Maybe CustomOriginConfig)-oCustomOriginConfig =- lens _oCustomOriginConfig (\s a -> s { _oCustomOriginConfig = a })---- | 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. 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.-oDomainName :: Lens' Origin Text-oDomainName = lens _oDomainName (\s a -> s { _oDomainName = a })---- | A unique identifier for the origin. The value of Id must be unique within the--- distribution. You use the value of Id when you create a cache behavior. The--- Id identifies the origin that CloudFront routes a request to when the request--- matches the path pattern for that cache behavior.-oId :: Lens' Origin Text-oId = lens _oId (\s a -> s { _oId = a })---- | 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.-oOriginPath :: Lens' Origin (Maybe Text)-oOriginPath = lens _oOriginPath (\s a -> s { _oOriginPath = a })---- | A complex type that contains information about the Amazon S3 origin. If the--- origin is a custom origin, use the CustomOriginConfig element instead.-oS3OriginConfig :: Lens' Origin (Maybe S3OriginConfig)-oS3OriginConfig = lens _oS3OriginConfig (\s a -> s { _oS3OriginConfig = a })--instance FromXML Origin where- parseXML x = Origin- <$> x .@? "CustomOriginConfig"- <*> x .@ "DomainName"- <*> x .@ "Id"- <*> x .@? "OriginPath"- <*> x .@? "S3OriginConfig"--instance ToXML Origin where- toXML Origin{..} = nodes "Origin"- [ "Id" =@ _oId- , "DomainName" =@ _oDomainName- , "OriginPath" =@ _oOriginPath- , "S3OriginConfig" =@ _oS3OriginConfig- , "CustomOriginConfig" =@ _oCustomOriginConfig- ]--data ViewerProtocolPolicy- = AllowAll -- ^ allow-all- | HttpsOnly -- ^ https-only- | RedirectToHttps -- ^ redirect-to-https- deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ViewerProtocolPolicy--instance FromText ViewerProtocolPolicy where- parser = takeLowerText >>= \case- "allow-all" -> pure AllowAll- "https-only" -> pure HttpsOnly- "redirect-to-https" -> pure RedirectToHttps- e -> fail $- "Failure parsing ViewerProtocolPolicy from " ++ show e--instance ToText ViewerProtocolPolicy where- toText = \case- AllowAll -> "allow-all"- HttpsOnly -> "https-only"- RedirectToHttps -> "redirect-to-https"--instance ToByteString ViewerProtocolPolicy-instance ToHeader ViewerProtocolPolicy-instance ToQuery ViewerProtocolPolicy--instance FromXML ViewerProtocolPolicy where- parseXML = parseXMLText "ViewerProtocolPolicy"--instance ToXML ViewerProtocolPolicy where- toXML = toXMLText--data StreamingDistributionList = StreamingDistributionList- { _sdlIsTruncated :: Bool- , _sdlItems :: List "StreamingDistributionSummary" StreamingDistributionSummary- , _sdlMarker :: Text- , _sdlMaxItems :: Int- , _sdlNextMarker :: Maybe Text- , _sdlQuantity :: Int- } deriving (Eq, Read, Show)---- | 'StreamingDistributionList' constructor.------ The fields accessible through corresponding lenses are:------ * 'sdlIsTruncated' @::@ 'Bool'------ * 'sdlItems' @::@ ['StreamingDistributionSummary']------ * 'sdlMarker' @::@ 'Text'------ * 'sdlMaxItems' @::@ 'Int'------ * 'sdlNextMarker' @::@ 'Maybe' 'Text'------ * 'sdlQuantity' @::@ 'Int'----streamingDistributionList :: Text -- ^ 'sdlMarker'- -> Int -- ^ 'sdlMaxItems'- -> Bool -- ^ 'sdlIsTruncated'- -> Int -- ^ 'sdlQuantity'- -> StreamingDistributionList-streamingDistributionList p1 p2 p3 p4 = StreamingDistributionList- { _sdlMarker = p1- , _sdlMaxItems = p2- , _sdlIsTruncated = p3- , _sdlQuantity = p4- , _sdlNextMarker = Nothing- , _sdlItems = mempty- }---- | A flag that indicates whether more streaming distributions remain to be--- listed. If your results were truncated, you can make a follow-up pagination--- request using the Marker request parameter to retrieve more distributions in--- the list.-sdlIsTruncated :: Lens' StreamingDistributionList Bool-sdlIsTruncated = lens _sdlIsTruncated (\s a -> s { _sdlIsTruncated = a })---- | A complex type that contains one StreamingDistributionSummary element for--- each distribution that was created by the current AWS account.-sdlItems :: Lens' StreamingDistributionList [StreamingDistributionSummary]-sdlItems = lens _sdlItems (\s a -> s { _sdlItems = a }) . _List---- | The value you provided for the Marker request parameter.-sdlMarker :: Lens' StreamingDistributionList Text-sdlMarker = lens _sdlMarker (\s a -> s { _sdlMarker = a })---- | The value you provided for the MaxItems request parameter.-sdlMaxItems :: Lens' StreamingDistributionList Int-sdlMaxItems = lens _sdlMaxItems (\s a -> s { _sdlMaxItems = a })---- | If IsTruncated is true, this element is present and contains the value you--- can use for the Marker request parameter to continue listing your streaming--- distributions where they left off.-sdlNextMarker :: Lens' StreamingDistributionList (Maybe Text)-sdlNextMarker = lens _sdlNextMarker (\s a -> s { _sdlNextMarker = a })---- | The number of streaming distributions that were created by the current AWS--- account.-sdlQuantity :: Lens' StreamingDistributionList Int-sdlQuantity = lens _sdlQuantity (\s a -> s { _sdlQuantity = a })--instance FromXML StreamingDistributionList where- parseXML x = StreamingDistributionList- <$> x .@ "IsTruncated"- <*> x .@? "Items" .!@ mempty- <*> x .@ "Marker"- <*> x .@ "MaxItems"- <*> x .@? "NextMarker"- <*> x .@ "Quantity"--instance ToXML StreamingDistributionList where- toXML StreamingDistributionList{..} = nodes "StreamingDistributionList"- [ "Marker" =@ _sdlMarker- , "NextMarker" =@ _sdlNextMarker- , "MaxItems" =@ _sdlMaxItems- , "IsTruncated" =@ _sdlIsTruncated- , "Quantity" =@ _sdlQuantity- , "Items" =@ _sdlItems- ]--data StreamingDistributionConfig = StreamingDistributionConfig- { _sdcAliases :: Maybe Aliases- , _sdcCallerReference :: Text- , _sdcComment :: Text- , _sdcEnabled :: Bool- , _sdcLogging :: Maybe StreamingLoggingConfig- , _sdcPriceClass :: Maybe PriceClass- , _sdcS3Origin :: S3Origin- , _sdcTrustedSigners :: TrustedSigners- } deriving (Eq, Read, Show)---- | 'StreamingDistributionConfig' constructor.------ The fields accessible through corresponding lenses are:------ * 'sdcAliases' @::@ 'Maybe' 'Aliases'------ * 'sdcCallerReference' @::@ 'Text'------ * 'sdcComment' @::@ 'Text'------ * 'sdcEnabled' @::@ 'Bool'------ * 'sdcLogging' @::@ 'Maybe' 'StreamingLoggingConfig'------ * 'sdcPriceClass' @::@ 'Maybe' 'PriceClass'------ * 'sdcS3Origin' @::@ 'S3Origin'------ * 'sdcTrustedSigners' @::@ 'TrustedSigners'----streamingDistributionConfig :: Text -- ^ 'sdcCallerReference'- -> S3Origin -- ^ 'sdcS3Origin'- -> Text -- ^ 'sdcComment'- -> TrustedSigners -- ^ 'sdcTrustedSigners'- -> Bool -- ^ 'sdcEnabled'- -> StreamingDistributionConfig-streamingDistributionConfig p1 p2 p3 p4 p5 = StreamingDistributionConfig- { _sdcCallerReference = p1- , _sdcS3Origin = p2- , _sdcComment = p3- , _sdcTrustedSigners = p4- , _sdcEnabled = p5- , _sdcAliases = Nothing- , _sdcLogging = Nothing- , _sdcPriceClass = Nothing- }---- | A complex type that contains information about CNAMEs (alternate domain--- names), if any, for this streaming distribution.-sdcAliases :: Lens' StreamingDistributionConfig (Maybe Aliases)-sdcAliases = lens _sdcAliases (\s a -> s { _sdcAliases = a })---- | A unique number that ensures 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 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 you already sent in a--- previous request to create a streaming distribution but the content of the--- StreamingDistributionConfig is different from the original request,--- CloudFront returns a DistributionAlreadyExists error.-sdcCallerReference :: Lens' StreamingDistributionConfig Text-sdcCallerReference =- lens _sdcCallerReference (\s a -> s { _sdcCallerReference = a })---- | Any comments you want to include about the streaming distribution.-sdcComment :: Lens' StreamingDistributionConfig Text-sdcComment = lens _sdcComment (\s a -> s { _sdcComment = a })---- | Whether the streaming distribution is enabled to accept end user requests for--- content.-sdcEnabled :: Lens' StreamingDistributionConfig Bool-sdcEnabled = lens _sdcEnabled (\s a -> s { _sdcEnabled = a })---- | A complex type that controls whether access logs are written for the--- streaming distribution.-sdcLogging :: Lens' StreamingDistributionConfig (Maybe StreamingLoggingConfig)-sdcLogging = lens _sdcLogging (\s a -> s { _sdcLogging = a })---- | A complex type that contains information about price class for this streaming--- distribution.-sdcPriceClass :: Lens' StreamingDistributionConfig (Maybe PriceClass)-sdcPriceClass = lens _sdcPriceClass (\s a -> s { _sdcPriceClass = a })---- | A complex type that contains information about the Amazon S3 bucket from--- which you want CloudFront to get your media files for distribution.-sdcS3Origin :: Lens' StreamingDistributionConfig S3Origin-sdcS3Origin = lens _sdcS3Origin (\s a -> s { _sdcS3Origin = a })---- | 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, go to--- Using a Signed URL to Serve Private Content in the 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.-sdcTrustedSigners :: Lens' StreamingDistributionConfig TrustedSigners-sdcTrustedSigners =- lens _sdcTrustedSigners (\s a -> s { _sdcTrustedSigners = a })--instance FromXML StreamingDistributionConfig where- parseXML x = StreamingDistributionConfig- <$> x .@? "Aliases"- <*> x .@ "CallerReference"- <*> x .@ "Comment"- <*> x .@ "Enabled"- <*> x .@? "Logging"- <*> x .@? "PriceClass"- <*> x .@ "S3Origin"- <*> x .@ "TrustedSigners"--instance ToXMLRoot StreamingDistributionConfig where- toXMLRoot StreamingDistributionConfig{..} = namespaced ns "StreamingDistributionConfig"- [ "CallerReference" =@ _sdcCallerReference- , "S3Origin" =@ _sdcS3Origin- , "Aliases" =@ _sdcAliases- , "Comment" =@ _sdcComment- , "Logging" =@ _sdcLogging- , "TrustedSigners" =@ _sdcTrustedSigners- , "PriceClass" =@ _sdcPriceClass- , "Enabled" =@ _sdcEnabled- ]--instance ToXML StreamingDistributionConfig--data Signer = Signer- { _sAwsAccountNumber :: Maybe Text- , _sKeyPairIds :: Maybe KeyPairIds- } deriving (Eq, Read, Show)---- | 'Signer' constructor.------ The fields accessible through corresponding lenses are:------ * 'sAwsAccountNumber' @::@ 'Maybe' 'Text'------ * 'sKeyPairIds' @::@ 'Maybe' 'KeyPairIds'----signer :: Signer-signer = Signer- { _sAwsAccountNumber = Nothing- , _sKeyPairIds = Nothing- }---- | Specifies an AWS account that can create signed URLs. Values: self, which--- indicates that the AWS account that was used to create the distribution can--- created signed URLs, or an AWS account number. Omit the dashes in the account--- number.-sAwsAccountNumber :: Lens' Signer (Maybe Text)-sAwsAccountNumber =- lens _sAwsAccountNumber (\s a -> s { _sAwsAccountNumber = a })---- | A complex type that lists the active CloudFront key pairs, if any, that are--- associated with AwsAccountNumber.-sKeyPairIds :: Lens' Signer (Maybe KeyPairIds)-sKeyPairIds = lens _sKeyPairIds (\s a -> s { _sKeyPairIds = a })--instance FromXML Signer where- parseXML x = Signer- <$> x .@? "AwsAccountNumber"- <*> x .@? "KeyPairIds"--instance ToXML Signer where- toXML Signer{..} = nodes "Signer"- [ "AwsAccountNumber" =@ _sAwsAccountNumber- , "KeyPairIds" =@ _sKeyPairIds- ]--data CookiePreference = CookiePreference- { _cpForward :: ItemSelection- , _cpWhitelistedNames :: Maybe CookieNames- } deriving (Eq, Read, Show)---- | 'CookiePreference' constructor.------ The fields accessible through corresponding lenses are:------ * 'cpForward' @::@ 'ItemSelection'------ * 'cpWhitelistedNames' @::@ 'Maybe' 'CookieNames'----cookiePreference :: ItemSelection -- ^ 'cpForward'- -> CookiePreference-cookiePreference p1 = CookiePreference- { _cpForward = p1- , _cpWhitelistedNames = Nothing- }---- | Use this element to specify whether you want CloudFront to forward cookies to--- the origin that is associated with this cache behavior. You can specify all,--- none or whitelist. If you choose All, CloudFront forwards all cookies--- regardless of how many your application uses.-cpForward :: Lens' CookiePreference ItemSelection-cpForward = lens _cpForward (\s a -> s { _cpForward = a })---- | A complex type that specifies the whitelisted cookies, if any, that you want--- CloudFront to forward to your origin that is associated with this cache--- behavior.-cpWhitelistedNames :: Lens' CookiePreference (Maybe CookieNames)-cpWhitelistedNames =- lens _cpWhitelistedNames (\s a -> s { _cpWhitelistedNames = a })--instance FromXML CookiePreference where- parseXML x = CookiePreference- <$> x .@ "Forward"- <*> x .@? "WhitelistedNames"--instance ToXML CookiePreference where- toXML CookiePreference{..} = nodes "CookiePreference"- [ "Forward" =@ _cpForward- , "WhitelistedNames" =@ _cpWhitelistedNames- ]--data OriginProtocolPolicy- = HttpOnly -- ^ http-only- | MatchViewer -- ^ match-viewer- deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable OriginProtocolPolicy--instance FromText OriginProtocolPolicy where- parser = takeLowerText >>= \case- "http-only" -> pure HttpOnly- "match-viewer" -> pure MatchViewer- e -> fail $- "Failure parsing OriginProtocolPolicy from " ++ show e--instance ToText OriginProtocolPolicy where- toText = \case- HttpOnly -> "http-only"- MatchViewer -> "match-viewer"--instance ToByteString OriginProtocolPolicy-instance ToHeader OriginProtocolPolicy-instance ToQuery OriginProtocolPolicy--instance FromXML OriginProtocolPolicy where- parseXML = parseXMLText "OriginProtocolPolicy"--instance ToXML OriginProtocolPolicy where- toXML = toXMLText--data Distribution = Distribution- { _dActiveTrustedSigners :: ActiveTrustedSigners- , _dDistributionConfig :: DistributionConfig- , _dDomainName :: Text- , _dId :: Text- , _dInProgressInvalidationBatches :: Int- , _dLastModifiedTime :: ISO8601- , _dStatus :: Text- } deriving (Eq, Read, Show)---- | 'Distribution' constructor.------ The fields accessible through corresponding lenses are:------ * 'dActiveTrustedSigners' @::@ 'ActiveTrustedSigners'------ * 'dDistributionConfig' @::@ 'DistributionConfig'------ * 'dDomainName' @::@ 'Text'------ * 'dId' @::@ 'Text'------ * 'dInProgressInvalidationBatches' @::@ 'Int'------ * 'dLastModifiedTime' @::@ 'UTCTime'------ * 'dStatus' @::@ 'Text'----distribution :: Text -- ^ 'dId'- -> Text -- ^ 'dStatus'- -> UTCTime -- ^ 'dLastModifiedTime'- -> Int -- ^ 'dInProgressInvalidationBatches'- -> Text -- ^ 'dDomainName'- -> ActiveTrustedSigners -- ^ 'dActiveTrustedSigners'- -> DistributionConfig -- ^ 'dDistributionConfig'- -> Distribution-distribution p1 p2 p3 p4 p5 p6 p7 = Distribution- { _dId = p1- , _dStatus = p2- , _dLastModifiedTime = withIso _Time (const id) p3- , _dInProgressInvalidationBatches = p4- , _dDomainName = p5- , _dActiveTrustedSigners = p6- , _dDistributionConfig = p7- }---- | CloudFront automatically adds this element to the response only if you've set--- up the distribution to serve private content with signed URLs. The element--- lists the key pair IDs that CloudFront is aware of for each trusted signer.--- The Signer child element lists the AWS account number of the trusted signer--- (or an empty Self element if the signer is you). The Signer element also--- includes the IDs of any active key pairs associated with the trusted signer's--- AWS account. If no KeyPairId element appears for a Signer, that signer can't--- create working signed URLs.-dActiveTrustedSigners :: Lens' Distribution ActiveTrustedSigners-dActiveTrustedSigners =- lens _dActiveTrustedSigners (\s a -> s { _dActiveTrustedSigners = a })---- | The current configuration information for the distribution.-dDistributionConfig :: Lens' Distribution DistributionConfig-dDistributionConfig =- lens _dDistributionConfig (\s a -> s { _dDistributionConfig = a })---- | The domain name corresponding to the distribution. For example:--- d604721fxaaqy9.cloudfront.net.-dDomainName :: Lens' Distribution Text-dDomainName = lens _dDomainName (\s a -> s { _dDomainName = a })---- | The identifier for the distribution. For example: EDFDVBD632BHDS5.-dId :: Lens' Distribution Text-dId = lens _dId (\s a -> s { _dId = a })---- | The number of invalidation batches currently in progress.-dInProgressInvalidationBatches :: Lens' Distribution Int-dInProgressInvalidationBatches =- lens _dInProgressInvalidationBatches- (\s a -> s { _dInProgressInvalidationBatches = a })---- | The date and time the distribution was last modified.-dLastModifiedTime :: Lens' Distribution UTCTime-dLastModifiedTime =- lens _dLastModifiedTime (\s a -> s { _dLastModifiedTime = a })- . _Time---- | This response element indicates the current status of the distribution. When--- the status is Deployed, the distribution's information is fully propagated--- throughout the Amazon CloudFront system.-dStatus :: Lens' Distribution Text-dStatus = lens _dStatus (\s a -> s { _dStatus = a })--instance FromXML Distribution where- parseXML x = Distribution- <$> x .@ "ActiveTrustedSigners"- <*> x .@ "DistributionConfig"- <*> x .@ "DomainName"- <*> x .@ "Id"- <*> x .@ "InProgressInvalidationBatches"- <*> x .@ "LastModifiedTime"- <*> x .@ "Status"--instance ToXMLRoot Distribution where- toXMLRoot Distribution{..} = namespaced ns "Distribution"- [ "Id" =@ _dId- , "Status" =@ _dStatus- , "LastModifiedTime" =@ _dLastModifiedTime- , "InProgressInvalidationBatches" =@ _dInProgressInvalidationBatches- , "DomainName" =@ _dDomainName- , "ActiveTrustedSigners" =@ _dActiveTrustedSigners- , "DistributionConfig" =@ _dDistributionConfig- ]--instance ToXML Distribution--data CloudFrontOriginAccessIdentitySummary = CloudFrontOriginAccessIdentitySummary- { _cfoaisComment :: Text- , _cfoaisId :: Text- , _cfoaisS3CanonicalUserId :: Text- } deriving (Eq, Ord, Read, Show)---- | 'CloudFrontOriginAccessIdentitySummary' constructor.------ The fields accessible through corresponding lenses are:------ * 'cfoaisComment' @::@ 'Text'------ * 'cfoaisId' @::@ 'Text'------ * 'cfoaisS3CanonicalUserId' @::@ 'Text'----cloudFrontOriginAccessIdentitySummary :: Text -- ^ 'cfoaisId'- -> Text -- ^ 'cfoaisS3CanonicalUserId'- -> Text -- ^ 'cfoaisComment'- -> CloudFrontOriginAccessIdentitySummary-cloudFrontOriginAccessIdentitySummary p1 p2 p3 = CloudFrontOriginAccessIdentitySummary- { _cfoaisId = p1- , _cfoaisS3CanonicalUserId = p2- , _cfoaisComment = p3- }---- | The comment for this origin access identity, as originally specified when--- created.-cfoaisComment :: Lens' CloudFrontOriginAccessIdentitySummary Text-cfoaisComment = lens _cfoaisComment (\s a -> s { _cfoaisComment = a })---- | The ID for the origin access identity. For example: E74FTE3AJFJ256A.-cfoaisId :: Lens' CloudFrontOriginAccessIdentitySummary Text-cfoaisId = lens _cfoaisId (\s a -> s { _cfoaisId = a })---- | The Amazon S3 canonical user ID for the origin access identity, which you use--- when giving the origin access identity read permission to an object in Amazon--- S3.-cfoaisS3CanonicalUserId :: Lens' CloudFrontOriginAccessIdentitySummary Text-cfoaisS3CanonicalUserId =- lens _cfoaisS3CanonicalUserId (\s a -> s { _cfoaisS3CanonicalUserId = a })--instance FromXML CloudFrontOriginAccessIdentitySummary where- parseXML x = CloudFrontOriginAccessIdentitySummary- <$> x .@ "Comment"- <*> x .@ "Id"- <*> x .@ "S3CanonicalUserId"--instance ToXML CloudFrontOriginAccessIdentitySummary where- toXML CloudFrontOriginAccessIdentitySummary{..} = nodes "CloudFrontOriginAccessIdentitySummary"- [ "Id" =@ _cfoaisId- , "S3CanonicalUserId" =@ _cfoaisS3CanonicalUserId- , "Comment" =@ _cfoaisComment- ]--data StreamingDistributionSummary = StreamingDistributionSummary- { _sdsAliases :: Aliases- , _sdsComment :: Text- , _sdsDomainName :: Text- , _sdsEnabled :: Bool- , _sdsId :: Text- , _sdsLastModifiedTime :: ISO8601- , _sdsPriceClass :: PriceClass- , _sdsS3Origin :: S3Origin- , _sdsStatus :: Text- , _sdsTrustedSigners :: TrustedSigners- } deriving (Eq, Read, Show)---- | 'StreamingDistributionSummary' constructor.------ The fields accessible through corresponding lenses are:------ * 'sdsAliases' @::@ 'Aliases'------ * 'sdsComment' @::@ 'Text'------ * 'sdsDomainName' @::@ 'Text'------ * 'sdsEnabled' @::@ 'Bool'------ * 'sdsId' @::@ 'Text'------ * 'sdsLastModifiedTime' @::@ 'UTCTime'------ * 'sdsPriceClass' @::@ 'PriceClass'------ * 'sdsS3Origin' @::@ 'S3Origin'------ * 'sdsStatus' @::@ 'Text'------ * 'sdsTrustedSigners' @::@ 'TrustedSigners'----streamingDistributionSummary :: Text -- ^ 'sdsId'- -> Text -- ^ 'sdsStatus'- -> UTCTime -- ^ 'sdsLastModifiedTime'- -> Text -- ^ 'sdsDomainName'- -> S3Origin -- ^ 'sdsS3Origin'- -> Aliases -- ^ 'sdsAliases'- -> TrustedSigners -- ^ 'sdsTrustedSigners'- -> Text -- ^ 'sdsComment'- -> PriceClass -- ^ 'sdsPriceClass'- -> Bool -- ^ 'sdsEnabled'- -> StreamingDistributionSummary-streamingDistributionSummary p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 = StreamingDistributionSummary- { _sdsId = p1- , _sdsStatus = p2- , _sdsLastModifiedTime = withIso _Time (const id) p3- , _sdsDomainName = p4- , _sdsS3Origin = p5- , _sdsAliases = p6- , _sdsTrustedSigners = p7- , _sdsComment = p8- , _sdsPriceClass = p9- , _sdsEnabled = p10- }---- | A complex type that contains information about CNAMEs (alternate domain--- names), if any, for this streaming distribution.-sdsAliases :: Lens' StreamingDistributionSummary Aliases-sdsAliases = lens _sdsAliases (\s a -> s { _sdsAliases = a })---- | The comment originally specified when this distribution was created.-sdsComment :: Lens' StreamingDistributionSummary Text-sdsComment = lens _sdsComment (\s a -> s { _sdsComment = a })---- | The domain name corresponding to the distribution. For example:--- d604721fxaaqy9.cloudfront.net.-sdsDomainName :: Lens' StreamingDistributionSummary Text-sdsDomainName = lens _sdsDomainName (\s a -> s { _sdsDomainName = a })---- | Whether the distribution is enabled to accept end user requests for content.-sdsEnabled :: Lens' StreamingDistributionSummary Bool-sdsEnabled = lens _sdsEnabled (\s a -> s { _sdsEnabled = a })---- | The identifier for the distribution. For example: EDFDVBD632BHDS5.-sdsId :: Lens' StreamingDistributionSummary Text-sdsId = lens _sdsId (\s a -> s { _sdsId = a })---- | The date and time the distribution was last modified.-sdsLastModifiedTime :: Lens' StreamingDistributionSummary UTCTime-sdsLastModifiedTime =- lens _sdsLastModifiedTime (\s a -> s { _sdsLastModifiedTime = a })- . _Time--sdsPriceClass :: Lens' StreamingDistributionSummary PriceClass-sdsPriceClass = lens _sdsPriceClass (\s a -> s { _sdsPriceClass = a })---- | A complex type that contains information about the Amazon S3 bucket from--- which you want CloudFront to get your media files for distribution.-sdsS3Origin :: Lens' StreamingDistributionSummary S3Origin-sdsS3Origin = lens _sdsS3Origin (\s a -> s { _sdsS3Origin = a })---- | Indicates the current status of the distribution. When the status is--- Deployed, the distribution's information is fully propagated throughout the--- Amazon CloudFront system.-sdsStatus :: Lens' StreamingDistributionSummary Text-sdsStatus = lens _sdsStatus (\s a -> s { _sdsStatus = a })---- | 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, go to--- Using a Signed URL to Serve Private Content in the 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.-sdsTrustedSigners :: Lens' StreamingDistributionSummary TrustedSigners-sdsTrustedSigners =- lens _sdsTrustedSigners (\s a -> s { _sdsTrustedSigners = a })--instance FromXML StreamingDistributionSummary where- parseXML x = StreamingDistributionSummary- <$> x .@ "Aliases"- <*> x .@ "Comment"- <*> x .@ "DomainName"- <*> x .@ "Enabled"- <*> x .@ "Id"- <*> x .@ "LastModifiedTime"- <*> x .@ "PriceClass"- <*> x .@ "S3Origin"- <*> x .@ "Status"- <*> x .@ "TrustedSigners"--instance ToXML StreamingDistributionSummary where- toXML StreamingDistributionSummary{..} = nodes "StreamingDistributionSummary"- [ "Id" =@ _sdsId- , "Status" =@ _sdsStatus- , "LastModifiedTime" =@ _sdsLastModifiedTime- , "DomainName" =@ _sdsDomainName- , "S3Origin" =@ _sdsS3Origin- , "Aliases" =@ _sdsAliases- , "TrustedSigners" =@ _sdsTrustedSigners- , "Comment" =@ _sdsComment- , "PriceClass" =@ _sdsPriceClass- , "Enabled" =@ _sdsEnabled- ]--data CustomOriginConfig = CustomOriginConfig- { _cocHTTPPort :: Int- , _cocHTTPSPort :: Int- , _cocOriginProtocolPolicy :: OriginProtocolPolicy- } deriving (Eq, Read, Show)---- | 'CustomOriginConfig' constructor.------ The fields accessible through corresponding lenses are:------ * 'cocHTTPPort' @::@ 'Int'------ * 'cocHTTPSPort' @::@ 'Int'------ * 'cocOriginProtocolPolicy' @::@ 'OriginProtocolPolicy'----customOriginConfig :: Int -- ^ 'cocHTTPPort'- -> Int -- ^ 'cocHTTPSPort'- -> OriginProtocolPolicy -- ^ 'cocOriginProtocolPolicy'- -> CustomOriginConfig-customOriginConfig p1 p2 p3 = CustomOriginConfig- { _cocHTTPPort = p1- , _cocHTTPSPort = p2- , _cocOriginProtocolPolicy = p3- }---- | The HTTP port the custom origin listens on.-cocHTTPPort :: Lens' CustomOriginConfig Int-cocHTTPPort = lens _cocHTTPPort (\s a -> s { _cocHTTPPort = a })---- | The HTTPS port the custom origin listens on.-cocHTTPSPort :: Lens' CustomOriginConfig Int-cocHTTPSPort = lens _cocHTTPSPort (\s a -> s { _cocHTTPSPort = a })---- | The origin protocol policy to apply to your origin.-cocOriginProtocolPolicy :: Lens' CustomOriginConfig OriginProtocolPolicy-cocOriginProtocolPolicy =- lens _cocOriginProtocolPolicy (\s a -> s { _cocOriginProtocolPolicy = a })--instance FromXML CustomOriginConfig where- parseXML x = CustomOriginConfig- <$> x .@ "HTTPPort"- <*> x .@ "HTTPSPort"- <*> x .@ "OriginProtocolPolicy"--instance ToXML CustomOriginConfig where- toXML CustomOriginConfig{..} = nodes "CustomOriginConfig"- [ "HTTPPort" =@ _cocHTTPPort- , "HTTPSPort" =@ _cocHTTPSPort- , "OriginProtocolPolicy" =@ _cocOriginProtocolPolicy- ]--data Aliases = Aliases- { _aItems :: List "CNAME" Text- , _aQuantity :: Int- } deriving (Eq, Ord, Read, Show)---- | 'Aliases' constructor.------ The fields accessible through corresponding lenses are:------ * 'aItems' @::@ ['Text']------ * 'aQuantity' @::@ 'Int'----aliases :: Int -- ^ 'aQuantity'- -> Aliases-aliases p1 = Aliases- { _aQuantity = p1- , _aItems = mempty- }---- | Optional: A complex type that contains CNAME elements, if any, for this--- distribution. If Quantity is 0, you can omit Items.-aItems :: Lens' Aliases [Text]-aItems = lens _aItems (\s a -> s { _aItems = a }) . _List---- | The number of CNAMEs, if any, for this distribution.-aQuantity :: Lens' Aliases Int-aQuantity = lens _aQuantity (\s a -> s { _aQuantity = a })--instance FromXML Aliases where- parseXML x = Aliases- <$> x .@? "Items" .!@ mempty- <*> x .@ "Quantity"--instance ToXML Aliases where- toXML Aliases{..} = nodes "Aliases"- [ "Quantity" =@ _aQuantity- , "Items" =@ _aItems- ]--data InvalidationBatch = InvalidationBatch- { _ibCallerReference :: Text- , _ibPaths :: Paths- } deriving (Eq, Read, Show)---- | 'InvalidationBatch' constructor.------ The fields accessible through corresponding lenses are:------ * 'ibCallerReference' @::@ 'Text'------ * 'ibPaths' @::@ 'Paths'----invalidationBatch :: Paths -- ^ 'ibPaths'- -> Text -- ^ 'ibCallerReference'- -> InvalidationBatch-invalidationBatch p1 p2 = InvalidationBatch- { _ibPaths = p1- , _ibCallerReference = p2- }---- | A unique name that ensures the request can't be replayed. If the--- CallerReference is new (no matter the content of the Path object), a new--- distribution is created. If the CallerReference is a value you already sent--- in a previous request to create an invalidation batch, and the content of--- each Path element is identical to the original request, 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 a distribution--- but the content of any Path is different from the original request,--- CloudFront returns an InvalidationBatchAlreadyExists error.-ibCallerReference :: Lens' InvalidationBatch Text-ibCallerReference =- lens _ibCallerReference (\s a -> s { _ibCallerReference = a })---- | The path of the object to invalidate. The path is relative to the--- distribution and must begin with a slash (/). You must enclose each--- invalidation object with the Path element tags. If the path includes--- non-ASCII characters or unsafe characters as defined in RFC 1783--- (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not--- URL encode any other characters in the path, or CloudFront will not--- invalidate the old version of the updated object.-ibPaths :: Lens' InvalidationBatch Paths-ibPaths = lens _ibPaths (\s a -> s { _ibPaths = a })--instance FromXML InvalidationBatch where- parseXML x = InvalidationBatch- <$> x .@ "CallerReference"- <*> x .@ "Paths"--instance ToXML InvalidationBatch where- toXML InvalidationBatch{..} = nodes "InvalidationBatch"- [ "Paths" =@ _ibPaths- , "CallerReference" =@ _ibCallerReference- ]--data InvalidationSummary = InvalidationSummary- { _isCreateTime :: ISO8601- , _isId :: Text- , _isStatus :: Text- } deriving (Eq, Ord, Read, Show)---- | 'InvalidationSummary' constructor.------ The fields accessible through corresponding lenses are:------ * 'isCreateTime' @::@ 'UTCTime'------ * 'isId' @::@ 'Text'------ * 'isStatus' @::@ 'Text'----invalidationSummary :: Text -- ^ 'isId'- -> UTCTime -- ^ 'isCreateTime'- -> Text -- ^ 'isStatus'- -> InvalidationSummary-invalidationSummary p1 p2 p3 = InvalidationSummary- { _isId = p1- , _isCreateTime = withIso _Time (const id) p2- , _isStatus = p3- }--isCreateTime :: Lens' InvalidationSummary UTCTime-isCreateTime = lens _isCreateTime (\s a -> s { _isCreateTime = a }) . _Time---- | The unique ID for an invalidation request.-isId :: Lens' InvalidationSummary Text-isId = lens _isId (\s a -> s { _isId = a })---- | The status of an invalidation request.-isStatus :: Lens' InvalidationSummary Text-isStatus = lens _isStatus (\s a -> s { _isStatus = a })--instance FromXML InvalidationSummary where- parseXML x = InvalidationSummary- <$> x .@ "CreateTime"- <*> x .@ "Id"- <*> x .@ "Status"--instance ToXML InvalidationSummary where- toXML InvalidationSummary{..} = nodes "InvalidationSummary"- [ "Id" =@ _isId- , "CreateTime" =@ _isCreateTime- , "Status" =@ _isStatus- ]--data DistributionConfig = DistributionConfig- { _dcAliases :: Maybe Aliases- , _dcCacheBehaviors :: Maybe CacheBehaviors- , _dcCallerReference :: Text- , _dcComment :: Text- , _dcCustomErrorResponses :: Maybe CustomErrorResponses- , _dcDefaultCacheBehavior :: DefaultCacheBehavior- , _dcDefaultRootObject :: Maybe Text- , _dcEnabled :: Bool- , _dcLogging :: Maybe LoggingConfig- , _dcOrigins :: Origins- , _dcPriceClass :: Maybe PriceClass- , _dcRestrictions :: Maybe Restrictions- , _dcViewerCertificate :: Maybe ViewerCertificate- } deriving (Eq, Read, Show)---- | 'DistributionConfig' constructor.------ The fields accessible through corresponding lenses are:------ * 'dcAliases' @::@ 'Maybe' 'Aliases'------ * 'dcCacheBehaviors' @::@ 'Maybe' 'CacheBehaviors'------ * 'dcCallerReference' @::@ 'Text'------ * 'dcComment' @::@ 'Text'------ * 'dcCustomErrorResponses' @::@ 'Maybe' 'CustomErrorResponses'------ * 'dcDefaultCacheBehavior' @::@ 'DefaultCacheBehavior'------ * 'dcDefaultRootObject' @::@ 'Maybe' 'Text'------ * 'dcEnabled' @::@ 'Bool'------ * 'dcLogging' @::@ 'Maybe' 'LoggingConfig'------ * 'dcOrigins' @::@ 'Origins'------ * 'dcPriceClass' @::@ 'Maybe' 'PriceClass'------ * 'dcRestrictions' @::@ 'Maybe' 'Restrictions'------ * 'dcViewerCertificate' @::@ 'Maybe' 'ViewerCertificate'----distributionConfig :: Text -- ^ 'dcCallerReference'- -> Origins -- ^ 'dcOrigins'- -> DefaultCacheBehavior -- ^ 'dcDefaultCacheBehavior'- -> Text -- ^ 'dcComment'- -> Bool -- ^ 'dcEnabled'- -> DistributionConfig-distributionConfig p1 p2 p3 p4 p5 = DistributionConfig- { _dcCallerReference = p1- , _dcOrigins = p2- , _dcDefaultCacheBehavior = p3- , _dcComment = p4- , _dcEnabled = p5- , _dcAliases = Nothing- , _dcDefaultRootObject = Nothing- , _dcCacheBehaviors = Nothing- , _dcCustomErrorResponses = Nothing- , _dcLogging = Nothing- , _dcPriceClass = Nothing- , _dcViewerCertificate = Nothing- , _dcRestrictions = Nothing- }---- | A complex type that contains information about CNAMEs (alternate domain--- names), if any, for this distribution.-dcAliases :: Lens' DistributionConfig (Maybe Aliases)-dcAliases = lens _dcAliases (\s a -> s { _dcAliases = a })---- | A complex type that contains zero or more CacheBehavior elements.-dcCacheBehaviors :: Lens' DistributionConfig (Maybe CacheBehaviors)-dcCacheBehaviors = lens _dcCacheBehaviors (\s a -> s { _dcCacheBehaviors = a })---- | A unique number that ensures the request can't be replayed. If the--- CallerReference is new (no matter the content of the DistributionConfig--- object), a new distribution is created. If the CallerReference is a value you--- already sent in a previous request to create a distribution, and the content--- of the DistributionConfig 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 a distribution but the content of the--- DistributionConfig is different from the original request, CloudFront returns--- a DistributionAlreadyExists error.-dcCallerReference :: Lens' DistributionConfig Text-dcCallerReference =- lens _dcCallerReference (\s a -> s { _dcCallerReference = a })---- | Any comments you want to include about the distribution.-dcComment :: Lens' DistributionConfig Text-dcComment = lens _dcComment (\s a -> s { _dcComment = a })---- | A complex type that contains zero or more CustomErrorResponse elements.-dcCustomErrorResponses :: Lens' DistributionConfig (Maybe CustomErrorResponses)-dcCustomErrorResponses =- lens _dcCustomErrorResponses (\s a -> s { _dcCustomErrorResponses = a })---- | 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.-dcDefaultCacheBehavior :: Lens' DistributionConfig DefaultCacheBehavior-dcDefaultCacheBehavior =- lens _dcDefaultCacheBehavior (\s a -> s { _dcDefaultCacheBehavior = a })---- | The object that you want CloudFront to return (for example, index.html) when--- an end user requests the root URL for your distribution--- (http://www.example.com) instead of an object in your distribution--- (http://www.example.com/index.html). Specifying a default root object avoids--- exposing the contents of your distribution. 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.-dcDefaultRootObject :: Lens' DistributionConfig (Maybe Text)-dcDefaultRootObject =- lens _dcDefaultRootObject (\s a -> s { _dcDefaultRootObject = a })---- | Whether the distribution is enabled to accept end user requests for content.-dcEnabled :: Lens' DistributionConfig Bool-dcEnabled = lens _dcEnabled (\s a -> s { _dcEnabled = a })---- | A complex type that controls whether access logs are written for the--- distribution.-dcLogging :: Lens' DistributionConfig (Maybe LoggingConfig)-dcLogging = lens _dcLogging (\s a -> s { _dcLogging = a })---- | A complex type that contains information about origins for this distribution.-dcOrigins :: Lens' DistributionConfig Origins-dcOrigins = lens _dcOrigins (\s a -> s { _dcOrigins = a })---- | A complex type that contains information about price class for this--- distribution.-dcPriceClass :: Lens' DistributionConfig (Maybe PriceClass)-dcPriceClass = lens _dcPriceClass (\s a -> s { _dcPriceClass = a })--dcRestrictions :: Lens' DistributionConfig (Maybe Restrictions)-dcRestrictions = lens _dcRestrictions (\s a -> s { _dcRestrictions = a })--dcViewerCertificate :: Lens' DistributionConfig (Maybe ViewerCertificate)-dcViewerCertificate =- lens _dcViewerCertificate (\s a -> s { _dcViewerCertificate = a })--instance FromXML DistributionConfig where- parseXML x = DistributionConfig- <$> x .@? "Aliases"- <*> x .@? "CacheBehaviors"- <*> x .@ "CallerReference"- <*> x .@ "Comment"- <*> x .@? "CustomErrorResponses"- <*> x .@ "DefaultCacheBehavior"- <*> x .@? "DefaultRootObject"- <*> x .@ "Enabled"- <*> x .@? "Logging"- <*> x .@ "Origins"- <*> x .@? "PriceClass"- <*> x .@? "Restrictions"- <*> x .@? "ViewerCertificate"--instance ToXMLRoot DistributionConfig where- toXMLRoot DistributionConfig{..} = namespaced ns "DistributionConfig"- [ "CallerReference" =@ _dcCallerReference- , "Aliases" =@ _dcAliases- , "DefaultRootObject" =@ _dcDefaultRootObject- , "Origins" =@ _dcOrigins- , "DefaultCacheBehavior" =@ _dcDefaultCacheBehavior- , "CacheBehaviors" =@ _dcCacheBehaviors- , "CustomErrorResponses" =@ _dcCustomErrorResponses- , "Comment" =@ _dcComment- , "Logging" =@ _dcLogging- , "PriceClass" =@ _dcPriceClass- , "Enabled" =@ _dcEnabled- , "ViewerCertificate" =@ _dcViewerCertificate- , "Restrictions" =@ _dcRestrictions- ]--instance ToXML DistributionConfig--data CacheBehavior = CacheBehavior- { _cbAllowedMethods :: Maybe AllowedMethods- , _cbForwardedValues :: ForwardedValues- , _cbMinTTL :: Integer- , _cbPathPattern :: Text- , _cbSmoothStreaming :: Maybe Bool- , _cbTargetOriginId :: Text- , _cbTrustedSigners :: TrustedSigners- , _cbViewerProtocolPolicy :: ViewerProtocolPolicy- } deriving (Eq, Read, Show)---- | 'CacheBehavior' constructor.------ The fields accessible through corresponding lenses are:------ * 'cbAllowedMethods' @::@ 'Maybe' 'AllowedMethods'------ * 'cbForwardedValues' @::@ 'ForwardedValues'------ * 'cbMinTTL' @::@ 'Integer'------ * 'cbPathPattern' @::@ 'Text'------ * 'cbSmoothStreaming' @::@ 'Maybe' 'Bool'------ * 'cbTargetOriginId' @::@ 'Text'------ * 'cbTrustedSigners' @::@ 'TrustedSigners'------ * 'cbViewerProtocolPolicy' @::@ 'ViewerProtocolPolicy'----cacheBehavior :: Text -- ^ 'cbPathPattern'- -> Text -- ^ 'cbTargetOriginId'- -> ForwardedValues -- ^ 'cbForwardedValues'- -> TrustedSigners -- ^ 'cbTrustedSigners'- -> ViewerProtocolPolicy -- ^ 'cbViewerProtocolPolicy'- -> Integer -- ^ 'cbMinTTL'- -> CacheBehavior-cacheBehavior p1 p2 p3 p4 p5 p6 = CacheBehavior- { _cbPathPattern = p1- , _cbTargetOriginId = p2- , _cbForwardedValues = p3- , _cbTrustedSigners = p4- , _cbViewerProtocolPolicy = p5- , _cbMinTTL = p6- , _cbAllowedMethods = Nothing- , _cbSmoothStreaming = Nothing- }--cbAllowedMethods :: Lens' CacheBehavior (Maybe AllowedMethods)-cbAllowedMethods = lens _cbAllowedMethods (\s a -> s { _cbAllowedMethods = a })---- | A complex type that specifies how CloudFront handles query strings, cookies--- and headers.-cbForwardedValues :: Lens' CacheBehavior ForwardedValues-cbForwardedValues =- lens _cbForwardedValues (\s a -> s { _cbForwardedValues = a })---- | The minimum amount of time that you want objects to stay in CloudFront caches--- before CloudFront queries your origin to see whether the object has been--- updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).-cbMinTTL :: Lens' CacheBehavior Integer-cbMinTTL = lens _cbMinTTL (\s a -> s { _cbMinTTL = a })---- | The pattern (for example, images/*.jpg) that specifies which requests you--- want this cache behavior to apply to. When CloudFront receives an end-user--- 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.-cbPathPattern :: Lens' CacheBehavior Text-cbPathPattern = lens _cbPathPattern (\s a -> s { _cbPathPattern = a })---- | Indicates whether you want to distribute media files in Microsoft Smooth--- Streaming format using the origin that is associated with this cache--- behavior. If so, specify true; if not, specify false.-cbSmoothStreaming :: Lens' CacheBehavior (Maybe Bool)-cbSmoothStreaming =- lens _cbSmoothStreaming (\s a -> s { _cbSmoothStreaming = a })---- | The value of ID for the origin that you want CloudFront to route requests to--- when a request matches the path pattern either for a cache behavior or for--- the default cache behavior.-cbTargetOriginId :: Lens' CacheBehavior Text-cbTargetOriginId = lens _cbTargetOriginId (\s a -> s { _cbTargetOriginId = a })---- | 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, go to--- Using a Signed URL to Serve Private Content in the Amazon CloudFront--- Developer Guide. If you don't want to require signed URLs in requests for--- objects that match PathPattern, specify false for Enabled and 0 for Quantity.--- Omit Items. To add, change, or remove one or more trusted signers, change--- Enabled to true (if it's currently false), change Quantity as applicable, and--- specify all of the trusted signers that you want to include in the updated--- distribution.-cbTrustedSigners :: Lens' CacheBehavior TrustedSigners-cbTrustedSigners = lens _cbTrustedSigners (\s a -> s { _cbTrustedSigners = a })---- | Use this element to specify the protocol that users can use to access the--- files in the origin specified by TargetOriginId when a request matches the--- path pattern in PathPattern. If you want CloudFront to allow end users to use--- any available protocol, specify allow-all. If you want CloudFront to require--- HTTPS, specify https. If you want CloudFront to respond to an HTTP request--- with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL,--- specify redirect-to-https. The viewer then resubmits the request using the--- HTTPS URL.-cbViewerProtocolPolicy :: Lens' CacheBehavior ViewerProtocolPolicy-cbViewerProtocolPolicy =- lens _cbViewerProtocolPolicy (\s a -> s { _cbViewerProtocolPolicy = a })--instance FromXML CacheBehavior where- parseXML x = CacheBehavior- <$> x .@? "AllowedMethods"- <*> x .@ "ForwardedValues"- <*> x .@ "MinTTL"- <*> x .@ "PathPattern"- <*> x .@? "SmoothStreaming"- <*> x .@ "TargetOriginId"- <*> x .@ "TrustedSigners"- <*> x .@ "ViewerProtocolPolicy"--instance ToXML CacheBehavior where- toXML CacheBehavior{..} = nodes "CacheBehavior"- [ "PathPattern" =@ _cbPathPattern- , "TargetOriginId" =@ _cbTargetOriginId- , "ForwardedValues" =@ _cbForwardedValues- , "TrustedSigners" =@ _cbTrustedSigners- , "ViewerProtocolPolicy" =@ _cbViewerProtocolPolicy- , "MinTTL" =@ _cbMinTTL- , "AllowedMethods" =@ _cbAllowedMethods- , "SmoothStreaming" =@ _cbSmoothStreaming- ]--data DistributionList = DistributionList- { _dlIsTruncated :: Bool- , _dlItems :: List "DistributionSummary" DistributionSummary- , _dlMarker :: Text- , _dlMaxItems :: Int- , _dlNextMarker :: Maybe Text- , _dlQuantity :: Int- } deriving (Eq, Read, Show)---- | 'DistributionList' constructor.------ The fields accessible through corresponding lenses are:------ * 'dlIsTruncated' @::@ 'Bool'------ * 'dlItems' @::@ ['DistributionSummary']------ * 'dlMarker' @::@ 'Text'------ * 'dlMaxItems' @::@ 'Int'------ * 'dlNextMarker' @::@ 'Maybe' 'Text'------ * 'dlQuantity' @::@ 'Int'----distributionList :: Text -- ^ 'dlMarker'- -> Int -- ^ 'dlMaxItems'- -> Bool -- ^ 'dlIsTruncated'- -> Int -- ^ 'dlQuantity'- -> DistributionList-distributionList p1 p2 p3 p4 = DistributionList- { _dlMarker = p1- , _dlMaxItems = p2- , _dlIsTruncated = p3- , _dlQuantity = p4- , _dlNextMarker = Nothing- , _dlItems = mempty- }---- | A flag that indicates whether more distributions remain to be listed. If your--- results were truncated, you can make a follow-up pagination request using the--- Marker request parameter to retrieve more distributions in the list.-dlIsTruncated :: Lens' DistributionList Bool-dlIsTruncated = lens _dlIsTruncated (\s a -> s { _dlIsTruncated = a })---- | A complex type that contains one DistributionSummary element for each--- distribution that was created by the current AWS account.-dlItems :: Lens' DistributionList [DistributionSummary]-dlItems = lens _dlItems (\s a -> s { _dlItems = a }) . _List---- | The value you provided for the Marker request parameter.-dlMarker :: Lens' DistributionList Text-dlMarker = lens _dlMarker (\s a -> s { _dlMarker = a })---- | The value you provided for the MaxItems request parameter.-dlMaxItems :: Lens' DistributionList Int-dlMaxItems = lens _dlMaxItems (\s a -> s { _dlMaxItems = a })---- | If IsTruncated is true, this element is present and contains the value you--- can use for the Marker request parameter to continue listing your--- distributions where they left off.-dlNextMarker :: Lens' DistributionList (Maybe Text)-dlNextMarker = lens _dlNextMarker (\s a -> s { _dlNextMarker = a })---- | The number of distributions that were created by the current AWS account.-dlQuantity :: Lens' DistributionList Int-dlQuantity = lens _dlQuantity (\s a -> s { _dlQuantity = a })--instance FromXML DistributionList where- parseXML x = DistributionList- <$> x .@ "IsTruncated"- <*> x .@? "Items" .!@ mempty- <*> x .@ "Marker"- <*> x .@ "MaxItems"- <*> x .@? "NextMarker"- <*> x .@ "Quantity"--instance ToXML DistributionList where- toXML DistributionList{..} = nodes "DistributionList"- [ "Marker" =@ _dlMarker- , "NextMarker" =@ _dlNextMarker- , "MaxItems" =@ _dlMaxItems- , "IsTruncated" =@ _dlIsTruncated- , "Quantity" =@ _dlQuantity- , "Items" =@ _dlItems- ]--data KeyPairIds = KeyPairIds- { _kpiItems :: List "KeyPairId" Text- , _kpiQuantity :: Int- } deriving (Eq, Ord, Read, Show)---- | 'KeyPairIds' constructor.------ The fields accessible through corresponding lenses are:------ * 'kpiItems' @::@ ['Text']------ * 'kpiQuantity' @::@ 'Int'----keyPairIds :: Int -- ^ 'kpiQuantity'- -> KeyPairIds-keyPairIds p1 = KeyPairIds- { _kpiQuantity = p1- , _kpiItems = mempty- }---- | A complex type that lists the active CloudFront key pairs, if any, that are--- associated with AwsAccountNumber.-kpiItems :: Lens' KeyPairIds [Text]-kpiItems = lens _kpiItems (\s a -> s { _kpiItems = a }) . _List---- | The number of active CloudFront key pairs for AwsAccountNumber.-kpiQuantity :: Lens' KeyPairIds Int-kpiQuantity = lens _kpiQuantity (\s a -> s { _kpiQuantity = a })--instance FromXML KeyPairIds where- parseXML x = KeyPairIds- <$> x .@? "Items" .!@ mempty- <*> x .@ "Quantity"--instance ToXML KeyPairIds where- toXML KeyPairIds{..} = nodes "KeyPairIds"- [ "Quantity" =@ _kpiQuantity- , "Items" =@ _kpiItems- ]--data PriceClass- = PriceClass100 -- ^ PriceClass_100- | PriceClass200 -- ^ PriceClass_200- | PriceClassAll -- ^ PriceClass_All- deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable PriceClass--instance FromText PriceClass where- parser = takeLowerText >>= \case- "priceclass_100" -> pure PriceClass100- "priceclass_200" -> pure PriceClass200- "priceclass_all" -> pure PriceClassAll- e -> fail $- "Failure parsing PriceClass from " ++ show e--instance ToText PriceClass where- toText = \case- PriceClass100 -> "PriceClass_100"- PriceClass200 -> "PriceClass_200"- PriceClassAll -> "PriceClass_All"--instance ToByteString PriceClass-instance ToHeader PriceClass-instance ToQuery PriceClass--instance FromXML PriceClass where- parseXML = parseXMLText "PriceClass"--instance ToXML PriceClass where- toXML = toXMLText--data CustomErrorResponses = CustomErrorResponses- { _cerItems :: List "CustomErrorResponse" CustomErrorResponse- , _cerQuantity :: Int- } deriving (Eq, Read, Show)---- | 'CustomErrorResponses' constructor.------ The fields accessible through corresponding lenses are:------ * 'cerItems' @::@ ['CustomErrorResponse']------ * 'cerQuantity' @::@ 'Int'----customErrorResponses :: Int -- ^ 'cerQuantity'- -> CustomErrorResponses-customErrorResponses p1 = CustomErrorResponses- { _cerQuantity = p1- , _cerItems = mempty- }---- | Optional: A complex type that contains custom error responses for this--- distribution. If Quantity is 0, you can omit Items.-cerItems :: Lens' CustomErrorResponses [CustomErrorResponse]-cerItems = lens _cerItems (\s a -> s { _cerItems = a }) . _List---- | The number of custom error responses for this distribution.-cerQuantity :: Lens' CustomErrorResponses Int-cerQuantity = lens _cerQuantity (\s a -> s { _cerQuantity = a })--instance FromXML CustomErrorResponses where- parseXML x = CustomErrorResponses- <$> x .@? "Items" .!@ mempty- <*> x .@ "Quantity"--instance ToXML CustomErrorResponses where- toXML CustomErrorResponses{..} = nodes "CustomErrorResponses"- [ "Quantity" =@ _cerQuantity- , "Items" =@ _cerItems- ]--newtype S3OriginConfig = S3OriginConfig- { _socOriginAccessIdentity :: Text- } deriving (Eq, Ord, Read, Show, Monoid, IsString)---- | 'S3OriginConfig' constructor.------ The fields accessible through corresponding lenses are:------ * 'socOriginAccessIdentity' @::@ 'Text'----s3OriginConfig :: Text -- ^ 'socOriginAccessIdentity'- -> S3OriginConfig-s3OriginConfig p1 = S3OriginConfig- { _socOriginAccessIdentity = p1- }---- | The CloudFront origin access identity to associate with the origin. Use an--- origin access identity to configure the origin 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. Use the format--- origin-access-identity/cloudfront/Id where Id is the value that CloudFront--- returned in the Id element when you created the origin access identity.-socOriginAccessIdentity :: Lens' S3OriginConfig Text-socOriginAccessIdentity =- lens _socOriginAccessIdentity (\s a -> s { _socOriginAccessIdentity = a })--instance FromXML S3OriginConfig where- parseXML x = S3OriginConfig- <$> x .@ "OriginAccessIdentity"--instance ToXML S3OriginConfig where- toXML S3OriginConfig{..} = nodes "S3OriginConfig"- [ "OriginAccessIdentity" =@ _socOriginAccessIdentity- ]--data GeoRestriction = GeoRestriction- { _grItems :: List "Location" Text- , _grQuantity :: Int- , _grRestrictionType :: GeoRestrictionType- } deriving (Eq, Read, Show)---- | 'GeoRestriction' constructor.------ The fields accessible through corresponding lenses are:------ * 'grItems' @::@ ['Text']------ * 'grQuantity' @::@ 'Int'------ * 'grRestrictionType' @::@ 'GeoRestrictionType'----geoRestriction :: GeoRestrictionType -- ^ 'grRestrictionType'- -> Int -- ^ 'grQuantity'- -> GeoRestriction-geoRestriction p1 p2 = GeoRestriction- { _grRestrictionType = p1- , _grQuantity = p2- , _grItems = mempty- }---- | 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.-grItems :: Lens' GeoRestriction [Text]-grItems = lens _grItems (\s a -> s { _grItems = a }) . _List---- | When geo restriction is enabled, this is the number of countries in your--- whitelist or blacklist. Otherwise, when it is not enabled, Quantity is 0, and--- you can omit Items.-grQuantity :: Lens' GeoRestriction Int-grQuantity = lens _grQuantity (\s a -> s { _grQuantity = a })---- | 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.-grRestrictionType :: Lens' GeoRestriction GeoRestrictionType-grRestrictionType =- lens _grRestrictionType (\s a -> s { _grRestrictionType = a })--instance FromXML GeoRestriction where- parseXML x = GeoRestriction- <$> x .@? "Items" .!@ mempty- <*> x .@ "Quantity"- <*> x .@ "RestrictionType"--instance ToXML GeoRestriction where- toXML GeoRestriction{..} = nodes "GeoRestriction"- [ "RestrictionType" =@ _grRestrictionType- , "Quantity" =@ _grQuantity- , "Items" =@ _grItems- ]--data S3Origin = S3Origin- { _soDomainName :: Text- , _soOriginAccessIdentity :: Text- } deriving (Eq, Ord, Read, Show)---- | 'S3Origin' constructor.------ The fields accessible through corresponding lenses are:------ * 'soDomainName' @::@ 'Text'------ * 'soOriginAccessIdentity' @::@ 'Text'----s3Origin :: Text -- ^ 'soDomainName'- -> Text -- ^ 'soOriginAccessIdentity'- -> S3Origin-s3Origin p1 p2 = S3Origin- { _soDomainName = p1- , _soOriginAccessIdentity = p2- }---- | The DNS name of the S3 origin.-soDomainName :: Lens' S3Origin Text-soDomainName = lens _soDomainName (\s a -> s { _soDomainName = a })---- | Your S3 origin's origin access identity.-soOriginAccessIdentity :: Lens' S3Origin Text-soOriginAccessIdentity =- lens _soOriginAccessIdentity (\s a -> s { _soOriginAccessIdentity = a })--instance FromXML S3Origin where- parseXML x = S3Origin- <$> x .@ "DomainName"- <*> x .@ "OriginAccessIdentity"--instance ToXML S3Origin where- toXML S3Origin{..} = nodes "S3Origin"- [ "DomainName" =@ _soDomainName- , "OriginAccessIdentity" =@ _soOriginAccessIdentity- ]--data Headers = Headers- { _hItems :: List "Name" Text- , _hQuantity :: Int- } deriving (Eq, Ord, Read, Show)---- | 'Headers' constructor.------ The fields accessible through corresponding lenses are:------ * 'hItems' @::@ ['Text']------ * 'hQuantity' @::@ 'Int'----headers :: Int -- ^ 'hQuantity'- -> Headers-headers p1 = Headers- { _hQuantity = p1- , _hItems = mempty- }---- | Optional: A complex type that contains a 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.-hItems :: Lens' Headers [Text]-hItems = lens _hItems (\s a -> s { _hItems = a }) . _List---- | The number of different headers that you want CloudFront to forward to the--- origin and to vary on for this cache behavior. The maximum number of headers--- that you can specify by name is 10. If you want CloudFront to forward all--- headers to the origin and vary on all of them, specify 1 for Quantity and *--- for Name. If you don't want CloudFront to forward any additional headers to--- the origin or to vary on any headers, specify 0 for Quantity and omit Items.-hQuantity :: Lens' Headers Int-hQuantity = lens _hQuantity (\s a -> s { _hQuantity = a })--instance FromXML Headers where- parseXML x = Headers- <$> x .@? "Items" .!@ mempty- <*> x .@ "Quantity"--instance ToXML Headers where- toXML Headers{..} = nodes "Headers"- [ "Quantity" =@ _hQuantity- , "Items" =@ _hItems- ]--data CachedMethods = CachedMethods- { _cmItems :: List "Method" Method- , _cmQuantity :: Int- } deriving (Eq, Read, Show)---- | 'CachedMethods' constructor.------ The fields accessible through corresponding lenses are:------ * 'cmItems' @::@ ['Method']------ * 'cmQuantity' @::@ 'Int'----cachedMethods :: Int -- ^ 'cmQuantity'- -> CachedMethods-cachedMethods p1 = CachedMethods- { _cmQuantity = p1- , _cmItems = mempty- }---- | A complex type that contains the HTTP methods that you want CloudFront to--- cache responses to.-cmItems :: Lens' CachedMethods [Method]-cmItems = lens _cmItems (\s a -> s { _cmItems = a }) . _List---- | The number of HTTP methods for which you want CloudFront to cache responses.--- Valid values are 2 (for caching responses to GET and HEAD requests) and 3--- (for caching responses to GET, HEAD, and OPTIONS requests).-cmQuantity :: Lens' CachedMethods Int-cmQuantity = lens _cmQuantity (\s a -> s { _cmQuantity = a })--instance FromXML CachedMethods where- parseXML x = CachedMethods- <$> x .@? "Items" .!@ mempty- <*> x .@ "Quantity"--instance ToXML CachedMethods where- toXML CachedMethods{..} = nodes "CachedMethods"- [ "Quantity" =@ _cmQuantity- , "Items" =@ _cmItems- ]--data ViewerCertificate = ViewerCertificate- { _vcCloudFrontDefaultCertificate :: Maybe Bool- , _vcIAMCertificateId :: Maybe Text- , _vcMinimumProtocolVersion :: Maybe MinimumProtocolVersion- , _vcSSLSupportMethod :: Maybe SSLSupportMethod- } deriving (Eq, Read, Show)---- | 'ViewerCertificate' constructor.------ The fields accessible through corresponding lenses are:------ * 'vcCloudFrontDefaultCertificate' @::@ 'Maybe' 'Bool'------ * 'vcIAMCertificateId' @::@ 'Maybe' 'Text'------ * 'vcMinimumProtocolVersion' @::@ 'Maybe' 'MinimumProtocolVersion'------ * 'vcSSLSupportMethod' @::@ 'Maybe' 'SSLSupportMethod'----viewerCertificate :: ViewerCertificate-viewerCertificate = ViewerCertificate- { _vcIAMCertificateId = Nothing- , _vcCloudFrontDefaultCertificate = Nothing- , _vcSSLSupportMethod = Nothing- , _vcMinimumProtocolVersion = Nothing- }---- | 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 IAMCertificateId.-vcCloudFrontDefaultCertificate :: Lens' ViewerCertificate (Maybe Bool)-vcCloudFrontDefaultCertificate =- lens _vcCloudFrontDefaultCertificate- (\s a -> s { _vcCloudFrontDefaultCertificate = a })---- | 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 or--- CloudFrontDefaultCertificate.-vcIAMCertificateId :: Lens' ViewerCertificate (Maybe Text)-vcIAMCertificateId =- lens _vcIAMCertificateId (\s a -> s { _vcIAMCertificateId = a })---- | Specify the minimum version of the SSL protocol that you want CloudFront to--- use, SSLv3 or TLSv1, for HTTPS connections. CloudFront will serve your--- objects only to browsers or devices that support at least the SSL version--- that you specify. 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. If you're using a custom certificate (if you specify a value--- for IAMCertificateId) and if you're using dedicated IP (if you specify vip--- for SSLSupportMethod), you can choose SSLv3 or TLSv1 as the--- MinimumProtocolVersion. If you're using a custom certificate (if you specify--- a value for IAMCertificateId) and if you're using SNI (if you specify--- sni-only for SSLSupportMethod), you must specify TLSv1 for--- MinimumProtocolVersion.-vcMinimumProtocolVersion :: Lens' ViewerCertificate (Maybe MinimumProtocolVersion)-vcMinimumProtocolVersion =- lens _vcMinimumProtocolVersion- (\s a -> s { _vcMinimumProtocolVersion = a })---- | If you specify a value for IAMCertificateId, you must also specify how you--- want CloudFront to serve HTTPS requests. Valid values are vip and sni-only.--- If you specify 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. If--- you specify sni-only, CloudFront can only 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. Do not specify--- a value for SSLSupportMethod if you specified true for--- CloudFrontDefaultCertificate.-vcSSLSupportMethod :: Lens' ViewerCertificate (Maybe SSLSupportMethod)-vcSSLSupportMethod =- lens _vcSSLSupportMethod (\s a -> s { _vcSSLSupportMethod = a })--instance FromXML ViewerCertificate where- parseXML x = ViewerCertificate- <$> x .@? "CloudFrontDefaultCertificate"- <*> x .@? "IAMCertificateId"- <*> x .@? "MinimumProtocolVersion"- <*> x .@? "SSLSupportMethod"--instance ToXML ViewerCertificate where- toXML ViewerCertificate{..} = nodes "ViewerCertificate"- [ "IAMCertificateId" =@ _vcIAMCertificateId- , "CloudFrontDefaultCertificate" =@ _vcCloudFrontDefaultCertificate- , "SSLSupportMethod" =@ _vcSSLSupportMethod- , "MinimumProtocolVersion" =@ _vcMinimumProtocolVersion- ]--newtype Restrictions = Restrictions- { _rGeoRestriction :: GeoRestriction- } deriving (Eq, Read, Show)---- | 'Restrictions' constructor.------ The fields accessible through corresponding lenses are:------ * 'rGeoRestriction' @::@ 'GeoRestriction'----restrictions :: GeoRestriction -- ^ 'rGeoRestriction'- -> Restrictions-restrictions p1 = Restrictions- { _rGeoRestriction = p1- }--rGeoRestriction :: Lens' Restrictions GeoRestriction-rGeoRestriction = lens _rGeoRestriction (\s a -> s { _rGeoRestriction = a })--instance FromXML Restrictions where- parseXML x = Restrictions- <$> x .@ "GeoRestriction"--instance ToXML Restrictions where- toXML Restrictions{..} = nodes "Restrictions"- [ "GeoRestriction" =@ _rGeoRestriction- ]--data Origins = Origins- { _oItems :: List1 "Origin" Origin- , _oQuantity :: Int- } deriving (Eq, Read, Show)---- | 'Origins' constructor.------ The fields accessible through corresponding lenses are:------ * 'oItems' @::@ 'NonEmpty' 'Origin'------ * 'oQuantity' @::@ 'Int'----origins :: Int -- ^ 'oQuantity'- -> NonEmpty Origin -- ^ 'oItems'- -> Origins-origins p1 p2 = Origins- { _oQuantity = p1- , _oItems = withIso _List1 (const id) p2- }---- | A complex type that contains origins for this distribution.-oItems :: Lens' Origins (NonEmpty Origin)-oItems = lens _oItems (\s a -> s { _oItems = a }) . _List1---- | The number of origins for this distribution.-oQuantity :: Lens' Origins Int-oQuantity = lens _oQuantity (\s a -> s { _oQuantity = a })--instance FromXML Origins where- parseXML x = Origins- <$> x .@ "Items"- <*> x .@ "Quantity"--instance ToXML Origins where- toXML Origins{..} = nodes "Origins"- [ "Quantity" =@ _oQuantity- , "Items" =@ _oItems- ]--data Method- = Delete' -- ^ DELETE- | Get -- ^ GET- | Head' -- ^ HEAD- | Options -- ^ OPTIONS- | Patch -- ^ PATCH- | Post -- ^ POST- | Put -- ^ PUT- deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable Method--instance FromText Method where- parser = takeLowerText >>= \case- "delete" -> pure Delete'- "get" -> pure Get- "head" -> pure Head'- "options" -> pure Options- "patch" -> pure Patch- "post" -> pure Post- "put" -> pure Put- e -> fail $- "Failure parsing Method from " ++ show e--instance ToText Method where- toText = \case- Delete' -> "DELETE"- Get -> "GET"- Head' -> "HEAD"- Options -> "OPTIONS"- Patch -> "PATCH"- Post -> "POST"- Put -> "PUT"--instance ToByteString Method-instance ToHeader Method-instance ToQuery Method--instance FromXML Method where- parseXML = parseXMLText "Method"--instance ToXML Method where- toXML = toXMLText--data MinimumProtocolVersion- = SSLv3 -- ^ SSLv3- | TLSv1 -- ^ TLSv1- deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable MinimumProtocolVersion--instance FromText MinimumProtocolVersion where- parser = takeLowerText >>= \case- "sslv3" -> pure SSLv3- "tlsv1" -> pure TLSv1- e -> fail $- "Failure parsing MinimumProtocolVersion from " ++ show e--instance ToText MinimumProtocolVersion where- toText = \case- SSLv3 -> "SSLv3"- TLSv1 -> "TLSv1"--instance ToByteString MinimumProtocolVersion-instance ToHeader MinimumProtocolVersion-instance ToQuery MinimumProtocolVersion--instance FromXML MinimumProtocolVersion where- parseXML = parseXMLText "MinimumProtocolVersion"--instance ToXML MinimumProtocolVersion where- toXML = toXMLText--data ForwardedValues = ForwardedValues- { _fvCookies :: CookiePreference- , _fvHeaders :: Maybe Headers- , _fvQueryString :: Bool- } deriving (Eq, Read, Show)---- | 'ForwardedValues' constructor.------ The fields accessible through corresponding lenses are:------ * 'fvCookies' @::@ 'CookiePreference'------ * 'fvHeaders' @::@ 'Maybe' 'Headers'------ * 'fvQueryString' @::@ 'Bool'----forwardedValues :: Bool -- ^ 'fvQueryString'- -> CookiePreference -- ^ 'fvCookies'- -> ForwardedValues-forwardedValues p1 p2 = ForwardedValues- { _fvQueryString = p1- , _fvCookies = p2- , _fvHeaders = Nothing- }---- | A complex type that specifies how CloudFront handles cookies.-fvCookies :: Lens' ForwardedValues CookiePreference-fvCookies = lens _fvCookies (\s a -> s { _fvCookies = a })---- | A complex type that specifies the Headers, if any, that you want CloudFront--- to vary upon for this cache behavior.-fvHeaders :: Lens' ForwardedValues (Maybe Headers)-fvHeaders = lens _fvHeaders (\s a -> s { _fvHeaders = a })---- | Indicates whether you want CloudFront to forward query strings to the origin--- that is associated with this cache behavior. If so, specify true; if not,--- specify false.-fvQueryString :: Lens' ForwardedValues Bool-fvQueryString = lens _fvQueryString (\s a -> s { _fvQueryString = a })--instance FromXML ForwardedValues where- parseXML x = ForwardedValues- <$> x .@ "Cookies"- <*> x .@? "Headers"- <*> x .@ "QueryString"--instance ToXML ForwardedValues where- toXML ForwardedValues{..} = nodes "ForwardedValues"- [ "QueryString" =@ _fvQueryString- , "Cookies" =@ _fvCookies- , "Headers" =@ _fvHeaders- ]--data TrustedSigners = TrustedSigners- { _tsEnabled :: Bool- , _tsItems :: List "AwsAccountNumber" Text- , _tsQuantity :: Int- } deriving (Eq, Ord, Read, Show)---- | 'TrustedSigners' constructor.------ The fields accessible through corresponding lenses are:------ * 'tsEnabled' @::@ 'Bool'------ * 'tsItems' @::@ ['Text']------ * 'tsQuantity' @::@ 'Int'----trustedSigners :: Bool -- ^ 'tsEnabled'- -> Int -- ^ 'tsQuantity'- -> TrustedSigners-trustedSigners p1 p2 = TrustedSigners- { _tsEnabled = p1- , _tsQuantity = p2- , _tsItems = mempty- }---- | Specifies whether you want to require end users to use signed URLs to access--- the files specified by PathPattern and TargetOriginId.-tsEnabled :: Lens' TrustedSigners Bool-tsEnabled = lens _tsEnabled (\s a -> s { _tsEnabled = a })---- | Optional: A complex type that contains trusted signers for this cache--- behavior. If Quantity is 0, you can omit Items.-tsItems :: Lens' TrustedSigners [Text]-tsItems = lens _tsItems (\s a -> s { _tsItems = a }) . _List---- | The number of trusted signers for this cache behavior.-tsQuantity :: Lens' TrustedSigners Int-tsQuantity = lens _tsQuantity (\s a -> s { _tsQuantity = a })--instance FromXML TrustedSigners where- parseXML x = TrustedSigners- <$> x .@ "Enabled"- <*> x .@? "Items" .!@ mempty- <*> x .@ "Quantity"--instance ToXML TrustedSigners where- toXML TrustedSigners{..} = nodes "TrustedSigners"- [ "Enabled" =@ _tsEnabled- , "Quantity" =@ _tsQuantity- , "Items" =@ _tsItems- ]--data ItemSelection- = All -- ^ all- | None -- ^ none- | Whitelist -- ^ whitelist- deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ItemSelection--instance FromText ItemSelection where- parser = takeLowerText >>= \case- "all" -> pure All- "none" -> pure None- "whitelist" -> pure Whitelist- e -> fail $- "Failure parsing ItemSelection from " ++ show e--instance ToText ItemSelection where- toText = \case- All -> "all"- None -> "none"- Whitelist -> "whitelist"--instance ToByteString ItemSelection-instance ToHeader ItemSelection-instance ToQuery ItemSelection--instance FromXML ItemSelection where- parseXML = parseXMLText "ItemSelection"--instance ToXML ItemSelection where- toXML = toXMLText--data StreamingLoggingConfig = StreamingLoggingConfig- { _slcBucket :: Text- , _slcEnabled :: Bool- , _slcPrefix :: Text- } deriving (Eq, Ord, Read, Show)---- | 'StreamingLoggingConfig' constructor.------ The fields accessible through corresponding lenses are:------ * 'slcBucket' @::@ 'Text'------ * 'slcEnabled' @::@ 'Bool'------ * 'slcPrefix' @::@ 'Text'----streamingLoggingConfig :: Bool -- ^ 'slcEnabled'- -> Text -- ^ 'slcBucket'- -> Text -- ^ 'slcPrefix'- -> StreamingLoggingConfig-streamingLoggingConfig p1 p2 p3 = StreamingLoggingConfig- { _slcEnabled = p1- , _slcBucket = p2- , _slcPrefix = p3- }---- | The Amazon S3 bucket to store the access logs in, for example,--- myawslogbucket.s3.amazonaws.com.-slcBucket :: Lens' StreamingLoggingConfig Text-slcBucket = lens _slcBucket (\s a -> s { _slcBucket = a })---- | 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.-slcEnabled :: Lens' StreamingLoggingConfig Bool-slcEnabled = lens _slcEnabled (\s a -> s { _slcEnabled = a })---- | 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.-slcPrefix :: Lens' StreamingLoggingConfig Text-slcPrefix = lens _slcPrefix (\s a -> s { _slcPrefix = a })--instance FromXML StreamingLoggingConfig where- parseXML x = StreamingLoggingConfig- <$> x .@ "Bucket"- <*> x .@ "Enabled"- <*> x .@ "Prefix"--instance ToXML StreamingLoggingConfig where- toXML StreamingLoggingConfig{..} = nodes "StreamingLoggingConfig"- [ "Enabled" =@ _slcEnabled- , "Bucket" =@ _slcBucket- , "Prefix" =@ _slcPrefix- ]--data CookieNames = CookieNames- { _cnItems :: List "Name" Text- , _cnQuantity :: Int- } deriving (Eq, Ord, Read, Show)---- | 'CookieNames' constructor.------ The fields accessible through corresponding lenses are:------ * 'cnItems' @::@ ['Text']------ * 'cnQuantity' @::@ 'Int'----cookieNames :: Int -- ^ 'cnQuantity'- -> CookieNames-cookieNames p1 = CookieNames- { _cnQuantity = p1- , _cnItems = mempty- }---- | Optional: A complex type that contains whitelisted cookies for this cache--- behavior. If Quantity is 0, you can omit Items.-cnItems :: Lens' CookieNames [Text]-cnItems = lens _cnItems (\s a -> s { _cnItems = a }) . _List---- | The number of whitelisted cookies for this cache behavior.-cnQuantity :: Lens' CookieNames Int-cnQuantity = lens _cnQuantity (\s a -> s { _cnQuantity = a })--instance FromXML CookieNames where- parseXML x = CookieNames- <$> x .@? "Items" .!@ mempty- <*> x .@ "Quantity"--instance ToXML CookieNames where- toXML CookieNames{..} = nodes "CookieNames"- [ "Quantity" =@ _cnQuantity- , "Items" =@ _cnItems- ]--data CustomErrorResponse = CustomErrorResponse- { _cerErrorCachingMinTTL :: Maybe Integer- , _cerErrorCode :: Int- , _cerResponseCode :: Maybe Text- , _cerResponsePagePath :: Maybe Text- } deriving (Eq, Ord, Read, Show)---- | 'CustomErrorResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cerErrorCachingMinTTL' @::@ 'Maybe' 'Integer'------ * 'cerErrorCode' @::@ 'Int'------ * 'cerResponseCode' @::@ 'Maybe' 'Text'------ * 'cerResponsePagePath' @::@ 'Maybe' 'Text'----customErrorResponse :: Int -- ^ 'cerErrorCode'- -> CustomErrorResponse-customErrorResponse p1 = CustomErrorResponse- { _cerErrorCode = p1- , _cerResponsePagePath = Nothing- , _cerResponseCode = Nothing- , _cerErrorCachingMinTTL = Nothing- }---- | The minimum amount of time you want HTTP error codes to stay in CloudFront--- caches before CloudFront queries your origin to see whether the object has--- been updated. You can specify a value from 0 to 31,536,000.-cerErrorCachingMinTTL :: Lens' CustomErrorResponse (Maybe Integer)-cerErrorCachingMinTTL =- lens _cerErrorCachingMinTTL (\s a -> s { _cerErrorCachingMinTTL = a })---- | The 4xx or 5xx HTTP status code that you want to customize. For a list of--- HTTP status codes that you can customize, see CloudFront documentation.-cerErrorCode :: Lens' CustomErrorResponse Int-cerErrorCode = lens _cerErrorCode (\s a -> s { _cerErrorCode = a })---- | The HTTP status code that you want CloudFront to return with the custom error--- page to the viewer. For a list of HTTP status codes that you can replace, see--- CloudFront Documentation.-cerResponseCode :: Lens' CustomErrorResponse (Maybe Text)-cerResponseCode = lens _cerResponseCode (\s a -> s { _cerResponseCode = a })---- | The path of the custom error page (for example, /custom_404.html). The path--- is relative to the distribution and must begin with a slash (/). If the path--- includes any non-ASCII characters or unsafe characters as defined in RFC 1783--- (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not--- URL encode any other characters in the path, or CloudFront will not return--- the custom error page to the viewer.-cerResponsePagePath :: Lens' CustomErrorResponse (Maybe Text)-cerResponsePagePath =- lens _cerResponsePagePath (\s a -> s { _cerResponsePagePath = a })--instance FromXML CustomErrorResponse where- parseXML x = CustomErrorResponse- <$> x .@? "ErrorCachingMinTTL"- <*> x .@ "ErrorCode"- <*> x .@? "ResponseCode"- <*> x .@? "ResponsePagePath"--instance ToXML CustomErrorResponse where- toXML CustomErrorResponse{..} = nodes "CustomErrorResponse"- [ "ErrorCode" =@ _cerErrorCode- , "ResponsePagePath" =@ _cerResponsePagePath- , "ResponseCode" =@ _cerResponseCode- , "ErrorCachingMinTTL" =@ _cerErrorCachingMinTTL- ]--data CacheBehaviors = CacheBehaviors- { _cbItems :: List "CacheBehavior" CacheBehavior- , _cbQuantity :: Int- } deriving (Eq, Read, Show)---- | 'CacheBehaviors' constructor.------ The fields accessible through corresponding lenses are:------ * 'cbItems' @::@ ['CacheBehavior']------ * 'cbQuantity' @::@ 'Int'----cacheBehaviors :: Int -- ^ 'cbQuantity'- -> CacheBehaviors-cacheBehaviors p1 = CacheBehaviors- { _cbQuantity = p1- , _cbItems = mempty- }---- | Optional: A complex type that contains cache behaviors for this distribution.--- If Quantity is 0, you can omit Items.-cbItems :: Lens' CacheBehaviors [CacheBehavior]-cbItems = lens _cbItems (\s a -> s { _cbItems = a }) . _List---- | The number of cache behaviors for this distribution.-cbQuantity :: Lens' CacheBehaviors Int-cbQuantity = lens _cbQuantity (\s a -> s { _cbQuantity = a })--instance FromXML CacheBehaviors where- parseXML x = CacheBehaviors- <$> x .@? "Items" .!@ mempty- <*> x .@ "Quantity"--instance ToXML CacheBehaviors where- toXML CacheBehaviors{..} = nodes "CacheBehaviors"- [ "Quantity" =@ _cbQuantity- , "Items" =@ _cbItems- ]--data DefaultCacheBehavior = DefaultCacheBehavior- { _dcbAllowedMethods :: Maybe AllowedMethods- , _dcbForwardedValues :: ForwardedValues- , _dcbMinTTL :: Integer- , _dcbSmoothStreaming :: Maybe Bool- , _dcbTargetOriginId :: Text- , _dcbTrustedSigners :: TrustedSigners- , _dcbViewerProtocolPolicy :: ViewerProtocolPolicy- } deriving (Eq, Read, Show)---- | 'DefaultCacheBehavior' constructor.------ The fields accessible through corresponding lenses are:------ * 'dcbAllowedMethods' @::@ 'Maybe' 'AllowedMethods'------ * 'dcbForwardedValues' @::@ 'ForwardedValues'------ * 'dcbMinTTL' @::@ 'Integer'------ * 'dcbSmoothStreaming' @::@ 'Maybe' 'Bool'------ * 'dcbTargetOriginId' @::@ 'Text'------ * 'dcbTrustedSigners' @::@ 'TrustedSigners'------ * 'dcbViewerProtocolPolicy' @::@ 'ViewerProtocolPolicy'----defaultCacheBehavior :: Text -- ^ 'dcbTargetOriginId'- -> ForwardedValues -- ^ 'dcbForwardedValues'- -> TrustedSigners -- ^ 'dcbTrustedSigners'- -> ViewerProtocolPolicy -- ^ 'dcbViewerProtocolPolicy'- -> Integer -- ^ 'dcbMinTTL'- -> DefaultCacheBehavior-defaultCacheBehavior p1 p2 p3 p4 p5 = DefaultCacheBehavior- { _dcbTargetOriginId = p1- , _dcbForwardedValues = p2- , _dcbTrustedSigners = p3- , _dcbViewerProtocolPolicy = p4- , _dcbMinTTL = p5- , _dcbAllowedMethods = Nothing- , _dcbSmoothStreaming = Nothing- }--dcbAllowedMethods :: Lens' DefaultCacheBehavior (Maybe AllowedMethods)-dcbAllowedMethods =- lens _dcbAllowedMethods (\s a -> s { _dcbAllowedMethods = a })---- | A complex type that specifies how CloudFront handles query strings, cookies--- and headers.-dcbForwardedValues :: Lens' DefaultCacheBehavior ForwardedValues-dcbForwardedValues =- lens _dcbForwardedValues (\s a -> s { _dcbForwardedValues = a })---- | The minimum amount of time that you want objects to stay in CloudFront caches--- before CloudFront queries your origin to see whether the object has been--- updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).-dcbMinTTL :: Lens' DefaultCacheBehavior Integer-dcbMinTTL = lens _dcbMinTTL (\s a -> s { _dcbMinTTL = a })---- | Indicates whether you want to distribute media files in Microsoft Smooth--- Streaming format using the origin that is associated with this cache--- behavior. If so, specify true; if not, specify false.-dcbSmoothStreaming :: Lens' DefaultCacheBehavior (Maybe Bool)-dcbSmoothStreaming =- lens _dcbSmoothStreaming (\s a -> s { _dcbSmoothStreaming = a })---- | The value of ID for the origin that you want CloudFront to route requests to--- when a request matches the path pattern either for a cache behavior or for--- the default cache behavior.-dcbTargetOriginId :: Lens' DefaultCacheBehavior Text-dcbTargetOriginId =- lens _dcbTargetOriginId (\s a -> s { _dcbTargetOriginId = a })---- | 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, go to--- Using a Signed URL to Serve Private Content in the Amazon CloudFront--- Developer Guide. If you don't want to require signed URLs in requests for--- objects that match PathPattern, specify false for Enabled and 0 for Quantity.--- Omit Items. To add, change, or remove one or more trusted signers, change--- Enabled to true (if it's currently false), change Quantity as applicable, and--- specify all of the trusted signers that you want to include in the updated--- distribution.-dcbTrustedSigners :: Lens' DefaultCacheBehavior TrustedSigners-dcbTrustedSigners =- lens _dcbTrustedSigners (\s a -> s { _dcbTrustedSigners = a })---- | Use this element to specify the protocol that users can use to access the--- files in the origin specified by TargetOriginId when a request matches the--- path pattern in PathPattern. If you want CloudFront to allow end users to use--- any available protocol, specify allow-all. If you want CloudFront to require--- HTTPS, specify https. If you want CloudFront to respond to an HTTP request--- with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL,--- specify redirect-to-https. The viewer then resubmits the request using the--- HTTPS URL.-dcbViewerProtocolPolicy :: Lens' DefaultCacheBehavior ViewerProtocolPolicy-dcbViewerProtocolPolicy =- lens _dcbViewerProtocolPolicy (\s a -> s { _dcbViewerProtocolPolicy = a })--instance FromXML DefaultCacheBehavior where- parseXML x = DefaultCacheBehavior- <$> x .@? "AllowedMethods"- <*> x .@ "ForwardedValues"- <*> x .@ "MinTTL"- <*> x .@? "SmoothStreaming"- <*> x .@ "TargetOriginId"- <*> x .@ "TrustedSigners"- <*> x .@ "ViewerProtocolPolicy"--instance ToXML DefaultCacheBehavior where- toXML DefaultCacheBehavior{..} = nodes "DefaultCacheBehavior"- [ "TargetOriginId" =@ _dcbTargetOriginId- , "ForwardedValues" =@ _dcbForwardedValues- , "TrustedSigners" =@ _dcbTrustedSigners- , "ViewerProtocolPolicy" =@ _dcbViewerProtocolPolicy- , "MinTTL" =@ _dcbMinTTL- , "AllowedMethods" =@ _dcbAllowedMethods- , "SmoothStreaming" =@ _dcbSmoothStreaming- ]--data InvalidationList = InvalidationList- { _ilIsTruncated :: Bool- , _ilItems :: List "InvalidationSummary" InvalidationSummary- , _ilMarker :: Text- , _ilMaxItems :: Int- , _ilNextMarker :: Maybe Text- , _ilQuantity :: Int- } deriving (Eq, Read, Show)---- | 'InvalidationList' constructor.------ The fields accessible through corresponding lenses are:------ * 'ilIsTruncated' @::@ 'Bool'------ * 'ilItems' @::@ ['InvalidationSummary']------ * 'ilMarker' @::@ 'Text'------ * 'ilMaxItems' @::@ 'Int'------ * 'ilNextMarker' @::@ 'Maybe' 'Text'------ * 'ilQuantity' @::@ 'Int'----invalidationList :: Text -- ^ 'ilMarker'- -> Int -- ^ 'ilMaxItems'- -> Bool -- ^ 'ilIsTruncated'- -> Int -- ^ 'ilQuantity'- -> InvalidationList-invalidationList p1 p2 p3 p4 = InvalidationList- { _ilMarker = p1- , _ilMaxItems = p2- , _ilIsTruncated = p3- , _ilQuantity = p4- , _ilNextMarker = Nothing- , _ilItems = mempty- }---- | A flag that indicates whether more invalidation batch requests remain to be--- listed. If your results were truncated, you can make a follow-up pagination--- request using the Marker request parameter to retrieve more invalidation--- batches in the list.-ilIsTruncated :: Lens' InvalidationList Bool-ilIsTruncated = lens _ilIsTruncated (\s a -> s { _ilIsTruncated = a })---- | A complex type that contains one InvalidationSummary element for each--- invalidation batch that was created by the current AWS account.-ilItems :: Lens' InvalidationList [InvalidationSummary]-ilItems = lens _ilItems (\s a -> s { _ilItems = a }) . _List---- | The value you provided for the Marker request parameter.-ilMarker :: Lens' InvalidationList Text-ilMarker = lens _ilMarker (\s a -> s { _ilMarker = a })---- | The value you provided for the MaxItems request parameter.-ilMaxItems :: Lens' InvalidationList Int-ilMaxItems = lens _ilMaxItems (\s a -> s { _ilMaxItems = a })---- | If IsTruncated is true, this element is present and contains the value you--- can use for the Marker request parameter to continue listing your--- invalidation batches where they left off.-ilNextMarker :: Lens' InvalidationList (Maybe Text)-ilNextMarker = lens _ilNextMarker (\s a -> s { _ilNextMarker = a })---- | The number of invalidation batches that were created by the current AWS--- account.-ilQuantity :: Lens' InvalidationList Int-ilQuantity = lens _ilQuantity (\s a -> s { _ilQuantity = a })--instance FromXML InvalidationList where- parseXML x = InvalidationList- <$> x .@ "IsTruncated"- <*> x .@? "Items" .!@ mempty- <*> x .@ "Marker"- <*> x .@ "MaxItems"- <*> x .@? "NextMarker"- <*> x .@ "Quantity"--instance ToXML InvalidationList where- toXML InvalidationList{..} = nodes "InvalidationList"- [ "Marker" =@ _ilMarker- , "NextMarker" =@ _ilNextMarker- , "MaxItems" =@ _ilMaxItems- , "IsTruncated" =@ _ilIsTruncated- , "Quantity" =@ _ilQuantity- , "Items" =@ _ilItems- ]--data StreamingDistribution = StreamingDistribution- { _sdActiveTrustedSigners :: ActiveTrustedSigners- , _sdDomainName :: Text- , _sdId :: Text- , _sdLastModifiedTime :: Maybe ISO8601- , _sdStatus :: Text- , _sdStreamingDistributionConfig :: StreamingDistributionConfig- } deriving (Eq, Read, Show)---- | 'StreamingDistribution' constructor.------ The fields accessible through corresponding lenses are:------ * 'sdActiveTrustedSigners' @::@ 'ActiveTrustedSigners'------ * 'sdDomainName' @::@ 'Text'------ * 'sdId' @::@ 'Text'------ * 'sdLastModifiedTime' @::@ 'Maybe' 'UTCTime'------ * 'sdStatus' @::@ 'Text'------ * 'sdStreamingDistributionConfig' @::@ 'StreamingDistributionConfig'----streamingDistribution :: Text -- ^ 'sdId'- -> Text -- ^ 'sdStatus'- -> Text -- ^ 'sdDomainName'- -> ActiveTrustedSigners -- ^ 'sdActiveTrustedSigners'- -> StreamingDistributionConfig -- ^ 'sdStreamingDistributionConfig'- -> StreamingDistribution-streamingDistribution p1 p2 p3 p4 p5 = StreamingDistribution- { _sdId = p1- , _sdStatus = p2- , _sdDomainName = p3- , _sdActiveTrustedSigners = p4- , _sdStreamingDistributionConfig = p5- , _sdLastModifiedTime = Nothing- }---- | 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.-sdActiveTrustedSigners :: Lens' StreamingDistribution ActiveTrustedSigners-sdActiveTrustedSigners =- lens _sdActiveTrustedSigners (\s a -> s { _sdActiveTrustedSigners = a })---- | The domain name corresponding to the streaming distribution. For example:--- s5c39gqb8ow64r.cloudfront.net.-sdDomainName :: Lens' StreamingDistribution Text-sdDomainName = lens _sdDomainName (\s a -> s { _sdDomainName = a })---- | The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.-sdId :: Lens' StreamingDistribution Text-sdId = lens _sdId (\s a -> s { _sdId = a })---- | The date and time the distribution was last modified.-sdLastModifiedTime :: Lens' StreamingDistribution (Maybe UTCTime)-sdLastModifiedTime =- lens _sdLastModifiedTime (\s a -> s { _sdLastModifiedTime = a })- . mapping _Time---- | The current status of the streaming distribution. When the status is--- Deployed, the distribution's information is fully propagated throughout the--- Amazon CloudFront system.-sdStatus :: Lens' StreamingDistribution Text-sdStatus = lens _sdStatus (\s a -> s { _sdStatus = a })---- | The current configuration information for the streaming distribution.-sdStreamingDistributionConfig :: Lens' StreamingDistribution StreamingDistributionConfig-sdStreamingDistributionConfig =- lens _sdStreamingDistributionConfig- (\s a -> s { _sdStreamingDistributionConfig = a })--instance FromXML StreamingDistribution where- parseXML x = StreamingDistribution- <$> x .@ "ActiveTrustedSigners"- <*> x .@ "DomainName"- <*> x .@ "Id"- <*> x .@? "LastModifiedTime"- <*> x .@ "Status"- <*> x .@ "StreamingDistributionConfig"--instance ToXMLRoot StreamingDistribution where- toXMLRoot StreamingDistribution{..} = namespaced ns "StreamingDistribution"- [ "Id" =@ _sdId- , "Status" =@ _sdStatus- , "LastModifiedTime" =@ _sdLastModifiedTime- , "DomainName" =@ _sdDomainName- , "ActiveTrustedSigners" =@ _sdActiveTrustedSigners- , "StreamingDistributionConfig" =@ _sdStreamingDistributionConfig- ]--instance ToXML StreamingDistribution--data Paths = Paths- { _pItems :: List "Path" Text- , _pQuantity :: Int- } deriving (Eq, Ord, Read, Show)---- | 'Paths' constructor.------ The fields accessible through corresponding lenses are:------ * 'pItems' @::@ ['Text']------ * 'pQuantity' @::@ 'Int'----paths :: Int -- ^ 'pQuantity'- -> Paths-paths p1 = Paths- { _pQuantity = p1- , _pItems = mempty- }---- | A complex type that contains a list of the objects that you want to--- invalidate.-pItems :: Lens' Paths [Text]-pItems = lens _pItems (\s a -> s { _pItems = a }) . _List---- | The number of objects that you want to invalidate.-pQuantity :: Lens' Paths Int-pQuantity = lens _pQuantity (\s a -> s { _pQuantity = a })--instance FromXML Paths where- parseXML x = Paths- <$> x .@? "Items" .!@ mempty- <*> x .@ "Quantity"--instance ToXML Paths where- toXML Paths{..} = nodes "Paths"- [ "Quantity" =@ _pQuantity- , "Items" =@ _pItems- ]--data CloudFrontOriginAccessIdentity = CloudFrontOriginAccessIdentity- { _cfoaiCloudFrontOriginAccessIdentityConfig :: Maybe CloudFrontOriginAccessIdentityConfig- , _cfoaiId :: Text- , _cfoaiS3CanonicalUserId :: Text- } deriving (Eq, Read, Show)---- | 'CloudFrontOriginAccessIdentity' constructor.------ The fields accessible through corresponding lenses are:------ * 'cfoaiCloudFrontOriginAccessIdentityConfig' @::@ 'Maybe' 'CloudFrontOriginAccessIdentityConfig'------ * 'cfoaiId' @::@ 'Text'------ * 'cfoaiS3CanonicalUserId' @::@ 'Text'----cloudFrontOriginAccessIdentity :: Text -- ^ 'cfoaiId'- -> Text -- ^ 'cfoaiS3CanonicalUserId'- -> CloudFrontOriginAccessIdentity-cloudFrontOriginAccessIdentity p1 p2 = CloudFrontOriginAccessIdentity- { _cfoaiId = p1- , _cfoaiS3CanonicalUserId = p2- , _cfoaiCloudFrontOriginAccessIdentityConfig = Nothing- }---- | The current configuration information for the identity.-cfoaiCloudFrontOriginAccessIdentityConfig :: Lens' CloudFrontOriginAccessIdentity (Maybe CloudFrontOriginAccessIdentityConfig)-cfoaiCloudFrontOriginAccessIdentityConfig =- lens _cfoaiCloudFrontOriginAccessIdentityConfig- (\s a -> s { _cfoaiCloudFrontOriginAccessIdentityConfig = a })---- | The ID for the origin access identity. For example: E74FTE3AJFJ256A.-cfoaiId :: Lens' CloudFrontOriginAccessIdentity Text-cfoaiId = lens _cfoaiId (\s a -> s { _cfoaiId = a })---- | 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.-cfoaiS3CanonicalUserId :: Lens' CloudFrontOriginAccessIdentity Text-cfoaiS3CanonicalUserId =- lens _cfoaiS3CanonicalUserId (\s a -> s { _cfoaiS3CanonicalUserId = a })--instance FromXML CloudFrontOriginAccessIdentity where- parseXML x = CloudFrontOriginAccessIdentity- <$> x .@? "CloudFrontOriginAccessIdentityConfig"- <*> x .@ "Id"- <*> x .@ "S3CanonicalUserId"--instance ToXMLRoot CloudFrontOriginAccessIdentity where- toXMLRoot CloudFrontOriginAccessIdentity{..} = namespaced ns "CloudFrontOriginAccessIdentity"- [ "Id" =@ _cfoaiId- , "S3CanonicalUserId" =@ _cfoaiS3CanonicalUserId- , "CloudFrontOriginAccessIdentityConfig" =@ _cfoaiCloudFrontOriginAccessIdentityConfig- ]--instance ToXML CloudFrontOriginAccessIdentity--data ActiveTrustedSigners = ActiveTrustedSigners- { _atsEnabled :: Bool- , _atsItems :: List "Signer" Signer- , _atsQuantity :: Int- } deriving (Eq, Read, Show)---- | 'ActiveTrustedSigners' constructor.------ The fields accessible through corresponding lenses are:------ * 'atsEnabled' @::@ 'Bool'------ * 'atsItems' @::@ ['Signer']------ * 'atsQuantity' @::@ 'Int'----activeTrustedSigners :: Bool -- ^ 'atsEnabled'- -> Int -- ^ 'atsQuantity'- -> ActiveTrustedSigners-activeTrustedSigners p1 p2 = ActiveTrustedSigners- { _atsEnabled = p1- , _atsQuantity = p2- , _atsItems = mempty- }---- | Each active trusted signer.-atsEnabled :: Lens' ActiveTrustedSigners Bool-atsEnabled = lens _atsEnabled (\s a -> s { _atsEnabled = a })---- | A complex type that contains one Signer complex type for each unique trusted--- signer that is specified in the TrustedSigners complex type, including--- trusted signers in the default cache behavior and in all of the other cache--- behaviors.-atsItems :: Lens' ActiveTrustedSigners [Signer]-atsItems = lens _atsItems (\s a -> s { _atsItems = a }) . _List---- | The number of unique trusted signers included in all cache behaviors. For--- example, if three cache behaviors all list the same three AWS accounts, the--- value of Quantity for ActiveTrustedSigners will be 3.-atsQuantity :: Lens' ActiveTrustedSigners Int-atsQuantity = lens _atsQuantity (\s a -> s { _atsQuantity = a })--instance FromXML ActiveTrustedSigners where- parseXML x = ActiveTrustedSigners- <$> x .@ "Enabled"- <*> x .@? "Items" .!@ mempty- <*> x .@ "Quantity"--instance ToXML ActiveTrustedSigners where- toXML ActiveTrustedSigners{..} = nodes "ActiveTrustedSigners"- [ "Enabled" =@ _atsEnabled- , "Quantity" =@ _atsQuantity- , "Items" =@ _atsItems- ]--data DistributionSummary = DistributionSummary- { _dsAliases :: Aliases- , _dsCacheBehaviors :: CacheBehaviors- , _dsComment :: Text- , _dsCustomErrorResponses :: CustomErrorResponses- , _dsDefaultCacheBehavior :: DefaultCacheBehavior- , _dsDomainName :: Text- , _dsEnabled :: Bool- , _dsId :: Text- , _dsLastModifiedTime :: ISO8601- , _dsOrigins :: Origins- , _dsPriceClass :: PriceClass- , _dsRestrictions :: Restrictions- , _dsStatus :: Text- , _dsViewerCertificate :: ViewerCertificate- } deriving (Eq, Read, Show)---- | 'DistributionSummary' constructor.------ The fields accessible through corresponding lenses are:------ * 'dsAliases' @::@ 'Aliases'------ * 'dsCacheBehaviors' @::@ 'CacheBehaviors'------ * 'dsComment' @::@ 'Text'------ * 'dsCustomErrorResponses' @::@ 'CustomErrorResponses'------ * 'dsDefaultCacheBehavior' @::@ 'DefaultCacheBehavior'------ * 'dsDomainName' @::@ 'Text'------ * 'dsEnabled' @::@ 'Bool'------ * 'dsId' @::@ 'Text'------ * 'dsLastModifiedTime' @::@ 'UTCTime'------ * 'dsOrigins' @::@ 'Origins'------ * 'dsPriceClass' @::@ 'PriceClass'------ * 'dsRestrictions' @::@ 'Restrictions'------ * 'dsStatus' @::@ 'Text'------ * 'dsViewerCertificate' @::@ 'ViewerCertificate'----distributionSummary :: Text -- ^ 'dsId'- -> Text -- ^ 'dsStatus'- -> UTCTime -- ^ 'dsLastModifiedTime'- -> Text -- ^ 'dsDomainName'- -> Aliases -- ^ 'dsAliases'- -> Origins -- ^ 'dsOrigins'- -> DefaultCacheBehavior -- ^ 'dsDefaultCacheBehavior'- -> CacheBehaviors -- ^ 'dsCacheBehaviors'- -> CustomErrorResponses -- ^ 'dsCustomErrorResponses'- -> Text -- ^ 'dsComment'- -> PriceClass -- ^ 'dsPriceClass'- -> Bool -- ^ 'dsEnabled'- -> ViewerCertificate -- ^ 'dsViewerCertificate'- -> Restrictions -- ^ 'dsRestrictions'- -> DistributionSummary-distributionSummary p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 = DistributionSummary- { _dsId = p1- , _dsStatus = p2- , _dsLastModifiedTime = withIso _Time (const id) p3- , _dsDomainName = p4- , _dsAliases = p5- , _dsOrigins = p6- , _dsDefaultCacheBehavior = p7- , _dsCacheBehaviors = p8- , _dsCustomErrorResponses = p9- , _dsComment = p10- , _dsPriceClass = p11- , _dsEnabled = p12- , _dsViewerCertificate = p13- , _dsRestrictions = p14- }---- | A complex type that contains information about CNAMEs (alternate domain--- names), if any, for this distribution.-dsAliases :: Lens' DistributionSummary Aliases-dsAliases = lens _dsAliases (\s a -> s { _dsAliases = a })---- | A complex type that contains zero or more CacheBehavior elements.-dsCacheBehaviors :: Lens' DistributionSummary CacheBehaviors-dsCacheBehaviors = lens _dsCacheBehaviors (\s a -> s { _dsCacheBehaviors = a })---- | The comment originally specified when this distribution was created.-dsComment :: Lens' DistributionSummary Text-dsComment = lens _dsComment (\s a -> s { _dsComment = a })---- | A complex type that contains zero or more CustomErrorResponses elements.-dsCustomErrorResponses :: Lens' DistributionSummary CustomErrorResponses-dsCustomErrorResponses =- lens _dsCustomErrorResponses (\s a -> s { _dsCustomErrorResponses = a })---- | 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.-dsDefaultCacheBehavior :: Lens' DistributionSummary DefaultCacheBehavior-dsDefaultCacheBehavior =- lens _dsDefaultCacheBehavior (\s a -> s { _dsDefaultCacheBehavior = a })---- | The domain name corresponding to the distribution. For example:--- d604721fxaaqy9.cloudfront.net.-dsDomainName :: Lens' DistributionSummary Text-dsDomainName = lens _dsDomainName (\s a -> s { _dsDomainName = a })---- | Whether the distribution is enabled to accept end user requests for content.-dsEnabled :: Lens' DistributionSummary Bool-dsEnabled = lens _dsEnabled (\s a -> s { _dsEnabled = a })---- | The identifier for the distribution. For example: EDFDVBD632BHDS5.-dsId :: Lens' DistributionSummary Text-dsId = lens _dsId (\s a -> s { _dsId = a })---- | The date and time the distribution was last modified.-dsLastModifiedTime :: Lens' DistributionSummary UTCTime-dsLastModifiedTime =- lens _dsLastModifiedTime (\s a -> s { _dsLastModifiedTime = a })- . _Time---- | A complex type that contains information about origins for this distribution.-dsOrigins :: Lens' DistributionSummary Origins-dsOrigins = lens _dsOrigins (\s a -> s { _dsOrigins = a })--dsPriceClass :: Lens' DistributionSummary PriceClass-dsPriceClass = lens _dsPriceClass (\s a -> s { _dsPriceClass = a })--dsRestrictions :: Lens' DistributionSummary Restrictions-dsRestrictions = lens _dsRestrictions (\s a -> s { _dsRestrictions = a })---- | This response element indicates the current status of the distribution. When--- the status is Deployed, the distribution's information is fully propagated--- throughout the Amazon CloudFront system.-dsStatus :: Lens' DistributionSummary Text-dsStatus = lens _dsStatus (\s a -> s { _dsStatus = a })--dsViewerCertificate :: Lens' DistributionSummary ViewerCertificate-dsViewerCertificate =- lens _dsViewerCertificate (\s a -> s { _dsViewerCertificate = a })--instance FromXML DistributionSummary where- parseXML x = DistributionSummary- <$> x .@ "Aliases"- <*> x .@ "CacheBehaviors"- <*> x .@ "Comment"- <*> x .@ "CustomErrorResponses"- <*> x .@ "DefaultCacheBehavior"- <*> x .@ "DomainName"- <*> x .@ "Enabled"- <*> x .@ "Id"- <*> x .@ "LastModifiedTime"- <*> x .@ "Origins"- <*> x .@ "PriceClass"- <*> x .@ "Restrictions"- <*> x .@ "Status"- <*> x .@ "ViewerCertificate"--instance ToXML DistributionSummary where- toXML DistributionSummary{..} = nodes "DistributionSummary"- [ "Id" =@ _dsId- , "Status" =@ _dsStatus- , "LastModifiedTime" =@ _dsLastModifiedTime- , "DomainName" =@ _dsDomainName- , "Aliases" =@ _dsAliases- , "Origins" =@ _dsOrigins- , "DefaultCacheBehavior" =@ _dsDefaultCacheBehavior- , "CacheBehaviors" =@ _dsCacheBehaviors- , "CustomErrorResponses" =@ _dsCustomErrorResponses- , "Comment" =@ _dsComment- , "PriceClass" =@ _dsPriceClass- , "Enabled" =@ _dsEnabled- , "ViewerCertificate" =@ _dsViewerCertificate- , "Restrictions" =@ _dsRestrictions- ]--data GeoRestrictionType- = GRTBlacklist -- ^ blacklist- | GRTNone -- ^ none- | GRTWhitelist -- ^ whitelist- deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable GeoRestrictionType--instance FromText GeoRestrictionType where- parser = takeLowerText >>= \case- "blacklist" -> pure GRTBlacklist- "none" -> pure GRTNone- "whitelist" -> pure GRTWhitelist- e -> fail $- "Failure parsing GeoRestrictionType from " ++ show e--instance ToText GeoRestrictionType where- toText = \case- GRTBlacklist -> "blacklist"- GRTNone -> "none"- GRTWhitelist -> "whitelist"--instance ToByteString GeoRestrictionType-instance ToHeader GeoRestrictionType-instance ToQuery GeoRestrictionType--instance FromXML GeoRestrictionType where- parseXML = parseXMLText "GeoRestrictionType"--instance ToXML GeoRestrictionType where- toXML = toXMLText--data LoggingConfig = LoggingConfig- { _lcBucket :: Text- , _lcEnabled :: Bool- , _lcIncludeCookies :: Bool- , _lcPrefix :: Text- } deriving (Eq, Ord, Read, Show)---- | 'LoggingConfig' constructor.------ The fields accessible through corresponding lenses are:------ * 'lcBucket' @::@ 'Text'------ * 'lcEnabled' @::@ 'Bool'------ * 'lcIncludeCookies' @::@ 'Bool'------ * 'lcPrefix' @::@ 'Text'----loggingConfig :: Bool -- ^ 'lcEnabled'- -> Bool -- ^ 'lcIncludeCookies'- -> Text -- ^ 'lcBucket'- -> Text -- ^ 'lcPrefix'- -> LoggingConfig-loggingConfig p1 p2 p3 p4 = LoggingConfig- { _lcEnabled = p1- , _lcIncludeCookies = p2- , _lcBucket = p3- , _lcPrefix = p4- }---- | The Amazon S3 bucket to store the access logs in, for example,--- myawslogbucket.s3.amazonaws.com.-lcBucket :: Lens' LoggingConfig Text-lcBucket = lens _lcBucket (\s a -> s { _lcBucket = a })---- | 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.-lcEnabled :: Lens' LoggingConfig Bool-lcEnabled = lens _lcEnabled (\s a -> s { _lcEnabled = a })---- | 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.-lcIncludeCookies :: Lens' LoggingConfig Bool-lcIncludeCookies = lens _lcIncludeCookies (\s a -> s { _lcIncludeCookies = a })---- | 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.-lcPrefix :: Lens' LoggingConfig Text-lcPrefix = lens _lcPrefix (\s a -> s { _lcPrefix = a })--instance FromXML LoggingConfig where- parseXML x = LoggingConfig- <$> x .@ "Bucket"- <*> x .@ "Enabled"- <*> x .@ "IncludeCookies"- <*> x .@ "Prefix"--instance ToXML LoggingConfig where- toXML LoggingConfig{..} = nodes "LoggingConfig"- [ "Enabled" =@ _lcEnabled- , "IncludeCookies" =@ _lcIncludeCookies- , "Bucket" =@ _lcBucket- , "Prefix" =@ _lcPrefix- ]+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudFront.Types+-- Copyright : (c) 2013-2015 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)+--+module Network.AWS.CloudFront.Types+ (+ -- * Service+ CloudFront++ -- * Errors+ , _InvalidErrorCode+ , _TooManyCacheBehaviors+ , _DistributionNotDisabled+ , _InvalidOriginAccessIdentity+ , _TooManyCloudFrontOriginAccessIdentities+ , _TooManyStreamingDistributions+ , _InvalidArgument+ , _NoSuchCloudFrontOriginAccessIdentity+ , _NoSuchStreamingDistribution+ , _CloudFrontOriginAccessIdentityInUse+ , _InconsistentQuantities+ , _TooManyInvalidationsInProgress+ , _TooManyDistributionCNAMEs+ , _InvalidForwardCookies+ , _TooManyCookieNamesInWhiteList+ , _BatchTooLarge+ , _InvalidOrigin+ , _TooManyTrustedSigners+ , _NoSuchOrigin+ , _NoSuchInvalidation+ , _StreamingDistributionNotDisabled+ , _InvalidTTLOrder+ , _TooManyStreamingDistributionCNAMEs+ , _TooManyDistributions+ , _InvalidRequiredProtocol+ , _TooManyHeadersInForwardedValues+ , _TooManyCertificates+ , _MissingBody+ , _DistributionAlreadyExists+ , _IllegalUpdate+ , _InvalidResponseCode+ , _InvalidIfMatchVersion+ , _PreconditionFailed+ , _InvalidProtocolSettings+ , _TrustedSignerDoesNotExist+ , _InvalidHeadersForS3Origin+ , _CNAMEAlreadyExists+ , _StreamingDistributionAlreadyExists+ , _TooManyOrigins+ , _CloudFrontOriginAccessIdentityAlreadyExists+ , _InvalidRelativePath+ , _InvalidMinimumProtocolVersion+ , _AccessDenied+ , _NoSuchDistribution+ , _InvalidViewerCertificate+ , _InvalidDefaultRootObject+ , _InvalidLocationCode+ , _InvalidGeoRestrictionParameter++ -- * GeoRestrictionType+ , GeoRestrictionType (..)++ -- * ItemSelection+ , ItemSelection (..)++ -- * Method+ , Method (..)++ -- * MinimumProtocolVersion+ , MinimumProtocolVersion (..)++ -- * OriginProtocolPolicy+ , OriginProtocolPolicy (..)++ -- * PriceClass+ , PriceClass (..)++ -- * SSLSupportMethod+ , SSLSupportMethod (..)++ -- * ViewerProtocolPolicy+ , ViewerProtocolPolicy (..)++ -- * ActiveTrustedSigners+ , ActiveTrustedSigners+ , activeTrustedSigners+ , atsItems+ , atsEnabled+ , atsQuantity++ -- * Aliases+ , Aliases+ , aliases+ , aItems+ , aQuantity++ -- * AllowedMethods+ , AllowedMethods+ , allowedMethods+ , amCachedMethods+ , amQuantity+ , amItems++ -- * CacheBehavior+ , CacheBehavior+ , cacheBehavior+ , cbAllowedMethods+ , cbMaxTTL+ , cbSmoothStreaming+ , cbDefaultTTL+ , cbPathPattern+ , cbTargetOriginId+ , cbForwardedValues+ , cbTrustedSigners+ , cbViewerProtocolPolicy+ , cbMinTTL++ -- * CacheBehaviors+ , CacheBehaviors+ , cacheBehaviors+ , cbItems+ , cbQuantity++ -- * CachedMethods+ , CachedMethods+ , cachedMethods+ , cmQuantity+ , cmItems++ -- * CloudFrontOriginAccessIdentity+ , CloudFrontOriginAccessIdentity+ , cloudFrontOriginAccessIdentity+ , cfoaiCloudFrontOriginAccessIdentityConfig+ , cfoaiId+ , cfoaiS3CanonicalUserId++ -- * CloudFrontOriginAccessIdentityConfig+ , CloudFrontOriginAccessIdentityConfig+ , cloudFrontOriginAccessIdentityConfig+ , cfoaicCallerReference+ , cfoaicComment++ -- * CloudFrontOriginAccessIdentityList+ , CloudFrontOriginAccessIdentityList+ , cloudFrontOriginAccessIdentityList+ , cfoailItems+ , cfoailNextMarker+ , cfoailMarker+ , cfoailMaxItems+ , cfoailIsTruncated+ , cfoailQuantity++ -- * CloudFrontOriginAccessIdentitySummary+ , CloudFrontOriginAccessIdentitySummary+ , cloudFrontOriginAccessIdentitySummary+ , cfoaisId+ , cfoaisS3CanonicalUserId+ , cfoaisComment++ -- * CookieNames+ , CookieNames+ , cookieNames+ , cnItems+ , cnQuantity++ -- * CookiePreference+ , CookiePreference+ , cookiePreference+ , cpWhitelistedNames+ , cpForward++ -- * CustomErrorResponse+ , CustomErrorResponse+ , customErrorResponse+ , ceResponsePagePath+ , ceResponseCode+ , ceErrorCachingMinTTL+ , ceErrorCode++ -- * CustomErrorResponses+ , CustomErrorResponses+ , customErrorResponses+ , cerItems+ , cerQuantity++ -- * CustomOriginConfig+ , CustomOriginConfig+ , customOriginConfig+ , cocHTTPPort+ , cocHTTPSPort+ , cocOriginProtocolPolicy++ -- * DefaultCacheBehavior+ , DefaultCacheBehavior+ , defaultCacheBehavior+ , dcbAllowedMethods+ , dcbMaxTTL+ , dcbSmoothStreaming+ , dcbDefaultTTL+ , dcbTargetOriginId+ , dcbForwardedValues+ , dcbTrustedSigners+ , dcbViewerProtocolPolicy+ , dcbMinTTL++ -- * Distribution+ , Distribution+ , distribution+ , dId+ , dStatus+ , dLastModifiedTime+ , dInProgressInvalidationBatches+ , dDomainName+ , dActiveTrustedSigners+ , dDistributionConfig++ -- * DistributionConfig+ , DistributionConfig+ , distributionConfig+ , dcDefaultRootObject+ , dcAliases+ , dcCustomErrorResponses+ , dcPriceClass+ , dcViewerCertificate+ , dcRestrictions+ , dcCacheBehaviors+ , dcLogging+ , dcCallerReference+ , dcOrigins+ , dcDefaultCacheBehavior+ , dcComment+ , dcEnabled++ -- * DistributionList+ , DistributionList+ , distributionList+ , dlItems+ , dlNextMarker+ , dlMarker+ , dlMaxItems+ , dlIsTruncated+ , dlQuantity++ -- * DistributionSummary+ , DistributionSummary+ , distributionSummary+ , dsId+ , dsStatus+ , dsLastModifiedTime+ , dsDomainName+ , dsAliases+ , dsOrigins+ , dsDefaultCacheBehavior+ , dsCacheBehaviors+ , dsCustomErrorResponses+ , dsComment+ , dsPriceClass+ , dsEnabled+ , dsViewerCertificate+ , dsRestrictions++ -- * ForwardedValues+ , ForwardedValues+ , forwardedValues+ , fvHeaders+ , fvQueryString+ , fvCookies++ -- * GeoRestriction+ , GeoRestriction+ , geoRestriction+ , grItems+ , grRestrictionType+ , grQuantity++ -- * Headers+ , Headers+ , headers+ , hItems+ , hQuantity++ -- * Invalidation+ , Invalidation+ , invalidation+ , iId+ , iStatus+ , iCreateTime+ , iInvalidationBatch++ -- * InvalidationBatch+ , InvalidationBatch+ , invalidationBatch+ , ibPaths+ , ibCallerReference++ -- * InvalidationList+ , InvalidationList+ , invalidationList+ , ilItems+ , ilNextMarker+ , ilMarker+ , ilMaxItems+ , ilIsTruncated+ , ilQuantity++ -- * InvalidationSummary+ , InvalidationSummary+ , invalidationSummary+ , isId+ , isCreateTime+ , isStatus++ -- * KeyPairIds+ , KeyPairIds+ , keyPairIds+ , kpiItems+ , kpiQuantity++ -- * LoggingConfig+ , LoggingConfig+ , loggingConfig+ , lcEnabled+ , lcIncludeCookies+ , lcBucket+ , lcPrefix++ -- * Origin+ , Origin+ , origin+ , oCustomOriginConfig+ , oS3OriginConfig+ , oOriginPath+ , oId+ , oDomainName++ -- * Origins+ , Origins+ , origins+ , oItems+ , oQuantity++ -- * Paths+ , Paths+ , paths+ , pItems+ , pQuantity++ -- * Restrictions+ , Restrictions+ , restrictions+ , rGeoRestriction++ -- * S3Origin+ , S3Origin+ , s3Origin+ , soDomainName+ , soOriginAccessIdentity++ -- * S3OriginConfig+ , S3OriginConfig+ , s3OriginConfig+ , socOriginAccessIdentity++ -- * Signer+ , Signer+ , signer+ , sAWSAccountNumber+ , sKeyPairIds++ -- * StreamingDistribution+ , StreamingDistribution+ , streamingDistribution+ , sdLastModifiedTime+ , sdId+ , sdStatus+ , sdDomainName+ , sdActiveTrustedSigners+ , sdStreamingDistributionConfig++ -- * StreamingDistributionConfig+ , StreamingDistributionConfig+ , streamingDistributionConfig+ , sdcAliases+ , sdcPriceClass+ , sdcLogging+ , sdcCallerReference+ , sdcS3Origin+ , sdcComment+ , sdcTrustedSigners+ , sdcEnabled++ -- * StreamingDistributionList+ , StreamingDistributionList+ , streamingDistributionList+ , sdlItems+ , sdlNextMarker+ , sdlMarker+ , sdlMaxItems+ , sdlIsTruncated+ , sdlQuantity++ -- * StreamingDistributionSummary+ , StreamingDistributionSummary+ , streamingDistributionSummary+ , sdsId+ , sdsStatus+ , sdsLastModifiedTime+ , sdsDomainName+ , sdsS3Origin+ , sdsAliases+ , sdsTrustedSigners+ , sdsComment+ , sdsPriceClass+ , sdsEnabled++ -- * StreamingLoggingConfig+ , StreamingLoggingConfig+ , streamingLoggingConfig+ , slcEnabled+ , slcBucket+ , slcPrefix++ -- * TrustedSigners+ , TrustedSigners+ , trustedSigners+ , tsItems+ , tsEnabled+ , tsQuantity++ -- * ViewerCertificate+ , ViewerCertificate+ , viewerCertificate+ , vcSSLSupportMethod+ , vcMinimumProtocolVersion+ , vcIAMCertificateId+ , vcCloudFrontDefaultCertificate+ ) where++import Network.AWS.CloudFront.Types.Product+import Network.AWS.CloudFront.Types.Sum+import Network.AWS.Prelude+import Network.AWS.Sign.V4++-- | Version @2015-04-17@ of the Amazon CloudFront SDK.+data CloudFront++instance AWSService CloudFront where+ type Sg CloudFront = V4+ service = const svc+ where+ svc =+ Service+ { _svcAbbrev = "CloudFront"+ , _svcPrefix = "cloudfront"+ , _svcVersion = "2015-04-17"+ , _svcEndpoint = defaultEndpoint svc+ , _svcTimeout = Just 70+ , _svcStatus = statusSuccess+ , _svcError = parseXMLError+ , _svcRetry = retry+ }+ retry =+ Exponential+ { _retryBase = 5.0e-2+ , _retryGrowth = 2+ , _retryAttempts = 5+ , _retryCheck = check+ }+ check e+ | has (hasCode "ThrottlingException" . hasStatus 400) e =+ Just "throttling_exception"+ | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"+ | has (hasStatus 503) e = Just "service_unavailable"+ | has (hasStatus 500) e = Just "general_server_error"+ | has (hasStatus 509) e = Just "limit_exceeded"+ | otherwise = Nothing++-- | Prism for InvalidErrorCode' errors.+_InvalidErrorCode :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidErrorCode = _ServiceError . hasStatus 400 . hasCode "InvalidErrorCode"++-- | You cannot create anymore cache behaviors for the distribution.+_TooManyCacheBehaviors :: AsError a => Getting (First ServiceError) a ServiceError+_TooManyCacheBehaviors =+ _ServiceError . hasStatus 400 . hasCode "TooManyCacheBehaviors"++-- | Prism for DistributionNotDisabled' errors.+_DistributionNotDisabled :: AsError a => Getting (First ServiceError) a ServiceError+_DistributionNotDisabled =+ _ServiceError . hasStatus 409 . hasCode "DistributionNotDisabled"++-- | The origin access identity is not valid or doesn\'t exist.+_InvalidOriginAccessIdentity :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidOriginAccessIdentity =+ _ServiceError . hasStatus 400 . hasCode "InvalidOriginAccessIdentity"++-- | Processing your request would cause you to exceed the maximum number of+-- origin access identities allowed.+_TooManyCloudFrontOriginAccessIdentities :: AsError a => Getting (First ServiceError) a ServiceError+_TooManyCloudFrontOriginAccessIdentities =+ _ServiceError .+ hasStatus 400 . hasCode "TooManyCloudFrontOriginAccessIdentities"++-- | Processing your request would cause you to exceed the maximum number of+-- streaming distributions allowed.+_TooManyStreamingDistributions :: AsError a => Getting (First ServiceError) a ServiceError+_TooManyStreamingDistributions =+ _ServiceError . hasStatus 400 . hasCode "TooManyStreamingDistributions"++-- | The argument is invalid.+_InvalidArgument :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidArgument = _ServiceError . hasStatus 400 . hasCode "InvalidArgument"++-- | The specified origin access identity does not exist.+_NoSuchCloudFrontOriginAccessIdentity :: AsError a => Getting (First ServiceError) a ServiceError+_NoSuchCloudFrontOriginAccessIdentity =+ _ServiceError .+ hasStatus 404 . hasCode "NoSuchCloudFrontOriginAccessIdentity"++-- | The specified streaming distribution does not exist.+_NoSuchStreamingDistribution :: AsError a => Getting (First ServiceError) a ServiceError+_NoSuchStreamingDistribution =+ _ServiceError . hasStatus 404 . hasCode "NoSuchStreamingDistribution"++-- | Prism for CloudFrontOriginAccessIdentityInUse' errors.+_CloudFrontOriginAccessIdentityInUse :: AsError a => Getting (First ServiceError) a ServiceError+_CloudFrontOriginAccessIdentityInUse =+ _ServiceError .+ hasStatus 409 . hasCode "CloudFrontOriginAccessIdentityInUse"++-- | The value of Quantity and the size of Items do not match.+_InconsistentQuantities :: AsError a => Getting (First ServiceError) a ServiceError+_InconsistentQuantities =+ _ServiceError . hasStatus 400 . hasCode "InconsistentQuantities"++-- | You have exceeded the maximum number of allowable InProgress+-- invalidation batch requests, or invalidation objects.+_TooManyInvalidationsInProgress :: AsError a => Getting (First ServiceError) a ServiceError+_TooManyInvalidationsInProgress =+ _ServiceError . hasStatus 400 . hasCode "TooManyInvalidationsInProgress"++-- | Your request contains more CNAMEs than are allowed per distribution.+_TooManyDistributionCNAMEs :: AsError a => Getting (First ServiceError) a ServiceError+_TooManyDistributionCNAMEs =+ _ServiceError . hasStatus 400 . hasCode "TooManyDistributionCNAMEs"++-- | Your request contains forward cookies option which doesn\'t match with+-- the expectation for the whitelisted list of cookie names. Either list of+-- cookie names has been specified when not allowed or list of cookie names+-- is missing when expected.+_InvalidForwardCookies :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidForwardCookies =+ _ServiceError . hasStatus 400 . hasCode "InvalidForwardCookies"++-- | Your request contains more cookie names in the whitelist than are+-- allowed per cache behavior.+_TooManyCookieNamesInWhiteList :: AsError a => Getting (First ServiceError) a ServiceError+_TooManyCookieNamesInWhiteList =+ _ServiceError . hasStatus 400 . hasCode "TooManyCookieNamesInWhiteList"++-- | Prism for BatchTooLarge' errors.+_BatchTooLarge :: AsError a => Getting (First ServiceError) a ServiceError+_BatchTooLarge = _ServiceError . hasStatus 413 . hasCode "BatchTooLarge"++-- | The Amazon S3 origin server specified does not refer to a valid Amazon+-- S3 bucket.+_InvalidOrigin :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidOrigin = _ServiceError . hasStatus 400 . hasCode "InvalidOrigin"++-- | Your request contains more trusted signers than are allowed per+-- distribution.+_TooManyTrustedSigners :: AsError a => Getting (First ServiceError) a ServiceError+_TooManyTrustedSigners =+ _ServiceError . hasStatus 400 . hasCode "TooManyTrustedSigners"++-- | No origin exists with the specified Origin Id.+_NoSuchOrigin :: AsError a => Getting (First ServiceError) a ServiceError+_NoSuchOrigin = _ServiceError . hasStatus 404 . hasCode "NoSuchOrigin"++-- | The specified invalidation does not exist.+_NoSuchInvalidation :: AsError a => Getting (First ServiceError) a ServiceError+_NoSuchInvalidation =+ _ServiceError . hasStatus 404 . hasCode "NoSuchInvalidation"++-- | Prism for StreamingDistributionNotDisabled' errors.+_StreamingDistributionNotDisabled :: AsError a => Getting (First ServiceError) a ServiceError+_StreamingDistributionNotDisabled =+ _ServiceError . hasStatus 409 . hasCode "StreamingDistributionNotDisabled"++-- | Prism for InvalidTTLOrder' errors.+_InvalidTTLOrder :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidTTLOrder = _ServiceError . hasStatus 400 . hasCode "InvalidTTLOrder"++-- | Prism for TooManyStreamingDistributionCNAMEs' errors.+_TooManyStreamingDistributionCNAMEs :: AsError a => Getting (First ServiceError) a ServiceError+_TooManyStreamingDistributionCNAMEs =+ _ServiceError .+ hasStatus 400 . hasCode "TooManyStreamingDistributionCNAMEs"++-- | Processing your request would cause you to exceed the maximum number of+-- distributions allowed.+_TooManyDistributions :: AsError a => Getting (First ServiceError) a ServiceError+_TooManyDistributions =+ _ServiceError . hasStatus 400 . hasCode "TooManyDistributions"++-- | This operation requires the HTTPS protocol. Ensure that you specify the+-- HTTPS protocol in your request, or omit the RequiredProtocols element+-- from your distribution configuration.+_InvalidRequiredProtocol :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidRequiredProtocol =+ _ServiceError . hasStatus 400 . hasCode "InvalidRequiredProtocol"++-- | Prism for TooManyHeadersInForwardedValues' errors.+_TooManyHeadersInForwardedValues :: AsError a => Getting (First ServiceError) a ServiceError+_TooManyHeadersInForwardedValues =+ _ServiceError . hasStatus 400 . hasCode "TooManyHeadersInForwardedValues"++-- | You cannot create anymore custom ssl certificates.+_TooManyCertificates :: AsError a => Getting (First ServiceError) a ServiceError+_TooManyCertificates =+ _ServiceError . hasStatus 400 . hasCode "TooManyCertificates"++-- | This operation requires a body. Ensure that the body is present and the+-- Content-Type header is set.+_MissingBody :: AsError a => Getting (First ServiceError) a ServiceError+_MissingBody = _ServiceError . hasStatus 400 . hasCode "MissingBody"++-- | The caller reference you attempted to create the distribution with is+-- associated with another distribution.+_DistributionAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError+_DistributionAlreadyExists =+ _ServiceError . hasStatus 409 . hasCode "DistributionAlreadyExists"++-- | Origin and CallerReference cannot be updated.+_IllegalUpdate :: AsError a => Getting (First ServiceError) a ServiceError+_IllegalUpdate = _ServiceError . hasStatus 400 . hasCode "IllegalUpdate"++-- | Prism for InvalidResponseCode' errors.+_InvalidResponseCode :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidResponseCode =+ _ServiceError . hasStatus 400 . hasCode "InvalidResponseCode"++-- | The If-Match version is missing or not valid for the distribution.+_InvalidIfMatchVersion :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidIfMatchVersion =+ _ServiceError . hasStatus 400 . hasCode "InvalidIfMatchVersion"++-- | The precondition given in one or more of the request-header fields+-- evaluated to false.+_PreconditionFailed :: AsError a => Getting (First ServiceError) a ServiceError+_PreconditionFailed =+ _ServiceError . hasStatus 412 . hasCode "PreconditionFailed"++-- | You cannot specify SSLv3 as the minimum protocol version if you only+-- want to support only clients that Support Server Name Indication (SNI).+_InvalidProtocolSettings :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidProtocolSettings =+ _ServiceError . hasStatus 400 . hasCode "InvalidProtocolSettings"++-- | One or more of your trusted signers do not exist.+_TrustedSignerDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError+_TrustedSignerDoesNotExist =+ _ServiceError . hasStatus 400 . hasCode "TrustedSignerDoesNotExist"++-- | Prism for InvalidHeadersForS3Origin' errors.+_InvalidHeadersForS3Origin :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidHeadersForS3Origin =+ _ServiceError . hasStatus 400 . hasCode "InvalidHeadersForS3Origin"++-- | Prism for CNAMEAlreadyExists' errors.+_CNAMEAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError+_CNAMEAlreadyExists =+ _ServiceError . hasStatus 409 . hasCode "CNAMEAlreadyExists"++-- | Prism for StreamingDistributionAlreadyExists' errors.+_StreamingDistributionAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError+_StreamingDistributionAlreadyExists =+ _ServiceError .+ hasStatus 409 . hasCode "StreamingDistributionAlreadyExists"++-- | You cannot create anymore origins for the distribution.+_TooManyOrigins :: AsError a => Getting (First ServiceError) a ServiceError+_TooManyOrigins = _ServiceError . hasStatus 400 . hasCode "TooManyOrigins"++-- | If the CallerReference is a value you already sent in a previous request+-- to create an identity but the content of the+-- CloudFrontOriginAccessIdentityConfig is different from the original+-- request, CloudFront returns a+-- CloudFrontOriginAccessIdentityAlreadyExists error.+_CloudFrontOriginAccessIdentityAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError+_CloudFrontOriginAccessIdentityAlreadyExists =+ _ServiceError .+ hasStatus 409 . hasCode "CloudFrontOriginAccessIdentityAlreadyExists"++-- | The relative path is too big, is not URL-encoded, or does not begin with+-- a slash (\/).+_InvalidRelativePath :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidRelativePath =+ _ServiceError . hasStatus 400 . hasCode "InvalidRelativePath"++-- | Prism for InvalidMinimumProtocolVersion' errors.+_InvalidMinimumProtocolVersion :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidMinimumProtocolVersion =+ _ServiceError . hasStatus 400 . hasCode "InvalidMinimumProtocolVersion"++-- | Access denied.+_AccessDenied :: AsError a => Getting (First ServiceError) a ServiceError+_AccessDenied = _ServiceError . hasStatus 403 . hasCode "AccessDenied"++-- | The specified distribution does not exist.+_NoSuchDistribution :: AsError a => Getting (First ServiceError) a ServiceError+_NoSuchDistribution =+ _ServiceError . hasStatus 404 . hasCode "NoSuchDistribution"++-- | Prism for InvalidViewerCertificate' errors.+_InvalidViewerCertificate :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidViewerCertificate =+ _ServiceError . hasStatus 400 . hasCode "InvalidViewerCertificate"++-- | The default root object file name is too big or contains an invalid+-- character.+_InvalidDefaultRootObject :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidDefaultRootObject =+ _ServiceError . hasStatus 400 . hasCode "InvalidDefaultRootObject"++-- | Prism for InvalidLocationCode' errors.+_InvalidLocationCode :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidLocationCode =+ _ServiceError . hasStatus 400 . hasCode "InvalidLocationCode"++-- | Prism for InvalidGeoRestrictionParameter' errors.+_InvalidGeoRestrictionParameter :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidGeoRestrictionParameter =+ _ServiceError . hasStatus 400 . hasCode "InvalidGeoRestrictionParameter"
+ gen/Network/AWS/CloudFront/Types/Product.hs view
@@ -0,0 +1,3297 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudFront.Types.Product+-- Copyright : (c) 2013-2015 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)+--+module Network.AWS.CloudFront.Types.Product where++import Network.AWS.CloudFront.Types.Sum+import Network.AWS.Prelude++-- | A complex type that lists the AWS accounts, if any, that you included in+-- the TrustedSigners complex type for the default cache behavior or for+-- any of the other cache behaviors for this distribution. These are+-- accounts that you want to allow to create signed URLs for private+-- content.+--+-- /See:/ 'activeTrustedSigners' smart constructor.+data ActiveTrustedSigners = ActiveTrustedSigners'+ { _atsItems :: !(Maybe [Signer])+ , _atsEnabled :: !Bool+ , _atsQuantity :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'atsEnabled'+--+-- * 'atsQuantity'+activeTrustedSigners+ :: Bool -- ^ 'atsEnabled'+ -> Int -- ^ 'atsQuantity'+ -> ActiveTrustedSigners+activeTrustedSigners pEnabled_ pQuantity_ =+ ActiveTrustedSigners'+ { _atsItems = Nothing+ , _atsEnabled = pEnabled_+ , _atsQuantity = pQuantity_+ }++-- | A complex type that contains one Signer complex type for each unique+-- trusted signer that is specified in the TrustedSigners complex type,+-- including trusted signers in the default cache behavior and in all of+-- the other cache behaviors.+atsItems :: Lens' ActiveTrustedSigners [Signer]+atsItems = lens _atsItems (\ s a -> s{_atsItems = a}) . _Default . _Coerce;++-- | Each active trusted signer.+atsEnabled :: Lens' ActiveTrustedSigners Bool+atsEnabled = lens _atsEnabled (\ s a -> s{_atsEnabled = a});++-- | The number of unique trusted signers included in all cache behaviors.+-- For example, if three cache behaviors all list the same three AWS+-- accounts, the value of Quantity for ActiveTrustedSigners will be 3.+atsQuantity :: Lens' ActiveTrustedSigners Int+atsQuantity = lens _atsQuantity (\ s a -> s{_atsQuantity = a});++instance FromXML ActiveTrustedSigners where+ parseXML x+ = ActiveTrustedSigners' <$>+ (x .@? "Items" .!@ mempty >>=+ may (parseXMLList "Signer"))+ <*> (x .@ "Enabled")+ <*> (x .@ "Quantity")++-- | A complex type that contains information about CNAMEs (alternate domain+-- names), if any, for this distribution.+--+-- /See:/ 'aliases' smart constructor.+data Aliases = Aliases'+ { _aItems :: !(Maybe [Text])+ , _aQuantity :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'aQuantity'+aliases+ :: Int -- ^ 'aQuantity'+ -> Aliases+aliases pQuantity_ =+ Aliases'+ { _aItems = Nothing+ , _aQuantity = pQuantity_+ }++-- | Optional: A complex type that contains CNAME elements, if any, for this+-- distribution. If Quantity is 0, you can omit Items.+aItems :: Lens' Aliases [Text]+aItems = lens _aItems (\ s a -> s{_aItems = a}) . _Default . _Coerce;++-- | The number of CNAMEs, if any, for this distribution.+aQuantity :: Lens' Aliases Int+aQuantity = lens _aQuantity (\ s a -> s{_aQuantity = a});++instance FromXML Aliases where+ parseXML x+ = Aliases' <$>+ (x .@? "Items" .!@ mempty >>=+ may (parseXMLList "CNAME"))+ <*> (x .@ "Quantity")++instance ToXML Aliases where+ toXML Aliases'{..}+ = mconcat+ ["Items" @= toXML (toXMLList "CNAME" <$> _aItems),+ "Quantity" @= _aQuantity]++-- | A complex type that controls which HTTP methods CloudFront processes and+-- forwards to your Amazon S3 bucket or your custom origin. There are three+-- choices: - CloudFront forwards only GET and HEAD requests. - CloudFront+-- forwards only GET, HEAD and OPTIONS requests. - CloudFront forwards GET,+-- HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests. If you pick the+-- third choice, you may need to restrict access to your Amazon S3 bucket+-- or to your custom origin so users can\'t perform operations that you+-- don\'t want them to. For example, you may not want users to have+-- permission to delete objects from your origin.+--+-- /See:/ 'allowedMethods' smart constructor.+data AllowedMethods = AllowedMethods'+ { _amCachedMethods :: !(Maybe CachedMethods)+ , _amQuantity :: !Int+ , _amItems :: ![Method]+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'amQuantity'+--+-- * 'amItems'+allowedMethods+ :: Int -- ^ 'amQuantity'+ -> AllowedMethods+allowedMethods pQuantity_ =+ AllowedMethods'+ { _amCachedMethods = Nothing+ , _amQuantity = pQuantity_+ , _amItems = mempty+ }++-- | Undocumented member.+amCachedMethods :: Lens' AllowedMethods (Maybe CachedMethods)+amCachedMethods = lens _amCachedMethods (\ s a -> s{_amCachedMethods = a});++-- | The number of HTTP methods that you want CloudFront to forward to your+-- origin. Valid values are 2 (for GET and HEAD requests), 3 (for GET, HEAD+-- and OPTIONS requests) and 7 (for GET, HEAD, OPTIONS, PUT, PATCH, POST,+-- and DELETE requests).+amQuantity :: Lens' AllowedMethods Int+amQuantity = lens _amQuantity (\ s a -> s{_amQuantity = a});++-- | A complex type that contains the HTTP methods that you want CloudFront+-- to process and forward to your origin.+amItems :: Lens' AllowedMethods [Method]+amItems = lens _amItems (\ s a -> s{_amItems = a}) . _Coerce;++instance FromXML AllowedMethods where+ parseXML x+ = AllowedMethods' <$>+ (x .@? "CachedMethods") <*> (x .@ "Quantity") <*>+ (x .@? "Items" .!@ mempty >>= parseXMLList "Method")++instance ToXML AllowedMethods where+ toXML AllowedMethods'{..}+ = mconcat+ ["CachedMethods" @= _amCachedMethods,+ "Quantity" @= _amQuantity,+ "Items" @= toXMLList "Method" _amItems]++-- | A complex type that describes how CloudFront processes requests. You can+-- create up to 10 cache behaviors.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 will never be+-- used. 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.+--+-- /See:/ 'cacheBehavior' smart constructor.+data CacheBehavior = CacheBehavior'+ { _cbAllowedMethods :: !(Maybe AllowedMethods)+ , _cbMaxTTL :: !(Maybe Integer)+ , _cbSmoothStreaming :: !(Maybe Bool)+ , _cbDefaultTTL :: !(Maybe Integer)+ , _cbPathPattern :: !Text+ , _cbTargetOriginId :: !Text+ , _cbForwardedValues :: !ForwardedValues+ , _cbTrustedSigners :: !TrustedSigners+ , _cbViewerProtocolPolicy :: !ViewerProtocolPolicy+ , _cbMinTTL :: !Integer+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'cbMaxTTL'+--+-- * 'cbSmoothStreaming'+--+-- * 'cbDefaultTTL'+--+-- * 'cbPathPattern'+--+-- * 'cbTargetOriginId'+--+-- * 'cbForwardedValues'+--+-- * 'cbTrustedSigners'+--+-- * 'cbViewerProtocolPolicy'+--+-- * 'cbMinTTL'+cacheBehavior+ :: Text -- ^ 'cbPathPattern'+ -> Text -- ^ 'cbTargetOriginId'+ -> ForwardedValues -- ^ 'cbForwardedValues'+ -> TrustedSigners -- ^ 'cbTrustedSigners'+ -> ViewerProtocolPolicy -- ^ 'cbViewerProtocolPolicy'+ -> Integer -- ^ 'cbMinTTL'+ -> CacheBehavior+cacheBehavior pPathPattern_ pTargetOriginId_ pForwardedValues_ pTrustedSigners_ pViewerProtocolPolicy_ pMinTTL_ =+ CacheBehavior'+ { _cbAllowedMethods = Nothing+ , _cbMaxTTL = Nothing+ , _cbSmoothStreaming = Nothing+ , _cbDefaultTTL = Nothing+ , _cbPathPattern = pPathPattern_+ , _cbTargetOriginId = pTargetOriginId_+ , _cbForwardedValues = pForwardedValues_+ , _cbTrustedSigners = pTrustedSigners_+ , _cbViewerProtocolPolicy = pViewerProtocolPolicy_+ , _cbMinTTL = pMinTTL_+ }++-- | Undocumented member.+cbAllowedMethods :: Lens' CacheBehavior (Maybe AllowedMethods)+cbAllowedMethods = lens _cbAllowedMethods (\ s a -> s{_cbAllowedMethods = a});++-- | The maximum amount of time (in seconds) that an object is in a+-- CloudFront cache 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.+-- You can specify a value from 0 to 3,153,600,000 seconds (100 years).+cbMaxTTL :: Lens' CacheBehavior (Maybe Integer)+cbMaxTTL = lens _cbMaxTTL (\ s a -> s{_cbMaxTTL = a});++-- | Indicates whether you want to distribute media files in Microsoft Smooth+-- Streaming format using the origin that is associated with this cache+-- behavior. If so, specify true; if not, specify false.+cbSmoothStreaming :: Lens' CacheBehavior (Maybe Bool)+cbSmoothStreaming = lens _cbSmoothStreaming (\ s a -> s{_cbSmoothStreaming = a});++-- | If you don\'t configure your origin to add a Cache-Control max-age+-- directive or an Expires header, DefaultTTL is the default amount of time+-- (in seconds) that an object is in a CloudFront cache 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. You can specify a value+-- from 0 to 3,153,600,000 seconds (100 years).+cbDefaultTTL :: Lens' CacheBehavior (Maybe Integer)+cbDefaultTTL = lens _cbDefaultTTL (\ s a -> s{_cbDefaultTTL = a});++-- | The pattern (for example, images\/*.jpg) that specifies which requests+-- you want this cache behavior to apply to. When CloudFront receives an+-- end-user 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.+cbPathPattern :: Lens' CacheBehavior Text+cbPathPattern = lens _cbPathPattern (\ s a -> s{_cbPathPattern = a});++-- | The value of ID for the origin that you want CloudFront to route+-- requests to when a request matches the path pattern either for a cache+-- behavior or for the default cache behavior.+cbTargetOriginId :: Lens' CacheBehavior Text+cbTargetOriginId = lens _cbTargetOriginId (\ s a -> s{_cbTargetOriginId = a});++-- | A complex type that specifies how CloudFront handles query strings,+-- cookies and headers.+cbForwardedValues :: Lens' CacheBehavior ForwardedValues+cbForwardedValues = lens _cbForwardedValues (\ s a -> s{_cbForwardedValues = a});++-- | 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, go to Using a Signed URL to Serve Private Content in the+-- Amazon CloudFront Developer Guide. If you don\'t want to require signed+-- URLs in requests for objects that match PathPattern, specify false for+-- Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or+-- more trusted signers, change Enabled to true (if it\'s currently false),+-- change Quantity as applicable, and specify all of the trusted signers+-- that you want to include in the updated distribution.+cbTrustedSigners :: Lens' CacheBehavior TrustedSigners+cbTrustedSigners = lens _cbTrustedSigners (\ s a -> s{_cbTrustedSigners = a});++-- | Use this element to specify the protocol that users can use to access+-- the files in the origin specified by TargetOriginId when a request+-- matches the path pattern in PathPattern. If you want CloudFront to allow+-- end users to use any available protocol, specify allow-all. If you want+-- CloudFront to require HTTPS, specify https. If you want CloudFront to+-- respond to an HTTP request with an HTTP status code of 301 (Moved+-- Permanently) and the HTTPS URL, specify redirect-to-https. The viewer+-- then resubmits the request using the HTTPS URL.+cbViewerProtocolPolicy :: Lens' CacheBehavior ViewerProtocolPolicy+cbViewerProtocolPolicy = lens _cbViewerProtocolPolicy (\ s a -> s{_cbViewerProtocolPolicy = a});++-- | The minimum amount of time that you want objects to stay in CloudFront+-- caches before CloudFront queries your origin to see whether the object+-- has been updated.You can specify a value from 0 to 3,153,600,000 seconds+-- (100 years).+cbMinTTL :: Lens' CacheBehavior Integer+cbMinTTL = lens _cbMinTTL (\ s a -> s{_cbMinTTL = a});++instance FromXML CacheBehavior where+ parseXML x+ = CacheBehavior' <$>+ (x .@? "AllowedMethods") <*> (x .@? "MaxTTL") <*>+ (x .@? "SmoothStreaming")+ <*> (x .@? "DefaultTTL")+ <*> (x .@ "PathPattern")+ <*> (x .@ "TargetOriginId")+ <*> (x .@ "ForwardedValues")+ <*> (x .@ "TrustedSigners")+ <*> (x .@ "ViewerProtocolPolicy")+ <*> (x .@ "MinTTL")++instance ToXML CacheBehavior where+ toXML CacheBehavior'{..}+ = mconcat+ ["AllowedMethods" @= _cbAllowedMethods,+ "MaxTTL" @= _cbMaxTTL,+ "SmoothStreaming" @= _cbSmoothStreaming,+ "DefaultTTL" @= _cbDefaultTTL,+ "PathPattern" @= _cbPathPattern,+ "TargetOriginId" @= _cbTargetOriginId,+ "ForwardedValues" @= _cbForwardedValues,+ "TrustedSigners" @= _cbTrustedSigners,+ "ViewerProtocolPolicy" @= _cbViewerProtocolPolicy,+ "MinTTL" @= _cbMinTTL]++-- | A complex type that contains zero or more CacheBehavior elements.+--+-- /See:/ 'cacheBehaviors' smart constructor.+data CacheBehaviors = CacheBehaviors'+ { _cbItems :: !(Maybe [CacheBehavior])+ , _cbQuantity :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'cbQuantity'+cacheBehaviors+ :: Int -- ^ 'cbQuantity'+ -> CacheBehaviors+cacheBehaviors pQuantity_ =+ CacheBehaviors'+ { _cbItems = Nothing+ , _cbQuantity = pQuantity_+ }++-- | Optional: A complex type that contains cache behaviors for this+-- distribution. If Quantity is 0, you can omit Items.+cbItems :: Lens' CacheBehaviors [CacheBehavior]+cbItems = lens _cbItems (\ s a -> s{_cbItems = a}) . _Default . _Coerce;++-- | The number of cache behaviors for this distribution.+cbQuantity :: Lens' CacheBehaviors Int+cbQuantity = lens _cbQuantity (\ s a -> s{_cbQuantity = a});++instance FromXML CacheBehaviors where+ parseXML x+ = CacheBehaviors' <$>+ (x .@? "Items" .!@ mempty >>=+ may (parseXMLList "CacheBehavior"))+ <*> (x .@ "Quantity")++instance ToXML CacheBehaviors where+ toXML CacheBehaviors'{..}+ = mconcat+ ["Items" @=+ toXML (toXMLList "CacheBehavior" <$> _cbItems),+ "Quantity" @= _cbQuantity]++-- | A complex type that controls whether CloudFront caches the response to+-- requests using the specified HTTP methods. There are two choices: -+-- CloudFront caches responses to GET and HEAD requests. - CloudFront+-- caches responses to GET, HEAD, and OPTIONS requests. If you pick the+-- second choice for your S3 Origin, you may need to forward+-- Access-Control-Request-Method, Access-Control-Request-Headers and Origin+-- headers for the responses to be cached correctly.+--+-- /See:/ 'cachedMethods' smart constructor.+data CachedMethods = CachedMethods'+ { _cmQuantity :: !Int+ , _cmItems :: ![Method]+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'cmItems'+cachedMethods+ :: Int -- ^ 'cmQuantity'+ -> CachedMethods+cachedMethods pQuantity_ =+ CachedMethods'+ { _cmQuantity = pQuantity_+ , _cmItems = mempty+ }++-- | The number of HTTP methods for which you want CloudFront to cache+-- responses. Valid values are 2 (for caching responses to GET and HEAD+-- requests) and 3 (for caching responses to GET, HEAD, and OPTIONS+-- requests).+cmQuantity :: Lens' CachedMethods Int+cmQuantity = lens _cmQuantity (\ s a -> s{_cmQuantity = a});++-- | A complex type that contains the HTTP methods that you want CloudFront+-- to cache responses to.+cmItems :: Lens' CachedMethods [Method]+cmItems = lens _cmItems (\ s a -> s{_cmItems = a}) . _Coerce;++instance FromXML CachedMethods where+ parseXML x+ = CachedMethods' <$>+ (x .@ "Quantity") <*>+ (x .@? "Items" .!@ mempty >>= parseXMLList "Method")++instance ToXML CachedMethods where+ toXML CachedMethods'{..}+ = mconcat+ ["Quantity" @= _cmQuantity,+ "Items" @= toXMLList "Method" _cmItems]++-- | CloudFront origin access identity.+--+-- /See:/ 'cloudFrontOriginAccessIdentity' smart constructor.+data CloudFrontOriginAccessIdentity = CloudFrontOriginAccessIdentity'+ { _cfoaiCloudFrontOriginAccessIdentityConfig :: !(Maybe CloudFrontOriginAccessIdentityConfig)+ , _cfoaiId :: !Text+ , _cfoaiS3CanonicalUserId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'cfoaiId'+--+-- * 'cfoaiS3CanonicalUserId'+cloudFrontOriginAccessIdentity+ :: Text -- ^ 'cfoaiId'+ -> Text -- ^ 'cfoaiS3CanonicalUserId'+ -> CloudFrontOriginAccessIdentity+cloudFrontOriginAccessIdentity pId_ pS3CanonicalUserId_ =+ CloudFrontOriginAccessIdentity'+ { _cfoaiCloudFrontOriginAccessIdentityConfig = Nothing+ , _cfoaiId = pId_+ , _cfoaiS3CanonicalUserId = pS3CanonicalUserId_+ }++-- | The current configuration information for the identity.+cfoaiCloudFrontOriginAccessIdentityConfig :: Lens' CloudFrontOriginAccessIdentity (Maybe CloudFrontOriginAccessIdentityConfig)+cfoaiCloudFrontOriginAccessIdentityConfig = lens _cfoaiCloudFrontOriginAccessIdentityConfig (\ s a -> s{_cfoaiCloudFrontOriginAccessIdentityConfig = a});++-- | The ID for the origin access identity. For example: E74FTE3AJFJ256A.+cfoaiId :: Lens' CloudFrontOriginAccessIdentity Text+cfoaiId = lens _cfoaiId (\ s a -> s{_cfoaiId = a});++-- | 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.+cfoaiS3CanonicalUserId :: Lens' CloudFrontOriginAccessIdentity Text+cfoaiS3CanonicalUserId = lens _cfoaiS3CanonicalUserId (\ s a -> s{_cfoaiS3CanonicalUserId = a});++instance FromXML CloudFrontOriginAccessIdentity where+ parseXML x+ = CloudFrontOriginAccessIdentity' <$>+ (x .@? "CloudFrontOriginAccessIdentityConfig") <*>+ (x .@ "Id")+ <*> (x .@ "S3CanonicalUserId")++-- | Origin access identity configuration.+--+-- /See:/ 'cloudFrontOriginAccessIdentityConfig' smart constructor.+data CloudFrontOriginAccessIdentityConfig = CloudFrontOriginAccessIdentityConfig'+ { _cfoaicCallerReference :: !Text+ , _cfoaicComment :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'cfoaicComment'+cloudFrontOriginAccessIdentityConfig+ :: Text -- ^ 'cfoaicCallerReference'+ -> Text -- ^ 'cfoaicComment'+ -> CloudFrontOriginAccessIdentityConfig+cloudFrontOriginAccessIdentityConfig pCallerReference_ pComment_ =+ CloudFrontOriginAccessIdentityConfig'+ { _cfoaicCallerReference = pCallerReference_+ , _cfoaicComment = pComment_+ }++-- | 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 you already sent+-- in a previous request to create an identity, and the content of the+-- CloudFrontOriginAccessIdentityConfig is identical to the original+-- request (ignoring white space), the response includes the same+-- information returned to the original request. If the CallerReference is+-- a value you already sent in a previous request to create an identity but+-- the content of the CloudFrontOriginAccessIdentityConfig is different+-- from the original request, CloudFront returns a+-- CloudFrontOriginAccessIdentityAlreadyExists error.+cfoaicCallerReference :: Lens' CloudFrontOriginAccessIdentityConfig Text+cfoaicCallerReference = lens _cfoaicCallerReference (\ s a -> s{_cfoaicCallerReference = a});++-- | Any comments you want to include about the origin access identity.+cfoaicComment :: Lens' CloudFrontOriginAccessIdentityConfig Text+cfoaicComment = lens _cfoaicComment (\ s a -> s{_cfoaicComment = a});++instance FromXML CloudFrontOriginAccessIdentityConfig+ where+ parseXML x+ = CloudFrontOriginAccessIdentityConfig' <$>+ (x .@ "CallerReference") <*> (x .@ "Comment")++instance ToXML CloudFrontOriginAccessIdentityConfig+ where+ toXML CloudFrontOriginAccessIdentityConfig'{..}+ = mconcat+ ["CallerReference" @= _cfoaicCallerReference,+ "Comment" @= _cfoaicComment]++-- | The CloudFrontOriginAccessIdentityList type.+--+-- /See:/ 'cloudFrontOriginAccessIdentityList' smart constructor.+data CloudFrontOriginAccessIdentityList = CloudFrontOriginAccessIdentityList'+ { _cfoailItems :: !(Maybe [CloudFrontOriginAccessIdentitySummary])+ , _cfoailNextMarker :: !(Maybe Text)+ , _cfoailMarker :: !Text+ , _cfoailMaxItems :: !Int+ , _cfoailIsTruncated :: !Bool+ , _cfoailQuantity :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'cfoailNextMarker'+--+-- * 'cfoailMarker'+--+-- * 'cfoailMaxItems'+--+-- * 'cfoailIsTruncated'+--+-- * 'cfoailQuantity'+cloudFrontOriginAccessIdentityList+ :: Text -- ^ 'cfoailMarker'+ -> Int -- ^ 'cfoailMaxItems'+ -> Bool -- ^ 'cfoailIsTruncated'+ -> Int -- ^ 'cfoailQuantity'+ -> CloudFrontOriginAccessIdentityList+cloudFrontOriginAccessIdentityList pMarker_ pMaxItems_ pIsTruncated_ pQuantity_ =+ CloudFrontOriginAccessIdentityList'+ { _cfoailItems = Nothing+ , _cfoailNextMarker = Nothing+ , _cfoailMarker = pMarker_+ , _cfoailMaxItems = pMaxItems_+ , _cfoailIsTruncated = pIsTruncated_+ , _cfoailQuantity = pQuantity_+ }++-- | A complex type that contains one CloudFrontOriginAccessIdentitySummary+-- element for each origin access identity that was created by the current+-- AWS account.+cfoailItems :: Lens' CloudFrontOriginAccessIdentityList [CloudFrontOriginAccessIdentitySummary]+cfoailItems = lens _cfoailItems (\ s a -> s{_cfoailItems = a}) . _Default . _Coerce;++-- | If IsTruncated is true, this element is present and contains the value+-- you can use for the Marker request parameter to continue listing your+-- origin access identities where they left off.+cfoailNextMarker :: Lens' CloudFrontOriginAccessIdentityList (Maybe Text)+cfoailNextMarker = lens _cfoailNextMarker (\ s a -> s{_cfoailNextMarker = a});++-- | The value you provided for the Marker request parameter.+cfoailMarker :: Lens' CloudFrontOriginAccessIdentityList Text+cfoailMarker = lens _cfoailMarker (\ s a -> s{_cfoailMarker = a});++-- | The value you provided for the MaxItems request parameter.+cfoailMaxItems :: Lens' CloudFrontOriginAccessIdentityList Int+cfoailMaxItems = lens _cfoailMaxItems (\ s a -> s{_cfoailMaxItems = a});++-- | A flag that indicates whether more origin access identities remain to be+-- listed. If your results were truncated, you can make a follow-up+-- pagination request using the Marker request parameter to retrieve more+-- items in the list.+cfoailIsTruncated :: Lens' CloudFrontOriginAccessIdentityList Bool+cfoailIsTruncated = lens _cfoailIsTruncated (\ s a -> s{_cfoailIsTruncated = a});++-- | The number of CloudFront origin access identities that were created by+-- the current AWS account.+cfoailQuantity :: Lens' CloudFrontOriginAccessIdentityList Int+cfoailQuantity = lens _cfoailQuantity (\ s a -> s{_cfoailQuantity = a});++instance FromXML CloudFrontOriginAccessIdentityList+ where+ parseXML x+ = CloudFrontOriginAccessIdentityList' <$>+ (x .@? "Items" .!@ mempty >>=+ may+ (parseXMLList+ "CloudFrontOriginAccessIdentitySummary"))+ <*> (x .@? "NextMarker")+ <*> (x .@ "Marker")+ <*> (x .@ "MaxItems")+ <*> (x .@ "IsTruncated")+ <*> (x .@ "Quantity")++-- | Summary of the information about a CloudFront origin access identity.+--+-- /See:/ 'cloudFrontOriginAccessIdentitySummary' smart constructor.+data CloudFrontOriginAccessIdentitySummary = CloudFrontOriginAccessIdentitySummary'+ { _cfoaisId :: !Text+ , _cfoaisS3CanonicalUserId :: !Text+ , _cfoaisComment :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'cfoaisS3CanonicalUserId'+--+-- * 'cfoaisComment'+cloudFrontOriginAccessIdentitySummary+ :: Text -- ^ 'cfoaisId'+ -> Text -- ^ 'cfoaisS3CanonicalUserId'+ -> Text -- ^ 'cfoaisComment'+ -> CloudFrontOriginAccessIdentitySummary+cloudFrontOriginAccessIdentitySummary pId_ pS3CanonicalUserId_ pComment_ =+ CloudFrontOriginAccessIdentitySummary'+ { _cfoaisId = pId_+ , _cfoaisS3CanonicalUserId = pS3CanonicalUserId_+ , _cfoaisComment = pComment_+ }++-- | The ID for the origin access identity. For example: E74FTE3AJFJ256A.+cfoaisId :: Lens' CloudFrontOriginAccessIdentitySummary Text+cfoaisId = lens _cfoaisId (\ s a -> s{_cfoaisId = a});++-- | The Amazon S3 canonical user ID for the origin access identity, which+-- you use when giving the origin access identity read permission to an+-- object in Amazon S3.+cfoaisS3CanonicalUserId :: Lens' CloudFrontOriginAccessIdentitySummary Text+cfoaisS3CanonicalUserId = lens _cfoaisS3CanonicalUserId (\ s a -> s{_cfoaisS3CanonicalUserId = a});++-- | The comment for this origin access identity, as originally specified+-- when created.+cfoaisComment :: Lens' CloudFrontOriginAccessIdentitySummary Text+cfoaisComment = lens _cfoaisComment (\ s a -> s{_cfoaisComment = a});++instance FromXML+ CloudFrontOriginAccessIdentitySummary where+ parseXML x+ = CloudFrontOriginAccessIdentitySummary' <$>+ (x .@ "Id") <*> (x .@ "S3CanonicalUserId") <*>+ (x .@ "Comment")++-- | A complex type that specifies the whitelisted cookies, if any, that you+-- want CloudFront to forward to your origin that is associated with this+-- cache behavior.+--+-- /See:/ 'cookieNames' smart constructor.+data CookieNames = CookieNames'+ { _cnItems :: !(Maybe [Text])+ , _cnQuantity :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'cnQuantity'+cookieNames+ :: Int -- ^ 'cnQuantity'+ -> CookieNames+cookieNames pQuantity_ =+ CookieNames'+ { _cnItems = Nothing+ , _cnQuantity = pQuantity_+ }++-- | Optional: A complex type that contains whitelisted cookies for this+-- cache behavior. If Quantity is 0, you can omit Items.+cnItems :: Lens' CookieNames [Text]+cnItems = lens _cnItems (\ s a -> s{_cnItems = a}) . _Default . _Coerce;++-- | The number of whitelisted cookies for this cache behavior.+cnQuantity :: Lens' CookieNames Int+cnQuantity = lens _cnQuantity (\ s a -> s{_cnQuantity = a});++instance FromXML CookieNames where+ parseXML x+ = CookieNames' <$>+ (x .@? "Items" .!@ mempty >>=+ may (parseXMLList "Name"))+ <*> (x .@ "Quantity")++instance ToXML CookieNames where+ toXML CookieNames'{..}+ = mconcat+ ["Items" @= toXML (toXMLList "Name" <$> _cnItems),+ "Quantity" @= _cnQuantity]++-- | A complex type that specifies the cookie preferences associated with+-- this cache behavior.+--+-- /See:/ 'cookiePreference' smart constructor.+data CookiePreference = CookiePreference'+ { _cpWhitelistedNames :: !(Maybe CookieNames)+ , _cpForward :: !ItemSelection+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'cpForward'+cookiePreference+ :: ItemSelection -- ^ 'cpForward'+ -> CookiePreference+cookiePreference pForward_ =+ CookiePreference'+ { _cpWhitelistedNames = Nothing+ , _cpForward = pForward_+ }++-- | A complex type that specifies the whitelisted cookies, if any, that you+-- want CloudFront to forward to your origin that is associated with this+-- cache behavior.+cpWhitelistedNames :: Lens' CookiePreference (Maybe CookieNames)+cpWhitelistedNames = lens _cpWhitelistedNames (\ s a -> s{_cpWhitelistedNames = a});++-- | Use this element to specify whether you want CloudFront to forward+-- cookies to the origin that is associated with this cache behavior. You+-- can specify all, none or whitelist. If you choose All, CloudFront+-- forwards all cookies regardless of how many your application uses.+cpForward :: Lens' CookiePreference ItemSelection+cpForward = lens _cpForward (\ s a -> s{_cpForward = a});++instance FromXML CookiePreference where+ parseXML x+ = CookiePreference' <$>+ (x .@? "WhitelistedNames") <*> (x .@ "Forward")++instance ToXML CookiePreference where+ toXML CookiePreference'{..}+ = mconcat+ ["WhitelistedNames" @= _cpWhitelistedNames,+ "Forward" @= _cpForward]++-- | A complex type that describes how you\'d prefer CloudFront to respond to+-- requests that result in either a 4xx or 5xx response. You can control+-- whether a custom error page should be displayed, what the desired+-- response code should be for this error page and how long should the+-- error response be cached by CloudFront. If you don\'t want to specify+-- any custom error responses, include only an empty CustomErrorResponses+-- element. To delete all custom error responses in an existing+-- distribution, update the distribution configuration and include only an+-- empty CustomErrorResponses element. To add, change, or remove one or+-- more custom error responses, update the distribution configuration and+-- specify all of the custom error responses that you want to include in+-- the updated distribution.+--+-- /See:/ 'customErrorResponse' smart constructor.+data CustomErrorResponse = CustomErrorResponse'+ { _ceResponsePagePath :: !(Maybe Text)+ , _ceResponseCode :: !(Maybe Text)+ , _ceErrorCachingMinTTL :: !(Maybe Integer)+ , _ceErrorCode :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'ceResponseCode'+--+-- * 'ceErrorCachingMinTTL'+--+-- * 'ceErrorCode'+customErrorResponse+ :: Int -- ^ 'ceErrorCode'+ -> CustomErrorResponse+customErrorResponse pErrorCode_ =+ CustomErrorResponse'+ { _ceResponsePagePath = Nothing+ , _ceResponseCode = Nothing+ , _ceErrorCachingMinTTL = Nothing+ , _ceErrorCode = pErrorCode_+ }++-- | The path of the custom error page (for example, \/custom_404.html). The+-- path is relative to the distribution and must begin with a slash (\/).+-- If the path includes any non-ASCII characters or unsafe characters as+-- defined in RFC 1783 (http:\/\/www.ietf.org\/rfc\/rfc1738.txt), URL+-- encode those characters. Do not URL encode any other characters in the+-- path, or CloudFront will not return the custom error page to the viewer.+ceResponsePagePath :: Lens' CustomErrorResponse (Maybe Text)+ceResponsePagePath = lens _ceResponsePagePath (\ s a -> s{_ceResponsePagePath = a});++-- | The HTTP status code that you want CloudFront to return with the custom+-- error page to the viewer. For a list of HTTP status codes that you can+-- replace, see CloudFront Documentation.+ceResponseCode :: Lens' CustomErrorResponse (Maybe Text)+ceResponseCode = lens _ceResponseCode (\ s a -> s{_ceResponseCode = a});++-- | The minimum amount of time you want HTTP error codes to stay in+-- CloudFront caches before CloudFront queries your origin to see whether+-- the object has been updated. You can specify a value from 0 to+-- 31,536,000.+ceErrorCachingMinTTL :: Lens' CustomErrorResponse (Maybe Integer)+ceErrorCachingMinTTL = lens _ceErrorCachingMinTTL (\ s a -> s{_ceErrorCachingMinTTL = a});++-- | The 4xx or 5xx HTTP status code that you want to customize. For a list+-- of HTTP status codes that you can customize, see CloudFront+-- documentation.+ceErrorCode :: Lens' CustomErrorResponse Int+ceErrorCode = lens _ceErrorCode (\ s a -> s{_ceErrorCode = a});++instance FromXML CustomErrorResponse where+ parseXML x+ = CustomErrorResponse' <$>+ (x .@? "ResponsePagePath") <*> (x .@? "ResponseCode")+ <*> (x .@? "ErrorCachingMinTTL")+ <*> (x .@ "ErrorCode")++instance ToXML CustomErrorResponse where+ toXML CustomErrorResponse'{..}+ = mconcat+ ["ResponsePagePath" @= _ceResponsePagePath,+ "ResponseCode" @= _ceResponseCode,+ "ErrorCachingMinTTL" @= _ceErrorCachingMinTTL,+ "ErrorCode" @= _ceErrorCode]++-- | A complex type that contains zero or more CustomErrorResponse elements.+--+-- /See:/ 'customErrorResponses' smart constructor.+data CustomErrorResponses = CustomErrorResponses'+ { _cerItems :: !(Maybe [CustomErrorResponse])+ , _cerQuantity :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'cerQuantity'+customErrorResponses+ :: Int -- ^ 'cerQuantity'+ -> CustomErrorResponses+customErrorResponses pQuantity_ =+ CustomErrorResponses'+ { _cerItems = Nothing+ , _cerQuantity = pQuantity_+ }++-- | Optional: A complex type that contains custom error responses for this+-- distribution. If Quantity is 0, you can omit Items.+cerItems :: Lens' CustomErrorResponses [CustomErrorResponse]+cerItems = lens _cerItems (\ s a -> s{_cerItems = a}) . _Default . _Coerce;++-- | The number of custom error responses for this distribution.+cerQuantity :: Lens' CustomErrorResponses Int+cerQuantity = lens _cerQuantity (\ s a -> s{_cerQuantity = a});++instance FromXML CustomErrorResponses where+ parseXML x+ = CustomErrorResponses' <$>+ (x .@? "Items" .!@ mempty >>=+ may (parseXMLList "CustomErrorResponse"))+ <*> (x .@ "Quantity")++instance ToXML CustomErrorResponses where+ toXML CustomErrorResponses'{..}+ = mconcat+ ["Items" @=+ toXML+ (toXMLList "CustomErrorResponse" <$> _cerItems),+ "Quantity" @= _cerQuantity]++-- | A customer origin.+--+-- /See:/ 'customOriginConfig' smart constructor.+data CustomOriginConfig = CustomOriginConfig'+ { _cocHTTPPort :: !Int+ , _cocHTTPSPort :: !Int+ , _cocOriginProtocolPolicy :: !OriginProtocolPolicy+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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:+--+-- * 'cocHTTPPort'+--+-- * 'cocHTTPSPort'+--+-- * 'cocOriginProtocolPolicy'+customOriginConfig+ :: Int -- ^ 'cocHTTPPort'+ -> Int -- ^ 'cocHTTPSPort'+ -> OriginProtocolPolicy -- ^ 'cocOriginProtocolPolicy'+ -> CustomOriginConfig+customOriginConfig pHTTPPort_ pHTTPSPort_ pOriginProtocolPolicy_ =+ CustomOriginConfig'+ { _cocHTTPPort = pHTTPPort_+ , _cocHTTPSPort = pHTTPSPort_+ , _cocOriginProtocolPolicy = pOriginProtocolPolicy_+ }++-- | The HTTP port the custom origin listens on.+cocHTTPPort :: Lens' CustomOriginConfig Int+cocHTTPPort = lens _cocHTTPPort (\ s a -> s{_cocHTTPPort = a});++-- | The HTTPS port the custom origin listens on.+cocHTTPSPort :: Lens' CustomOriginConfig Int+cocHTTPSPort = lens _cocHTTPSPort (\ s a -> s{_cocHTTPSPort = a});++-- | The origin protocol policy to apply to your origin.+cocOriginProtocolPolicy :: Lens' CustomOriginConfig OriginProtocolPolicy+cocOriginProtocolPolicy = lens _cocOriginProtocolPolicy (\ s a -> s{_cocOriginProtocolPolicy = a});++instance FromXML CustomOriginConfig where+ parseXML x+ = CustomOriginConfig' <$>+ (x .@ "HTTPPort") <*> (x .@ "HTTPSPort") <*>+ (x .@ "OriginProtocolPolicy")++instance ToXML CustomOriginConfig where+ toXML CustomOriginConfig'{..}+ = mconcat+ ["HTTPPort" @= _cocHTTPPort,+ "HTTPSPort" @= _cocHTTPSPort,+ "OriginProtocolPolicy" @= _cocOriginProtocolPolicy]++-- | 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.+data DefaultCacheBehavior = DefaultCacheBehavior'+ { _dcbAllowedMethods :: !(Maybe AllowedMethods)+ , _dcbMaxTTL :: !(Maybe Integer)+ , _dcbSmoothStreaming :: !(Maybe Bool)+ , _dcbDefaultTTL :: !(Maybe Integer)+ , _dcbTargetOriginId :: !Text+ , _dcbForwardedValues :: !ForwardedValues+ , _dcbTrustedSigners :: !TrustedSigners+ , _dcbViewerProtocolPolicy :: !ViewerProtocolPolicy+ , _dcbMinTTL :: !Integer+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'dcbMaxTTL'+--+-- * 'dcbSmoothStreaming'+--+-- * 'dcbDefaultTTL'+--+-- * 'dcbTargetOriginId'+--+-- * 'dcbForwardedValues'+--+-- * 'dcbTrustedSigners'+--+-- * 'dcbViewerProtocolPolicy'+--+-- * 'dcbMinTTL'+defaultCacheBehavior+ :: Text -- ^ 'dcbTargetOriginId'+ -> ForwardedValues -- ^ 'dcbForwardedValues'+ -> TrustedSigners -- ^ 'dcbTrustedSigners'+ -> ViewerProtocolPolicy -- ^ 'dcbViewerProtocolPolicy'+ -> Integer -- ^ 'dcbMinTTL'+ -> DefaultCacheBehavior+defaultCacheBehavior pTargetOriginId_ pForwardedValues_ pTrustedSigners_ pViewerProtocolPolicy_ pMinTTL_ =+ DefaultCacheBehavior'+ { _dcbAllowedMethods = Nothing+ , _dcbMaxTTL = Nothing+ , _dcbSmoothStreaming = Nothing+ , _dcbDefaultTTL = Nothing+ , _dcbTargetOriginId = pTargetOriginId_+ , _dcbForwardedValues = pForwardedValues_+ , _dcbTrustedSigners = pTrustedSigners_+ , _dcbViewerProtocolPolicy = pViewerProtocolPolicy_+ , _dcbMinTTL = pMinTTL_+ }++-- | Undocumented member.+dcbAllowedMethods :: Lens' DefaultCacheBehavior (Maybe AllowedMethods)+dcbAllowedMethods = lens _dcbAllowedMethods (\ s a -> s{_dcbAllowedMethods = a});++-- | The maximum amount of time (in seconds) that an object is in a+-- CloudFront cache 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.+-- You can specify a value from 0 to 3,153,600,000 seconds (100 years).+dcbMaxTTL :: Lens' DefaultCacheBehavior (Maybe Integer)+dcbMaxTTL = lens _dcbMaxTTL (\ s a -> s{_dcbMaxTTL = a});++-- | Indicates whether you want to distribute media files in Microsoft Smooth+-- Streaming format using the origin that is associated with this cache+-- behavior. If so, specify true; if not, specify false.+dcbSmoothStreaming :: Lens' DefaultCacheBehavior (Maybe Bool)+dcbSmoothStreaming = lens _dcbSmoothStreaming (\ s a -> s{_dcbSmoothStreaming = a});++-- | If you don\'t configure your origin to add a Cache-Control max-age+-- directive or an Expires header, DefaultTTL is the default amount of time+-- (in seconds) that an object is in a CloudFront cache 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. You can specify a value+-- from 0 to 3,153,600,000 seconds (100 years).+dcbDefaultTTL :: Lens' DefaultCacheBehavior (Maybe Integer)+dcbDefaultTTL = lens _dcbDefaultTTL (\ s a -> s{_dcbDefaultTTL = a});++-- | The value of ID for the origin that you want CloudFront to route+-- requests to when a request matches the path pattern either for a cache+-- behavior or for the default cache behavior.+dcbTargetOriginId :: Lens' DefaultCacheBehavior Text+dcbTargetOriginId = lens _dcbTargetOriginId (\ s a -> s{_dcbTargetOriginId = a});++-- | A complex type that specifies how CloudFront handles query strings,+-- cookies and headers.+dcbForwardedValues :: Lens' DefaultCacheBehavior ForwardedValues+dcbForwardedValues = lens _dcbForwardedValues (\ s a -> s{_dcbForwardedValues = a});++-- | 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, go to Using a Signed URL to Serve Private Content in the+-- Amazon CloudFront Developer Guide. If you don\'t want to require signed+-- URLs in requests for objects that match PathPattern, specify false for+-- Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or+-- more trusted signers, change Enabled to true (if it\'s currently false),+-- change Quantity as applicable, and specify all of the trusted signers+-- that you want to include in the updated distribution.+dcbTrustedSigners :: Lens' DefaultCacheBehavior TrustedSigners+dcbTrustedSigners = lens _dcbTrustedSigners (\ s a -> s{_dcbTrustedSigners = a});++-- | Use this element to specify the protocol that users can use to access+-- the files in the origin specified by TargetOriginId when a request+-- matches the path pattern in PathPattern. If you want CloudFront to allow+-- end users to use any available protocol, specify allow-all. If you want+-- CloudFront to require HTTPS, specify https. If you want CloudFront to+-- respond to an HTTP request with an HTTP status code of 301 (Moved+-- Permanently) and the HTTPS URL, specify redirect-to-https. The viewer+-- then resubmits the request using the HTTPS URL.+dcbViewerProtocolPolicy :: Lens' DefaultCacheBehavior ViewerProtocolPolicy+dcbViewerProtocolPolicy = lens _dcbViewerProtocolPolicy (\ s a -> s{_dcbViewerProtocolPolicy = a});++-- | The minimum amount of time that you want objects to stay in CloudFront+-- caches before CloudFront queries your origin to see whether the object+-- has been updated.You can specify a value from 0 to 3,153,600,000 seconds+-- (100 years).+dcbMinTTL :: Lens' DefaultCacheBehavior Integer+dcbMinTTL = lens _dcbMinTTL (\ s a -> s{_dcbMinTTL = a});++instance FromXML DefaultCacheBehavior where+ parseXML x+ = DefaultCacheBehavior' <$>+ (x .@? "AllowedMethods") <*> (x .@? "MaxTTL") <*>+ (x .@? "SmoothStreaming")+ <*> (x .@? "DefaultTTL")+ <*> (x .@ "TargetOriginId")+ <*> (x .@ "ForwardedValues")+ <*> (x .@ "TrustedSigners")+ <*> (x .@ "ViewerProtocolPolicy")+ <*> (x .@ "MinTTL")++instance ToXML DefaultCacheBehavior where+ toXML DefaultCacheBehavior'{..}+ = mconcat+ ["AllowedMethods" @= _dcbAllowedMethods,+ "MaxTTL" @= _dcbMaxTTL,+ "SmoothStreaming" @= _dcbSmoothStreaming,+ "DefaultTTL" @= _dcbDefaultTTL,+ "TargetOriginId" @= _dcbTargetOriginId,+ "ForwardedValues" @= _dcbForwardedValues,+ "TrustedSigners" @= _dcbTrustedSigners,+ "ViewerProtocolPolicy" @= _dcbViewerProtocolPolicy,+ "MinTTL" @= _dcbMinTTL]++-- | A distribution.+--+-- /See:/ 'distribution' smart constructor.+data Distribution = Distribution'+ { _dId :: !Text+ , _dStatus :: !Text+ , _dLastModifiedTime :: !ISO8601+ , _dInProgressInvalidationBatches :: !Int+ , _dDomainName :: !Text+ , _dActiveTrustedSigners :: !ActiveTrustedSigners+ , _dDistributionConfig :: !DistributionConfig+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'dStatus'+--+-- * 'dLastModifiedTime'+--+-- * 'dInProgressInvalidationBatches'+--+-- * 'dDomainName'+--+-- * 'dActiveTrustedSigners'+--+-- * 'dDistributionConfig'+distribution+ :: Text -- ^ 'dId'+ -> Text -- ^ 'dStatus'+ -> UTCTime -- ^ 'dLastModifiedTime'+ -> Int -- ^ 'dInProgressInvalidationBatches'+ -> Text -- ^ 'dDomainName'+ -> ActiveTrustedSigners -- ^ 'dActiveTrustedSigners'+ -> DistributionConfig -- ^ 'dDistributionConfig'+ -> Distribution+distribution pId_ pStatus_ pLastModifiedTime_ pInProgressInvalidationBatches_ pDomainName_ pActiveTrustedSigners_ pDistributionConfig_ =+ Distribution'+ { _dId = pId_+ , _dStatus = pStatus_+ , _dLastModifiedTime = _Time # pLastModifiedTime_+ , _dInProgressInvalidationBatches = pInProgressInvalidationBatches_+ , _dDomainName = pDomainName_+ , _dActiveTrustedSigners = pActiveTrustedSigners_+ , _dDistributionConfig = pDistributionConfig_+ }++-- | The identifier for the distribution. For example: EDFDVBD632BHDS5.+dId :: Lens' Distribution Text+dId = lens _dId (\ s a -> s{_dId = a});++-- | This response element indicates the current status of the distribution.+-- When the status is Deployed, the distribution\'s information is fully+-- propagated throughout the Amazon CloudFront system.+dStatus :: Lens' Distribution Text+dStatus = lens _dStatus (\ s a -> s{_dStatus = a});++-- | The date and time the distribution was last modified.+dLastModifiedTime :: Lens' Distribution UTCTime+dLastModifiedTime = lens _dLastModifiedTime (\ s a -> s{_dLastModifiedTime = a}) . _Time;++-- | The number of invalidation batches currently in progress.+dInProgressInvalidationBatches :: Lens' Distribution Int+dInProgressInvalidationBatches = lens _dInProgressInvalidationBatches (\ s a -> s{_dInProgressInvalidationBatches = a});++-- | The domain name corresponding to the distribution. For example:+-- d604721fxaaqy9.cloudfront.net.+dDomainName :: Lens' Distribution Text+dDomainName = lens _dDomainName (\ s a -> s{_dDomainName = a});++-- | CloudFront automatically adds this element to the response only if+-- you\'ve set up the distribution to serve private content with signed+-- URLs. The element lists the key pair IDs that CloudFront is aware of for+-- each trusted signer. The Signer child element lists the AWS account+-- number of the trusted signer (or an empty Self element if the signer is+-- you). The Signer element also includes the IDs of any active key pairs+-- associated with the trusted signer\'s AWS account. If no KeyPairId+-- element appears for a Signer, that signer can\'t create working signed+-- URLs.+dActiveTrustedSigners :: Lens' Distribution ActiveTrustedSigners+dActiveTrustedSigners = lens _dActiveTrustedSigners (\ s a -> s{_dActiveTrustedSigners = a});++-- | The current configuration information for the distribution.+dDistributionConfig :: Lens' Distribution DistributionConfig+dDistributionConfig = lens _dDistributionConfig (\ s a -> s{_dDistributionConfig = a});++instance FromXML Distribution where+ parseXML x+ = Distribution' <$>+ (x .@ "Id") <*> (x .@ "Status") <*>+ (x .@ "LastModifiedTime")+ <*> (x .@ "InProgressInvalidationBatches")+ <*> (x .@ "DomainName")+ <*> (x .@ "ActiveTrustedSigners")+ <*> (x .@ "DistributionConfig")++-- | A distribution Configuration.+--+-- /See:/ 'distributionConfig' smart constructor.+data DistributionConfig = DistributionConfig'+ { _dcDefaultRootObject :: !(Maybe Text)+ , _dcAliases :: !(Maybe Aliases)+ , _dcCustomErrorResponses :: !(Maybe CustomErrorResponses)+ , _dcPriceClass :: !(Maybe PriceClass)+ , _dcViewerCertificate :: !(Maybe ViewerCertificate)+ , _dcRestrictions :: !(Maybe Restrictions)+ , _dcCacheBehaviors :: !(Maybe CacheBehaviors)+ , _dcLogging :: !(Maybe LoggingConfig)+ , _dcCallerReference :: !Text+ , _dcOrigins :: !Origins+ , _dcDefaultCacheBehavior :: !DefaultCacheBehavior+ , _dcComment :: !Text+ , _dcEnabled :: !Bool+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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:+--+-- * 'dcDefaultRootObject'+--+-- * 'dcAliases'+--+-- * 'dcCustomErrorResponses'+--+-- * 'dcPriceClass'+--+-- * 'dcViewerCertificate'+--+-- * 'dcRestrictions'+--+-- * 'dcCacheBehaviors'+--+-- * 'dcLogging'+--+-- * 'dcCallerReference'+--+-- * 'dcOrigins'+--+-- * 'dcDefaultCacheBehavior'+--+-- * 'dcComment'+--+-- * 'dcEnabled'+distributionConfig+ :: Text -- ^ 'dcCallerReference'+ -> Origins -- ^ 'dcOrigins'+ -> DefaultCacheBehavior -- ^ 'dcDefaultCacheBehavior'+ -> Text -- ^ 'dcComment'+ -> Bool -- ^ 'dcEnabled'+ -> DistributionConfig+distributionConfig pCallerReference_ pOrigins_ pDefaultCacheBehavior_ pComment_ pEnabled_ =+ DistributionConfig'+ { _dcDefaultRootObject = Nothing+ , _dcAliases = Nothing+ , _dcCustomErrorResponses = Nothing+ , _dcPriceClass = Nothing+ , _dcViewerCertificate = Nothing+ , _dcRestrictions = Nothing+ , _dcCacheBehaviors = Nothing+ , _dcLogging = Nothing+ , _dcCallerReference = pCallerReference_+ , _dcOrigins = pOrigins_+ , _dcDefaultCacheBehavior = pDefaultCacheBehavior_+ , _dcComment = pComment_+ , _dcEnabled = pEnabled_+ }++-- | The object that you want CloudFront to return (for example, index.html)+-- when an end user requests the root URL for your distribution+-- (http:\/\/www.example.com) instead of an object in your distribution+-- (http:\/\/www.example.com\/index.html). Specifying a default root object+-- avoids exposing the contents of your distribution. 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.+dcDefaultRootObject :: Lens' DistributionConfig (Maybe Text)+dcDefaultRootObject = lens _dcDefaultRootObject (\ s a -> s{_dcDefaultRootObject = a});++-- | A complex type that contains information about CNAMEs (alternate domain+-- names), if any, for this distribution.+dcAliases :: Lens' DistributionConfig (Maybe Aliases)+dcAliases = lens _dcAliases (\ s a -> s{_dcAliases = a});++-- | A complex type that contains zero or more CustomErrorResponse elements.+dcCustomErrorResponses :: Lens' DistributionConfig (Maybe CustomErrorResponses)+dcCustomErrorResponses = lens _dcCustomErrorResponses (\ s a -> s{_dcCustomErrorResponses = a});++-- | A complex type that contains information about price class for this+-- distribution.+dcPriceClass :: Lens' DistributionConfig (Maybe PriceClass)+dcPriceClass = lens _dcPriceClass (\ s a -> s{_dcPriceClass = a});++-- | Undocumented member.+dcViewerCertificate :: Lens' DistributionConfig (Maybe ViewerCertificate)+dcViewerCertificate = lens _dcViewerCertificate (\ s a -> s{_dcViewerCertificate = a});++-- | Undocumented member.+dcRestrictions :: Lens' DistributionConfig (Maybe Restrictions)+dcRestrictions = lens _dcRestrictions (\ s a -> s{_dcRestrictions = a});++-- | A complex type that contains zero or more CacheBehavior elements.+dcCacheBehaviors :: Lens' DistributionConfig (Maybe CacheBehaviors)+dcCacheBehaviors = lens _dcCacheBehaviors (\ s a -> s{_dcCacheBehaviors = a});++-- | A complex type that controls whether access logs are written for the+-- distribution.+dcLogging :: Lens' DistributionConfig (Maybe LoggingConfig)+dcLogging = lens _dcLogging (\ s a -> s{_dcLogging = a});++-- | A unique number that ensures the request can\'t be replayed. If the+-- CallerReference is new (no matter the content of the DistributionConfig+-- object), a new distribution is created. If the CallerReference is a+-- value you already sent in a previous request to create a distribution,+-- and the content of the DistributionConfig 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 a distribution+-- but the content of the DistributionConfig is different from the original+-- request, CloudFront returns a DistributionAlreadyExists error.+dcCallerReference :: Lens' DistributionConfig Text+dcCallerReference = lens _dcCallerReference (\ s a -> s{_dcCallerReference = a});++-- | A complex type that contains information about origins for this+-- distribution.+dcOrigins :: Lens' DistributionConfig Origins+dcOrigins = lens _dcOrigins (\ s a -> s{_dcOrigins = a});++-- | 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.+dcDefaultCacheBehavior :: Lens' DistributionConfig DefaultCacheBehavior+dcDefaultCacheBehavior = lens _dcDefaultCacheBehavior (\ s a -> s{_dcDefaultCacheBehavior = a});++-- | Any comments you want to include about the distribution.+dcComment :: Lens' DistributionConfig Text+dcComment = lens _dcComment (\ s a -> s{_dcComment = a});++-- | Whether the distribution is enabled to accept end user requests for+-- content.+dcEnabled :: Lens' DistributionConfig Bool+dcEnabled = lens _dcEnabled (\ s a -> s{_dcEnabled = a});++instance FromXML DistributionConfig where+ parseXML x+ = DistributionConfig' <$>+ (x .@? "DefaultRootObject") <*> (x .@? "Aliases") <*>+ (x .@? "CustomErrorResponses")+ <*> (x .@? "PriceClass")+ <*> (x .@? "ViewerCertificate")+ <*> (x .@? "Restrictions")+ <*> (x .@? "CacheBehaviors")+ <*> (x .@? "Logging")+ <*> (x .@ "CallerReference")+ <*> (x .@ "Origins")+ <*> (x .@ "DefaultCacheBehavior")+ <*> (x .@ "Comment")+ <*> (x .@ "Enabled")++instance ToXML DistributionConfig where+ toXML DistributionConfig'{..}+ = mconcat+ ["DefaultRootObject" @= _dcDefaultRootObject,+ "Aliases" @= _dcAliases,+ "CustomErrorResponses" @= _dcCustomErrorResponses,+ "PriceClass" @= _dcPriceClass,+ "ViewerCertificate" @= _dcViewerCertificate,+ "Restrictions" @= _dcRestrictions,+ "CacheBehaviors" @= _dcCacheBehaviors,+ "Logging" @= _dcLogging,+ "CallerReference" @= _dcCallerReference,+ "Origins" @= _dcOrigins,+ "DefaultCacheBehavior" @= _dcDefaultCacheBehavior,+ "Comment" @= _dcComment, "Enabled" @= _dcEnabled]++-- | A distribution list.+--+-- /See:/ 'distributionList' smart constructor.+data DistributionList = DistributionList'+ { _dlItems :: !(Maybe [DistributionSummary])+ , _dlNextMarker :: !(Maybe Text)+ , _dlMarker :: !Text+ , _dlMaxItems :: !Int+ , _dlIsTruncated :: !Bool+ , _dlQuantity :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'dlNextMarker'+--+-- * 'dlMarker'+--+-- * 'dlMaxItems'+--+-- * 'dlIsTruncated'+--+-- * 'dlQuantity'+distributionList+ :: Text -- ^ 'dlMarker'+ -> Int -- ^ 'dlMaxItems'+ -> Bool -- ^ 'dlIsTruncated'+ -> Int -- ^ 'dlQuantity'+ -> DistributionList+distributionList pMarker_ pMaxItems_ pIsTruncated_ pQuantity_ =+ DistributionList'+ { _dlItems = Nothing+ , _dlNextMarker = Nothing+ , _dlMarker = pMarker_+ , _dlMaxItems = pMaxItems_+ , _dlIsTruncated = pIsTruncated_+ , _dlQuantity = pQuantity_+ }++-- | A complex type that contains one DistributionSummary element for each+-- distribution that was created by the current AWS account.+dlItems :: Lens' DistributionList [DistributionSummary]+dlItems = lens _dlItems (\ s a -> s{_dlItems = a}) . _Default . _Coerce;++-- | If IsTruncated is true, this element is present and contains the value+-- you can use for the Marker request parameter to continue listing your+-- distributions where they left off.+dlNextMarker :: Lens' DistributionList (Maybe Text)+dlNextMarker = lens _dlNextMarker (\ s a -> s{_dlNextMarker = a});++-- | The value you provided for the Marker request parameter.+dlMarker :: Lens' DistributionList Text+dlMarker = lens _dlMarker (\ s a -> s{_dlMarker = a});++-- | The value you provided for the MaxItems request parameter.+dlMaxItems :: Lens' DistributionList Int+dlMaxItems = lens _dlMaxItems (\ s a -> s{_dlMaxItems = a});++-- | A flag that indicates whether more distributions remain to be listed. If+-- your results were truncated, you can make a follow-up pagination request+-- using the Marker request parameter to retrieve more distributions in the+-- list.+dlIsTruncated :: Lens' DistributionList Bool+dlIsTruncated = lens _dlIsTruncated (\ s a -> s{_dlIsTruncated = a});++-- | The number of distributions that were created by the current AWS+-- account.+dlQuantity :: Lens' DistributionList Int+dlQuantity = lens _dlQuantity (\ s a -> s{_dlQuantity = a});++instance FromXML DistributionList where+ parseXML x+ = DistributionList' <$>+ (x .@? "Items" .!@ mempty >>=+ may (parseXMLList "DistributionSummary"))+ <*> (x .@? "NextMarker")+ <*> (x .@ "Marker")+ <*> (x .@ "MaxItems")+ <*> (x .@ "IsTruncated")+ <*> (x .@ "Quantity")++-- | A summary of the information for an Amazon CloudFront distribution.+--+-- /See:/ 'distributionSummary' smart constructor.+data DistributionSummary = DistributionSummary'+ { _dsId :: !Text+ , _dsStatus :: !Text+ , _dsLastModifiedTime :: !ISO8601+ , _dsDomainName :: !Text+ , _dsAliases :: !Aliases+ , _dsOrigins :: !Origins+ , _dsDefaultCacheBehavior :: !DefaultCacheBehavior+ , _dsCacheBehaviors :: !CacheBehaviors+ , _dsCustomErrorResponses :: !CustomErrorResponses+ , _dsComment :: !Text+ , _dsPriceClass :: !PriceClass+ , _dsEnabled :: !Bool+ , _dsViewerCertificate :: !ViewerCertificate+ , _dsRestrictions :: !Restrictions+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'dsStatus'+--+-- * 'dsLastModifiedTime'+--+-- * 'dsDomainName'+--+-- * 'dsAliases'+--+-- * 'dsOrigins'+--+-- * 'dsDefaultCacheBehavior'+--+-- * 'dsCacheBehaviors'+--+-- * 'dsCustomErrorResponses'+--+-- * 'dsComment'+--+-- * 'dsPriceClass'+--+-- * 'dsEnabled'+--+-- * 'dsViewerCertificate'+--+-- * 'dsRestrictions'+distributionSummary+ :: Text -- ^ 'dsId'+ -> Text -- ^ 'dsStatus'+ -> UTCTime -- ^ 'dsLastModifiedTime'+ -> Text -- ^ 'dsDomainName'+ -> Aliases -- ^ 'dsAliases'+ -> Origins -- ^ 'dsOrigins'+ -> DefaultCacheBehavior -- ^ 'dsDefaultCacheBehavior'+ -> CacheBehaviors -- ^ 'dsCacheBehaviors'+ -> CustomErrorResponses -- ^ 'dsCustomErrorResponses'+ -> Text -- ^ 'dsComment'+ -> PriceClass -- ^ 'dsPriceClass'+ -> Bool -- ^ 'dsEnabled'+ -> ViewerCertificate -- ^ 'dsViewerCertificate'+ -> Restrictions -- ^ 'dsRestrictions'+ -> DistributionSummary+distributionSummary pId_ pStatus_ pLastModifiedTime_ pDomainName_ pAliases_ pOrigins_ pDefaultCacheBehavior_ pCacheBehaviors_ pCustomErrorResponses_ pComment_ pPriceClass_ pEnabled_ pViewerCertificate_ pRestrictions_ =+ DistributionSummary'+ { _dsId = pId_+ , _dsStatus = pStatus_+ , _dsLastModifiedTime = _Time # pLastModifiedTime_+ , _dsDomainName = pDomainName_+ , _dsAliases = pAliases_+ , _dsOrigins = pOrigins_+ , _dsDefaultCacheBehavior = pDefaultCacheBehavior_+ , _dsCacheBehaviors = pCacheBehaviors_+ , _dsCustomErrorResponses = pCustomErrorResponses_+ , _dsComment = pComment_+ , _dsPriceClass = pPriceClass_+ , _dsEnabled = pEnabled_+ , _dsViewerCertificate = pViewerCertificate_+ , _dsRestrictions = pRestrictions_+ }++-- | The identifier for the distribution. For example: EDFDVBD632BHDS5.+dsId :: Lens' DistributionSummary Text+dsId = lens _dsId (\ s a -> s{_dsId = a});++-- | This response element indicates the current status of the distribution.+-- When the status is Deployed, the distribution\'s information is fully+-- propagated throughout the Amazon CloudFront system.+dsStatus :: Lens' DistributionSummary Text+dsStatus = lens _dsStatus (\ s a -> s{_dsStatus = a});++-- | The date and time the distribution was last modified.+dsLastModifiedTime :: Lens' DistributionSummary UTCTime+dsLastModifiedTime = lens _dsLastModifiedTime (\ s a -> s{_dsLastModifiedTime = a}) . _Time;++-- | The domain name corresponding to the distribution. For example:+-- d604721fxaaqy9.cloudfront.net.+dsDomainName :: Lens' DistributionSummary Text+dsDomainName = lens _dsDomainName (\ s a -> s{_dsDomainName = a});++-- | A complex type that contains information about CNAMEs (alternate domain+-- names), if any, for this distribution.+dsAliases :: Lens' DistributionSummary Aliases+dsAliases = lens _dsAliases (\ s a -> s{_dsAliases = a});++-- | A complex type that contains information about origins for this+-- distribution.+dsOrigins :: Lens' DistributionSummary Origins+dsOrigins = lens _dsOrigins (\ s a -> s{_dsOrigins = a});++-- | 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.+dsDefaultCacheBehavior :: Lens' DistributionSummary DefaultCacheBehavior+dsDefaultCacheBehavior = lens _dsDefaultCacheBehavior (\ s a -> s{_dsDefaultCacheBehavior = a});++-- | A complex type that contains zero or more CacheBehavior elements.+dsCacheBehaviors :: Lens' DistributionSummary CacheBehaviors+dsCacheBehaviors = lens _dsCacheBehaviors (\ s a -> s{_dsCacheBehaviors = a});++-- | A complex type that contains zero or more CustomErrorResponses elements.+dsCustomErrorResponses :: Lens' DistributionSummary CustomErrorResponses+dsCustomErrorResponses = lens _dsCustomErrorResponses (\ s a -> s{_dsCustomErrorResponses = a});++-- | The comment originally specified when this distribution was created.+dsComment :: Lens' DistributionSummary Text+dsComment = lens _dsComment (\ s a -> s{_dsComment = a});++-- | Undocumented member.+dsPriceClass :: Lens' DistributionSummary PriceClass+dsPriceClass = lens _dsPriceClass (\ s a -> s{_dsPriceClass = a});++-- | Whether the distribution is enabled to accept end user requests for+-- content.+dsEnabled :: Lens' DistributionSummary Bool+dsEnabled = lens _dsEnabled (\ s a -> s{_dsEnabled = a});++-- | Undocumented member.+dsViewerCertificate :: Lens' DistributionSummary ViewerCertificate+dsViewerCertificate = lens _dsViewerCertificate (\ s a -> s{_dsViewerCertificate = a});++-- | Undocumented member.+dsRestrictions :: Lens' DistributionSummary Restrictions+dsRestrictions = lens _dsRestrictions (\ s a -> s{_dsRestrictions = a});++instance FromXML DistributionSummary where+ parseXML x+ = DistributionSummary' <$>+ (x .@ "Id") <*> (x .@ "Status") <*>+ (x .@ "LastModifiedTime")+ <*> (x .@ "DomainName")+ <*> (x .@ "Aliases")+ <*> (x .@ "Origins")+ <*> (x .@ "DefaultCacheBehavior")+ <*> (x .@ "CacheBehaviors")+ <*> (x .@ "CustomErrorResponses")+ <*> (x .@ "Comment")+ <*> (x .@ "PriceClass")+ <*> (x .@ "Enabled")+ <*> (x .@ "ViewerCertificate")+ <*> (x .@ "Restrictions")++-- | A complex type that specifies how CloudFront handles query strings,+-- cookies and headers.+--+-- /See:/ 'forwardedValues' smart constructor.+data ForwardedValues = ForwardedValues'+ { _fvHeaders :: !(Maybe Headers)+ , _fvQueryString :: !Bool+ , _fvCookies :: !CookiePreference+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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:+--+-- * 'fvHeaders'+--+-- * 'fvQueryString'+--+-- * 'fvCookies'+forwardedValues+ :: Bool -- ^ 'fvQueryString'+ -> CookiePreference -- ^ 'fvCookies'+ -> ForwardedValues+forwardedValues pQueryString_ pCookies_ =+ ForwardedValues'+ { _fvHeaders = Nothing+ , _fvQueryString = pQueryString_+ , _fvCookies = pCookies_+ }++-- | A complex type that specifies the Headers, if any, that you want+-- CloudFront to vary upon for this cache behavior.+fvHeaders :: Lens' ForwardedValues (Maybe Headers)+fvHeaders = lens _fvHeaders (\ s a -> s{_fvHeaders = a});++-- | Indicates whether you want CloudFront to forward query strings to the+-- origin that is associated with this cache behavior. If so, specify true;+-- if not, specify false.+fvQueryString :: Lens' ForwardedValues Bool+fvQueryString = lens _fvQueryString (\ s a -> s{_fvQueryString = a});++-- | A complex type that specifies how CloudFront handles cookies.+fvCookies :: Lens' ForwardedValues CookiePreference+fvCookies = lens _fvCookies (\ s a -> s{_fvCookies = a});++instance FromXML ForwardedValues where+ parseXML x+ = ForwardedValues' <$>+ (x .@? "Headers") <*> (x .@ "QueryString") <*>+ (x .@ "Cookies")++instance ToXML ForwardedValues where+ toXML ForwardedValues'{..}+ = mconcat+ ["Headers" @= _fvHeaders,+ "QueryString" @= _fvQueryString,+ "Cookies" @= _fvCookies]++-- | A complex type that controls the countries in which your content is+-- distributed. For more information about geo restriction, go to+-- Customizing Error Responses in the Amazon CloudFront Developer Guide.+-- CloudFront determines the location of your users using MaxMind GeoIP+-- databases. For information about the accuracy of these databases, see+-- How accurate are your GeoIP databases? on the MaxMind website.+--+-- /See:/ 'geoRestriction' smart constructor.+data GeoRestriction = GeoRestriction'+ { _grItems :: !(Maybe [Text])+ , _grRestrictionType :: !GeoRestrictionType+ , _grQuantity :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'grRestrictionType'+--+-- * 'grQuantity'+geoRestriction+ :: GeoRestrictionType -- ^ 'grRestrictionType'+ -> Int -- ^ 'grQuantity'+ -> GeoRestriction+geoRestriction pRestrictionType_ pQuantity_ =+ GeoRestriction'+ { _grItems = Nothing+ , _grRestrictionType = pRestrictionType_+ , _grQuantity = pQuantity_+ }++-- | 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.+grItems :: Lens' GeoRestriction [Text]+grItems = lens _grItems (\ s a -> s{_grItems = a}) . _Default . _Coerce;++-- | 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.+grRestrictionType :: Lens' GeoRestriction GeoRestrictionType+grRestrictionType = lens _grRestrictionType (\ s a -> s{_grRestrictionType = a});++-- | When geo restriction is enabled, this is the number of countries in your+-- whitelist or blacklist. Otherwise, when it is not enabled, Quantity is+-- 0, and you can omit Items.+grQuantity :: Lens' GeoRestriction Int+grQuantity = lens _grQuantity (\ s a -> s{_grQuantity = a});++instance FromXML GeoRestriction where+ parseXML x+ = GeoRestriction' <$>+ (x .@? "Items" .!@ mempty >>=+ may (parseXMLList "Location"))+ <*> (x .@ "RestrictionType")+ <*> (x .@ "Quantity")++instance ToXML GeoRestriction where+ toXML GeoRestriction'{..}+ = mconcat+ ["Items" @=+ toXML (toXMLList "Location" <$> _grItems),+ "RestrictionType" @= _grRestrictionType,+ "Quantity" @= _grQuantity]++-- | 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 given object+-- based on the header values in viewer requests; this is known as varying+-- on headers. 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 vary on the Product header. CloudFront forwards+-- the Product header to the origin and caches the response from the origin+-- once for each header value.+--+-- /See:/ 'headers' smart constructor.+data Headers = Headers'+ { _hItems :: !(Maybe [Text])+ , _hQuantity :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'hQuantity'+headers+ :: Int -- ^ 'hQuantity'+ -> Headers+headers pQuantity_ =+ Headers'+ { _hItems = Nothing+ , _hQuantity = pQuantity_+ }++-- | Optional: A complex type that contains a 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.+hItems :: Lens' Headers [Text]+hItems = lens _hItems (\ s a -> s{_hItems = a}) . _Default . _Coerce;++-- | The number of different headers that you want CloudFront to forward to+-- the origin and to vary on for this cache behavior. The maximum number of+-- headers that you can specify by name is 10. If you want CloudFront to+-- forward all headers to the origin and vary on all of them, specify 1 for+-- Quantity and * for Name. If you don\'t want CloudFront to forward any+-- additional headers to the origin or to vary on any headers, specify 0+-- for Quantity and omit Items.+hQuantity :: Lens' Headers Int+hQuantity = lens _hQuantity (\ s a -> s{_hQuantity = a});++instance FromXML Headers where+ parseXML x+ = Headers' <$>+ (x .@? "Items" .!@ mempty >>=+ may (parseXMLList "Name"))+ <*> (x .@ "Quantity")++instance ToXML Headers where+ toXML Headers'{..}+ = mconcat+ ["Items" @= toXML (toXMLList "Name" <$> _hItems),+ "Quantity" @= _hQuantity]++-- | An invalidation.+--+-- /See:/ 'invalidation' smart constructor.+data Invalidation = Invalidation'+ { _iId :: !Text+ , _iStatus :: !Text+ , _iCreateTime :: !ISO8601+ , _iInvalidationBatch :: !InvalidationBatch+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'iStatus'+--+-- * 'iCreateTime'+--+-- * 'iInvalidationBatch'+invalidation+ :: Text -- ^ 'iId'+ -> Text -- ^ 'iStatus'+ -> UTCTime -- ^ 'iCreateTime'+ -> InvalidationBatch -- ^ 'iInvalidationBatch'+ -> Invalidation+invalidation pId_ pStatus_ pCreateTime_ pInvalidationBatch_ =+ Invalidation'+ { _iId = pId_+ , _iStatus = pStatus_+ , _iCreateTime = _Time # pCreateTime_+ , _iInvalidationBatch = pInvalidationBatch_+ }++-- | The identifier for the invalidation request. For example:+-- IDFDVBD632BHDS5.+iId :: Lens' Invalidation Text+iId = lens _iId (\ s a -> s{_iId = a});++-- | The status of the invalidation request. When the invalidation batch is+-- finished, the status is Completed.+iStatus :: Lens' Invalidation Text+iStatus = lens _iStatus (\ s a -> s{_iStatus = a});++-- | The date and time the invalidation request was first made.+iCreateTime :: Lens' Invalidation UTCTime+iCreateTime = lens _iCreateTime (\ s a -> s{_iCreateTime = a}) . _Time;++-- | The current invalidation information for the batch request.+iInvalidationBatch :: Lens' Invalidation InvalidationBatch+iInvalidationBatch = lens _iInvalidationBatch (\ s a -> s{_iInvalidationBatch = a});++instance FromXML Invalidation where+ parseXML x+ = Invalidation' <$>+ (x .@ "Id") <*> (x .@ "Status") <*>+ (x .@ "CreateTime")+ <*> (x .@ "InvalidationBatch")++-- | An invalidation batch.+--+-- /See:/ 'invalidationBatch' smart constructor.+data InvalidationBatch = InvalidationBatch'+ { _ibPaths :: !Paths+ , _ibCallerReference :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'ibCallerReference'+invalidationBatch+ :: Paths -- ^ 'ibPaths'+ -> Text -- ^ 'ibCallerReference'+ -> InvalidationBatch+invalidationBatch pPaths_ pCallerReference_ =+ InvalidationBatch'+ { _ibPaths = pPaths_+ , _ibCallerReference = pCallerReference_+ }++-- | The path of the object to invalidate. The path is relative to the+-- distribution and must begin with a slash (\/). You must enclose each+-- invalidation object with the Path element tags. If the path includes+-- non-ASCII characters or unsafe characters as defined in RFC 1783+-- (http:\/\/www.ietf.org\/rfc\/rfc1738.txt), URL encode those characters.+-- Do not URL encode any other characters in the path, or CloudFront will+-- not invalidate the old version of the updated object.+ibPaths :: Lens' InvalidationBatch Paths+ibPaths = lens _ibPaths (\ s a -> s{_ibPaths = a});++-- | A unique name that ensures the request can\'t be replayed. If the+-- CallerReference is new (no matter the content of the Path object), a new+-- distribution is created. If the CallerReference is a value you already+-- sent in a previous request to create an invalidation batch, and the+-- content of each Path element is identical to the original request, 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 a distribution but the content of any Path is different from+-- the original request, CloudFront returns an+-- InvalidationBatchAlreadyExists error.+ibCallerReference :: Lens' InvalidationBatch Text+ibCallerReference = lens _ibCallerReference (\ s a -> s{_ibCallerReference = a});++instance FromXML InvalidationBatch where+ parseXML x+ = InvalidationBatch' <$>+ (x .@ "Paths") <*> (x .@ "CallerReference")++instance ToXML InvalidationBatch where+ toXML InvalidationBatch'{..}+ = mconcat+ ["Paths" @= _ibPaths,+ "CallerReference" @= _ibCallerReference]++-- | An invalidation list.+--+-- /See:/ 'invalidationList' smart constructor.+data InvalidationList = InvalidationList'+ { _ilItems :: !(Maybe [InvalidationSummary])+ , _ilNextMarker :: !(Maybe Text)+ , _ilMarker :: !Text+ , _ilMaxItems :: !Int+ , _ilIsTruncated :: !Bool+ , _ilQuantity :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'ilNextMarker'+--+-- * 'ilMarker'+--+-- * 'ilMaxItems'+--+-- * 'ilIsTruncated'+--+-- * 'ilQuantity'+invalidationList+ :: Text -- ^ 'ilMarker'+ -> Int -- ^ 'ilMaxItems'+ -> Bool -- ^ 'ilIsTruncated'+ -> Int -- ^ 'ilQuantity'+ -> InvalidationList+invalidationList pMarker_ pMaxItems_ pIsTruncated_ pQuantity_ =+ InvalidationList'+ { _ilItems = Nothing+ , _ilNextMarker = Nothing+ , _ilMarker = pMarker_+ , _ilMaxItems = pMaxItems_+ , _ilIsTruncated = pIsTruncated_+ , _ilQuantity = pQuantity_+ }++-- | A complex type that contains one InvalidationSummary element for each+-- invalidation batch that was created by the current AWS account.+ilItems :: Lens' InvalidationList [InvalidationSummary]+ilItems = lens _ilItems (\ s a -> s{_ilItems = a}) . _Default . _Coerce;++-- | If IsTruncated is true, this element is present and contains the value+-- you can use for the Marker request parameter to continue listing your+-- invalidation batches where they left off.+ilNextMarker :: Lens' InvalidationList (Maybe Text)+ilNextMarker = lens _ilNextMarker (\ s a -> s{_ilNextMarker = a});++-- | The value you provided for the Marker request parameter.+ilMarker :: Lens' InvalidationList Text+ilMarker = lens _ilMarker (\ s a -> s{_ilMarker = a});++-- | The value you provided for the MaxItems request parameter.+ilMaxItems :: Lens' InvalidationList Int+ilMaxItems = lens _ilMaxItems (\ s a -> s{_ilMaxItems = a});++-- | A flag that indicates whether more invalidation batch requests remain to+-- be listed. If your results were truncated, you can make a follow-up+-- pagination request using the Marker request parameter to retrieve more+-- invalidation batches in the list.+ilIsTruncated :: Lens' InvalidationList Bool+ilIsTruncated = lens _ilIsTruncated (\ s a -> s{_ilIsTruncated = a});++-- | The number of invalidation batches that were created by the current AWS+-- account.+ilQuantity :: Lens' InvalidationList Int+ilQuantity = lens _ilQuantity (\ s a -> s{_ilQuantity = a});++instance FromXML InvalidationList where+ parseXML x+ = InvalidationList' <$>+ (x .@? "Items" .!@ mempty >>=+ may (parseXMLList "InvalidationSummary"))+ <*> (x .@? "NextMarker")+ <*> (x .@ "Marker")+ <*> (x .@ "MaxItems")+ <*> (x .@ "IsTruncated")+ <*> (x .@ "Quantity")++-- | Summary of an invalidation request.+--+-- /See:/ 'invalidationSummary' smart constructor.+data InvalidationSummary = InvalidationSummary'+ { _isId :: !Text+ , _isCreateTime :: !ISO8601+ , _isStatus :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'isCreateTime'+--+-- * 'isStatus'+invalidationSummary+ :: Text -- ^ 'isId'+ -> UTCTime -- ^ 'isCreateTime'+ -> Text -- ^ 'isStatus'+ -> InvalidationSummary+invalidationSummary pId_ pCreateTime_ pStatus_ =+ InvalidationSummary'+ { _isId = pId_+ , _isCreateTime = _Time # pCreateTime_+ , _isStatus = pStatus_+ }++-- | The unique ID for an invalidation request.+isId :: Lens' InvalidationSummary Text+isId = lens _isId (\ s a -> s{_isId = a});++-- | Undocumented member.+isCreateTime :: Lens' InvalidationSummary UTCTime+isCreateTime = lens _isCreateTime (\ s a -> s{_isCreateTime = a}) . _Time;++-- | The status of an invalidation request.+isStatus :: Lens' InvalidationSummary Text+isStatus = lens _isStatus (\ s a -> s{_isStatus = a});++instance FromXML InvalidationSummary where+ parseXML x+ = InvalidationSummary' <$>+ (x .@ "Id") <*> (x .@ "CreateTime") <*>+ (x .@ "Status")++-- | A complex type that lists the active CloudFront key pairs, if any, that+-- are associated with AwsAccountNumber.+--+-- /See:/ 'keyPairIds' smart constructor.+data KeyPairIds = KeyPairIds'+ { _kpiItems :: !(Maybe [Text])+ , _kpiQuantity :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'kpiQuantity'+keyPairIds+ :: Int -- ^ 'kpiQuantity'+ -> KeyPairIds+keyPairIds pQuantity_ =+ KeyPairIds'+ { _kpiItems = Nothing+ , _kpiQuantity = pQuantity_+ }++-- | A complex type that lists the active CloudFront key pairs, if any, that+-- are associated with AwsAccountNumber.+kpiItems :: Lens' KeyPairIds [Text]+kpiItems = lens _kpiItems (\ s a -> s{_kpiItems = a}) . _Default . _Coerce;++-- | The number of active CloudFront key pairs for AwsAccountNumber.+kpiQuantity :: Lens' KeyPairIds Int+kpiQuantity = lens _kpiQuantity (\ s a -> s{_kpiQuantity = a});++instance FromXML KeyPairIds where+ parseXML x+ = KeyPairIds' <$>+ (x .@? "Items" .!@ mempty >>=+ may (parseXMLList "KeyPairId"))+ <*> (x .@ "Quantity")++-- | A complex type that controls whether access logs are written for the+-- distribution.+--+-- /See:/ 'loggingConfig' smart constructor.+data LoggingConfig = LoggingConfig'+ { _lcEnabled :: !Bool+ , _lcIncludeCookies :: !Bool+ , _lcBucket :: !Text+ , _lcPrefix :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'lcIncludeCookies'+--+-- * 'lcBucket'+--+-- * 'lcPrefix'+loggingConfig+ :: Bool -- ^ 'lcEnabled'+ -> Bool -- ^ 'lcIncludeCookies'+ -> Text -- ^ 'lcBucket'+ -> Text -- ^ 'lcPrefix'+ -> LoggingConfig+loggingConfig pEnabled_ pIncludeCookies_ pBucket_ pPrefix_ =+ LoggingConfig'+ { _lcEnabled = pEnabled_+ , _lcIncludeCookies = pIncludeCookies_+ , _lcBucket = pBucket_+ , _lcPrefix = pPrefix_+ }++-- | 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.+lcEnabled :: Lens' LoggingConfig Bool+lcEnabled = lens _lcEnabled (\ s a -> s{_lcEnabled = a});++-- | 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.+lcIncludeCookies :: Lens' LoggingConfig Bool+lcIncludeCookies = lens _lcIncludeCookies (\ s a -> s{_lcIncludeCookies = a});++-- | The Amazon S3 bucket to store the access logs in, for example,+-- myawslogbucket.s3.amazonaws.com.+lcBucket :: Lens' LoggingConfig Text+lcBucket = lens _lcBucket (\ s a -> s{_lcBucket = a});++-- | 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.+lcPrefix :: Lens' LoggingConfig Text+lcPrefix = lens _lcPrefix (\ s a -> s{_lcPrefix = a});++instance FromXML LoggingConfig where+ parseXML x+ = LoggingConfig' <$>+ (x .@ "Enabled") <*> (x .@ "IncludeCookies") <*>+ (x .@ "Bucket")+ <*> (x .@ "Prefix")++instance ToXML LoggingConfig where+ toXML LoggingConfig'{..}+ = mconcat+ ["Enabled" @= _lcEnabled,+ "IncludeCookies" @= _lcIncludeCookies,+ "Bucket" @= _lcBucket, "Prefix" @= _lcPrefix]++-- | 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.+--+-- /See:/ 'origin' smart constructor.+data Origin = Origin'+ { _oCustomOriginConfig :: !(Maybe CustomOriginConfig)+ , _oS3OriginConfig :: !(Maybe S3OriginConfig)+ , _oOriginPath :: !(Maybe Text)+ , _oId :: !Text+ , _oDomainName :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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:+--+-- * 'oCustomOriginConfig'+--+-- * 'oS3OriginConfig'+--+-- * 'oOriginPath'+--+-- * 'oId'+--+-- * 'oDomainName'+origin+ :: Text -- ^ 'oId'+ -> Text -- ^ 'oDomainName'+ -> Origin+origin pId_ pDomainName_ =+ Origin'+ { _oCustomOriginConfig = Nothing+ , _oS3OriginConfig = Nothing+ , _oOriginPath = Nothing+ , _oId = pId_+ , _oDomainName = pDomainName_+ }++-- | A complex type that contains information about a custom origin. If the+-- origin is an Amazon S3 bucket, use the S3OriginConfig element instead.+oCustomOriginConfig :: Lens' Origin (Maybe CustomOriginConfig)+oCustomOriginConfig = lens _oCustomOriginConfig (\ s a -> s{_oCustomOriginConfig = a});++-- | A complex type that contains information about the Amazon S3 origin. If+-- the origin is a custom origin, use the CustomOriginConfig element+-- instead.+oS3OriginConfig :: Lens' Origin (Maybe S3OriginConfig)+oS3OriginConfig = lens _oS3OriginConfig (\ s a -> s{_oS3OriginConfig = a});++-- | 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.+oOriginPath :: Lens' Origin (Maybe Text)+oOriginPath = lens _oOriginPath (\ s a -> s{_oOriginPath = a});++-- | A unique identifier for the origin. The value of Id must be unique+-- within the distribution. You use the value of Id when you create a cache+-- behavior. The Id identifies the origin that CloudFront routes a request+-- to when the request matches the path pattern for that cache behavior.+oId :: Lens' Origin Text+oId = lens _oId (\ s a -> s{_oId = a});++-- | 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. 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.+oDomainName :: Lens' Origin Text+oDomainName = lens _oDomainName (\ s a -> s{_oDomainName = a});++instance FromXML Origin where+ parseXML x+ = Origin' <$>+ (x .@? "CustomOriginConfig") <*>+ (x .@? "S3OriginConfig")+ <*> (x .@? "OriginPath")+ <*> (x .@ "Id")+ <*> (x .@ "DomainName")++instance ToXML Origin where+ toXML Origin'{..}+ = mconcat+ ["CustomOriginConfig" @= _oCustomOriginConfig,+ "S3OriginConfig" @= _oS3OriginConfig,+ "OriginPath" @= _oOriginPath, "Id" @= _oId,+ "DomainName" @= _oDomainName]++-- | A complex type that contains information about origins for this+-- distribution.+--+-- /See:/ 'origins' smart constructor.+data Origins = Origins'+ { _oItems :: !(Maybe (List1 Origin))+ , _oQuantity :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Origins' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oItems'+--+-- * 'oQuantity'+origins+ :: Int -- ^ 'oQuantity'+ -> Origins+origins pQuantity_ =+ Origins'+ { _oItems = Nothing+ , _oQuantity = pQuantity_+ }++-- | A complex type that contains origins for this distribution.+oItems :: Lens' Origins (Maybe (NonEmpty Origin))+oItems = lens _oItems (\ s a -> s{_oItems = a}) . mapping _List1;++-- | The number of origins for this distribution.+oQuantity :: Lens' Origins Int+oQuantity = lens _oQuantity (\ s a -> s{_oQuantity = a});++instance FromXML Origins where+ parseXML x+ = Origins' <$>+ (x .@? "Items" .!@ mempty >>=+ may (parseXMLList1 "Origin"))+ <*> (x .@ "Quantity")++instance ToXML Origins where+ toXML Origins'{..}+ = mconcat+ ["Items" @= toXML (toXMLList "Origin" <$> _oItems),+ "Quantity" @= _oQuantity]++-- | A complex type that contains information about the objects that you want+-- to invalidate.+--+-- /See:/ 'paths' smart constructor.+data Paths = Paths'+ { _pItems :: !(Maybe [Text])+ , _pQuantity :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Paths' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pItems'+--+-- * 'pQuantity'+paths+ :: Int -- ^ 'pQuantity'+ -> Paths+paths pQuantity_ =+ Paths'+ { _pItems = Nothing+ , _pQuantity = pQuantity_+ }++-- | A complex type that contains a list of the objects that you want to+-- invalidate.+pItems :: Lens' Paths [Text]+pItems = lens _pItems (\ s a -> s{_pItems = a}) . _Default . _Coerce;++-- | The number of objects that you want to invalidate.+pQuantity :: Lens' Paths Int+pQuantity = lens _pQuantity (\ s a -> s{_pQuantity = a});++instance FromXML Paths where+ parseXML x+ = Paths' <$>+ (x .@? "Items" .!@ mempty >>=+ may (parseXMLList "Path"))+ <*> (x .@ "Quantity")++instance ToXML Paths where+ toXML Paths'{..}+ = mconcat+ ["Items" @= toXML (toXMLList "Path" <$> _pItems),+ "Quantity" @= _pQuantity]++-- | A complex type that identifies ways in which you want to restrict+-- distribution of your content.+--+-- /See:/ 'restrictions' smart constructor.+newtype Restrictions = Restrictions'+ { _rGeoRestriction :: GeoRestriction+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+restrictions+ :: GeoRestriction -- ^ 'rGeoRestriction'+ -> Restrictions+restrictions pGeoRestriction_ =+ Restrictions'+ { _rGeoRestriction = pGeoRestriction_+ }++-- | Undocumented member.+rGeoRestriction :: Lens' Restrictions GeoRestriction+rGeoRestriction = lens _rGeoRestriction (\ s a -> s{_rGeoRestriction = a});++instance FromXML Restrictions where+ parseXML x+ = Restrictions' <$> (x .@ "GeoRestriction")++instance ToXML Restrictions where+ toXML Restrictions'{..}+ = mconcat ["GeoRestriction" @= _rGeoRestriction]++-- | A complex type that contains information about the Amazon S3 bucket from+-- which you want CloudFront to get your media files for distribution.+--+-- /See:/ 's3Origin' smart constructor.+data S3Origin = S3Origin'+ { _soDomainName :: !Text+ , _soOriginAccessIdentity :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'soOriginAccessIdentity'+s3Origin+ :: Text -- ^ 'soDomainName'+ -> Text -- ^ 'soOriginAccessIdentity'+ -> S3Origin+s3Origin pDomainName_ pOriginAccessIdentity_ =+ S3Origin'+ { _soDomainName = pDomainName_+ , _soOriginAccessIdentity = pOriginAccessIdentity_+ }++-- | The DNS name of the S3 origin.+soDomainName :: Lens' S3Origin Text+soDomainName = lens _soDomainName (\ s a -> s{_soDomainName = a});++-- | Your S3 origin\'s origin access identity.+soOriginAccessIdentity :: Lens' S3Origin Text+soOriginAccessIdentity = lens _soOriginAccessIdentity (\ s a -> s{_soOriginAccessIdentity = a});++instance FromXML S3Origin where+ parseXML x+ = S3Origin' <$>+ (x .@ "DomainName") <*> (x .@ "OriginAccessIdentity")++instance ToXML S3Origin where+ toXML S3Origin'{..}+ = mconcat+ ["DomainName" @= _soDomainName,+ "OriginAccessIdentity" @= _soOriginAccessIdentity]++-- | 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.+newtype S3OriginConfig = S3OriginConfig'+ { _socOriginAccessIdentity :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+s3OriginConfig+ :: Text -- ^ 'socOriginAccessIdentity'+ -> S3OriginConfig+s3OriginConfig pOriginAccessIdentity_ =+ S3OriginConfig'+ { _socOriginAccessIdentity = pOriginAccessIdentity_+ }++-- | The CloudFront origin access identity to associate with the origin. Use+-- an origin access identity to configure the origin 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. Use the format origin-access-identity\/cloudfront\/Id where Id+-- is the value that CloudFront returned in the Id element when you created+-- the origin access identity.+socOriginAccessIdentity :: Lens' S3OriginConfig Text+socOriginAccessIdentity = lens _socOriginAccessIdentity (\ s a -> s{_socOriginAccessIdentity = a});++instance FromXML S3OriginConfig where+ parseXML x+ = S3OriginConfig' <$> (x .@ "OriginAccessIdentity")++instance ToXML S3OriginConfig where+ toXML S3OriginConfig'{..}+ = mconcat+ ["OriginAccessIdentity" @= _socOriginAccessIdentity]++-- | A complex type that lists the AWS accounts that were included in the+-- TrustedSigners complex type, as well as their active CloudFront key pair+-- IDs, if any.+--+-- /See:/ 'signer' smart constructor.+data Signer = Signer'+ { _sAWSAccountNumber :: !(Maybe Text)+ , _sKeyPairIds :: !(Maybe KeyPairIds)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'sKeyPairIds'+signer+ :: Signer+signer =+ Signer'+ { _sAWSAccountNumber = Nothing+ , _sKeyPairIds = Nothing+ }++-- | Specifies an AWS account that can create signed URLs. Values: self,+-- which indicates that the AWS account that was used to create the+-- distribution can created signed URLs, or an AWS account number. Omit the+-- dashes in the account number.+sAWSAccountNumber :: Lens' Signer (Maybe Text)+sAWSAccountNumber = lens _sAWSAccountNumber (\ s a -> s{_sAWSAccountNumber = a});++-- | A complex type that lists the active CloudFront key pairs, if any, that+-- are associated with AwsAccountNumber.+sKeyPairIds :: Lens' Signer (Maybe KeyPairIds)+sKeyPairIds = lens _sKeyPairIds (\ s a -> s{_sKeyPairIds = a});++instance FromXML Signer where+ parseXML x+ = Signer' <$>+ (x .@? "AwsAccountNumber") <*> (x .@? "KeyPairIds")++-- | A streaming distribution.+--+-- /See:/ 'streamingDistribution' smart constructor.+data StreamingDistribution = StreamingDistribution'+ { _sdLastModifiedTime :: !(Maybe ISO8601)+ , _sdId :: !Text+ , _sdStatus :: !Text+ , _sdDomainName :: !Text+ , _sdActiveTrustedSigners :: !ActiveTrustedSigners+ , _sdStreamingDistributionConfig :: !StreamingDistributionConfig+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'sdId'+--+-- * 'sdStatus'+--+-- * 'sdDomainName'+--+-- * 'sdActiveTrustedSigners'+--+-- * 'sdStreamingDistributionConfig'+streamingDistribution+ :: Text -- ^ 'sdId'+ -> Text -- ^ 'sdStatus'+ -> Text -- ^ 'sdDomainName'+ -> ActiveTrustedSigners -- ^ 'sdActiveTrustedSigners'+ -> StreamingDistributionConfig -- ^ 'sdStreamingDistributionConfig'+ -> StreamingDistribution+streamingDistribution pId_ pStatus_ pDomainName_ pActiveTrustedSigners_ pStreamingDistributionConfig_ =+ StreamingDistribution'+ { _sdLastModifiedTime = Nothing+ , _sdId = pId_+ , _sdStatus = pStatus_+ , _sdDomainName = pDomainName_+ , _sdActiveTrustedSigners = pActiveTrustedSigners_+ , _sdStreamingDistributionConfig = pStreamingDistributionConfig_+ }++-- | The date and time the distribution was last modified.+sdLastModifiedTime :: Lens' StreamingDistribution (Maybe UTCTime)+sdLastModifiedTime = lens _sdLastModifiedTime (\ s a -> s{_sdLastModifiedTime = a}) . mapping _Time;++-- | The identifier for the streaming distribution. For example:+-- EGTXBD79H29TRA8.+sdId :: Lens' StreamingDistribution Text+sdId = lens _sdId (\ s a -> s{_sdId = a});++-- | The current status of the streaming distribution. When the status is+-- Deployed, the distribution\'s information is fully propagated throughout+-- the Amazon CloudFront system.+sdStatus :: Lens' StreamingDistribution Text+sdStatus = lens _sdStatus (\ s a -> s{_sdStatus = a});++-- | The domain name corresponding to the streaming distribution. For+-- example: s5c39gqb8ow64r.cloudfront.net.+sdDomainName :: Lens' StreamingDistribution Text+sdDomainName = lens _sdDomainName (\ s a -> s{_sdDomainName = a});++-- | 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.+sdActiveTrustedSigners :: Lens' StreamingDistribution ActiveTrustedSigners+sdActiveTrustedSigners = lens _sdActiveTrustedSigners (\ s a -> s{_sdActiveTrustedSigners = a});++-- | The current configuration information for the streaming distribution.+sdStreamingDistributionConfig :: Lens' StreamingDistribution StreamingDistributionConfig+sdStreamingDistributionConfig = lens _sdStreamingDistributionConfig (\ s a -> s{_sdStreamingDistributionConfig = a});++instance FromXML StreamingDistribution where+ parseXML x+ = StreamingDistribution' <$>+ (x .@? "LastModifiedTime") <*> (x .@ "Id") <*>+ (x .@ "Status")+ <*> (x .@ "DomainName")+ <*> (x .@ "ActiveTrustedSigners")+ <*> (x .@ "StreamingDistributionConfig")++-- | The configuration for the streaming distribution.+--+-- /See:/ 'streamingDistributionConfig' smart constructor.+data StreamingDistributionConfig = StreamingDistributionConfig'+ { _sdcAliases :: !(Maybe Aliases)+ , _sdcPriceClass :: !(Maybe PriceClass)+ , _sdcLogging :: !(Maybe StreamingLoggingConfig)+ , _sdcCallerReference :: !Text+ , _sdcS3Origin :: !S3Origin+ , _sdcComment :: !Text+ , _sdcTrustedSigners :: !TrustedSigners+ , _sdcEnabled :: !Bool+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'sdcPriceClass'+--+-- * 'sdcLogging'+--+-- * 'sdcCallerReference'+--+-- * 'sdcS3Origin'+--+-- * 'sdcComment'+--+-- * 'sdcTrustedSigners'+--+-- * 'sdcEnabled'+streamingDistributionConfig+ :: Text -- ^ 'sdcCallerReference'+ -> S3Origin -- ^ 'sdcS3Origin'+ -> Text -- ^ 'sdcComment'+ -> TrustedSigners -- ^ 'sdcTrustedSigners'+ -> Bool -- ^ 'sdcEnabled'+ -> StreamingDistributionConfig+streamingDistributionConfig pCallerReference_ pS3Origin_ pComment_ pTrustedSigners_ pEnabled_ =+ StreamingDistributionConfig'+ { _sdcAliases = Nothing+ , _sdcPriceClass = Nothing+ , _sdcLogging = Nothing+ , _sdcCallerReference = pCallerReference_+ , _sdcS3Origin = pS3Origin_+ , _sdcComment = pComment_+ , _sdcTrustedSigners = pTrustedSigners_+ , _sdcEnabled = pEnabled_+ }++-- | A complex type that contains information about CNAMEs (alternate domain+-- names), if any, for this streaming distribution.+sdcAliases :: Lens' StreamingDistributionConfig (Maybe Aliases)+sdcAliases = lens _sdcAliases (\ s a -> s{_sdcAliases = a});++-- | A complex type that contains information about price class for this+-- streaming distribution.+sdcPriceClass :: Lens' StreamingDistributionConfig (Maybe PriceClass)+sdcPriceClass = lens _sdcPriceClass (\ s a -> s{_sdcPriceClass = a});++-- | A complex type that controls whether access logs are written for the+-- streaming distribution.+sdcLogging :: Lens' StreamingDistributionConfig (Maybe StreamingLoggingConfig)+sdcLogging = lens _sdcLogging (\ s a -> s{_sdcLogging = a});++-- | A unique number that ensures 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 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 you+-- already sent in a previous request to create a streaming distribution+-- but the content of the StreamingDistributionConfig is different from the+-- original request, CloudFront returns a DistributionAlreadyExists error.+sdcCallerReference :: Lens' StreamingDistributionConfig Text+sdcCallerReference = lens _sdcCallerReference (\ s a -> s{_sdcCallerReference = a});++-- | A complex type that contains information about the Amazon S3 bucket from+-- which you want CloudFront to get your media files for distribution.+sdcS3Origin :: Lens' StreamingDistributionConfig S3Origin+sdcS3Origin = lens _sdcS3Origin (\ s a -> s{_sdcS3Origin = a});++-- | Any comments you want to include about the streaming distribution.+sdcComment :: Lens' StreamingDistributionConfig Text+sdcComment = lens _sdcComment (\ s a -> s{_sdcComment = a});++-- | 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, go to Using a Signed URL to Serve Private Content in the+-- 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.+sdcTrustedSigners :: Lens' StreamingDistributionConfig TrustedSigners+sdcTrustedSigners = lens _sdcTrustedSigners (\ s a -> s{_sdcTrustedSigners = a});++-- | Whether the streaming distribution is enabled to accept end user+-- requests for content.+sdcEnabled :: Lens' StreamingDistributionConfig Bool+sdcEnabled = lens _sdcEnabled (\ s a -> s{_sdcEnabled = a});++instance FromXML StreamingDistributionConfig where+ parseXML x+ = StreamingDistributionConfig' <$>+ (x .@? "Aliases") <*> (x .@? "PriceClass") <*>+ (x .@? "Logging")+ <*> (x .@ "CallerReference")+ <*> (x .@ "S3Origin")+ <*> (x .@ "Comment")+ <*> (x .@ "TrustedSigners")+ <*> (x .@ "Enabled")++instance ToXML StreamingDistributionConfig where+ toXML StreamingDistributionConfig'{..}+ = mconcat+ ["Aliases" @= _sdcAliases,+ "PriceClass" @= _sdcPriceClass,+ "Logging" @= _sdcLogging,+ "CallerReference" @= _sdcCallerReference,+ "S3Origin" @= _sdcS3Origin, "Comment" @= _sdcComment,+ "TrustedSigners" @= _sdcTrustedSigners,+ "Enabled" @= _sdcEnabled]++-- | A streaming distribution list.+--+-- /See:/ 'streamingDistributionList' smart constructor.+data StreamingDistributionList = StreamingDistributionList'+ { _sdlItems :: !(Maybe [StreamingDistributionSummary])+ , _sdlNextMarker :: !(Maybe Text)+ , _sdlMarker :: !Text+ , _sdlMaxItems :: !Int+ , _sdlIsTruncated :: !Bool+ , _sdlQuantity :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'sdlNextMarker'+--+-- * 'sdlMarker'+--+-- * 'sdlMaxItems'+--+-- * 'sdlIsTruncated'+--+-- * 'sdlQuantity'+streamingDistributionList+ :: Text -- ^ 'sdlMarker'+ -> Int -- ^ 'sdlMaxItems'+ -> Bool -- ^ 'sdlIsTruncated'+ -> Int -- ^ 'sdlQuantity'+ -> StreamingDistributionList+streamingDistributionList pMarker_ pMaxItems_ pIsTruncated_ pQuantity_ =+ StreamingDistributionList'+ { _sdlItems = Nothing+ , _sdlNextMarker = Nothing+ , _sdlMarker = pMarker_+ , _sdlMaxItems = pMaxItems_+ , _sdlIsTruncated = pIsTruncated_+ , _sdlQuantity = pQuantity_+ }++-- | A complex type that contains one StreamingDistributionSummary element+-- for each distribution that was created by the current AWS account.+sdlItems :: Lens' StreamingDistributionList [StreamingDistributionSummary]+sdlItems = lens _sdlItems (\ s a -> s{_sdlItems = a}) . _Default . _Coerce;++-- | If IsTruncated is true, this element is present and contains the value+-- you can use for the Marker request parameter to continue listing your+-- streaming distributions where they left off.+sdlNextMarker :: Lens' StreamingDistributionList (Maybe Text)+sdlNextMarker = lens _sdlNextMarker (\ s a -> s{_sdlNextMarker = a});++-- | The value you provided for the Marker request parameter.+sdlMarker :: Lens' StreamingDistributionList Text+sdlMarker = lens _sdlMarker (\ s a -> s{_sdlMarker = a});++-- | The value you provided for the MaxItems request parameter.+sdlMaxItems :: Lens' StreamingDistributionList Int+sdlMaxItems = lens _sdlMaxItems (\ s a -> s{_sdlMaxItems = a});++-- | A flag that indicates whether more streaming distributions remain to be+-- listed. If your results were truncated, you can make a follow-up+-- pagination request using the Marker request parameter to retrieve more+-- distributions in the list.+sdlIsTruncated :: Lens' StreamingDistributionList Bool+sdlIsTruncated = lens _sdlIsTruncated (\ s a -> s{_sdlIsTruncated = a});++-- | The number of streaming distributions that were created by the current+-- AWS account.+sdlQuantity :: Lens' StreamingDistributionList Int+sdlQuantity = lens _sdlQuantity (\ s a -> s{_sdlQuantity = a});++instance FromXML StreamingDistributionList where+ parseXML x+ = StreamingDistributionList' <$>+ (x .@? "Items" .!@ mempty >>=+ may (parseXMLList "StreamingDistributionSummary"))+ <*> (x .@? "NextMarker")+ <*> (x .@ "Marker")+ <*> (x .@ "MaxItems")+ <*> (x .@ "IsTruncated")+ <*> (x .@ "Quantity")++-- | A summary of the information for an Amazon CloudFront streaming+-- distribution.+--+-- /See:/ 'streamingDistributionSummary' smart constructor.+data StreamingDistributionSummary = StreamingDistributionSummary'+ { _sdsId :: !Text+ , _sdsStatus :: !Text+ , _sdsLastModifiedTime :: !ISO8601+ , _sdsDomainName :: !Text+ , _sdsS3Origin :: !S3Origin+ , _sdsAliases :: !Aliases+ , _sdsTrustedSigners :: !TrustedSigners+ , _sdsComment :: !Text+ , _sdsPriceClass :: !PriceClass+ , _sdsEnabled :: !Bool+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'sdsStatus'+--+-- * 'sdsLastModifiedTime'+--+-- * 'sdsDomainName'+--+-- * 'sdsS3Origin'+--+-- * 'sdsAliases'+--+-- * 'sdsTrustedSigners'+--+-- * 'sdsComment'+--+-- * 'sdsPriceClass'+--+-- * 'sdsEnabled'+streamingDistributionSummary+ :: Text -- ^ 'sdsId'+ -> Text -- ^ 'sdsStatus'+ -> UTCTime -- ^ 'sdsLastModifiedTime'+ -> Text -- ^ 'sdsDomainName'+ -> S3Origin -- ^ 'sdsS3Origin'+ -> Aliases -- ^ 'sdsAliases'+ -> TrustedSigners -- ^ 'sdsTrustedSigners'+ -> Text -- ^ 'sdsComment'+ -> PriceClass -- ^ 'sdsPriceClass'+ -> Bool -- ^ 'sdsEnabled'+ -> StreamingDistributionSummary+streamingDistributionSummary pId_ pStatus_ pLastModifiedTime_ pDomainName_ pS3Origin_ pAliases_ pTrustedSigners_ pComment_ pPriceClass_ pEnabled_ =+ StreamingDistributionSummary'+ { _sdsId = pId_+ , _sdsStatus = pStatus_+ , _sdsLastModifiedTime = _Time # pLastModifiedTime_+ , _sdsDomainName = pDomainName_+ , _sdsS3Origin = pS3Origin_+ , _sdsAliases = pAliases_+ , _sdsTrustedSigners = pTrustedSigners_+ , _sdsComment = pComment_+ , _sdsPriceClass = pPriceClass_+ , _sdsEnabled = pEnabled_+ }++-- | The identifier for the distribution. For example: EDFDVBD632BHDS5.+sdsId :: Lens' StreamingDistributionSummary Text+sdsId = lens _sdsId (\ s a -> s{_sdsId = a});++-- | Indicates the current status of the distribution. When the status is+-- Deployed, the distribution\'s information is fully propagated throughout+-- the Amazon CloudFront system.+sdsStatus :: Lens' StreamingDistributionSummary Text+sdsStatus = lens _sdsStatus (\ s a -> s{_sdsStatus = a});++-- | The date and time the distribution was last modified.+sdsLastModifiedTime :: Lens' StreamingDistributionSummary UTCTime+sdsLastModifiedTime = lens _sdsLastModifiedTime (\ s a -> s{_sdsLastModifiedTime = a}) . _Time;++-- | The domain name corresponding to the distribution. For example:+-- d604721fxaaqy9.cloudfront.net.+sdsDomainName :: Lens' StreamingDistributionSummary Text+sdsDomainName = lens _sdsDomainName (\ s a -> s{_sdsDomainName = a});++-- | A complex type that contains information about the Amazon S3 bucket from+-- which you want CloudFront to get your media files for distribution.+sdsS3Origin :: Lens' StreamingDistributionSummary S3Origin+sdsS3Origin = lens _sdsS3Origin (\ s a -> s{_sdsS3Origin = a});++-- | A complex type that contains information about CNAMEs (alternate domain+-- names), if any, for this streaming distribution.+sdsAliases :: Lens' StreamingDistributionSummary Aliases+sdsAliases = lens _sdsAliases (\ s a -> s{_sdsAliases = a});++-- | 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, go to Using a Signed URL to Serve Private Content in the+-- 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.+sdsTrustedSigners :: Lens' StreamingDistributionSummary TrustedSigners+sdsTrustedSigners = lens _sdsTrustedSigners (\ s a -> s{_sdsTrustedSigners = a});++-- | The comment originally specified when this distribution was created.+sdsComment :: Lens' StreamingDistributionSummary Text+sdsComment = lens _sdsComment (\ s a -> s{_sdsComment = a});++-- | Undocumented member.+sdsPriceClass :: Lens' StreamingDistributionSummary PriceClass+sdsPriceClass = lens _sdsPriceClass (\ s a -> s{_sdsPriceClass = a});++-- | Whether the distribution is enabled to accept end user requests for+-- content.+sdsEnabled :: Lens' StreamingDistributionSummary Bool+sdsEnabled = lens _sdsEnabled (\ s a -> s{_sdsEnabled = a});++instance FromXML StreamingDistributionSummary where+ parseXML x+ = StreamingDistributionSummary' <$>+ (x .@ "Id") <*> (x .@ "Status") <*>+ (x .@ "LastModifiedTime")+ <*> (x .@ "DomainName")+ <*> (x .@ "S3Origin")+ <*> (x .@ "Aliases")+ <*> (x .@ "TrustedSigners")+ <*> (x .@ "Comment")+ <*> (x .@ "PriceClass")+ <*> (x .@ "Enabled")++-- | A complex type that controls whether access logs are written for this+-- streaming distribution.+--+-- /See:/ 'streamingLoggingConfig' smart constructor.+data StreamingLoggingConfig = StreamingLoggingConfig'+ { _slcEnabled :: !Bool+ , _slcBucket :: !Text+ , _slcPrefix :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'slcBucket'+--+-- * 'slcPrefix'+streamingLoggingConfig+ :: Bool -- ^ 'slcEnabled'+ -> Text -- ^ 'slcBucket'+ -> Text -- ^ 'slcPrefix'+ -> StreamingLoggingConfig+streamingLoggingConfig pEnabled_ pBucket_ pPrefix_ =+ StreamingLoggingConfig'+ { _slcEnabled = pEnabled_+ , _slcBucket = pBucket_+ , _slcPrefix = pPrefix_+ }++-- | 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.+slcEnabled :: Lens' StreamingLoggingConfig Bool+slcEnabled = lens _slcEnabled (\ s a -> s{_slcEnabled = a});++-- | The Amazon S3 bucket to store the access logs in, for example,+-- myawslogbucket.s3.amazonaws.com.+slcBucket :: Lens' StreamingLoggingConfig Text+slcBucket = lens _slcBucket (\ s a -> s{_slcBucket = a});++-- | 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.+slcPrefix :: Lens' StreamingLoggingConfig Text+slcPrefix = lens _slcPrefix (\ s a -> s{_slcPrefix = a});++instance FromXML StreamingLoggingConfig where+ parseXML x+ = StreamingLoggingConfig' <$>+ (x .@ "Enabled") <*> (x .@ "Bucket") <*>+ (x .@ "Prefix")++instance ToXML StreamingLoggingConfig where+ toXML StreamingLoggingConfig'{..}+ = mconcat+ ["Enabled" @= _slcEnabled, "Bucket" @= _slcBucket,+ "Prefix" @= _slcPrefix]++-- | 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, go to Using a Signed URL to Serve Private Content in the+-- 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.+--+-- /See:/ 'trustedSigners' smart constructor.+data TrustedSigners = TrustedSigners'+ { _tsItems :: !(Maybe [Text])+ , _tsEnabled :: !Bool+ , _tsQuantity :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'tsEnabled'+--+-- * 'tsQuantity'+trustedSigners+ :: Bool -- ^ 'tsEnabled'+ -> Int -- ^ 'tsQuantity'+ -> TrustedSigners+trustedSigners pEnabled_ pQuantity_ =+ TrustedSigners'+ { _tsItems = Nothing+ , _tsEnabled = pEnabled_+ , _tsQuantity = pQuantity_+ }++-- | Optional: A complex type that contains trusted signers for this cache+-- behavior. If Quantity is 0, you can omit Items.+tsItems :: Lens' TrustedSigners [Text]+tsItems = lens _tsItems (\ s a -> s{_tsItems = a}) . _Default . _Coerce;++-- | Specifies whether you want to require end users to use signed URLs to+-- access the files specified by PathPattern and TargetOriginId.+tsEnabled :: Lens' TrustedSigners Bool+tsEnabled = lens _tsEnabled (\ s a -> s{_tsEnabled = a});++-- | The number of trusted signers for this cache behavior.+tsQuantity :: Lens' TrustedSigners Int+tsQuantity = lens _tsQuantity (\ s a -> s{_tsQuantity = a});++instance FromXML TrustedSigners where+ parseXML x+ = TrustedSigners' <$>+ (x .@? "Items" .!@ mempty >>=+ may (parseXMLList "AwsAccountNumber"))+ <*> (x .@ "Enabled")+ <*> (x .@ "Quantity")++instance ToXML TrustedSigners where+ toXML TrustedSigners'{..}+ = mconcat+ ["Items" @=+ toXML (toXMLList "AwsAccountNumber" <$> _tsItems),+ "Enabled" @= _tsEnabled, "Quantity" @= _tsQuantity]++-- | A complex type that contains information about viewer certificates for+-- this distribution.+--+-- /See:/ 'viewerCertificate' smart constructor.+data ViewerCertificate = ViewerCertificate'+ { _vcSSLSupportMethod :: !(Maybe SSLSupportMethod)+ , _vcMinimumProtocolVersion :: !(Maybe MinimumProtocolVersion)+ , _vcIAMCertificateId :: !(Maybe Text)+ , _vcCloudFrontDefaultCertificate :: !(Maybe Bool)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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'+--+-- * 'vcMinimumProtocolVersion'+--+-- * 'vcIAMCertificateId'+--+-- * 'vcCloudFrontDefaultCertificate'+viewerCertificate+ :: ViewerCertificate+viewerCertificate =+ ViewerCertificate'+ { _vcSSLSupportMethod = Nothing+ , _vcMinimumProtocolVersion = Nothing+ , _vcIAMCertificateId = Nothing+ , _vcCloudFrontDefaultCertificate = Nothing+ }++-- | If you specify a value for IAMCertificateId, you must also specify how+-- you want CloudFront to serve HTTPS requests. Valid values are vip and+-- sni-only. If you specify 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. If you specify sni-only, CloudFront can only+-- 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. Do not specify a value for+-- SSLSupportMethod if you specified true for CloudFrontDefaultCertificate.+vcSSLSupportMethod :: Lens' ViewerCertificate (Maybe SSLSupportMethod)+vcSSLSupportMethod = lens _vcSSLSupportMethod (\ s a -> s{_vcSSLSupportMethod = a});++-- | Specify the minimum version of the SSL protocol that you want CloudFront+-- to use, SSLv3 or TLSv1, for HTTPS connections. CloudFront will serve+-- your objects only to browsers or devices that support at least the SSL+-- version that you specify. 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. If you\'re using a custom+-- certificate (if you specify a value for IAMCertificateId) and if you\'re+-- using dedicated IP (if you specify vip for SSLSupportMethod), you can+-- choose SSLv3 or TLSv1 as the MinimumProtocolVersion. If you\'re using a+-- custom certificate (if you specify a value for IAMCertificateId) and if+-- you\'re using SNI (if you specify sni-only for SSLSupportMethod), you+-- must specify TLSv1 for MinimumProtocolVersion.+vcMinimumProtocolVersion :: Lens' ViewerCertificate (Maybe MinimumProtocolVersion)+vcMinimumProtocolVersion = lens _vcMinimumProtocolVersion (\ s a -> s{_vcMinimumProtocolVersion = a});++-- | 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 or CloudFrontDefaultCertificate.+vcIAMCertificateId :: Lens' ViewerCertificate (Maybe Text)+vcIAMCertificateId = lens _vcIAMCertificateId (\ s a -> s{_vcIAMCertificateId = a});++-- | 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 IAMCertificateId.+vcCloudFrontDefaultCertificate :: Lens' ViewerCertificate (Maybe Bool)+vcCloudFrontDefaultCertificate = lens _vcCloudFrontDefaultCertificate (\ s a -> s{_vcCloudFrontDefaultCertificate = a});++instance FromXML ViewerCertificate where+ parseXML x+ = ViewerCertificate' <$>+ (x .@? "SSLSupportMethod") <*>+ (x .@? "MinimumProtocolVersion")+ <*> (x .@? "IAMCertificateId")+ <*> (x .@? "CloudFrontDefaultCertificate")++instance ToXML ViewerCertificate where+ toXML ViewerCertificate'{..}+ = mconcat+ ["SSLSupportMethod" @= _vcSSLSupportMethod,+ "MinimumProtocolVersion" @=+ _vcMinimumProtocolVersion,+ "IAMCertificateId" @= _vcIAMCertificateId,+ "CloudFrontDefaultCertificate" @=+ _vcCloudFrontDefaultCertificate]
+ gen/Network/AWS/CloudFront/Types/Sum.hs view
@@ -0,0 +1,271 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudFront.Types.Sum+-- Copyright : (c) 2013-2015 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)+--+module Network.AWS.CloudFront.Types.Sum where++import Network.AWS.Prelude++data GeoRestrictionType+ = Blacklist+ | None+ | Whitelist+ deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText GeoRestrictionType where+ parser = takeLowerText >>= \case+ "blacklist" -> pure Blacklist+ "none" -> pure None+ "whitelist" -> pure Whitelist+ e -> fromTextError $ "Failure parsing GeoRestrictionType from value: '" <> e+ <> "'. Accepted values: blacklist, none, whitelist"++instance ToText GeoRestrictionType where+ toText = \case+ Blacklist -> "blacklist"+ None -> "none"+ Whitelist -> "whitelist"++instance Hashable GeoRestrictionType+instance ToByteString GeoRestrictionType+instance ToQuery GeoRestrictionType+instance ToHeader GeoRestrictionType++instance FromXML GeoRestrictionType where+ parseXML = parseXMLText "GeoRestrictionType"++instance ToXML GeoRestrictionType where+ toXML = toXMLText++data ItemSelection+ = ISAll+ | ISNone+ | ISWhitelist+ deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ItemSelection where+ parser = takeLowerText >>= \case+ "all" -> pure ISAll+ "none" -> pure ISNone+ "whitelist" -> pure ISWhitelist+ e -> fromTextError $ "Failure parsing ItemSelection from value: '" <> e+ <> "'. Accepted values: all, none, whitelist"++instance ToText ItemSelection where+ toText = \case+ ISAll -> "all"+ ISNone -> "none"+ ISWhitelist -> "whitelist"++instance Hashable ItemSelection+instance ToByteString ItemSelection+instance ToQuery ItemSelection+instance ToHeader ItemSelection++instance FromXML ItemSelection where+ parseXML = parseXMLText "ItemSelection"++instance ToXML ItemSelection where+ toXML = toXMLText++data Method+ = Delete+ | Get+ | Head+ | Options+ | Patch+ | Post+ | Put+ deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText Method where+ parser = takeLowerText >>= \case+ "delete" -> pure Delete+ "get" -> pure Get+ "head" -> pure Head+ "options" -> pure Options+ "patch" -> pure Patch+ "post" -> pure Post+ "put" -> pure Put+ e -> fromTextError $ "Failure parsing Method from value: '" <> e+ <> "'. Accepted values: delete, get, head, options, patch, post, put"++instance ToText Method where+ toText = \case+ Delete -> "delete"+ Get -> "get"+ Head -> "head"+ Options -> "options"+ Patch -> "patch"+ Post -> "post"+ Put -> "put"++instance Hashable Method+instance ToByteString Method+instance ToQuery Method+instance ToHeader Method++instance FromXML Method where+ parseXML = parseXMLText "Method"++instance ToXML Method where+ toXML = toXMLText++data MinimumProtocolVersion+ = SSLV3+ | TLSV1+ deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText MinimumProtocolVersion where+ parser = takeLowerText >>= \case+ "sslv3" -> pure SSLV3+ "tlsv1" -> pure TLSV1+ e -> fromTextError $ "Failure parsing MinimumProtocolVersion from value: '" <> e+ <> "'. Accepted values: sslv3, tlsv1"++instance ToText MinimumProtocolVersion where+ toText = \case+ SSLV3 -> "sslv3"+ TLSV1 -> "tlsv1"++instance Hashable MinimumProtocolVersion+instance ToByteString MinimumProtocolVersion+instance ToQuery MinimumProtocolVersion+instance ToHeader MinimumProtocolVersion++instance FromXML MinimumProtocolVersion where+ parseXML = parseXMLText "MinimumProtocolVersion"++instance ToXML MinimumProtocolVersion where+ toXML = toXMLText++data OriginProtocolPolicy+ = HTTPOnly+ | MatchViewer+ deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText OriginProtocolPolicy where+ parser = takeLowerText >>= \case+ "http-only" -> pure HTTPOnly+ "match-viewer" -> pure MatchViewer+ e -> fromTextError $ "Failure parsing OriginProtocolPolicy from value: '" <> e+ <> "'. Accepted values: http-only, match-viewer"++instance ToText OriginProtocolPolicy where+ toText = \case+ HTTPOnly -> "http-only"+ MatchViewer -> "match-viewer"++instance Hashable OriginProtocolPolicy+instance ToByteString OriginProtocolPolicy+instance ToQuery OriginProtocolPolicy+instance ToHeader OriginProtocolPolicy++instance FromXML OriginProtocolPolicy where+ parseXML = parseXMLText "OriginProtocolPolicy"++instance ToXML OriginProtocolPolicy where+ toXML = toXMLText++data PriceClass+ = PriceClass100+ | PriceClass200+ | PriceClassAll+ deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText PriceClass where+ parser = takeLowerText >>= \case+ "priceclass_100" -> pure PriceClass100+ "priceclass_200" -> pure PriceClass200+ "priceclass_all" -> pure PriceClassAll+ e -> fromTextError $ "Failure parsing PriceClass from value: '" <> e+ <> "'. Accepted values: priceclass_100, priceclass_200, priceclass_all"++instance ToText PriceClass where+ toText = \case+ PriceClass100 -> "priceclass_100"+ PriceClass200 -> "priceclass_200"+ PriceClassAll -> "priceclass_all"++instance Hashable PriceClass+instance ToByteString PriceClass+instance ToQuery PriceClass+instance ToHeader PriceClass++instance FromXML PriceClass where+ parseXML = parseXMLText "PriceClass"++instance ToXML PriceClass where+ toXML = toXMLText++data SSLSupportMethod+ = SNIOnly+ | VIP+ deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText SSLSupportMethod where+ parser = takeLowerText >>= \case+ "sni-only" -> pure SNIOnly+ "vip" -> pure VIP+ e -> fromTextError $ "Failure parsing SSLSupportMethod from value: '" <> e+ <> "'. Accepted values: sni-only, vip"++instance ToText SSLSupportMethod where+ toText = \case+ SNIOnly -> "sni-only"+ VIP -> "vip"++instance Hashable SSLSupportMethod+instance ToByteString SSLSupportMethod+instance ToQuery SSLSupportMethod+instance ToHeader SSLSupportMethod++instance FromXML SSLSupportMethod where+ parseXML = parseXMLText "SSLSupportMethod"++instance ToXML SSLSupportMethod where+ toXML = toXMLText++data ViewerProtocolPolicy+ = AllowAll+ | HTTPSOnly+ | RedirectToHTTPS+ deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ViewerProtocolPolicy where+ parser = takeLowerText >>= \case+ "allow-all" -> pure AllowAll+ "https-only" -> pure HTTPSOnly+ "redirect-to-https" -> pure RedirectToHTTPS+ e -> fromTextError $ "Failure parsing ViewerProtocolPolicy from value: '" <> e+ <> "'. Accepted values: allow-all, https-only, redirect-to-https"++instance ToText ViewerProtocolPolicy where+ toText = \case+ AllowAll -> "allow-all"+ HTTPSOnly -> "https-only"+ RedirectToHTTPS -> "redirect-to-https"++instance Hashable ViewerProtocolPolicy+instance ToByteString ViewerProtocolPolicy+instance ToQuery ViewerProtocolPolicy+instance ToHeader ViewerProtocolPolicy++instance FromXML ViewerProtocolPolicy where+ parseXML = parseXMLText "ViewerProtocolPolicy"++instance ToXML ViewerProtocolPolicy where+ toXML = toXMLText
gen/Network/AWS/CloudFront/UpdateCloudFrontOriginAccessIdentity.hs view
@@ -1,149 +1,167 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Update an origin access identity.+-- Update an origin access identity. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/UpdateCloudFrontOriginAccessIdentity.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/UpdateCloudFrontOriginAccessIdentity.html AWS API Reference> for UpdateCloudFrontOriginAccessIdentity. module Network.AWS.CloudFront.UpdateCloudFrontOriginAccessIdentity (- -- * Request- UpdateCloudFrontOriginAccessIdentity- -- ** Request constructor- , updateCloudFrontOriginAccessIdentity- -- ** Request lenses+ -- * Creating a Request+ updateCloudFrontOriginAccessIdentity+ , UpdateCloudFrontOriginAccessIdentity+ -- * Request Lenses+ , ucfoaiIfMatch , ucfoaiCloudFrontOriginAccessIdentityConfig , ucfoaiId- , ucfoaiIfMatch - -- * Response- , UpdateCloudFrontOriginAccessIdentityResponse- -- ** Response constructor+ -- * Destructuring the Response , updateCloudFrontOriginAccessIdentityResponse- -- ** Response lenses- , ucfoairCloudFrontOriginAccessIdentity- , ucfoairETag+ , UpdateCloudFrontOriginAccessIdentityResponse+ -- * Response Lenses+ , ucfoairsETag+ , ucfoairsCloudFrontOriginAccessIdentity+ , ucfoairsStatus ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts--data UpdateCloudFrontOriginAccessIdentity = UpdateCloudFrontOriginAccessIdentity- { _ucfoaiCloudFrontOriginAccessIdentityConfig :: CloudFrontOriginAccessIdentityConfig- , _ucfoaiId :: Text- , _ucfoaiIfMatch :: Maybe Text- } deriving (Eq, Read, Show)+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | 'UpdateCloudFrontOriginAccessIdentity' constructor.+-- | The request to update an origin access identity. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'updateCloudFrontOriginAccessIdentity' smart constructor.+data UpdateCloudFrontOriginAccessIdentity = UpdateCloudFrontOriginAccessIdentity'+ { _ucfoaiIfMatch :: !(Maybe Text)+ , _ucfoaiCloudFrontOriginAccessIdentityConfig :: !CloudFrontOriginAccessIdentityConfig+ , _ucfoaiId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateCloudFrontOriginAccessIdentity' with the minimum fields required to make a request. ----- * 'ucfoaiCloudFrontOriginAccessIdentityConfig' @::@ 'CloudFrontOriginAccessIdentityConfig'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ucfoaiId' @::@ 'Text'+-- * 'ucfoaiIfMatch' ----- * 'ucfoaiIfMatch' @::@ 'Maybe' 'Text'+-- * 'ucfoaiCloudFrontOriginAccessIdentityConfig' ---updateCloudFrontOriginAccessIdentity :: CloudFrontOriginAccessIdentityConfig -- ^ 'ucfoaiCloudFrontOriginAccessIdentityConfig'- -> Text -- ^ 'ucfoaiId'- -> UpdateCloudFrontOriginAccessIdentity-updateCloudFrontOriginAccessIdentity p1 p2 = UpdateCloudFrontOriginAccessIdentity- { _ucfoaiCloudFrontOriginAccessIdentityConfig = p1- , _ucfoaiId = p2- , _ucfoaiIfMatch = Nothing+-- * 'ucfoaiId'+updateCloudFrontOriginAccessIdentity+ :: CloudFrontOriginAccessIdentityConfig -- ^ 'ucfoaiCloudFrontOriginAccessIdentityConfig'+ -> Text -- ^ 'ucfoaiId'+ -> UpdateCloudFrontOriginAccessIdentity+updateCloudFrontOriginAccessIdentity pCloudFrontOriginAccessIdentityConfig_ pId_ =+ UpdateCloudFrontOriginAccessIdentity'+ { _ucfoaiIfMatch = Nothing+ , _ucfoaiCloudFrontOriginAccessIdentityConfig = pCloudFrontOriginAccessIdentityConfig_+ , _ucfoaiId = pId_ } --- | The identity's configuration information.+-- | The value of the ETag header you received when retrieving the+-- identity\'s configuration. For example: E2QWRUHAPOMQZL.+ucfoaiIfMatch :: Lens' UpdateCloudFrontOriginAccessIdentity (Maybe Text)+ucfoaiIfMatch = lens _ucfoaiIfMatch (\ s a -> s{_ucfoaiIfMatch = a});++-- | The identity\'s configuration information. ucfoaiCloudFrontOriginAccessIdentityConfig :: Lens' UpdateCloudFrontOriginAccessIdentity CloudFrontOriginAccessIdentityConfig-ucfoaiCloudFrontOriginAccessIdentityConfig =- lens _ucfoaiCloudFrontOriginAccessIdentityConfig- (\s a -> s { _ucfoaiCloudFrontOriginAccessIdentityConfig = a })+ucfoaiCloudFrontOriginAccessIdentityConfig = lens _ucfoaiCloudFrontOriginAccessIdentityConfig (\ s a -> s{_ucfoaiCloudFrontOriginAccessIdentityConfig = a}); --- | The identity's id.+-- | The identity\'s id. ucfoaiId :: Lens' UpdateCloudFrontOriginAccessIdentity Text-ucfoaiId = lens _ucfoaiId (\s a -> s { _ucfoaiId = a })+ucfoaiId = lens _ucfoaiId (\ s a -> s{_ucfoaiId = a}); --- | The value of the ETag header you received when retrieving the identity's--- configuration. For example: E2QWRUHAPOMQZL.-ucfoaiIfMatch :: Lens' UpdateCloudFrontOriginAccessIdentity (Maybe Text)-ucfoaiIfMatch = lens _ucfoaiIfMatch (\s a -> s { _ucfoaiIfMatch = a })+instance AWSRequest+ UpdateCloudFrontOriginAccessIdentity where+ type Sv UpdateCloudFrontOriginAccessIdentity =+ CloudFront+ type Rs UpdateCloudFrontOriginAccessIdentity =+ UpdateCloudFrontOriginAccessIdentityResponse+ request = putXML+ response+ = receiveXML+ (\ s h x ->+ UpdateCloudFrontOriginAccessIdentityResponse' <$>+ (h .#? "ETag") <*> (parseXML x) <*>+ (pure (fromEnum s))) -data UpdateCloudFrontOriginAccessIdentityResponse = UpdateCloudFrontOriginAccessIdentityResponse- { _ucfoairCloudFrontOriginAccessIdentity :: Maybe CloudFrontOriginAccessIdentity- , _ucfoairETag :: Maybe Text- } deriving (Eq, Read, Show)+instance ToElement+ UpdateCloudFrontOriginAccessIdentity where+ toElement+ = mkElement+ "{http://cloudfront.amazonaws.com/doc/2015-04-17/}CloudFrontOriginAccessIdentityConfig"+ .+ _ucfoaiCloudFrontOriginAccessIdentityConfig --- | 'UpdateCloudFrontOriginAccessIdentityResponse' constructor.+instance ToHeaders+ UpdateCloudFrontOriginAccessIdentity where+ toHeaders UpdateCloudFrontOriginAccessIdentity'{..}+ = mconcat ["If-Match" =# _ucfoaiIfMatch]++instance ToPath UpdateCloudFrontOriginAccessIdentity+ where+ toPath UpdateCloudFrontOriginAccessIdentity'{..}+ = mconcat+ ["/2015-04-17/origin-access-identity/cloudfront/",+ toBS _ucfoaiId, "/config"]++instance ToQuery UpdateCloudFrontOriginAccessIdentity+ where+ toQuery = const mempty++-- | The returned result of the corresponding request. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'updateCloudFrontOriginAccessIdentityResponse' smart constructor.+data UpdateCloudFrontOriginAccessIdentityResponse = UpdateCloudFrontOriginAccessIdentityResponse'+ { _ucfoairsETag :: !(Maybe Text)+ , _ucfoairsCloudFrontOriginAccessIdentity :: !(Maybe CloudFrontOriginAccessIdentity)+ , _ucfoairsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateCloudFrontOriginAccessIdentityResponse' with the minimum fields required to make a request. ----- * 'ucfoairCloudFrontOriginAccessIdentity' @::@ 'Maybe' 'CloudFrontOriginAccessIdentity'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ucfoairETag' @::@ 'Maybe' 'Text'+-- * 'ucfoairsETag' ---updateCloudFrontOriginAccessIdentityResponse :: UpdateCloudFrontOriginAccessIdentityResponse-updateCloudFrontOriginAccessIdentityResponse = UpdateCloudFrontOriginAccessIdentityResponse- { _ucfoairCloudFrontOriginAccessIdentity = Nothing- , _ucfoairETag = Nothing+-- * 'ucfoairsCloudFrontOriginAccessIdentity'+--+-- * 'ucfoairsStatus'+updateCloudFrontOriginAccessIdentityResponse+ :: Int -- ^ 'ucfoairsStatus'+ -> UpdateCloudFrontOriginAccessIdentityResponse+updateCloudFrontOriginAccessIdentityResponse pStatus_ =+ UpdateCloudFrontOriginAccessIdentityResponse'+ { _ucfoairsETag = Nothing+ , _ucfoairsCloudFrontOriginAccessIdentity = Nothing+ , _ucfoairsStatus = pStatus_ } --- | The origin access identity's information.-ucfoairCloudFrontOriginAccessIdentity :: Lens' UpdateCloudFrontOriginAccessIdentityResponse (Maybe CloudFrontOriginAccessIdentity)-ucfoairCloudFrontOriginAccessIdentity =- lens _ucfoairCloudFrontOriginAccessIdentity- (\s a -> s { _ucfoairCloudFrontOriginAccessIdentity = a })- -- | The current version of the configuration. For example: E2QWRUHAPOMQZL.-ucfoairETag :: Lens' UpdateCloudFrontOriginAccessIdentityResponse (Maybe Text)-ucfoairETag = lens _ucfoairETag (\s a -> s { _ucfoairETag = a })--instance ToPath UpdateCloudFrontOriginAccessIdentity where- toPath UpdateCloudFrontOriginAccessIdentity{..} = mconcat- [ "/2014-11-06/origin-access-identity/cloudfront/"- , toText _ucfoaiId- , "/config"- ]--instance ToQuery UpdateCloudFrontOriginAccessIdentity where- toQuery = const mempty--instance ToHeaders UpdateCloudFrontOriginAccessIdentity where- toHeaders UpdateCloudFrontOriginAccessIdentity{..} = mconcat- [ "If-Match" =: _ucfoaiIfMatch- ]--instance ToXMLRoot UpdateCloudFrontOriginAccessIdentity where- toXMLRoot = extractRoot ns . toXML . _ucfoaiCloudFrontOriginAccessIdentityConfig--instance ToXML UpdateCloudFrontOriginAccessIdentity+ucfoairsETag :: Lens' UpdateCloudFrontOriginAccessIdentityResponse (Maybe Text)+ucfoairsETag = lens _ucfoairsETag (\ s a -> s{_ucfoairsETag = a}); -instance AWSRequest UpdateCloudFrontOriginAccessIdentity where- type Sv UpdateCloudFrontOriginAccessIdentity = CloudFront- type Rs UpdateCloudFrontOriginAccessIdentity = UpdateCloudFrontOriginAccessIdentityResponse+-- | The origin access identity\'s information.+ucfoairsCloudFrontOriginAccessIdentity :: Lens' UpdateCloudFrontOriginAccessIdentityResponse (Maybe CloudFrontOriginAccessIdentity)+ucfoairsCloudFrontOriginAccessIdentity = lens _ucfoairsCloudFrontOriginAccessIdentity (\ s a -> s{_ucfoairsCloudFrontOriginAccessIdentity = a}); - request = put- response = xmlHeaderResponse $ \h x -> UpdateCloudFrontOriginAccessIdentityResponse- <$> x .@? "CloudFrontOriginAccessIdentity"- <*> h ~:? "ETag"+-- | The response status code.+ucfoairsStatus :: Lens' UpdateCloudFrontOriginAccessIdentityResponse Int+ucfoairsStatus = lens _ucfoairsStatus (\ s a -> s{_ucfoairsStatus = a});
gen/Network/AWS/CloudFront/UpdateDistribution.hs view
@@ -1,146 +1,160 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.UpdateDistribution--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Update a distribution.+-- Update a distribution. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/UpdateDistribution.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/UpdateDistribution.html AWS API Reference> for UpdateDistribution. module Network.AWS.CloudFront.UpdateDistribution (- -- * Request- UpdateDistribution- -- ** Request constructor- , updateDistribution- -- ** Request lenses+ -- * Creating a Request+ updateDistribution+ , UpdateDistribution+ -- * Request Lenses+ , udIfMatch , udDistributionConfig , udId- , udIfMatch - -- * Response- , UpdateDistributionResponse- -- ** Response constructor+ -- * Destructuring the Response , updateDistributionResponse- -- ** Response lenses- , udrDistribution- , udrETag+ , UpdateDistributionResponse+ -- * Response Lenses+ , udrsETag+ , udrsDistribution+ , udrsStatus ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts--data UpdateDistribution = UpdateDistribution- { _udDistributionConfig :: DistributionConfig- , _udId :: Text- , _udIfMatch :: Maybe Text- } deriving (Eq, Read, Show)+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | 'UpdateDistribution' constructor.+-- | The request to update a distribution. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'updateDistribution' smart constructor.+data UpdateDistribution = UpdateDistribution'+ { _udIfMatch :: !(Maybe Text)+ , _udDistributionConfig :: !DistributionConfig+ , _udId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateDistribution' with the minimum fields required to make a request. ----- * 'udDistributionConfig' @::@ 'DistributionConfig'+-- Use one of the following lenses to modify other fields as desired: ----- * 'udId' @::@ 'Text'+-- * 'udIfMatch' ----- * 'udIfMatch' @::@ 'Maybe' 'Text'+-- * 'udDistributionConfig' ---updateDistribution :: DistributionConfig -- ^ 'udDistributionConfig'- -> Text -- ^ 'udId'- -> UpdateDistribution-updateDistribution p1 p2 = UpdateDistribution- { _udDistributionConfig = p1- , _udId = p2- , _udIfMatch = Nothing+-- * 'udId'+updateDistribution+ :: DistributionConfig -- ^ 'udDistributionConfig'+ -> Text -- ^ 'udId'+ -> UpdateDistribution+updateDistribution pDistributionConfig_ pId_ =+ UpdateDistribution'+ { _udIfMatch = Nothing+ , _udDistributionConfig = pDistributionConfig_+ , _udId = pId_ } --- | The distribution's configuration information.+-- | The value of the ETag header you received when retrieving the+-- distribution\'s configuration. For example: E2QWRUHAPOMQZL.+udIfMatch :: Lens' UpdateDistribution (Maybe Text)+udIfMatch = lens _udIfMatch (\ s a -> s{_udIfMatch = a});++-- | The distribution\'s configuration information. udDistributionConfig :: Lens' UpdateDistribution DistributionConfig-udDistributionConfig =- lens _udDistributionConfig (\s a -> s { _udDistributionConfig = a })+udDistributionConfig = lens _udDistributionConfig (\ s a -> s{_udDistributionConfig = a}); --- | The distribution's id.+-- | The distribution\'s id. udId :: Lens' UpdateDistribution Text-udId = lens _udId (\s a -> s { _udId = a })---- | The value of the ETag header you received when retrieving the distribution's--- configuration. For example: E2QWRUHAPOMQZL.-udIfMatch :: Lens' UpdateDistribution (Maybe Text)-udIfMatch = lens _udIfMatch (\s a -> s { _udIfMatch = a })--data UpdateDistributionResponse = UpdateDistributionResponse- { _udrDistribution :: Maybe Distribution- , _udrETag :: Maybe Text- } deriving (Eq, Read, Show)+udId = lens _udId (\ s a -> s{_udId = a}); --- | 'UpdateDistributionResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'udrDistribution' @::@ 'Maybe' 'Distribution'------ * 'udrETag' @::@ 'Maybe' 'Text'----updateDistributionResponse :: UpdateDistributionResponse-updateDistributionResponse = UpdateDistributionResponse- { _udrDistribution = Nothing- , _udrETag = Nothing- }+instance AWSRequest UpdateDistribution where+ type Sv UpdateDistribution = CloudFront+ type Rs UpdateDistribution =+ UpdateDistributionResponse+ request = putXML+ response+ = receiveXML+ (\ s h x ->+ UpdateDistributionResponse' <$>+ (h .#? "ETag") <*> (parseXML x) <*>+ (pure (fromEnum s))) --- | The distribution's information.-udrDistribution :: Lens' UpdateDistributionResponse (Maybe Distribution)-udrDistribution = lens _udrDistribution (\s a -> s { _udrDistribution = a })+instance ToElement UpdateDistribution where+ toElement+ = mkElement+ "{http://cloudfront.amazonaws.com/doc/2015-04-17/}DistributionConfig"+ .+ _udDistributionConfig --- | The current version of the configuration. For example: E2QWRUHAPOMQZL.-udrETag :: Lens' UpdateDistributionResponse (Maybe Text)-udrETag = lens _udrETag (\s a -> s { _udrETag = a })+instance ToHeaders UpdateDistribution where+ toHeaders UpdateDistribution'{..}+ = mconcat ["If-Match" =# _udIfMatch] instance ToPath UpdateDistribution where- toPath UpdateDistribution{..} = mconcat- [ "/2014-11-06/distribution/"- , toText _udId- , "/config"- ]+ toPath UpdateDistribution'{..}+ = mconcat+ ["/2015-04-17/distribution/", toBS _udId, "/config"] instance ToQuery UpdateDistribution where- toQuery = const mempty+ toQuery = const mempty -instance ToHeaders UpdateDistribution where- toHeaders UpdateDistribution{..} = mconcat- [ "If-Match" =: _udIfMatch- ]+-- | The returned result of the corresponding request.+--+-- /See:/ 'updateDistributionResponse' smart constructor.+data UpdateDistributionResponse = UpdateDistributionResponse'+ { _udrsETag :: !(Maybe Text)+ , _udrsDistribution :: !(Maybe Distribution)+ , _udrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToXMLRoot UpdateDistribution where- toXMLRoot = extractRoot ns . toXML . _udDistributionConfig+-- | Creates a value of 'UpdateDistributionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udrsETag'+--+-- * 'udrsDistribution'+--+-- * 'udrsStatus'+updateDistributionResponse+ :: Int -- ^ 'udrsStatus'+ -> UpdateDistributionResponse+updateDistributionResponse pStatus_ =+ UpdateDistributionResponse'+ { _udrsETag = Nothing+ , _udrsDistribution = Nothing+ , _udrsStatus = pStatus_+ } -instance ToXML UpdateDistribution+-- | The current version of the configuration. For example: E2QWRUHAPOMQZL.+udrsETag :: Lens' UpdateDistributionResponse (Maybe Text)+udrsETag = lens _udrsETag (\ s a -> s{_udrsETag = a}); -instance AWSRequest UpdateDistribution where- type Sv UpdateDistribution = CloudFront- type Rs UpdateDistribution = UpdateDistributionResponse+-- | The distribution\'s information.+udrsDistribution :: Lens' UpdateDistributionResponse (Maybe Distribution)+udrsDistribution = lens _udrsDistribution (\ s a -> s{_udrsDistribution = a}); - request = put- response = xmlHeaderResponse $ \h x -> UpdateDistributionResponse- <$> x .@? "Distribution"- <*> h ~:? "ETag"+-- | The response status code.+udrsStatus :: Lens' UpdateDistributionResponse Int+udrsStatus = lens _udrsStatus (\ s a -> s{_udrsStatus = a});
gen/Network/AWS/CloudFront/UpdateStreamingDistribution.hs view
@@ -1,149 +1,161 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudFront.UpdateStreamingDistribution--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Update a streaming distribution.+-- Update a streaming distribution. ----- <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/UpdateStreamingDistribution.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/UpdateStreamingDistribution.html AWS API Reference> for UpdateStreamingDistribution. module Network.AWS.CloudFront.UpdateStreamingDistribution (- -- * Request- UpdateStreamingDistribution- -- ** Request constructor- , updateStreamingDistribution- -- ** Request lenses- , usdId+ -- * Creating a Request+ updateStreamingDistribution+ , UpdateStreamingDistribution+ -- * Request Lenses , usdIfMatch , usdStreamingDistributionConfig+ , usdId - -- * Response- , UpdateStreamingDistributionResponse- -- ** Response constructor+ -- * Destructuring the Response , updateStreamingDistributionResponse- -- ** Response lenses- , usdrETag- , usdrStreamingDistribution+ , UpdateStreamingDistributionResponse+ -- * Response Lenses+ , usdrsETag+ , usdrsStreamingDistribution+ , usdrsStatus ) where -import Network.AWS.Prelude-import Network.AWS.Request.RestXML-import Network.AWS.CloudFront.Types-import qualified GHC.Exts--data UpdateStreamingDistribution = UpdateStreamingDistribution- { _usdId :: Text- , _usdIfMatch :: Maybe Text- , _usdStreamingDistributionConfig :: StreamingDistributionConfig- } deriving (Eq, Read, Show)+import Network.AWS.CloudFront.Types+import Network.AWS.CloudFront.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | 'UpdateStreamingDistribution' constructor.+-- | The request to update a streaming distribution. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'updateStreamingDistribution' smart constructor.+data UpdateStreamingDistribution = UpdateStreamingDistribution'+ { _usdIfMatch :: !(Maybe Text)+ , _usdStreamingDistributionConfig :: !StreamingDistributionConfig+ , _usdId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateStreamingDistribution' with the minimum fields required to make a request. ----- * 'usdId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'usdIfMatch' @::@ 'Maybe' 'Text'+-- * 'usdIfMatch' ----- * 'usdStreamingDistributionConfig' @::@ 'StreamingDistributionConfig'+-- * 'usdStreamingDistributionConfig' ---updateStreamingDistribution :: StreamingDistributionConfig -- ^ 'usdStreamingDistributionConfig'- -> Text -- ^ 'usdId'- -> UpdateStreamingDistribution-updateStreamingDistribution p1 p2 = UpdateStreamingDistribution- { _usdStreamingDistributionConfig = p1- , _usdId = p2- , _usdIfMatch = Nothing+-- * 'usdId'+updateStreamingDistribution+ :: StreamingDistributionConfig -- ^ 'usdStreamingDistributionConfig'+ -> Text -- ^ 'usdId'+ -> UpdateStreamingDistribution+updateStreamingDistribution pStreamingDistributionConfig_ pId_ =+ UpdateStreamingDistribution'+ { _usdIfMatch = Nothing+ , _usdStreamingDistributionConfig = pStreamingDistributionConfig_+ , _usdId = pId_ } --- | The streaming distribution's id.-usdId :: Lens' UpdateStreamingDistribution Text-usdId = lens _usdId (\s a -> s { _usdId = a })- -- | The value of the ETag header you received when retrieving the streaming--- distribution's configuration. For example: E2QWRUHAPOMQZL.+-- distribution\'s configuration. For example: E2QWRUHAPOMQZL. usdIfMatch :: Lens' UpdateStreamingDistribution (Maybe Text)-usdIfMatch = lens _usdIfMatch (\s a -> s { _usdIfMatch = a })+usdIfMatch = lens _usdIfMatch (\ s a -> s{_usdIfMatch = a}); --- | The streaming distribution's configuration information.+-- | The streaming distribution\'s configuration information. usdStreamingDistributionConfig :: Lens' UpdateStreamingDistribution StreamingDistributionConfig-usdStreamingDistributionConfig =- lens _usdStreamingDistributionConfig- (\s a -> s { _usdStreamingDistributionConfig = a })+usdStreamingDistributionConfig = lens _usdStreamingDistributionConfig (\ s a -> s{_usdStreamingDistributionConfig = a}); -data UpdateStreamingDistributionResponse = UpdateStreamingDistributionResponse- { _usdrETag :: Maybe Text- , _usdrStreamingDistribution :: Maybe StreamingDistribution- } deriving (Eq, Read, Show)+-- | The streaming distribution\'s id.+usdId :: Lens' UpdateStreamingDistribution Text+usdId = lens _usdId (\ s a -> s{_usdId = a}); --- | 'UpdateStreamingDistributionResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'usdrETag' @::@ 'Maybe' 'Text'------ * 'usdrStreamingDistribution' @::@ 'Maybe' 'StreamingDistribution'----updateStreamingDistributionResponse :: UpdateStreamingDistributionResponse-updateStreamingDistributionResponse = UpdateStreamingDistributionResponse- { _usdrStreamingDistribution = Nothing- , _usdrETag = Nothing- }+instance AWSRequest UpdateStreamingDistribution where+ type Sv UpdateStreamingDistribution = CloudFront+ type Rs UpdateStreamingDistribution =+ UpdateStreamingDistributionResponse+ request = putXML+ response+ = receiveXML+ (\ s h x ->+ UpdateStreamingDistributionResponse' <$>+ (h .#? "ETag") <*> (parseXML x) <*>+ (pure (fromEnum s))) --- | The current version of the configuration. For example: E2QWRUHAPOMQZL.-usdrETag :: Lens' UpdateStreamingDistributionResponse (Maybe Text)-usdrETag = lens _usdrETag (\s a -> s { _usdrETag = a })+instance ToElement UpdateStreamingDistribution where+ toElement+ = mkElement+ "{http://cloudfront.amazonaws.com/doc/2015-04-17/}StreamingDistributionConfig"+ .+ _usdStreamingDistributionConfig --- | The streaming distribution's information.-usdrStreamingDistribution :: Lens' UpdateStreamingDistributionResponse (Maybe StreamingDistribution)-usdrStreamingDistribution =- lens _usdrStreamingDistribution- (\s a -> s { _usdrStreamingDistribution = a })+instance ToHeaders UpdateStreamingDistribution where+ toHeaders UpdateStreamingDistribution'{..}+ = mconcat ["If-Match" =# _usdIfMatch] instance ToPath UpdateStreamingDistribution where- toPath UpdateStreamingDistribution{..} = mconcat- [ "/2014-11-06/streaming-distribution/"- , toText _usdId- , "/config"- ]+ toPath UpdateStreamingDistribution'{..}+ = mconcat+ ["/2015-04-17/streaming-distribution/", toBS _usdId,+ "/config"] instance ToQuery UpdateStreamingDistribution where- toQuery = const mempty+ toQuery = const mempty -instance ToHeaders UpdateStreamingDistribution where- toHeaders UpdateStreamingDistribution{..} = mconcat- [ "If-Match" =: _usdIfMatch- ]+-- | The returned result of the corresponding request.+--+-- /See:/ 'updateStreamingDistributionResponse' smart constructor.+data UpdateStreamingDistributionResponse = UpdateStreamingDistributionResponse'+ { _usdrsETag :: !(Maybe Text)+ , _usdrsStreamingDistribution :: !(Maybe StreamingDistribution)+ , _usdrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToXMLRoot UpdateStreamingDistribution where- toXMLRoot = extractRoot ns . toXML . _usdStreamingDistributionConfig+-- | Creates a value of 'UpdateStreamingDistributionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'usdrsETag'+--+-- * 'usdrsStreamingDistribution'+--+-- * 'usdrsStatus'+updateStreamingDistributionResponse+ :: Int -- ^ 'usdrsStatus'+ -> UpdateStreamingDistributionResponse+updateStreamingDistributionResponse pStatus_ =+ UpdateStreamingDistributionResponse'+ { _usdrsETag = Nothing+ , _usdrsStreamingDistribution = Nothing+ , _usdrsStatus = pStatus_+ } -instance ToXML UpdateStreamingDistribution+-- | The current version of the configuration. For example: E2QWRUHAPOMQZL.+usdrsETag :: Lens' UpdateStreamingDistributionResponse (Maybe Text)+usdrsETag = lens _usdrsETag (\ s a -> s{_usdrsETag = a}); -instance AWSRequest UpdateStreamingDistribution where- type Sv UpdateStreamingDistribution = CloudFront- type Rs UpdateStreamingDistribution = UpdateStreamingDistributionResponse+-- | The streaming distribution\'s information.+usdrsStreamingDistribution :: Lens' UpdateStreamingDistributionResponse (Maybe StreamingDistribution)+usdrsStreamingDistribution = lens _usdrsStreamingDistribution (\ s a -> s{_usdrsStreamingDistribution = a}); - request = put- response = xmlHeaderResponse $ \h x -> UpdateStreamingDistributionResponse- <$> h ~:? "ETag"- <*> x .@? "StreamingDistribution"+-- | The response status code.+usdrsStatus :: Lens' UpdateStreamingDistributionResponse Int+usdrsStatus = lens _usdrsStatus (\ s a -> s{_usdrsStatus = a});
+ gen/Network/AWS/CloudFront/Waiters.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudFront.Waiters+-- Copyright : (c) 2013-2015 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)+--+module Network.AWS.CloudFront.Waiters where++import Network.AWS.CloudFront.Types+import Network.AWS.Prelude+import Network.AWS.Waiter
+ test/Main.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2015 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)+--+module Main (main) where++import Test.Tasty+import Test.AWS.CloudFront+import Test.AWS.CloudFront.Internal++main :: IO ()+main = defaultMain $ testGroup "CloudFront"+ [ testGroup "tests" tests+ , testGroup "fixtures" fixtures+ ]
+ test/Test/AWS/CloudFront.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE OverloadedStrings #-}++-- Module : Test.AWS.CloudFront+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.CloudFront+ ( tests+ , fixtures+ ) where++import Network.AWS.CloudFront+import Test.AWS.Gen.CloudFront+import Test.Tasty++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/AWS/CloudFront/Internal.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Test.AWS.CloudFront.Internal+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.CloudFront.Internal where++import Test.AWS.Prelude
+ test/Test/AWS/Gen/CloudFront.hs view
@@ -0,0 +1,396 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Test.AWS.Gen.CloudFront+-- Copyright : (c) 2013-2015 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)+--+module Test.AWS.Gen.CloudFront where++import Data.Proxy+import Test.AWS.Fixture+import Test.AWS.Prelude+import Test.Tasty+import Network.AWS.CloudFront+import Test.AWS.CloudFront.Internal++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ testDeleteStreamingDistribution $+-- deleteStreamingDistribution+--+-- , testUpdateStreamingDistribution $+-- updateStreamingDistribution+--+-- , testCreateDistribution $+-- createDistribution+--+-- , testGetDistributionConfig $+-- getDistributionConfig+--+-- , testGetDistribution $+-- getDistribution+--+-- , testDeleteCloudFrontOriginAccessIdentity $+-- deleteCloudFrontOriginAccessIdentity+--+-- , testUpdateCloudFrontOriginAccessIdentity $+-- updateCloudFrontOriginAccessIdentity+--+-- , testListStreamingDistributions $+-- listStreamingDistributions+--+-- , testGetStreamingDistributionConfig $+-- getStreamingDistributionConfig+--+-- , testGetCloudFrontOriginAccessIdentityConfig $+-- getCloudFrontOriginAccessIdentityConfig+--+-- , testCreateStreamingDistribution $+-- createStreamingDistribution+--+-- , testCreateCloudFrontOriginAccessIdentity $+-- createCloudFrontOriginAccessIdentity+--+-- , testListCloudFrontOriginAccessIdentities $+-- listCloudFrontOriginAccessIdentities+--+-- , testGetInvalidation $+-- getInvalidation+--+-- , testListInvalidations $+-- listInvalidations+--+-- , testGetStreamingDistribution $+-- getStreamingDistribution+--+-- , testGetCloudFrontOriginAccessIdentity $+-- getCloudFrontOriginAccessIdentity+--+-- , testCreateInvalidation $+-- createInvalidation+--+-- , testUpdateDistribution $+-- updateDistribution+--+-- , testDeleteDistribution $+-- deleteDistribution+--+-- , testListDistributions $+-- listDistributions+--+-- ]++-- , testGroup "response"+-- [ testDeleteStreamingDistributionResponse $+-- deleteStreamingDistributionResponse+--+-- , testUpdateStreamingDistributionResponse $+-- updateStreamingDistributionResponse+--+-- , testCreateDistributionResponse $+-- createDistributionResponse+--+-- , testGetDistributionConfigResponse $+-- getDistributionConfigResponse+--+-- , testGetDistributionResponse $+-- getDistributionResponse+--+-- , testDeleteCloudFrontOriginAccessIdentityResponse $+-- deleteCloudFrontOriginAccessIdentityResponse+--+-- , testUpdateCloudFrontOriginAccessIdentityResponse $+-- updateCloudFrontOriginAccessIdentityResponse+--+-- , testListStreamingDistributionsResponse $+-- listStreamingDistributionsResponse+--+-- , testGetStreamingDistributionConfigResponse $+-- getStreamingDistributionConfigResponse+--+-- , testGetCloudFrontOriginAccessIdentityConfigResponse $+-- getCloudFrontOriginAccessIdentityConfigResponse+--+-- , testCreateStreamingDistributionResponse $+-- createStreamingDistributionResponse+--+-- , testCreateCloudFrontOriginAccessIdentityResponse $+-- createCloudFrontOriginAccessIdentityResponse+--+-- , testListCloudFrontOriginAccessIdentitiesResponse $+-- listCloudFrontOriginAccessIdentitiesResponse+--+-- , testGetInvalidationResponse $+-- getInvalidationResponse+--+-- , testListInvalidationsResponse $+-- listInvalidationsResponse+--+-- , testGetStreamingDistributionResponse $+-- getStreamingDistributionResponse+--+-- , testGetCloudFrontOriginAccessIdentityResponse $+-- getCloudFrontOriginAccessIdentityResponse+--+-- , testCreateInvalidationResponse $+-- createInvalidationResponse+--+-- , testUpdateDistributionResponse $+-- updateDistributionResponse+--+-- , testDeleteDistributionResponse $+-- deleteDistributionResponse+--+-- , testListDistributionsResponse $+-- listDistributionsResponse+--+-- ]+-- ]++-- Requests++testDeleteStreamingDistribution :: DeleteStreamingDistribution -> TestTree+testDeleteStreamingDistribution = req+ "DeleteStreamingDistribution"+ "fixture/DeleteStreamingDistribution"++testUpdateStreamingDistribution :: UpdateStreamingDistribution -> TestTree+testUpdateStreamingDistribution = req+ "UpdateStreamingDistribution"+ "fixture/UpdateStreamingDistribution"++testCreateDistribution :: CreateDistribution -> TestTree+testCreateDistribution = req+ "CreateDistribution"+ "fixture/CreateDistribution"++testGetDistributionConfig :: GetDistributionConfig -> TestTree+testGetDistributionConfig = req+ "GetDistributionConfig"+ "fixture/GetDistributionConfig"++testGetDistribution :: GetDistribution -> TestTree+testGetDistribution = req+ "GetDistribution"+ "fixture/GetDistribution"++testDeleteCloudFrontOriginAccessIdentity :: DeleteCloudFrontOriginAccessIdentity -> TestTree+testDeleteCloudFrontOriginAccessIdentity = req+ "DeleteCloudFrontOriginAccessIdentity"+ "fixture/DeleteCloudFrontOriginAccessIdentity"++testUpdateCloudFrontOriginAccessIdentity :: UpdateCloudFrontOriginAccessIdentity -> TestTree+testUpdateCloudFrontOriginAccessIdentity = req+ "UpdateCloudFrontOriginAccessIdentity"+ "fixture/UpdateCloudFrontOriginAccessIdentity"++testListStreamingDistributions :: ListStreamingDistributions -> TestTree+testListStreamingDistributions = req+ "ListStreamingDistributions"+ "fixture/ListStreamingDistributions"++testGetStreamingDistributionConfig :: GetStreamingDistributionConfig -> TestTree+testGetStreamingDistributionConfig = req+ "GetStreamingDistributionConfig"+ "fixture/GetStreamingDistributionConfig"++testGetCloudFrontOriginAccessIdentityConfig :: GetCloudFrontOriginAccessIdentityConfig -> TestTree+testGetCloudFrontOriginAccessIdentityConfig = req+ "GetCloudFrontOriginAccessIdentityConfig"+ "fixture/GetCloudFrontOriginAccessIdentityConfig"++testCreateStreamingDistribution :: CreateStreamingDistribution -> TestTree+testCreateStreamingDistribution = req+ "CreateStreamingDistribution"+ "fixture/CreateStreamingDistribution"++testCreateCloudFrontOriginAccessIdentity :: CreateCloudFrontOriginAccessIdentity -> TestTree+testCreateCloudFrontOriginAccessIdentity = req+ "CreateCloudFrontOriginAccessIdentity"+ "fixture/CreateCloudFrontOriginAccessIdentity"++testListCloudFrontOriginAccessIdentities :: ListCloudFrontOriginAccessIdentities -> TestTree+testListCloudFrontOriginAccessIdentities = req+ "ListCloudFrontOriginAccessIdentities"+ "fixture/ListCloudFrontOriginAccessIdentities"++testGetInvalidation :: GetInvalidation -> TestTree+testGetInvalidation = req+ "GetInvalidation"+ "fixture/GetInvalidation"++testListInvalidations :: ListInvalidations -> TestTree+testListInvalidations = req+ "ListInvalidations"+ "fixture/ListInvalidations"++testGetStreamingDistribution :: GetStreamingDistribution -> TestTree+testGetStreamingDistribution = req+ "GetStreamingDistribution"+ "fixture/GetStreamingDistribution"++testGetCloudFrontOriginAccessIdentity :: GetCloudFrontOriginAccessIdentity -> TestTree+testGetCloudFrontOriginAccessIdentity = req+ "GetCloudFrontOriginAccessIdentity"+ "fixture/GetCloudFrontOriginAccessIdentity"++testCreateInvalidation :: CreateInvalidation -> TestTree+testCreateInvalidation = req+ "CreateInvalidation"+ "fixture/CreateInvalidation"++testUpdateDistribution :: UpdateDistribution -> TestTree+testUpdateDistribution = req+ "UpdateDistribution"+ "fixture/UpdateDistribution"++testDeleteDistribution :: DeleteDistribution -> TestTree+testDeleteDistribution = req+ "DeleteDistribution"+ "fixture/DeleteDistribution"++testListDistributions :: ListDistributions -> TestTree+testListDistributions = req+ "ListDistributions"+ "fixture/ListDistributions"++-- Responses++testDeleteStreamingDistributionResponse :: DeleteStreamingDistributionResponse -> TestTree+testDeleteStreamingDistributionResponse = res+ "DeleteStreamingDistributionResponse"+ "fixture/DeleteStreamingDistributionResponse"+ (Proxy :: Proxy DeleteStreamingDistribution)++testUpdateStreamingDistributionResponse :: UpdateStreamingDistributionResponse -> TestTree+testUpdateStreamingDistributionResponse = res+ "UpdateStreamingDistributionResponse"+ "fixture/UpdateStreamingDistributionResponse"+ (Proxy :: Proxy UpdateStreamingDistribution)++testCreateDistributionResponse :: CreateDistributionResponse -> TestTree+testCreateDistributionResponse = res+ "CreateDistributionResponse"+ "fixture/CreateDistributionResponse"+ (Proxy :: Proxy CreateDistribution)++testGetDistributionConfigResponse :: GetDistributionConfigResponse -> TestTree+testGetDistributionConfigResponse = res+ "GetDistributionConfigResponse"+ "fixture/GetDistributionConfigResponse"+ (Proxy :: Proxy GetDistributionConfig)++testGetDistributionResponse :: GetDistributionResponse -> TestTree+testGetDistributionResponse = res+ "GetDistributionResponse"+ "fixture/GetDistributionResponse"+ (Proxy :: Proxy GetDistribution)++testDeleteCloudFrontOriginAccessIdentityResponse :: DeleteCloudFrontOriginAccessIdentityResponse -> TestTree+testDeleteCloudFrontOriginAccessIdentityResponse = res+ "DeleteCloudFrontOriginAccessIdentityResponse"+ "fixture/DeleteCloudFrontOriginAccessIdentityResponse"+ (Proxy :: Proxy DeleteCloudFrontOriginAccessIdentity)++testUpdateCloudFrontOriginAccessIdentityResponse :: UpdateCloudFrontOriginAccessIdentityResponse -> TestTree+testUpdateCloudFrontOriginAccessIdentityResponse = res+ "UpdateCloudFrontOriginAccessIdentityResponse"+ "fixture/UpdateCloudFrontOriginAccessIdentityResponse"+ (Proxy :: Proxy UpdateCloudFrontOriginAccessIdentity)++testListStreamingDistributionsResponse :: ListStreamingDistributionsResponse -> TestTree+testListStreamingDistributionsResponse = res+ "ListStreamingDistributionsResponse"+ "fixture/ListStreamingDistributionsResponse"+ (Proxy :: Proxy ListStreamingDistributions)++testGetStreamingDistributionConfigResponse :: GetStreamingDistributionConfigResponse -> TestTree+testGetStreamingDistributionConfigResponse = res+ "GetStreamingDistributionConfigResponse"+ "fixture/GetStreamingDistributionConfigResponse"+ (Proxy :: Proxy GetStreamingDistributionConfig)++testGetCloudFrontOriginAccessIdentityConfigResponse :: GetCloudFrontOriginAccessIdentityConfigResponse -> TestTree+testGetCloudFrontOriginAccessIdentityConfigResponse = res+ "GetCloudFrontOriginAccessIdentityConfigResponse"+ "fixture/GetCloudFrontOriginAccessIdentityConfigResponse"+ (Proxy :: Proxy GetCloudFrontOriginAccessIdentityConfig)++testCreateStreamingDistributionResponse :: CreateStreamingDistributionResponse -> TestTree+testCreateStreamingDistributionResponse = res+ "CreateStreamingDistributionResponse"+ "fixture/CreateStreamingDistributionResponse"+ (Proxy :: Proxy CreateStreamingDistribution)++testCreateCloudFrontOriginAccessIdentityResponse :: CreateCloudFrontOriginAccessIdentityResponse -> TestTree+testCreateCloudFrontOriginAccessIdentityResponse = res+ "CreateCloudFrontOriginAccessIdentityResponse"+ "fixture/CreateCloudFrontOriginAccessIdentityResponse"+ (Proxy :: Proxy CreateCloudFrontOriginAccessIdentity)++testListCloudFrontOriginAccessIdentitiesResponse :: ListCloudFrontOriginAccessIdentitiesResponse -> TestTree+testListCloudFrontOriginAccessIdentitiesResponse = res+ "ListCloudFrontOriginAccessIdentitiesResponse"+ "fixture/ListCloudFrontOriginAccessIdentitiesResponse"+ (Proxy :: Proxy ListCloudFrontOriginAccessIdentities)++testGetInvalidationResponse :: GetInvalidationResponse -> TestTree+testGetInvalidationResponse = res+ "GetInvalidationResponse"+ "fixture/GetInvalidationResponse"+ (Proxy :: Proxy GetInvalidation)++testListInvalidationsResponse :: ListInvalidationsResponse -> TestTree+testListInvalidationsResponse = res+ "ListInvalidationsResponse"+ "fixture/ListInvalidationsResponse"+ (Proxy :: Proxy ListInvalidations)++testGetStreamingDistributionResponse :: GetStreamingDistributionResponse -> TestTree+testGetStreamingDistributionResponse = res+ "GetStreamingDistributionResponse"+ "fixture/GetStreamingDistributionResponse"+ (Proxy :: Proxy GetStreamingDistribution)++testGetCloudFrontOriginAccessIdentityResponse :: GetCloudFrontOriginAccessIdentityResponse -> TestTree+testGetCloudFrontOriginAccessIdentityResponse = res+ "GetCloudFrontOriginAccessIdentityResponse"+ "fixture/GetCloudFrontOriginAccessIdentityResponse"+ (Proxy :: Proxy GetCloudFrontOriginAccessIdentity)++testCreateInvalidationResponse :: CreateInvalidationResponse -> TestTree+testCreateInvalidationResponse = res+ "CreateInvalidationResponse"+ "fixture/CreateInvalidationResponse"+ (Proxy :: Proxy CreateInvalidation)++testUpdateDistributionResponse :: UpdateDistributionResponse -> TestTree+testUpdateDistributionResponse = res+ "UpdateDistributionResponse"+ "fixture/UpdateDistributionResponse"+ (Proxy :: Proxy UpdateDistribution)++testDeleteDistributionResponse :: DeleteDistributionResponse -> TestTree+testDeleteDistributionResponse = res+ "DeleteDistributionResponse"+ "fixture/DeleteDistributionResponse"+ (Proxy :: Proxy DeleteDistribution)++testListDistributionsResponse :: ListDistributionsResponse -> TestTree+testListDistributionsResponse = res+ "ListDistributionsResponse"+ "fixture/ListDistributionsResponse"+ (Proxy :: Proxy ListDistributions)