{-# 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.Lightsail.Types.LightsailDistribution where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Lightsail.Types.CacheBehavior
import Amazonka.Lightsail.Types.CacheBehaviorPerPath
import Amazonka.Lightsail.Types.CacheSettings
import Amazonka.Lightsail.Types.IpAddressType
import Amazonka.Lightsail.Types.Origin
import Amazonka.Lightsail.Types.ResourceLocation
import Amazonka.Lightsail.Types.ResourceType
import Amazonka.Lightsail.Types.Tag
import qualified Amazonka.Prelude as Prelude
data LightsailDistribution = LightsailDistribution'
{
LightsailDistribution -> Maybe Bool
ableToUpdateBundle :: Prelude.Maybe Prelude.Bool,
LightsailDistribution -> Maybe [Text]
alternativeDomainNames :: Prelude.Maybe [Prelude.Text],
LightsailDistribution -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
LightsailDistribution -> Maybe Text
bundleId :: Prelude.Maybe Prelude.Text,
LightsailDistribution -> Maybe CacheSettings
cacheBehaviorSettings :: Prelude.Maybe CacheSettings,
LightsailDistribution -> Maybe [CacheBehaviorPerPath]
cacheBehaviors :: Prelude.Maybe [CacheBehaviorPerPath],
LightsailDistribution -> Maybe Text
certificateName :: Prelude.Maybe Prelude.Text,
LightsailDistribution -> Maybe POSIX
createdAt :: Prelude.Maybe Data.POSIX,
LightsailDistribution -> Maybe CacheBehavior
defaultCacheBehavior :: Prelude.Maybe CacheBehavior,
LightsailDistribution -> Maybe Text
domainName :: Prelude.Maybe Prelude.Text,
LightsailDistribution -> Maybe IpAddressType
ipAddressType :: Prelude.Maybe IpAddressType,
LightsailDistribution -> Maybe Bool
isEnabled :: Prelude.Maybe Prelude.Bool,
LightsailDistribution -> Maybe ResourceLocation
location :: Prelude.Maybe ResourceLocation,
LightsailDistribution -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
LightsailDistribution -> Maybe Origin
origin :: Prelude.Maybe Origin,
LightsailDistribution -> Maybe Text
originPublicDNS :: Prelude.Maybe Prelude.Text,
LightsailDistribution -> Maybe ResourceType
resourceType :: Prelude.Maybe ResourceType,
LightsailDistribution -> Maybe Text
status :: Prelude.Maybe Prelude.Text,
LightsailDistribution -> Maybe Text
supportCode :: Prelude.Maybe Prelude.Text,
LightsailDistribution -> Maybe [Tag]
tags :: Prelude.Maybe [Tag]
}
deriving (LightsailDistribution -> LightsailDistribution -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LightsailDistribution -> LightsailDistribution -> Bool
$c/= :: LightsailDistribution -> LightsailDistribution -> Bool
== :: LightsailDistribution -> LightsailDistribution -> Bool
$c== :: LightsailDistribution -> LightsailDistribution -> Bool
Prelude.Eq, ReadPrec [LightsailDistribution]
ReadPrec LightsailDistribution
Int -> ReadS LightsailDistribution
ReadS [LightsailDistribution]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [LightsailDistribution]
$creadListPrec :: ReadPrec [LightsailDistribution]
readPrec :: ReadPrec LightsailDistribution
$creadPrec :: ReadPrec LightsailDistribution
readList :: ReadS [LightsailDistribution]
$creadList :: ReadS [LightsailDistribution]
readsPrec :: Int -> ReadS LightsailDistribution
$creadsPrec :: Int -> ReadS LightsailDistribution
Prelude.Read, Int -> LightsailDistribution -> ShowS
[LightsailDistribution] -> ShowS
LightsailDistribution -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [LightsailDistribution] -> ShowS
$cshowList :: [LightsailDistribution] -> ShowS
show :: LightsailDistribution -> String
$cshow :: LightsailDistribution -> String
showsPrec :: Int -> LightsailDistribution -> ShowS
$cshowsPrec :: Int -> LightsailDistribution -> ShowS
Prelude.Show, forall x. Rep LightsailDistribution x -> LightsailDistribution
forall x. LightsailDistribution -> Rep LightsailDistribution x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep LightsailDistribution x -> LightsailDistribution
$cfrom :: forall x. LightsailDistribution -> Rep LightsailDistribution x
Prelude.Generic)
newLightsailDistribution ::
LightsailDistribution
newLightsailDistribution :: LightsailDistribution
newLightsailDistribution =
LightsailDistribution'
{ $sel:ableToUpdateBundle:LightsailDistribution' :: Maybe Bool
ableToUpdateBundle =
forall a. Maybe a
Prelude.Nothing,
$sel:alternativeDomainNames:LightsailDistribution' :: Maybe [Text]
alternativeDomainNames = forall a. Maybe a
Prelude.Nothing,
$sel:arn:LightsailDistribution' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
$sel:bundleId:LightsailDistribution' :: Maybe Text
bundleId = forall a. Maybe a
Prelude.Nothing,
$sel:cacheBehaviorSettings:LightsailDistribution' :: Maybe CacheSettings
cacheBehaviorSettings = forall a. Maybe a
Prelude.Nothing,
$sel:cacheBehaviors:LightsailDistribution' :: Maybe [CacheBehaviorPerPath]
cacheBehaviors = forall a. Maybe a
Prelude.Nothing,
$sel:certificateName:LightsailDistribution' :: Maybe Text
certificateName = forall a. Maybe a
Prelude.Nothing,
$sel:createdAt:LightsailDistribution' :: Maybe POSIX
createdAt = forall a. Maybe a
Prelude.Nothing,
$sel:defaultCacheBehavior:LightsailDistribution' :: Maybe CacheBehavior
defaultCacheBehavior = forall a. Maybe a
Prelude.Nothing,
$sel:domainName:LightsailDistribution' :: Maybe Text
domainName = forall a. Maybe a
Prelude.Nothing,
$sel:ipAddressType:LightsailDistribution' :: Maybe IpAddressType
ipAddressType = forall a. Maybe a
Prelude.Nothing,
$sel:isEnabled:LightsailDistribution' :: Maybe Bool
isEnabled = forall a. Maybe a
Prelude.Nothing,
$sel:location:LightsailDistribution' :: Maybe ResourceLocation
location = forall a. Maybe a
Prelude.Nothing,
$sel:name:LightsailDistribution' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:origin:LightsailDistribution' :: Maybe Origin
origin = forall a. Maybe a
Prelude.Nothing,
$sel:originPublicDNS:LightsailDistribution' :: Maybe Text
originPublicDNS = forall a. Maybe a
Prelude.Nothing,
$sel:resourceType:LightsailDistribution' :: Maybe ResourceType
resourceType = forall a. Maybe a
Prelude.Nothing,
$sel:status:LightsailDistribution' :: Maybe Text
status = forall a. Maybe a
Prelude.Nothing,
$sel:supportCode:LightsailDistribution' :: Maybe Text
supportCode = forall a. Maybe a
Prelude.Nothing,
$sel:tags:LightsailDistribution' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing
}
lightsailDistribution_ableToUpdateBundle :: Lens.Lens' LightsailDistribution (Prelude.Maybe Prelude.Bool)
lightsailDistribution_ableToUpdateBundle :: Lens' LightsailDistribution (Maybe Bool)
lightsailDistribution_ableToUpdateBundle = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe Bool
ableToUpdateBundle :: Maybe Bool
$sel:ableToUpdateBundle:LightsailDistribution' :: LightsailDistribution -> Maybe Bool
ableToUpdateBundle} -> Maybe Bool
ableToUpdateBundle) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe Bool
a -> LightsailDistribution
s {$sel:ableToUpdateBundle:LightsailDistribution' :: Maybe Bool
ableToUpdateBundle = Maybe Bool
a} :: LightsailDistribution)
lightsailDistribution_alternativeDomainNames :: Lens.Lens' LightsailDistribution (Prelude.Maybe [Prelude.Text])
lightsailDistribution_alternativeDomainNames :: Lens' LightsailDistribution (Maybe [Text])
lightsailDistribution_alternativeDomainNames = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe [Text]
alternativeDomainNames :: Maybe [Text]
$sel:alternativeDomainNames:LightsailDistribution' :: LightsailDistribution -> Maybe [Text]
alternativeDomainNames} -> Maybe [Text]
alternativeDomainNames) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe [Text]
a -> LightsailDistribution
s {$sel:alternativeDomainNames:LightsailDistribution' :: Maybe [Text]
alternativeDomainNames = Maybe [Text]
a} :: LightsailDistribution) 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
lightsailDistribution_arn :: Lens.Lens' LightsailDistribution (Prelude.Maybe Prelude.Text)
lightsailDistribution_arn :: Lens' LightsailDistribution (Maybe Text)
lightsailDistribution_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe Text
arn :: Maybe Text
$sel:arn:LightsailDistribution' :: LightsailDistribution -> Maybe Text
arn} -> Maybe Text
arn) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe Text
a -> LightsailDistribution
s {$sel:arn:LightsailDistribution' :: Maybe Text
arn = Maybe Text
a} :: LightsailDistribution)
lightsailDistribution_bundleId :: Lens.Lens' LightsailDistribution (Prelude.Maybe Prelude.Text)
lightsailDistribution_bundleId :: Lens' LightsailDistribution (Maybe Text)
lightsailDistribution_bundleId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe Text
bundleId :: Maybe Text
$sel:bundleId:LightsailDistribution' :: LightsailDistribution -> Maybe Text
bundleId} -> Maybe Text
bundleId) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe Text
a -> LightsailDistribution
s {$sel:bundleId:LightsailDistribution' :: Maybe Text
bundleId = Maybe Text
a} :: LightsailDistribution)
lightsailDistribution_cacheBehaviorSettings :: Lens.Lens' LightsailDistribution (Prelude.Maybe CacheSettings)
lightsailDistribution_cacheBehaviorSettings :: Lens' LightsailDistribution (Maybe CacheSettings)
lightsailDistribution_cacheBehaviorSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe CacheSettings
cacheBehaviorSettings :: Maybe CacheSettings
$sel:cacheBehaviorSettings:LightsailDistribution' :: LightsailDistribution -> Maybe CacheSettings
cacheBehaviorSettings} -> Maybe CacheSettings
cacheBehaviorSettings) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe CacheSettings
a -> LightsailDistribution
s {$sel:cacheBehaviorSettings:LightsailDistribution' :: Maybe CacheSettings
cacheBehaviorSettings = Maybe CacheSettings
a} :: LightsailDistribution)
lightsailDistribution_cacheBehaviors :: Lens.Lens' LightsailDistribution (Prelude.Maybe [CacheBehaviorPerPath])
lightsailDistribution_cacheBehaviors :: Lens' LightsailDistribution (Maybe [CacheBehaviorPerPath])
lightsailDistribution_cacheBehaviors = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe [CacheBehaviorPerPath]
cacheBehaviors :: Maybe [CacheBehaviorPerPath]
$sel:cacheBehaviors:LightsailDistribution' :: LightsailDistribution -> Maybe [CacheBehaviorPerPath]
cacheBehaviors} -> Maybe [CacheBehaviorPerPath]
cacheBehaviors) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe [CacheBehaviorPerPath]
a -> LightsailDistribution
s {$sel:cacheBehaviors:LightsailDistribution' :: Maybe [CacheBehaviorPerPath]
cacheBehaviors = Maybe [CacheBehaviorPerPath]
a} :: LightsailDistribution) 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
lightsailDistribution_certificateName :: Lens.Lens' LightsailDistribution (Prelude.Maybe Prelude.Text)
lightsailDistribution_certificateName :: Lens' LightsailDistribution (Maybe Text)
lightsailDistribution_certificateName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe Text
certificateName :: Maybe Text
$sel:certificateName:LightsailDistribution' :: LightsailDistribution -> Maybe Text
certificateName} -> Maybe Text
certificateName) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe Text
a -> LightsailDistribution
s {$sel:certificateName:LightsailDistribution' :: Maybe Text
certificateName = Maybe Text
a} :: LightsailDistribution)
lightsailDistribution_createdAt :: Lens.Lens' LightsailDistribution (Prelude.Maybe Prelude.UTCTime)
lightsailDistribution_createdAt :: Lens' LightsailDistribution (Maybe UTCTime)
lightsailDistribution_createdAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe POSIX
createdAt :: Maybe POSIX
$sel:createdAt:LightsailDistribution' :: LightsailDistribution -> Maybe POSIX
createdAt} -> Maybe POSIX
createdAt) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe POSIX
a -> LightsailDistribution
s {$sel:createdAt:LightsailDistribution' :: Maybe POSIX
createdAt = Maybe POSIX
a} :: LightsailDistribution) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time
lightsailDistribution_defaultCacheBehavior :: Lens.Lens' LightsailDistribution (Prelude.Maybe CacheBehavior)
lightsailDistribution_defaultCacheBehavior :: Lens' LightsailDistribution (Maybe CacheBehavior)
lightsailDistribution_defaultCacheBehavior = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe CacheBehavior
defaultCacheBehavior :: Maybe CacheBehavior
$sel:defaultCacheBehavior:LightsailDistribution' :: LightsailDistribution -> Maybe CacheBehavior
defaultCacheBehavior} -> Maybe CacheBehavior
defaultCacheBehavior) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe CacheBehavior
a -> LightsailDistribution
s {$sel:defaultCacheBehavior:LightsailDistribution' :: Maybe CacheBehavior
defaultCacheBehavior = Maybe CacheBehavior
a} :: LightsailDistribution)
lightsailDistribution_domainName :: Lens.Lens' LightsailDistribution (Prelude.Maybe Prelude.Text)
lightsailDistribution_domainName :: Lens' LightsailDistribution (Maybe Text)
lightsailDistribution_domainName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe Text
domainName :: Maybe Text
$sel:domainName:LightsailDistribution' :: LightsailDistribution -> Maybe Text
domainName} -> Maybe Text
domainName) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe Text
a -> LightsailDistribution
s {$sel:domainName:LightsailDistribution' :: Maybe Text
domainName = Maybe Text
a} :: LightsailDistribution)
lightsailDistribution_ipAddressType :: Lens.Lens' LightsailDistribution (Prelude.Maybe IpAddressType)
lightsailDistribution_ipAddressType :: Lens' LightsailDistribution (Maybe IpAddressType)
lightsailDistribution_ipAddressType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe IpAddressType
ipAddressType :: Maybe IpAddressType
$sel:ipAddressType:LightsailDistribution' :: LightsailDistribution -> Maybe IpAddressType
ipAddressType} -> Maybe IpAddressType
ipAddressType) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe IpAddressType
a -> LightsailDistribution
s {$sel:ipAddressType:LightsailDistribution' :: Maybe IpAddressType
ipAddressType = Maybe IpAddressType
a} :: LightsailDistribution)
lightsailDistribution_isEnabled :: Lens.Lens' LightsailDistribution (Prelude.Maybe Prelude.Bool)
lightsailDistribution_isEnabled :: Lens' LightsailDistribution (Maybe Bool)
lightsailDistribution_isEnabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe Bool
isEnabled :: Maybe Bool
$sel:isEnabled:LightsailDistribution' :: LightsailDistribution -> Maybe Bool
isEnabled} -> Maybe Bool
isEnabled) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe Bool
a -> LightsailDistribution
s {$sel:isEnabled:LightsailDistribution' :: Maybe Bool
isEnabled = Maybe Bool
a} :: LightsailDistribution)
lightsailDistribution_location :: Lens.Lens' LightsailDistribution (Prelude.Maybe ResourceLocation)
lightsailDistribution_location :: Lens' LightsailDistribution (Maybe ResourceLocation)
lightsailDistribution_location = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe ResourceLocation
location :: Maybe ResourceLocation
$sel:location:LightsailDistribution' :: LightsailDistribution -> Maybe ResourceLocation
location} -> Maybe ResourceLocation
location) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe ResourceLocation
a -> LightsailDistribution
s {$sel:location:LightsailDistribution' :: Maybe ResourceLocation
location = Maybe ResourceLocation
a} :: LightsailDistribution)
lightsailDistribution_name :: Lens.Lens' LightsailDistribution (Prelude.Maybe Prelude.Text)
lightsailDistribution_name :: Lens' LightsailDistribution (Maybe Text)
lightsailDistribution_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe Text
name :: Maybe Text
$sel:name:LightsailDistribution' :: LightsailDistribution -> Maybe Text
name} -> Maybe Text
name) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe Text
a -> LightsailDistribution
s {$sel:name:LightsailDistribution' :: Maybe Text
name = Maybe Text
a} :: LightsailDistribution)
lightsailDistribution_origin :: Lens.Lens' LightsailDistribution (Prelude.Maybe Origin)
lightsailDistribution_origin :: Lens' LightsailDistribution (Maybe Origin)
lightsailDistribution_origin = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe Origin
origin :: Maybe Origin
$sel:origin:LightsailDistribution' :: LightsailDistribution -> Maybe Origin
origin} -> Maybe Origin
origin) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe Origin
a -> LightsailDistribution
s {$sel:origin:LightsailDistribution' :: Maybe Origin
origin = Maybe Origin
a} :: LightsailDistribution)
lightsailDistribution_originPublicDNS :: Lens.Lens' LightsailDistribution (Prelude.Maybe Prelude.Text)
lightsailDistribution_originPublicDNS :: Lens' LightsailDistribution (Maybe Text)
lightsailDistribution_originPublicDNS = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe Text
originPublicDNS :: Maybe Text
$sel:originPublicDNS:LightsailDistribution' :: LightsailDistribution -> Maybe Text
originPublicDNS} -> Maybe Text
originPublicDNS) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe Text
a -> LightsailDistribution
s {$sel:originPublicDNS:LightsailDistribution' :: Maybe Text
originPublicDNS = Maybe Text
a} :: LightsailDistribution)
lightsailDistribution_resourceType :: Lens.Lens' LightsailDistribution (Prelude.Maybe ResourceType)
lightsailDistribution_resourceType :: Lens' LightsailDistribution (Maybe ResourceType)
lightsailDistribution_resourceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe ResourceType
resourceType :: Maybe ResourceType
$sel:resourceType:LightsailDistribution' :: LightsailDistribution -> Maybe ResourceType
resourceType} -> Maybe ResourceType
resourceType) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe ResourceType
a -> LightsailDistribution
s {$sel:resourceType:LightsailDistribution' :: Maybe ResourceType
resourceType = Maybe ResourceType
a} :: LightsailDistribution)
lightsailDistribution_status :: Lens.Lens' LightsailDistribution (Prelude.Maybe Prelude.Text)
lightsailDistribution_status :: Lens' LightsailDistribution (Maybe Text)
lightsailDistribution_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe Text
status :: Maybe Text
$sel:status:LightsailDistribution' :: LightsailDistribution -> Maybe Text
status} -> Maybe Text
status) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe Text
a -> LightsailDistribution
s {$sel:status:LightsailDistribution' :: Maybe Text
status = Maybe Text
a} :: LightsailDistribution)
lightsailDistribution_supportCode :: Lens.Lens' LightsailDistribution (Prelude.Maybe Prelude.Text)
lightsailDistribution_supportCode :: Lens' LightsailDistribution (Maybe Text)
lightsailDistribution_supportCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe Text
supportCode :: Maybe Text
$sel:supportCode:LightsailDistribution' :: LightsailDistribution -> Maybe Text
supportCode} -> Maybe Text
supportCode) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe Text
a -> LightsailDistribution
s {$sel:supportCode:LightsailDistribution' :: Maybe Text
supportCode = Maybe Text
a} :: LightsailDistribution)
lightsailDistribution_tags :: Lens.Lens' LightsailDistribution (Prelude.Maybe [Tag])
lightsailDistribution_tags :: Lens' LightsailDistribution (Maybe [Tag])
lightsailDistribution_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\LightsailDistribution' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:LightsailDistribution' :: LightsailDistribution -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: LightsailDistribution
s@LightsailDistribution' {} Maybe [Tag]
a -> LightsailDistribution
s {$sel:tags:LightsailDistribution' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: LightsailDistribution) 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
instance Data.FromJSON LightsailDistribution where
parseJSON :: Value -> Parser LightsailDistribution
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"LightsailDistribution"
( \Object
x ->
Maybe Bool
-> Maybe [Text]
-> Maybe Text
-> Maybe Text
-> Maybe CacheSettings
-> Maybe [CacheBehaviorPerPath]
-> Maybe Text
-> Maybe POSIX
-> Maybe CacheBehavior
-> Maybe Text
-> Maybe IpAddressType
-> Maybe Bool
-> Maybe ResourceLocation
-> Maybe Text
-> Maybe Origin
-> Maybe Text
-> Maybe ResourceType
-> Maybe Text
-> Maybe Text
-> Maybe [Tag]
-> LightsailDistribution
LightsailDistribution'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ableToUpdateBundle")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"alternativeDomainNames"
forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"arn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"bundleId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"cacheBehaviorSettings")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"cacheBehaviors" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"certificateName")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"createdAt")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"defaultCacheBehavior")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"domainName")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ipAddressType")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"isEnabled")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"location")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"name")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"origin")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"originPublicDNS")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"resourceType")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"status")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"supportCode")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"tags" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
)
instance Prelude.Hashable LightsailDistribution where
hashWithSalt :: Int -> LightsailDistribution -> Int
hashWithSalt Int
_salt LightsailDistribution' {Maybe Bool
Maybe [Text]
Maybe [CacheBehaviorPerPath]
Maybe [Tag]
Maybe Text
Maybe POSIX
Maybe CacheBehavior
Maybe IpAddressType
Maybe CacheSettings
Maybe ResourceLocation
Maybe ResourceType
Maybe Origin
tags :: Maybe [Tag]
supportCode :: Maybe Text
status :: Maybe Text
resourceType :: Maybe ResourceType
originPublicDNS :: Maybe Text
origin :: Maybe Origin
name :: Maybe Text
location :: Maybe ResourceLocation
isEnabled :: Maybe Bool
ipAddressType :: Maybe IpAddressType
domainName :: Maybe Text
defaultCacheBehavior :: Maybe CacheBehavior
createdAt :: Maybe POSIX
certificateName :: Maybe Text
cacheBehaviors :: Maybe [CacheBehaviorPerPath]
cacheBehaviorSettings :: Maybe CacheSettings
bundleId :: Maybe Text
arn :: Maybe Text
alternativeDomainNames :: Maybe [Text]
ableToUpdateBundle :: Maybe Bool
$sel:tags:LightsailDistribution' :: LightsailDistribution -> Maybe [Tag]
$sel:supportCode:LightsailDistribution' :: LightsailDistribution -> Maybe Text
$sel:status:LightsailDistribution' :: LightsailDistribution -> Maybe Text
$sel:resourceType:LightsailDistribution' :: LightsailDistribution -> Maybe ResourceType
$sel:originPublicDNS:LightsailDistribution' :: LightsailDistribution -> Maybe Text
$sel:origin:LightsailDistribution' :: LightsailDistribution -> Maybe Origin
$sel:name:LightsailDistribution' :: LightsailDistribution -> Maybe Text
$sel:location:LightsailDistribution' :: LightsailDistribution -> Maybe ResourceLocation
$sel:isEnabled:LightsailDistribution' :: LightsailDistribution -> Maybe Bool
$sel:ipAddressType:LightsailDistribution' :: LightsailDistribution -> Maybe IpAddressType
$sel:domainName:LightsailDistribution' :: LightsailDistribution -> Maybe Text
$sel:defaultCacheBehavior:LightsailDistribution' :: LightsailDistribution -> Maybe CacheBehavior
$sel:createdAt:LightsailDistribution' :: LightsailDistribution -> Maybe POSIX
$sel:certificateName:LightsailDistribution' :: LightsailDistribution -> Maybe Text
$sel:cacheBehaviors:LightsailDistribution' :: LightsailDistribution -> Maybe [CacheBehaviorPerPath]
$sel:cacheBehaviorSettings:LightsailDistribution' :: LightsailDistribution -> Maybe CacheSettings
$sel:bundleId:LightsailDistribution' :: LightsailDistribution -> Maybe Text
$sel:arn:LightsailDistribution' :: LightsailDistribution -> Maybe Text
$sel:alternativeDomainNames:LightsailDistribution' :: LightsailDistribution -> Maybe [Text]
$sel:ableToUpdateBundle:LightsailDistribution' :: LightsailDistribution -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
ableToUpdateBundle
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
alternativeDomainNames
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
arn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
bundleId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CacheSettings
cacheBehaviorSettings
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [CacheBehaviorPerPath]
cacheBehaviors
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
certificateName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
createdAt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CacheBehavior
defaultCacheBehavior
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
domainName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe IpAddressType
ipAddressType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
isEnabled
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ResourceLocation
location
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Origin
origin
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
originPublicDNS
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ResourceType
resourceType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
status
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
supportCode
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
instance Prelude.NFData LightsailDistribution where
rnf :: LightsailDistribution -> ()
rnf LightsailDistribution' {Maybe Bool
Maybe [Text]
Maybe [CacheBehaviorPerPath]
Maybe [Tag]
Maybe Text
Maybe POSIX
Maybe CacheBehavior
Maybe IpAddressType
Maybe CacheSettings
Maybe ResourceLocation
Maybe ResourceType
Maybe Origin
tags :: Maybe [Tag]
supportCode :: Maybe Text
status :: Maybe Text
resourceType :: Maybe ResourceType
originPublicDNS :: Maybe Text
origin :: Maybe Origin
name :: Maybe Text
location :: Maybe ResourceLocation
isEnabled :: Maybe Bool
ipAddressType :: Maybe IpAddressType
domainName :: Maybe Text
defaultCacheBehavior :: Maybe CacheBehavior
createdAt :: Maybe POSIX
certificateName :: Maybe Text
cacheBehaviors :: Maybe [CacheBehaviorPerPath]
cacheBehaviorSettings :: Maybe CacheSettings
bundleId :: Maybe Text
arn :: Maybe Text
alternativeDomainNames :: Maybe [Text]
ableToUpdateBundle :: Maybe Bool
$sel:tags:LightsailDistribution' :: LightsailDistribution -> Maybe [Tag]
$sel:supportCode:LightsailDistribution' :: LightsailDistribution -> Maybe Text
$sel:status:LightsailDistribution' :: LightsailDistribution -> Maybe Text
$sel:resourceType:LightsailDistribution' :: LightsailDistribution -> Maybe ResourceType
$sel:originPublicDNS:LightsailDistribution' :: LightsailDistribution -> Maybe Text
$sel:origin:LightsailDistribution' :: LightsailDistribution -> Maybe Origin
$sel:name:LightsailDistribution' :: LightsailDistribution -> Maybe Text
$sel:location:LightsailDistribution' :: LightsailDistribution -> Maybe ResourceLocation
$sel:isEnabled:LightsailDistribution' :: LightsailDistribution -> Maybe Bool
$sel:ipAddressType:LightsailDistribution' :: LightsailDistribution -> Maybe IpAddressType
$sel:domainName:LightsailDistribution' :: LightsailDistribution -> Maybe Text
$sel:defaultCacheBehavior:LightsailDistribution' :: LightsailDistribution -> Maybe CacheBehavior
$sel:createdAt:LightsailDistribution' :: LightsailDistribution -> Maybe POSIX
$sel:certificateName:LightsailDistribution' :: LightsailDistribution -> Maybe Text
$sel:cacheBehaviors:LightsailDistribution' :: LightsailDistribution -> Maybe [CacheBehaviorPerPath]
$sel:cacheBehaviorSettings:LightsailDistribution' :: LightsailDistribution -> Maybe CacheSettings
$sel:bundleId:LightsailDistribution' :: LightsailDistribution -> Maybe Text
$sel:arn:LightsailDistribution' :: LightsailDistribution -> Maybe Text
$sel:alternativeDomainNames:LightsailDistribution' :: LightsailDistribution -> Maybe [Text]
$sel:ableToUpdateBundle:LightsailDistribution' :: LightsailDistribution -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
ableToUpdateBundle
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
alternativeDomainNames
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
bundleId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CacheSettings
cacheBehaviorSettings
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [CacheBehaviorPerPath]
cacheBehaviors
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
certificateName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
createdAt
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CacheBehavior
defaultCacheBehavior
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
domainName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe IpAddressType
ipAddressType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
isEnabled
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ResourceLocation
location
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Origin
origin
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
originPublicDNS
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ResourceType
resourceType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
status
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
supportCode
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags