{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.CloudFront.UpdateStreamingDistribution
(
UpdateStreamingDistribution (..),
newUpdateStreamingDistribution,
updateStreamingDistribution_ifMatch,
updateStreamingDistribution_streamingDistributionConfig,
updateStreamingDistribution_id,
UpdateStreamingDistributionResponse (..),
newUpdateStreamingDistributionResponse,
updateStreamingDistributionResponse_eTag,
updateStreamingDistributionResponse_streamingDistribution,
updateStreamingDistributionResponse_httpStatus,
)
where
import Amazonka.CloudFront.Types
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
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data UpdateStreamingDistribution = UpdateStreamingDistribution'
{
UpdateStreamingDistribution -> Maybe Text
ifMatch :: Prelude.Maybe Prelude.Text,
UpdateStreamingDistribution -> StreamingDistributionConfig
streamingDistributionConfig :: StreamingDistributionConfig,
UpdateStreamingDistribution -> Text
id :: Prelude.Text
}
deriving (UpdateStreamingDistribution -> UpdateStreamingDistribution -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateStreamingDistribution -> UpdateStreamingDistribution -> Bool
$c/= :: UpdateStreamingDistribution -> UpdateStreamingDistribution -> Bool
== :: UpdateStreamingDistribution -> UpdateStreamingDistribution -> Bool
$c== :: UpdateStreamingDistribution -> UpdateStreamingDistribution -> Bool
Prelude.Eq, ReadPrec [UpdateStreamingDistribution]
ReadPrec UpdateStreamingDistribution
Int -> ReadS UpdateStreamingDistribution
ReadS [UpdateStreamingDistribution]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateStreamingDistribution]
$creadListPrec :: ReadPrec [UpdateStreamingDistribution]
readPrec :: ReadPrec UpdateStreamingDistribution
$creadPrec :: ReadPrec UpdateStreamingDistribution
readList :: ReadS [UpdateStreamingDistribution]
$creadList :: ReadS [UpdateStreamingDistribution]
readsPrec :: Int -> ReadS UpdateStreamingDistribution
$creadsPrec :: Int -> ReadS UpdateStreamingDistribution
Prelude.Read, Int -> UpdateStreamingDistribution -> ShowS
[UpdateStreamingDistribution] -> ShowS
UpdateStreamingDistribution -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateStreamingDistribution] -> ShowS
$cshowList :: [UpdateStreamingDistribution] -> ShowS
show :: UpdateStreamingDistribution -> String
$cshow :: UpdateStreamingDistribution -> String
showsPrec :: Int -> UpdateStreamingDistribution -> ShowS
$cshowsPrec :: Int -> UpdateStreamingDistribution -> ShowS
Prelude.Show, forall x.
Rep UpdateStreamingDistribution x -> UpdateStreamingDistribution
forall x.
UpdateStreamingDistribution -> Rep UpdateStreamingDistribution x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateStreamingDistribution x -> UpdateStreamingDistribution
$cfrom :: forall x.
UpdateStreamingDistribution -> Rep UpdateStreamingDistribution x
Prelude.Generic)
newUpdateStreamingDistribution ::
StreamingDistributionConfig ->
Prelude.Text ->
UpdateStreamingDistribution
newUpdateStreamingDistribution :: StreamingDistributionConfig -> Text -> UpdateStreamingDistribution
newUpdateStreamingDistribution
StreamingDistributionConfig
pStreamingDistributionConfig_
Text
pId_ =
UpdateStreamingDistribution'
{ $sel:ifMatch:UpdateStreamingDistribution' :: Maybe Text
ifMatch =
forall a. Maybe a
Prelude.Nothing,
$sel:streamingDistributionConfig:UpdateStreamingDistribution' :: StreamingDistributionConfig
streamingDistributionConfig =
StreamingDistributionConfig
pStreamingDistributionConfig_,
$sel:id:UpdateStreamingDistribution' :: Text
id = Text
pId_
}
updateStreamingDistribution_ifMatch :: Lens.Lens' UpdateStreamingDistribution (Prelude.Maybe Prelude.Text)
updateStreamingDistribution_ifMatch :: Lens' UpdateStreamingDistribution (Maybe Text)
updateStreamingDistribution_ifMatch = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateStreamingDistribution' {Maybe Text
ifMatch :: Maybe Text
$sel:ifMatch:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Maybe Text
ifMatch} -> Maybe Text
ifMatch) (\s :: UpdateStreamingDistribution
s@UpdateStreamingDistribution' {} Maybe Text
a -> UpdateStreamingDistribution
s {$sel:ifMatch:UpdateStreamingDistribution' :: Maybe Text
ifMatch = Maybe Text
a} :: UpdateStreamingDistribution)
updateStreamingDistribution_streamingDistributionConfig :: Lens.Lens' UpdateStreamingDistribution StreamingDistributionConfig
updateStreamingDistribution_streamingDistributionConfig :: Lens' UpdateStreamingDistribution StreamingDistributionConfig
updateStreamingDistribution_streamingDistributionConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateStreamingDistribution' {StreamingDistributionConfig
streamingDistributionConfig :: StreamingDistributionConfig
$sel:streamingDistributionConfig:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> StreamingDistributionConfig
streamingDistributionConfig} -> StreamingDistributionConfig
streamingDistributionConfig) (\s :: UpdateStreamingDistribution
s@UpdateStreamingDistribution' {} StreamingDistributionConfig
a -> UpdateStreamingDistribution
s {$sel:streamingDistributionConfig:UpdateStreamingDistribution' :: StreamingDistributionConfig
streamingDistributionConfig = StreamingDistributionConfig
a} :: UpdateStreamingDistribution)
updateStreamingDistribution_id :: Lens.Lens' UpdateStreamingDistribution Prelude.Text
updateStreamingDistribution_id :: Lens' UpdateStreamingDistribution Text
updateStreamingDistribution_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateStreamingDistribution' {Text
id :: Text
$sel:id:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Text
id} -> Text
id) (\s :: UpdateStreamingDistribution
s@UpdateStreamingDistribution' {} Text
a -> UpdateStreamingDistribution
s {$sel:id:UpdateStreamingDistribution' :: Text
id = Text
a} :: UpdateStreamingDistribution)
instance Core.AWSRequest UpdateStreamingDistribution where
type
AWSResponse UpdateStreamingDistribution =
UpdateStreamingDistributionResponse
request :: (Service -> Service)
-> UpdateStreamingDistribution
-> Request UpdateStreamingDistribution
request Service -> Service
overrides =
forall a. (ToRequest a, ToElement a) => Service -> a -> Request a
Request.putXML (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateStreamingDistribution
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateStreamingDistribution)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe Text
-> Maybe StreamingDistribution
-> Int
-> UpdateStreamingDistributionResponse
UpdateStreamingDistributionResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (ResponseHeaders
h forall a.
FromText a =>
ResponseHeaders -> HeaderName -> Either String (Maybe a)
Data..#? HeaderName
"ETag")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall a. FromXML a => [Node] -> Either String a
Data.parseXML [Node]
x)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable UpdateStreamingDistribution where
hashWithSalt :: Int -> UpdateStreamingDistribution -> Int
hashWithSalt Int
_salt UpdateStreamingDistribution' {Maybe Text
Text
StreamingDistributionConfig
id :: Text
streamingDistributionConfig :: StreamingDistributionConfig
ifMatch :: Maybe Text
$sel:id:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Text
$sel:streamingDistributionConfig:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> StreamingDistributionConfig
$sel:ifMatch:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
ifMatch
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` StreamingDistributionConfig
streamingDistributionConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id
instance Prelude.NFData UpdateStreamingDistribution where
rnf :: UpdateStreamingDistribution -> ()
rnf UpdateStreamingDistribution' {Maybe Text
Text
StreamingDistributionConfig
id :: Text
streamingDistributionConfig :: StreamingDistributionConfig
ifMatch :: Maybe Text
$sel:id:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Text
$sel:streamingDistributionConfig:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> StreamingDistributionConfig
$sel:ifMatch:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ifMatch
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf StreamingDistributionConfig
streamingDistributionConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
id
instance Data.ToElement UpdateStreamingDistribution where
toElement :: UpdateStreamingDistribution -> Element
toElement UpdateStreamingDistribution' {Maybe Text
Text
StreamingDistributionConfig
id :: Text
streamingDistributionConfig :: StreamingDistributionConfig
ifMatch :: Maybe Text
$sel:id:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Text
$sel:streamingDistributionConfig:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> StreamingDistributionConfig
$sel:ifMatch:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Maybe Text
..} =
forall a. ToXML a => Name -> a -> Element
Data.mkElement
Name
"{http://cloudfront.amazonaws.com/doc/2020-05-31/}StreamingDistributionConfig"
StreamingDistributionConfig
streamingDistributionConfig
instance Data.ToHeaders UpdateStreamingDistribution where
toHeaders :: UpdateStreamingDistribution -> ResponseHeaders
toHeaders UpdateStreamingDistribution' {Maybe Text
Text
StreamingDistributionConfig
id :: Text
streamingDistributionConfig :: StreamingDistributionConfig
ifMatch :: Maybe Text
$sel:id:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Text
$sel:streamingDistributionConfig:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> StreamingDistributionConfig
$sel:ifMatch:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [HeaderName
"If-Match" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe Text
ifMatch]
instance Data.ToPath UpdateStreamingDistribution where
toPath :: UpdateStreamingDistribution -> ByteString
toPath UpdateStreamingDistribution' {Maybe Text
Text
StreamingDistributionConfig
id :: Text
streamingDistributionConfig :: StreamingDistributionConfig
ifMatch :: Maybe Text
$sel:id:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Text
$sel:streamingDistributionConfig:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> StreamingDistributionConfig
$sel:ifMatch:UpdateStreamingDistribution' :: UpdateStreamingDistribution -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/2020-05-31/streaming-distribution/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
id,
ByteString
"/config"
]
instance Data.ToQuery UpdateStreamingDistribution where
toQuery :: UpdateStreamingDistribution -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateStreamingDistributionResponse = UpdateStreamingDistributionResponse'
{
UpdateStreamingDistributionResponse -> Maybe Text
eTag :: Prelude.Maybe Prelude.Text,
UpdateStreamingDistributionResponse -> Maybe StreamingDistribution
streamingDistribution :: Prelude.Maybe StreamingDistribution,
UpdateStreamingDistributionResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateStreamingDistributionResponse
-> UpdateStreamingDistributionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateStreamingDistributionResponse
-> UpdateStreamingDistributionResponse -> Bool
$c/= :: UpdateStreamingDistributionResponse
-> UpdateStreamingDistributionResponse -> Bool
== :: UpdateStreamingDistributionResponse
-> UpdateStreamingDistributionResponse -> Bool
$c== :: UpdateStreamingDistributionResponse
-> UpdateStreamingDistributionResponse -> Bool
Prelude.Eq, ReadPrec [UpdateStreamingDistributionResponse]
ReadPrec UpdateStreamingDistributionResponse
Int -> ReadS UpdateStreamingDistributionResponse
ReadS [UpdateStreamingDistributionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateStreamingDistributionResponse]
$creadListPrec :: ReadPrec [UpdateStreamingDistributionResponse]
readPrec :: ReadPrec UpdateStreamingDistributionResponse
$creadPrec :: ReadPrec UpdateStreamingDistributionResponse
readList :: ReadS [UpdateStreamingDistributionResponse]
$creadList :: ReadS [UpdateStreamingDistributionResponse]
readsPrec :: Int -> ReadS UpdateStreamingDistributionResponse
$creadsPrec :: Int -> ReadS UpdateStreamingDistributionResponse
Prelude.Read, Int -> UpdateStreamingDistributionResponse -> ShowS
[UpdateStreamingDistributionResponse] -> ShowS
UpdateStreamingDistributionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateStreamingDistributionResponse] -> ShowS
$cshowList :: [UpdateStreamingDistributionResponse] -> ShowS
show :: UpdateStreamingDistributionResponse -> String
$cshow :: UpdateStreamingDistributionResponse -> String
showsPrec :: Int -> UpdateStreamingDistributionResponse -> ShowS
$cshowsPrec :: Int -> UpdateStreamingDistributionResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateStreamingDistributionResponse x
-> UpdateStreamingDistributionResponse
forall x.
UpdateStreamingDistributionResponse
-> Rep UpdateStreamingDistributionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateStreamingDistributionResponse x
-> UpdateStreamingDistributionResponse
$cfrom :: forall x.
UpdateStreamingDistributionResponse
-> Rep UpdateStreamingDistributionResponse x
Prelude.Generic)
newUpdateStreamingDistributionResponse ::
Prelude.Int ->
UpdateStreamingDistributionResponse
newUpdateStreamingDistributionResponse :: Int -> UpdateStreamingDistributionResponse
newUpdateStreamingDistributionResponse Int
pHttpStatus_ =
UpdateStreamingDistributionResponse'
{ $sel:eTag:UpdateStreamingDistributionResponse' :: Maybe Text
eTag =
forall a. Maybe a
Prelude.Nothing,
$sel:streamingDistribution:UpdateStreamingDistributionResponse' :: Maybe StreamingDistribution
streamingDistribution =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateStreamingDistributionResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateStreamingDistributionResponse_eTag :: Lens.Lens' UpdateStreamingDistributionResponse (Prelude.Maybe Prelude.Text)
updateStreamingDistributionResponse_eTag :: Lens' UpdateStreamingDistributionResponse (Maybe Text)
updateStreamingDistributionResponse_eTag = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateStreamingDistributionResponse' {Maybe Text
eTag :: Maybe Text
$sel:eTag:UpdateStreamingDistributionResponse' :: UpdateStreamingDistributionResponse -> Maybe Text
eTag} -> Maybe Text
eTag) (\s :: UpdateStreamingDistributionResponse
s@UpdateStreamingDistributionResponse' {} Maybe Text
a -> UpdateStreamingDistributionResponse
s {$sel:eTag:UpdateStreamingDistributionResponse' :: Maybe Text
eTag = Maybe Text
a} :: UpdateStreamingDistributionResponse)
updateStreamingDistributionResponse_streamingDistribution :: Lens.Lens' UpdateStreamingDistributionResponse (Prelude.Maybe StreamingDistribution)
updateStreamingDistributionResponse_streamingDistribution :: Lens'
UpdateStreamingDistributionResponse (Maybe StreamingDistribution)
updateStreamingDistributionResponse_streamingDistribution = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateStreamingDistributionResponse' {Maybe StreamingDistribution
streamingDistribution :: Maybe StreamingDistribution
$sel:streamingDistribution:UpdateStreamingDistributionResponse' :: UpdateStreamingDistributionResponse -> Maybe StreamingDistribution
streamingDistribution} -> Maybe StreamingDistribution
streamingDistribution) (\s :: UpdateStreamingDistributionResponse
s@UpdateStreamingDistributionResponse' {} Maybe StreamingDistribution
a -> UpdateStreamingDistributionResponse
s {$sel:streamingDistribution:UpdateStreamingDistributionResponse' :: Maybe StreamingDistribution
streamingDistribution = Maybe StreamingDistribution
a} :: UpdateStreamingDistributionResponse)
updateStreamingDistributionResponse_httpStatus :: Lens.Lens' UpdateStreamingDistributionResponse Prelude.Int
updateStreamingDistributionResponse_httpStatus :: Lens' UpdateStreamingDistributionResponse Int
updateStreamingDistributionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateStreamingDistributionResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateStreamingDistributionResponse' :: UpdateStreamingDistributionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateStreamingDistributionResponse
s@UpdateStreamingDistributionResponse' {} Int
a -> UpdateStreamingDistributionResponse
s {$sel:httpStatus:UpdateStreamingDistributionResponse' :: Int
httpStatus = Int
a} :: UpdateStreamingDistributionResponse)
instance
Prelude.NFData
UpdateStreamingDistributionResponse
where
rnf :: UpdateStreamingDistributionResponse -> ()
rnf UpdateStreamingDistributionResponse' {Int
Maybe Text
Maybe StreamingDistribution
httpStatus :: Int
streamingDistribution :: Maybe StreamingDistribution
eTag :: Maybe Text
$sel:httpStatus:UpdateStreamingDistributionResponse' :: UpdateStreamingDistributionResponse -> Int
$sel:streamingDistribution:UpdateStreamingDistributionResponse' :: UpdateStreamingDistributionResponse -> Maybe StreamingDistribution
$sel:eTag:UpdateStreamingDistributionResponse' :: UpdateStreamingDistributionResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
eTag
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe StreamingDistribution
streamingDistribution
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus