{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.CloudFront.Types.DistributionSummary
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.CloudFront.Types.DistributionSummary where

import Amazonka.CloudFront.Types.AliasICPRecordal
import Amazonka.CloudFront.Types.Aliases
import Amazonka.CloudFront.Types.CacheBehaviors
import Amazonka.CloudFront.Types.CustomErrorResponses
import Amazonka.CloudFront.Types.DefaultCacheBehavior
import Amazonka.CloudFront.Types.HttpVersion
import Amazonka.CloudFront.Types.OriginGroups
import Amazonka.CloudFront.Types.Origins
import Amazonka.CloudFront.Types.PriceClass
import Amazonka.CloudFront.Types.Restrictions
import Amazonka.CloudFront.Types.ViewerCertificate
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude

-- | A summary of the information about a CloudFront distribution.
--
-- /See:/ 'newDistributionSummary' smart constructor.
data DistributionSummary = DistributionSummary'
  { -- | Amazon Web Services services in China customers must file for an
    -- Internet Content Provider (ICP) recordal if they want to serve content
    -- publicly on an alternate domain name, also known as a CNAME, that
    -- they\'ve added to CloudFront. AliasICPRecordal provides the ICP recordal
    -- status for CNAMEs associated with distributions.
    --
    -- For more information about ICP recordals, see
    -- <https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html Signup, Accounts, and Credentials>
    -- in /Getting Started with Amazon Web Services services in China/.
    DistributionSummary -> Maybe [AliasICPRecordal]
aliasICPRecordals :: Prelude.Maybe [AliasICPRecordal],
    -- | A complex type that contains information about origin groups for this
    -- distribution.
    DistributionSummary -> Maybe OriginGroups
originGroups :: Prelude.Maybe OriginGroups,
    -- | The identifier for the distribution. For example: @EDFDVBD632BHDS5@.
    DistributionSummary -> Text
id :: Prelude.Text,
    -- | The ARN (Amazon Resource Name) for the distribution. For example:
    -- @arn:aws:cloudfront::123456789012:distribution\/EDFDVBD632BHDS5@, where
    -- @123456789012@ is your Amazon Web Services account ID.
    DistributionSummary -> Text
arn :: Prelude.Text,
    -- | The current status of the distribution. When the status is @Deployed@,
    -- the distribution\'s information is propagated to all CloudFront edge
    -- locations.
    DistributionSummary -> Text
status :: Prelude.Text,
    -- | The date and time the distribution was last modified.
    DistributionSummary -> ISO8601
lastModifiedTime :: Data.ISO8601,
    -- | The domain name that corresponds to the distribution, for example,
    -- @d111111abcdef8.cloudfront.net@.
    DistributionSummary -> Text
domainName :: Prelude.Text,
    -- | A complex type that contains information about CNAMEs (alternate domain
    -- names), if any, for this distribution.
    DistributionSummary -> Aliases
aliases :: Aliases,
    -- | A complex type that contains information about origins for this
    -- distribution.
    DistributionSummary -> Origins
origins :: Origins,
    -- | A complex type that describes the default cache behavior if you don\'t
    -- specify a @CacheBehavior@ element or if files don\'t match any of the
    -- values of @PathPattern@ in @CacheBehavior@ elements. You must create
    -- exactly one default cache behavior.
    DistributionSummary -> DefaultCacheBehavior
defaultCacheBehavior :: DefaultCacheBehavior,
    -- | A complex type that contains zero or more @CacheBehavior@ elements.
    DistributionSummary -> CacheBehaviors
cacheBehaviors :: CacheBehaviors,
    -- | A complex type that contains zero or more @CustomErrorResponses@
    -- elements.
    DistributionSummary -> CustomErrorResponses
customErrorResponses :: CustomErrorResponses,
    -- | The comment originally specified when this distribution was created.
    DistributionSummary -> Text
comment :: Prelude.Text,
    -- | A complex type that contains information about price class for this
    -- streaming distribution.
    DistributionSummary -> PriceClass
priceClass :: PriceClass,
    -- | Whether the distribution is enabled to accept user requests for content.
    DistributionSummary -> Bool
enabled :: Prelude.Bool,
    -- | A complex type that determines the distribution\'s SSL\/TLS
    -- configuration for communicating with viewers.
    DistributionSummary -> ViewerCertificate
viewerCertificate :: ViewerCertificate,
    -- | A complex type that identifies ways in which you want to restrict
    -- distribution of your content.
    DistributionSummary -> Restrictions
restrictions :: Restrictions,
    -- | The Web ACL Id (if any) associated with the distribution.
    DistributionSummary -> Text
webACLId :: Prelude.Text,
    -- | Specify the maximum HTTP version that you want viewers to use to
    -- communicate with CloudFront. The default value for new web distributions
    -- is @http2@. Viewers that don\'t support @HTTP\/2@ will automatically use
    -- an earlier version.
    DistributionSummary -> HttpVersion
httpVersion :: HttpVersion,
    -- | Whether CloudFront responds to IPv6 DNS requests with an IPv6 address
    -- for your distribution.
    DistributionSummary -> Bool
isIPV6Enabled :: Prelude.Bool,
    -- | Whether the primary distribution has a staging distribution enabled.
    DistributionSummary -> Bool
staging :: Prelude.Bool
  }
  deriving (DistributionSummary -> DistributionSummary -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DistributionSummary -> DistributionSummary -> Bool
$c/= :: DistributionSummary -> DistributionSummary -> Bool
== :: DistributionSummary -> DistributionSummary -> Bool
$c== :: DistributionSummary -> DistributionSummary -> Bool
Prelude.Eq, Int -> DistributionSummary -> ShowS
[DistributionSummary] -> ShowS
DistributionSummary -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DistributionSummary] -> ShowS
$cshowList :: [DistributionSummary] -> ShowS
show :: DistributionSummary -> String
$cshow :: DistributionSummary -> String
showsPrec :: Int -> DistributionSummary -> ShowS
$cshowsPrec :: Int -> DistributionSummary -> ShowS
Prelude.Show, forall x. Rep DistributionSummary x -> DistributionSummary
forall x. DistributionSummary -> Rep DistributionSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DistributionSummary x -> DistributionSummary
$cfrom :: forall x. DistributionSummary -> Rep DistributionSummary x
Prelude.Generic)

-- |
-- Create a value of 'DistributionSummary' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'aliasICPRecordals', 'distributionSummary_aliasICPRecordals' - Amazon Web Services services in China customers must file for an
-- Internet Content Provider (ICP) recordal if they want to serve content
-- publicly on an alternate domain name, also known as a CNAME, that
-- they\'ve added to CloudFront. AliasICPRecordal provides the ICP recordal
-- status for CNAMEs associated with distributions.
--
-- For more information about ICP recordals, see
-- <https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html Signup, Accounts, and Credentials>
-- in /Getting Started with Amazon Web Services services in China/.
--
-- 'originGroups', 'distributionSummary_originGroups' - A complex type that contains information about origin groups for this
-- distribution.
--
-- 'id', 'distributionSummary_id' - The identifier for the distribution. For example: @EDFDVBD632BHDS5@.
--
-- 'arn', 'distributionSummary_arn' - The ARN (Amazon Resource Name) for the distribution. For example:
-- @arn:aws:cloudfront::123456789012:distribution\/EDFDVBD632BHDS5@, where
-- @123456789012@ is your Amazon Web Services account ID.
--
-- 'status', 'distributionSummary_status' - The current status of the distribution. When the status is @Deployed@,
-- the distribution\'s information is propagated to all CloudFront edge
-- locations.
--
-- 'lastModifiedTime', 'distributionSummary_lastModifiedTime' - The date and time the distribution was last modified.
--
-- 'domainName', 'distributionSummary_domainName' - The domain name that corresponds to the distribution, for example,
-- @d111111abcdef8.cloudfront.net@.
--
-- 'aliases', 'distributionSummary_aliases' - A complex type that contains information about CNAMEs (alternate domain
-- names), if any, for this distribution.
--
-- 'origins', 'distributionSummary_origins' - A complex type that contains information about origins for this
-- distribution.
--
-- 'defaultCacheBehavior', 'distributionSummary_defaultCacheBehavior' - A complex type that describes the default cache behavior if you don\'t
-- specify a @CacheBehavior@ element or if files don\'t match any of the
-- values of @PathPattern@ in @CacheBehavior@ elements. You must create
-- exactly one default cache behavior.
--
-- 'cacheBehaviors', 'distributionSummary_cacheBehaviors' - A complex type that contains zero or more @CacheBehavior@ elements.
--
-- 'customErrorResponses', 'distributionSummary_customErrorResponses' - A complex type that contains zero or more @CustomErrorResponses@
-- elements.
--
-- 'comment', 'distributionSummary_comment' - The comment originally specified when this distribution was created.
--
-- 'priceClass', 'distributionSummary_priceClass' - A complex type that contains information about price class for this
-- streaming distribution.
--
-- 'enabled', 'distributionSummary_enabled' - Whether the distribution is enabled to accept user requests for content.
--
-- 'viewerCertificate', 'distributionSummary_viewerCertificate' - A complex type that determines the distribution\'s SSL\/TLS
-- configuration for communicating with viewers.
--
-- 'restrictions', 'distributionSummary_restrictions' - A complex type that identifies ways in which you want to restrict
-- distribution of your content.
--
-- 'webACLId', 'distributionSummary_webACLId' - The Web ACL Id (if any) associated with the distribution.
--
-- 'httpVersion', 'distributionSummary_httpVersion' - Specify the maximum HTTP version that you want viewers to use to
-- communicate with CloudFront. The default value for new web distributions
-- is @http2@. Viewers that don\'t support @HTTP\/2@ will automatically use
-- an earlier version.
--
-- 'isIPV6Enabled', 'distributionSummary_isIPV6Enabled' - Whether CloudFront responds to IPv6 DNS requests with an IPv6 address
-- for your distribution.
--
-- 'staging', 'distributionSummary_staging' - Whether the primary distribution has a staging distribution enabled.
newDistributionSummary ::
  -- | 'id'
  Prelude.Text ->
  -- | 'arn'
  Prelude.Text ->
  -- | 'status'
  Prelude.Text ->
  -- | 'lastModifiedTime'
  Prelude.UTCTime ->
  -- | 'domainName'
  Prelude.Text ->
  -- | 'aliases'
  Aliases ->
  -- | 'origins'
  Origins ->
  -- | 'defaultCacheBehavior'
  DefaultCacheBehavior ->
  -- | 'cacheBehaviors'
  CacheBehaviors ->
  -- | 'customErrorResponses'
  CustomErrorResponses ->
  -- | 'comment'
  Prelude.Text ->
  -- | 'priceClass'
  PriceClass ->
  -- | 'enabled'
  Prelude.Bool ->
  -- | 'viewerCertificate'
  ViewerCertificate ->
  -- | 'restrictions'
  Restrictions ->
  -- | 'webACLId'
  Prelude.Text ->
  -- | 'httpVersion'
  HttpVersion ->
  -- | 'isIPV6Enabled'
  Prelude.Bool ->
  -- | 'staging'
  Prelude.Bool ->
  DistributionSummary
newDistributionSummary :: Text
-> Text
-> Text
-> UTCTime
-> Text
-> Aliases
-> Origins
-> DefaultCacheBehavior
-> CacheBehaviors
-> CustomErrorResponses
-> Text
-> PriceClass
-> Bool
-> ViewerCertificate
-> Restrictions
-> Text
-> HttpVersion
-> Bool
-> Bool
-> DistributionSummary
newDistributionSummary
  Text
pId_
  Text
pARN_
  Text
pStatus_
  UTCTime
pLastModifiedTime_
  Text
pDomainName_
  Aliases
pAliases_
  Origins
pOrigins_
  DefaultCacheBehavior
pDefaultCacheBehavior_
  CacheBehaviors
pCacheBehaviors_
  CustomErrorResponses
pCustomErrorResponses_
  Text
pComment_
  PriceClass
pPriceClass_
  Bool
pEnabled_
  ViewerCertificate
pViewerCertificate_
  Restrictions
pRestrictions_
  Text
pWebACLId_
  HttpVersion
pHttpVersion_
  Bool
pIsIPV6Enabled_
  Bool
pStaging_ =
    DistributionSummary'
      { $sel:aliasICPRecordals:DistributionSummary' :: Maybe [AliasICPRecordal]
aliasICPRecordals =
          forall a. Maybe a
Prelude.Nothing,
        $sel:originGroups:DistributionSummary' :: Maybe OriginGroups
originGroups = forall a. Maybe a
Prelude.Nothing,
        $sel:id:DistributionSummary' :: Text
id = Text
pId_,
        $sel:arn:DistributionSummary' :: Text
arn = Text
pARN_,
        $sel:status:DistributionSummary' :: Text
status = Text
pStatus_,
        $sel:lastModifiedTime:DistributionSummary' :: ISO8601
lastModifiedTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pLastModifiedTime_,
        $sel:domainName:DistributionSummary' :: Text
domainName = Text
pDomainName_,
        $sel:aliases:DistributionSummary' :: Aliases
aliases = Aliases
pAliases_,
        $sel:origins:DistributionSummary' :: Origins
origins = Origins
pOrigins_,
        $sel:defaultCacheBehavior:DistributionSummary' :: DefaultCacheBehavior
defaultCacheBehavior = DefaultCacheBehavior
pDefaultCacheBehavior_,
        $sel:cacheBehaviors:DistributionSummary' :: CacheBehaviors
cacheBehaviors = CacheBehaviors
pCacheBehaviors_,
        $sel:customErrorResponses:DistributionSummary' :: CustomErrorResponses
customErrorResponses = CustomErrorResponses
pCustomErrorResponses_,
        $sel:comment:DistributionSummary' :: Text
comment = Text
pComment_,
        $sel:priceClass:DistributionSummary' :: PriceClass
priceClass = PriceClass
pPriceClass_,
        $sel:enabled:DistributionSummary' :: Bool
enabled = Bool
pEnabled_,
        $sel:viewerCertificate:DistributionSummary' :: ViewerCertificate
viewerCertificate = ViewerCertificate
pViewerCertificate_,
        $sel:restrictions:DistributionSummary' :: Restrictions
restrictions = Restrictions
pRestrictions_,
        $sel:webACLId:DistributionSummary' :: Text
webACLId = Text
pWebACLId_,
        $sel:httpVersion:DistributionSummary' :: HttpVersion
httpVersion = HttpVersion
pHttpVersion_,
        $sel:isIPV6Enabled:DistributionSummary' :: Bool
isIPV6Enabled = Bool
pIsIPV6Enabled_,
        $sel:staging:DistributionSummary' :: Bool
staging = Bool
pStaging_
      }

-- | Amazon Web Services services in China customers must file for an
-- Internet Content Provider (ICP) recordal if they want to serve content
-- publicly on an alternate domain name, also known as a CNAME, that
-- they\'ve added to CloudFront. AliasICPRecordal provides the ICP recordal
-- status for CNAMEs associated with distributions.
--
-- For more information about ICP recordals, see
-- <https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html Signup, Accounts, and Credentials>
-- in /Getting Started with Amazon Web Services services in China/.
distributionSummary_aliasICPRecordals :: Lens.Lens' DistributionSummary (Prelude.Maybe [AliasICPRecordal])
distributionSummary_aliasICPRecordals :: Lens' DistributionSummary (Maybe [AliasICPRecordal])
distributionSummary_aliasICPRecordals = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {Maybe [AliasICPRecordal]
aliasICPRecordals :: Maybe [AliasICPRecordal]
$sel:aliasICPRecordals:DistributionSummary' :: DistributionSummary -> Maybe [AliasICPRecordal]
aliasICPRecordals} -> Maybe [AliasICPRecordal]
aliasICPRecordals) (\s :: DistributionSummary
s@DistributionSummary' {} Maybe [AliasICPRecordal]
a -> DistributionSummary
s {$sel:aliasICPRecordals:DistributionSummary' :: Maybe [AliasICPRecordal]
aliasICPRecordals = Maybe [AliasICPRecordal]
a} :: DistributionSummary) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | A complex type that contains information about origin groups for this
-- distribution.
distributionSummary_originGroups :: Lens.Lens' DistributionSummary (Prelude.Maybe OriginGroups)
distributionSummary_originGroups :: Lens' DistributionSummary (Maybe OriginGroups)
distributionSummary_originGroups = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {Maybe OriginGroups
originGroups :: Maybe OriginGroups
$sel:originGroups:DistributionSummary' :: DistributionSummary -> Maybe OriginGroups
originGroups} -> Maybe OriginGroups
originGroups) (\s :: DistributionSummary
s@DistributionSummary' {} Maybe OriginGroups
a -> DistributionSummary
s {$sel:originGroups:DistributionSummary' :: Maybe OriginGroups
originGroups = Maybe OriginGroups
a} :: DistributionSummary)

-- | The identifier for the distribution. For example: @EDFDVBD632BHDS5@.
distributionSummary_id :: Lens.Lens' DistributionSummary Prelude.Text
distributionSummary_id :: Lens' DistributionSummary Text
distributionSummary_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {Text
id :: Text
$sel:id:DistributionSummary' :: DistributionSummary -> Text
id} -> Text
id) (\s :: DistributionSummary
s@DistributionSummary' {} Text
a -> DistributionSummary
s {$sel:id:DistributionSummary' :: Text
id = Text
a} :: DistributionSummary)

-- | The ARN (Amazon Resource Name) for the distribution. For example:
-- @arn:aws:cloudfront::123456789012:distribution\/EDFDVBD632BHDS5@, where
-- @123456789012@ is your Amazon Web Services account ID.
distributionSummary_arn :: Lens.Lens' DistributionSummary Prelude.Text
distributionSummary_arn :: Lens' DistributionSummary Text
distributionSummary_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {Text
arn :: Text
$sel:arn:DistributionSummary' :: DistributionSummary -> Text
arn} -> Text
arn) (\s :: DistributionSummary
s@DistributionSummary' {} Text
a -> DistributionSummary
s {$sel:arn:DistributionSummary' :: Text
arn = Text
a} :: DistributionSummary)

-- | The current status of the distribution. When the status is @Deployed@,
-- the distribution\'s information is propagated to all CloudFront edge
-- locations.
distributionSummary_status :: Lens.Lens' DistributionSummary Prelude.Text
distributionSummary_status :: Lens' DistributionSummary Text
distributionSummary_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {Text
status :: Text
$sel:status:DistributionSummary' :: DistributionSummary -> Text
status} -> Text
status) (\s :: DistributionSummary
s@DistributionSummary' {} Text
a -> DistributionSummary
s {$sel:status:DistributionSummary' :: Text
status = Text
a} :: DistributionSummary)

-- | The date and time the distribution was last modified.
distributionSummary_lastModifiedTime :: Lens.Lens' DistributionSummary Prelude.UTCTime
distributionSummary_lastModifiedTime :: Lens' DistributionSummary UTCTime
distributionSummary_lastModifiedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {ISO8601
lastModifiedTime :: ISO8601
$sel:lastModifiedTime:DistributionSummary' :: DistributionSummary -> ISO8601
lastModifiedTime} -> ISO8601
lastModifiedTime) (\s :: DistributionSummary
s@DistributionSummary' {} ISO8601
a -> DistributionSummary
s {$sel:lastModifiedTime:DistributionSummary' :: ISO8601
lastModifiedTime = ISO8601
a} :: DistributionSummary) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The domain name that corresponds to the distribution, for example,
-- @d111111abcdef8.cloudfront.net@.
distributionSummary_domainName :: Lens.Lens' DistributionSummary Prelude.Text
distributionSummary_domainName :: Lens' DistributionSummary Text
distributionSummary_domainName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {Text
domainName :: Text
$sel:domainName:DistributionSummary' :: DistributionSummary -> Text
domainName} -> Text
domainName) (\s :: DistributionSummary
s@DistributionSummary' {} Text
a -> DistributionSummary
s {$sel:domainName:DistributionSummary' :: Text
domainName = Text
a} :: DistributionSummary)

-- | A complex type that contains information about CNAMEs (alternate domain
-- names), if any, for this distribution.
distributionSummary_aliases :: Lens.Lens' DistributionSummary Aliases
distributionSummary_aliases :: Lens' DistributionSummary Aliases
distributionSummary_aliases = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {Aliases
aliases :: Aliases
$sel:aliases:DistributionSummary' :: DistributionSummary -> Aliases
aliases} -> Aliases
aliases) (\s :: DistributionSummary
s@DistributionSummary' {} Aliases
a -> DistributionSummary
s {$sel:aliases:DistributionSummary' :: Aliases
aliases = Aliases
a} :: DistributionSummary)

-- | A complex type that contains information about origins for this
-- distribution.
distributionSummary_origins :: Lens.Lens' DistributionSummary Origins
distributionSummary_origins :: Lens' DistributionSummary Origins
distributionSummary_origins = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {Origins
origins :: Origins
$sel:origins:DistributionSummary' :: DistributionSummary -> Origins
origins} -> Origins
origins) (\s :: DistributionSummary
s@DistributionSummary' {} Origins
a -> DistributionSummary
s {$sel:origins:DistributionSummary' :: Origins
origins = Origins
a} :: DistributionSummary)

-- | A complex type that describes the default cache behavior if you don\'t
-- specify a @CacheBehavior@ element or if files don\'t match any of the
-- values of @PathPattern@ in @CacheBehavior@ elements. You must create
-- exactly one default cache behavior.
distributionSummary_defaultCacheBehavior :: Lens.Lens' DistributionSummary DefaultCacheBehavior
distributionSummary_defaultCacheBehavior :: Lens' DistributionSummary DefaultCacheBehavior
distributionSummary_defaultCacheBehavior = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {DefaultCacheBehavior
defaultCacheBehavior :: DefaultCacheBehavior
$sel:defaultCacheBehavior:DistributionSummary' :: DistributionSummary -> DefaultCacheBehavior
defaultCacheBehavior} -> DefaultCacheBehavior
defaultCacheBehavior) (\s :: DistributionSummary
s@DistributionSummary' {} DefaultCacheBehavior
a -> DistributionSummary
s {$sel:defaultCacheBehavior:DistributionSummary' :: DefaultCacheBehavior
defaultCacheBehavior = DefaultCacheBehavior
a} :: DistributionSummary)

-- | A complex type that contains zero or more @CacheBehavior@ elements.
distributionSummary_cacheBehaviors :: Lens.Lens' DistributionSummary CacheBehaviors
distributionSummary_cacheBehaviors :: Lens' DistributionSummary CacheBehaviors
distributionSummary_cacheBehaviors = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {CacheBehaviors
cacheBehaviors :: CacheBehaviors
$sel:cacheBehaviors:DistributionSummary' :: DistributionSummary -> CacheBehaviors
cacheBehaviors} -> CacheBehaviors
cacheBehaviors) (\s :: DistributionSummary
s@DistributionSummary' {} CacheBehaviors
a -> DistributionSummary
s {$sel:cacheBehaviors:DistributionSummary' :: CacheBehaviors
cacheBehaviors = CacheBehaviors
a} :: DistributionSummary)

-- | A complex type that contains zero or more @CustomErrorResponses@
-- elements.
distributionSummary_customErrorResponses :: Lens.Lens' DistributionSummary CustomErrorResponses
distributionSummary_customErrorResponses :: Lens' DistributionSummary CustomErrorResponses
distributionSummary_customErrorResponses = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {CustomErrorResponses
customErrorResponses :: CustomErrorResponses
$sel:customErrorResponses:DistributionSummary' :: DistributionSummary -> CustomErrorResponses
customErrorResponses} -> CustomErrorResponses
customErrorResponses) (\s :: DistributionSummary
s@DistributionSummary' {} CustomErrorResponses
a -> DistributionSummary
s {$sel:customErrorResponses:DistributionSummary' :: CustomErrorResponses
customErrorResponses = CustomErrorResponses
a} :: DistributionSummary)

-- | The comment originally specified when this distribution was created.
distributionSummary_comment :: Lens.Lens' DistributionSummary Prelude.Text
distributionSummary_comment :: Lens' DistributionSummary Text
distributionSummary_comment = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {Text
comment :: Text
$sel:comment:DistributionSummary' :: DistributionSummary -> Text
comment} -> Text
comment) (\s :: DistributionSummary
s@DistributionSummary' {} Text
a -> DistributionSummary
s {$sel:comment:DistributionSummary' :: Text
comment = Text
a} :: DistributionSummary)

-- | A complex type that contains information about price class for this
-- streaming distribution.
distributionSummary_priceClass :: Lens.Lens' DistributionSummary PriceClass
distributionSummary_priceClass :: Lens' DistributionSummary PriceClass
distributionSummary_priceClass = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {PriceClass
priceClass :: PriceClass
$sel:priceClass:DistributionSummary' :: DistributionSummary -> PriceClass
priceClass} -> PriceClass
priceClass) (\s :: DistributionSummary
s@DistributionSummary' {} PriceClass
a -> DistributionSummary
s {$sel:priceClass:DistributionSummary' :: PriceClass
priceClass = PriceClass
a} :: DistributionSummary)

-- | Whether the distribution is enabled to accept user requests for content.
distributionSummary_enabled :: Lens.Lens' DistributionSummary Prelude.Bool
distributionSummary_enabled :: Lens' DistributionSummary Bool
distributionSummary_enabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {Bool
enabled :: Bool
$sel:enabled:DistributionSummary' :: DistributionSummary -> Bool
enabled} -> Bool
enabled) (\s :: DistributionSummary
s@DistributionSummary' {} Bool
a -> DistributionSummary
s {$sel:enabled:DistributionSummary' :: Bool
enabled = Bool
a} :: DistributionSummary)

-- | A complex type that determines the distribution\'s SSL\/TLS
-- configuration for communicating with viewers.
distributionSummary_viewerCertificate :: Lens.Lens' DistributionSummary ViewerCertificate
distributionSummary_viewerCertificate :: Lens' DistributionSummary ViewerCertificate
distributionSummary_viewerCertificate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {ViewerCertificate
viewerCertificate :: ViewerCertificate
$sel:viewerCertificate:DistributionSummary' :: DistributionSummary -> ViewerCertificate
viewerCertificate} -> ViewerCertificate
viewerCertificate) (\s :: DistributionSummary
s@DistributionSummary' {} ViewerCertificate
a -> DistributionSummary
s {$sel:viewerCertificate:DistributionSummary' :: ViewerCertificate
viewerCertificate = ViewerCertificate
a} :: DistributionSummary)

-- | A complex type that identifies ways in which you want to restrict
-- distribution of your content.
distributionSummary_restrictions :: Lens.Lens' DistributionSummary Restrictions
distributionSummary_restrictions :: Lens' DistributionSummary Restrictions
distributionSummary_restrictions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {Restrictions
restrictions :: Restrictions
$sel:restrictions:DistributionSummary' :: DistributionSummary -> Restrictions
restrictions} -> Restrictions
restrictions) (\s :: DistributionSummary
s@DistributionSummary' {} Restrictions
a -> DistributionSummary
s {$sel:restrictions:DistributionSummary' :: Restrictions
restrictions = Restrictions
a} :: DistributionSummary)

-- | The Web ACL Id (if any) associated with the distribution.
distributionSummary_webACLId :: Lens.Lens' DistributionSummary Prelude.Text
distributionSummary_webACLId :: Lens' DistributionSummary Text
distributionSummary_webACLId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {Text
webACLId :: Text
$sel:webACLId:DistributionSummary' :: DistributionSummary -> Text
webACLId} -> Text
webACLId) (\s :: DistributionSummary
s@DistributionSummary' {} Text
a -> DistributionSummary
s {$sel:webACLId:DistributionSummary' :: Text
webACLId = Text
a} :: DistributionSummary)

-- | Specify the maximum HTTP version that you want viewers to use to
-- communicate with CloudFront. The default value for new web distributions
-- is @http2@. Viewers that don\'t support @HTTP\/2@ will automatically use
-- an earlier version.
distributionSummary_httpVersion :: Lens.Lens' DistributionSummary HttpVersion
distributionSummary_httpVersion :: Lens' DistributionSummary HttpVersion
distributionSummary_httpVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {HttpVersion
httpVersion :: HttpVersion
$sel:httpVersion:DistributionSummary' :: DistributionSummary -> HttpVersion
httpVersion} -> HttpVersion
httpVersion) (\s :: DistributionSummary
s@DistributionSummary' {} HttpVersion
a -> DistributionSummary
s {$sel:httpVersion:DistributionSummary' :: HttpVersion
httpVersion = HttpVersion
a} :: DistributionSummary)

-- | Whether CloudFront responds to IPv6 DNS requests with an IPv6 address
-- for your distribution.
distributionSummary_isIPV6Enabled :: Lens.Lens' DistributionSummary Prelude.Bool
distributionSummary_isIPV6Enabled :: Lens' DistributionSummary Bool
distributionSummary_isIPV6Enabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {Bool
isIPV6Enabled :: Bool
$sel:isIPV6Enabled:DistributionSummary' :: DistributionSummary -> Bool
isIPV6Enabled} -> Bool
isIPV6Enabled) (\s :: DistributionSummary
s@DistributionSummary' {} Bool
a -> DistributionSummary
s {$sel:isIPV6Enabled:DistributionSummary' :: Bool
isIPV6Enabled = Bool
a} :: DistributionSummary)

-- | Whether the primary distribution has a staging distribution enabled.
distributionSummary_staging :: Lens.Lens' DistributionSummary Prelude.Bool
distributionSummary_staging :: Lens' DistributionSummary Bool
distributionSummary_staging = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DistributionSummary' {Bool
staging :: Bool
$sel:staging:DistributionSummary' :: DistributionSummary -> Bool
staging} -> Bool
staging) (\s :: DistributionSummary
s@DistributionSummary' {} Bool
a -> DistributionSummary
s {$sel:staging:DistributionSummary' :: Bool
staging = Bool
a} :: DistributionSummary)

instance Data.FromXML DistributionSummary where
  parseXML :: [Node] -> Either String DistributionSummary
parseXML [Node]
x =
    Maybe [AliasICPRecordal]
-> Maybe OriginGroups
-> Text
-> Text
-> Text
-> ISO8601
-> Text
-> Aliases
-> Origins
-> DefaultCacheBehavior
-> CacheBehaviors
-> CustomErrorResponses
-> Text
-> PriceClass
-> Bool
-> ViewerCertificate
-> Restrictions
-> Text
-> HttpVersion
-> Bool
-> Bool
-> DistributionSummary
DistributionSummary'
      forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"AliasICPRecordals"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"AliasICPRecordal")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"OriginGroups")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"Id")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"ARN")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"Status")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"LastModifiedTime")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"DomainName")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"Aliases")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"Origins")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"DefaultCacheBehavior")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"CacheBehaviors")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"CustomErrorResponses")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"Comment")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"PriceClass")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"Enabled")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"ViewerCertificate")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"Restrictions")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"WebACLId")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"HttpVersion")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"IsIPV6Enabled")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"Staging")

instance Prelude.Hashable DistributionSummary where
  hashWithSalt :: Int -> DistributionSummary -> Int
