{-# 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 #-}
module Amazonka.CloudFront.Types.StreamingDistributionSummary where
import Amazonka.CloudFront.Types.Aliases
import Amazonka.CloudFront.Types.PriceClass
import Amazonka.CloudFront.Types.S3Origin
import Amazonka.CloudFront.Types.TrustedSigners
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
data StreamingDistributionSummary = StreamingDistributionSummary'
{
StreamingDistributionSummary -> Text
id :: Prelude.Text,
StreamingDistributionSummary -> Text
arn :: Prelude.Text,
StreamingDistributionSummary -> Text
status :: Prelude.Text,
StreamingDistributionSummary -> ISO8601
lastModifiedTime :: Data.ISO8601,
StreamingDistributionSummary -> Text
domainName :: Prelude.Text,
StreamingDistributionSummary -> S3Origin
s3Origin :: S3Origin,
StreamingDistributionSummary -> Aliases
aliases :: Aliases,
StreamingDistributionSummary -> TrustedSigners
trustedSigners :: TrustedSigners,
:: Prelude.Text,
StreamingDistributionSummary -> PriceClass
priceClass :: PriceClass,
StreamingDistributionSummary -> Bool
enabled :: Prelude.Bool
}
deriving (StreamingDistributionSummary
-> StreamingDistributionSummary -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StreamingDistributionSummary
-> StreamingDistributionSummary -> Bool
$c/= :: StreamingDistributionSummary
-> StreamingDistributionSummary -> Bool
== :: StreamingDistributionSummary
-> StreamingDistributionSummary -> Bool
$c== :: StreamingDistributionSummary
-> StreamingDistributionSummary -> Bool
Prelude.Eq, ReadPrec [StreamingDistributionSummary]
ReadPrec StreamingDistributionSummary
Int -> ReadS StreamingDistributionSummary
ReadS [StreamingDistributionSummary]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StreamingDistributionSummary]
$creadListPrec :: ReadPrec [StreamingDistributionSummary]
readPrec :: ReadPrec StreamingDistributionSummary
$creadPrec :: ReadPrec StreamingDistributionSummary
readList :: ReadS [StreamingDistributionSummary]
$creadList :: ReadS [StreamingDistributionSummary]
readsPrec :: Int -> ReadS StreamingDistributionSummary
$creadsPrec :: Int -> ReadS StreamingDistributionSummary
Prelude.Read, Int -> StreamingDistributionSummary -> ShowS
[StreamingDistributionSummary] -> ShowS
StreamingDistributionSummary -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StreamingDistributionSummary] -> ShowS
$cshowList :: [StreamingDistributionSummary] -> ShowS
show :: StreamingDistributionSummary -> String
$cshow :: StreamingDistributionSummary -> String
showsPrec :: Int -> StreamingDistributionSummary -> ShowS
$cshowsPrec :: Int -> StreamingDistributionSummary -> ShowS
Prelude.Show, forall x.
Rep StreamingDistributionSummary x -> StreamingDistributionSummary
forall x.
StreamingDistributionSummary -> Rep StreamingDistributionSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StreamingDistributionSummary x -> StreamingDistributionSummary
$cfrom :: forall x.
StreamingDistributionSummary -> Rep StreamingDistributionSummary x
Prelude.Generic)
newStreamingDistributionSummary ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
Prelude.UTCTime ->
Prelude.Text ->
S3Origin ->
Aliases ->
TrustedSigners ->
Prelude.Text ->
PriceClass ->
Prelude.Bool ->
StreamingDistributionSummary
newStreamingDistributionSummary :: Text
-> Text
-> Text
-> UTCTime
-> Text
-> S3Origin
-> Aliases
-> TrustedSigners
-> Text
-> PriceClass
-> Bool
-> StreamingDistributionSummary
newStreamingDistributionSummary
Text
pId_
Text
pARN_
Text
pStatus_
UTCTime
pLastModifiedTime_
Text
pDomainName_
S3Origin
pS3Origin_
Aliases
pAliases_
TrustedSigners
pTrustedSigners_
Text
pComment_
PriceClass
pPriceClass_
Bool
pEnabled_ =
StreamingDistributionSummary'
{ $sel:id:StreamingDistributionSummary' :: Text
id = Text
pId_,
$sel:arn:StreamingDistributionSummary' :: Text
arn = Text
pARN_,
$sel:status:StreamingDistributionSummary' :: Text
status = Text
pStatus_,
$sel:lastModifiedTime:StreamingDistributionSummary' :: ISO8601
lastModifiedTime =
forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pLastModifiedTime_,
$sel:domainName:StreamingDistributionSummary' :: Text
domainName = Text
pDomainName_,
$sel:s3Origin:StreamingDistributionSummary' :: S3Origin
s3Origin = S3Origin
pS3Origin_,
$sel:aliases:StreamingDistributionSummary' :: Aliases
aliases = Aliases
pAliases_,
$sel:trustedSigners:StreamingDistributionSummary' :: TrustedSigners
trustedSigners = TrustedSigners
pTrustedSigners_,
$sel:comment:StreamingDistributionSummary' :: Text
comment = Text
pComment_,
$sel:priceClass:StreamingDistributionSummary' :: PriceClass
priceClass = PriceClass
pPriceClass_,
$sel:enabled:StreamingDistributionSummary' :: Bool
enabled = Bool
pEnabled_
}
streamingDistributionSummary_id :: Lens.Lens' StreamingDistributionSummary Prelude.Text
streamingDistributionSummary_id :: Lens' StreamingDistributionSummary Text
streamingDistributionSummary_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StreamingDistributionSummary' {Text
id :: Text
$sel:id:StreamingDistributionSummary' :: StreamingDistributionSummary -> Text
id} -> Text
id) (\s :: StreamingDistributionSummary
s@StreamingDistributionSummary' {} Text
a -> StreamingDistributionSummary
s {$sel:id:StreamingDistributionSummary' :: Text
id = Text
a} :: StreamingDistributionSummary)
streamingDistributionSummary_arn :: Lens.Lens' StreamingDistributionSummary Prelude.Text
streamingDistributionSummary_arn :: Lens' StreamingDistributionSummary Text
streamingDistributionSummary_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StreamingDistributionSummary' {Text
arn :: Text
$sel:arn:StreamingDistributionSummary' :: StreamingDistributionSummary -> Text
arn} -> Text
arn) (\s :: StreamingDistributionSummary
s@StreamingDistributionSummary' {} Text
a -> StreamingDistributionSummary
s {$sel:arn:StreamingDistributionSummary' :: Text
arn = Text
a} :: StreamingDistributionSummary)
streamingDistributionSummary_status :: Lens.Lens' StreamingDistributionSummary Prelude.Text
streamingDistributionSummary_status :: Lens' StreamingDistributionSummary Text
streamingDistributionSummary_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StreamingDistributionSummary' {Text
status :: Text
$sel:status:StreamingDistributionSummary' :: StreamingDistributionSummary -> Text
status} -> Text
status) (\s :: StreamingDistributionSummary
s@StreamingDistributionSummary' {} Text
a -> StreamingDistributionSummary
s {$sel:status:StreamingDistributionSummary' :: Text
status = Text
a} :: StreamingDistributionSummary)
streamingDistributionSummary_lastModifiedTime :: Lens.Lens' StreamingDistributionSummary Prelude.UTCTime
streamingDistributionSummary_lastModifiedTime :: Lens' StreamingDistributionSummary UTCTime
streamingDistributionSummary_lastModifiedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StreamingDistributionSummary' {ISO8601
lastModifiedTime :: ISO8601
$sel:lastModifiedTime:StreamingDistributionSummary' :: StreamingDistributionSummary -> ISO8601
lastModifiedTime} -> ISO8601
lastModifiedTime) (\s :: StreamingDistributionSummary
s@StreamingDistributionSummary' {} ISO8601
a -> StreamingDistributionSummary
s {$sel:lastModifiedTime:StreamingDistributionSummary' :: ISO8601
lastModifiedTime = ISO8601
a} :: StreamingDistributionSummary) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
streamingDistributionSummary_domainName :: Lens.Lens' StreamingDistributionSummary Prelude.Text
streamingDistributionSummary_domainName :: Lens' StreamingDistributionSummary Text
streamingDistributionSummary_domainName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StreamingDistributionSummary' {Text
domainName :: Text
$sel:domainName:StreamingDistributionSummary' :: StreamingDistributionSummary -> Text
domainName} -> Text
domainName) (\s :: StreamingDistributionSummary
s@StreamingDistributionSummary' {} Text
a -> StreamingDistributionSummary
s {$sel:domainName:StreamingDistributionSummary' :: Text
domainName = Text
a} :: StreamingDistributionSummary)
streamingDistributionSummary_s3Origin :: Lens.Lens' StreamingDistributionSummary S3Origin
streamingDistributionSummary_s3Origin :: Lens' StreamingDistributionSummary S3Origin
streamingDistributionSummary_s3Origin = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StreamingDistributionSummary' {S3Origin
s3Origin :: S3Origin
$sel:s3Origin:StreamingDistributionSummary' :: StreamingDistributionSummary -> S3Origin
s3Origin} -> S3Origin
s3Origin) (\s :: StreamingDistributionSummary
s@StreamingDistributionSummary' {} S3Origin
a -> StreamingDistributionSummary
s {$sel:s3Origin:StreamingDistributionSummary' :: S3Origin
s3Origin = S3Origin
a} :: StreamingDistributionSummary)
streamingDistributionSummary_aliases :: Lens.Lens' StreamingDistributionSummary Aliases
streamingDistributionSummary_aliases :: Lens' StreamingDistributionSummary Aliases
streamingDistributionSummary_aliases = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StreamingDistributionSummary' {Aliases
aliases :: Aliases
$sel:aliases:StreamingDistributionSummary' :: StreamingDistributionSummary -> Aliases
aliases} -> Aliases
aliases) (\s :: StreamingDistributionSummary
s@StreamingDistributionSummary' {} Aliases
a -> StreamingDistributionSummary
s {$sel:aliases:StreamingDistributionSummary' :: Aliases
aliases = Aliases
a} :: StreamingDistributionSummary)
streamingDistributionSummary_trustedSigners :: Lens.Lens' StreamingDistributionSummary TrustedSigners
streamingDistributionSummary_trustedSigners :: Lens' StreamingDistributionSummary TrustedSigners
streamingDistributionSummary_trustedSigners = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StreamingDistributionSummary' {TrustedSigners
trustedSigners :: TrustedSigners
$sel:trustedSigners:StreamingDistributionSummary' :: StreamingDistributionSummary -> TrustedSigners
trustedSigners} -> TrustedSigners
trustedSigners) (\s :: StreamingDistributionSummary
s@StreamingDistributionSummary' {} TrustedSigners
a -> StreamingDistributionSummary
s {$sel:trustedSigners:StreamingDistributionSummary' :: TrustedSigners
trustedSigners = TrustedSigners
a} :: StreamingDistributionSummary)
streamingDistributionSummary_comment :: Lens.Lens' StreamingDistributionSummary Prelude.Text
= forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StreamingDistributionSummary' {Text
comment :: Text
$sel:comment:StreamingDistributionSummary' :: StreamingDistributionSummary -> Text
comment} -> Text
comment) (\s :: StreamingDistributionSummary
s@StreamingDistributionSummary' {} Text
a -> StreamingDistributionSummary
s {$sel:comment:StreamingDistributionSummary' :: Text
comment = Text
a} :: StreamingDistributionSummary)
streamingDistributionSummary_priceClass :: Lens.Lens' StreamingDistributionSummary PriceClass
streamingDistributionSummary_priceClass :: Lens' StreamingDistributionSummary PriceClass
streamingDistributionSummary_priceClass = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StreamingDistributionSummary' {PriceClass
priceClass :: PriceClass
$sel:priceClass:StreamingDistributionSummary' :: StreamingDistributionSummary -> PriceClass
priceClass} -> PriceClass
priceClass) (\s :: StreamingDistributionSummary
s@StreamingDistributionSummary' {} PriceClass
a -> StreamingDistributionSummary
s {$sel:priceClass:StreamingDistributionSummary' :: PriceClass
priceClass = PriceClass
a} :: StreamingDistributionSummary)
streamingDistributionSummary_enabled :: Lens.Lens' StreamingDistributionSummary Prelude.Bool
streamingDistributionSummary_enabled :: Lens' StreamingDistributionSummary Bool
streamingDistributionSummary_enabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StreamingDistributionSummary' {Bool
enabled :: Bool
$sel:enabled:StreamingDistributionSummary' :: StreamingDistributionSummary -> Bool
enabled} -> Bool
enabled) (\s :: StreamingDistributionSummary
s@StreamingDistributionSummary' {} Bool
a -> StreamingDistributionSummary
s {$sel:enabled:StreamingDistributionSummary' :: Bool
enabled = Bool
a} :: StreamingDistributionSummary)
instance Data.FromXML StreamingDistributionSummary where
parseXML :: [Node] -> Either String StreamingDistributionSummary
parseXML [Node]
x =
Text
-> Text
-> Text
-> ISO8601
-> Text
-> S3Origin
-> Aliases
-> TrustedSigners
-> Text
-> PriceClass
-> Bool
-> StreamingDistributionSummary
StreamingDistributionSummary'
forall (f :: * -> *) a b. Functor 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
"S3Origin")
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
"TrustedSigners")
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")
instance
Prelude.Hashable
StreamingDistributionSummary
where
hashWithSalt :: Int -> StreamingDistributionSummary -> Int
hashWithSalt Int
_salt StreamingDistributionSummary' {Bool
Text
ISO8601
Aliases
PriceClass
S3Origin
TrustedSigners
enabled :: Bool
priceClass :: PriceClass
comment :: Text
trustedSigners :: TrustedSigners
aliases :: Aliases
s3Origin :: S3Origin
domainName :: Text
lastModifiedTime :: ISO8601
status :: Text
arn :: Text
id :: Text
$sel:enabled:StreamingDistributionSummary' :: StreamingDistributionSummary -> Bool
$sel:priceClass:StreamingDistributionSummary' :: StreamingDistributionSummary -> PriceClass
$sel:comment:StreamingDistributionSummary' :: StreamingDistributionSummary -> Text
$sel:trustedSigners:StreamingDistributionSummary' :: StreamingDistributionSummary -> TrustedSigners
$sel:aliases:StreamingDistributionSummary' :: StreamingDistributionSummary -> Aliases
$sel:s3Origin:StreamingDistributionSummary' :: StreamingDistributionSummary -> S3Origin
$sel:domainName:StreamingDistributionSummary' :: StreamingDistributionSummary -> Text
$sel:lastModifiedTime:StreamingDistributionSummary' :: StreamingDistributionSummary -> ISO8601
$sel:status:StreamingDistributionSummary' :: StreamingDistributionSummary -> Text
$sel:arn:StreamingDistributionSummary' :: StreamingDistributionSummary -> Text
$sel:id:StreamingDistributionSummary' :: StreamingDistributionSummary -> Text
..} =
Int
_salt
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` S3Origin
s3Origin
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Aliases
aliases
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` TrustedSigners
trustedSigners
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
instance Prelude.NFData StreamingDistributionSummary where
rnf :: StreamingDistributionSummary -> ()
rnf StreamingDistributionSummary' {Bool
Text
ISO8601
Aliases
PriceClass
S3Origin
TrustedSigners
enabled :: Bool
priceClass :: PriceClass
comment :: Text
trustedSigners :: TrustedSigners
aliases :: Aliases
s3Origin :: S3Origin
domainName :: Text
lastModifiedTime :: ISO8601
status :: Text
arn :: Text
id :: Text
$sel:enabled:StreamingDistributionSummary' :: StreamingDistributionSummary -> Bool
$sel:priceClass:StreamingDistributionSummary' :: StreamingDistributionSummary -> PriceClass
$sel:comment:StreamingDistributionSummary' :: StreamingDistributionSummary -> Text
$sel:trustedSigners:StreamingDistributionSummary' :: StreamingDistributionSummary -> TrustedSigners
$sel:aliases:StreamingDistributionSummary' :: StreamingDistributionSummary -> Aliases
$sel:s3Origin:StreamingDistributionSummary' :: StreamingDistributionSummary -> S3Origin
$sel:domainName:StreamingDistributionSummary' :: StreamingDistributionSummary -> Text
$sel:lastModifiedTime:StreamingDistributionSummary' :: StreamingDistributionSummary -> ISO8601
$sel:status:StreamingDistributionSummary' :: StreamingDistributionSummary -> Text
$sel:arn:StreamingDistributionSummary' :: StreamingDistributionSummary -> Text
$sel:id:StreamingDistributionSummary' :: StreamingDistributionSummary -> Text
..} =
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 S3Origin
s3Origin
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 TrustedSigners
trustedSigners
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