hashWithSalt Int
_salt DistributionSummary' {Bool
Maybe [AliasICPRecordal]
Maybe OriginGroups
Text
ISO8601
Aliases
CustomErrorResponses
HttpVersion
PriceClass
Restrictions
Origins
ViewerCertificate
DefaultCacheBehavior
CacheBehaviors
staging :: Bool
isIPV6Enabled :: Bool
httpVersion :: HttpVersion
webACLId :: Text
restrictions :: Restrictions
viewerCertificate :: ViewerCertificate
enabled :: Bool
priceClass :: PriceClass
comment :: Text
customErrorResponses :: CustomErrorResponses
cacheBehaviors :: CacheBehaviors
defaultCacheBehavior :: DefaultCacheBehavior
origins :: Origins
aliases :: Aliases
domainName :: Text
lastModifiedTime :: ISO8601
status :: Text
arn :: Text
id :: Text
originGroups :: Maybe OriginGroups
aliasICPRecordals :: Maybe [AliasICPRecordal]
$sel:staging:DistributionSummary' :: DistributionSummary -> Bool
$sel:isIPV6Enabled:DistributionSummary' :: DistributionSummary -> Bool
$sel:httpVersion:DistributionSummary' :: DistributionSummary -> HttpVersion
$sel:webACLId:DistributionSummary' :: DistributionSummary -> Text
$sel:restrictions:DistributionSummary' :: DistributionSummary -> Restrictions
$sel:viewerCertificate:DistributionSummary' :: DistributionSummary -> ViewerCertificate
$sel:enabled:DistributionSummary' :: DistributionSummary -> Bool
$sel:priceClass:DistributionSummary' :: DistributionSummary -> PriceClass
$sel:comment:DistributionSummary' :: DistributionSummary -> Text
$sel:customErrorResponses:DistributionSummary' :: DistributionSummary -> CustomErrorResponses
$sel:cacheBehaviors:DistributionSummary' :: DistributionSummary -> CacheBehaviors
$sel:defaultCacheBehavior:DistributionSummary' :: DistributionSummary -> DefaultCacheBehavior
$sel:origins:DistributionSummary' :: DistributionSummary -> Origins
$sel:aliases:DistributionSummary' :: DistributionSummary -> Aliases
$sel:domainName:DistributionSummary' :: DistributionSummary -> Text
$sel:lastModifiedTime:DistributionSummary' :: DistributionSummary -> ISO8601
$sel:status:DistributionSummary' :: DistributionSummary -> Text
$sel:arn:DistributionSummary' :: DistributionSummary -> Text
$sel:id:DistributionSummary' :: DistributionSummary -> Text
$sel:originGroups:DistributionSummary' :: DistributionSummary -> Maybe OriginGroups
$sel:aliasICPRecordals:DistributionSummary' :: DistributionSummary -> Maybe [AliasICPRecordal]
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [AliasICPRecordal]
aliasICPRecordals
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe OriginGroups
originGroups
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
arn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
status
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ISO8601
lastModifiedTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
domainName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Aliases
aliases
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Origins
origins
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` DefaultCacheBehavior
defaultCacheBehavior
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` CacheBehaviors
cacheBehaviors
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` CustomErrorResponses
customErrorResponses
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
comment
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` PriceClass
priceClass
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Bool
enabled
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ViewerCertificate
viewerCertificate
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Restrictions
restrictions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
webACLId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` HttpVersion
httpVersion
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Bool
isIPV6Enabled
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Bool
staging

instance Prelude.NFData DistributionSummary where
  rnf :: DistributionSummary -> ()
rnf DistributionSummary' {Bool
Maybe [AliasICPRecordal]
Maybe OriginGroups
Text
ISO8601
Aliases
CustomErrorResponses
HttpVersion
PriceClass
Restrictions
Origins
ViewerCertificate
DefaultCacheBehavior
CacheBehaviors
staging :: Bool
isIPV6Enabled :: Bool
httpVersion :: HttpVersion
webACLId :: Text
restrictions :: Restrictions
viewerCertificate :: ViewerCertificate
enabled :: Bool
priceClass :: PriceClass
comment :: Text
customErrorResponses :: CustomErrorResponses
cacheBehaviors :: CacheBehaviors
defaultCacheBehavior :: DefaultCacheBehavior
origins :: Origins
aliases :: Aliases
domainName :: Text
lastModifiedTime :: ISO8601
status :: Text
arn :: Text
id :: Text
originGroups :: Maybe OriginGroups
aliasICPRecordals :: Maybe [AliasICPRecordal]
$sel:staging:DistributionSummary' :: DistributionSummary -> Bool
$sel:isIPV6Enabled:DistributionSummary' :: DistributionSummary -> Bool
$sel:httpVersion:DistributionSummary' :: DistributionSummary -> HttpVersion
$sel:webACLId:DistributionSummary' :: DistributionSummary -> Text
$sel:restrictions:DistributionSummary' :: DistributionSummary -> Restrictions
$sel:viewerCertificate:DistributionSummary' :: DistributionSummary -> ViewerCertificate
$sel:enabled:DistributionSummary' :: DistributionSummary -> Bool
$sel:priceClass:DistributionSummary' :: DistributionSummary -> PriceClass
$sel:comment:DistributionSummary' :: DistributionSummary -> Text
$sel:customErrorResponses:DistributionSummary' :: DistributionSummary -> CustomErrorResponses
$sel:cacheBehaviors:DistributionSummary' :: DistributionSummary -> CacheBehaviors
$sel:defaultCacheBehavior:DistributionSummary' :: DistributionSummary -> DefaultCacheBehavior
$sel:origins:DistributionSummary' :: DistributionSummary -> Origins
$sel:aliases:DistributionSummary' :: DistributionSummary -> Aliases
$sel:domainName:DistributionSummary' :: DistributionSummary -> Text
$sel:lastModifiedTime:DistributionSummary' :: DistributionSummary -> ISO8601
$sel:status:DistributionSummary' :: DistributionSummary -> Text
$sel:arn:DistributionSummary' :: DistributionSummary -> Text
$sel:id:DistributionSummary' :: DistributionSummary -> Text
$sel:originGroups:DistributionSummary' :: DistributionSummary -> Maybe OriginGroups
$sel:aliasICPRecordals:DistributionSummary' :: DistributionSummary -> Maybe [AliasICPRecordal]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [AliasICPRecordal]
aliasICPRecordals
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe OriginGroups
originGroups
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
id
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
arn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ISO8601
lastModifiedTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
domainName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Aliases
aliases
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Origins
origins
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf DefaultCacheBehavior
defaultCacheBehavior
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf CacheBehaviors
cacheBehaviors
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf CustomErrorResponses
customErrorResponses
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
comment
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf PriceClass
priceClass
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Bool
enabled
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ViewerCertificate
viewerCertificate
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Restrictions
restrictions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
webACLId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf HttpVersion
httpVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Bool
isIPV6Enabled
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Bool
staging