{-# 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.UpdateDistributionWithStagingConfig
(
UpdateDistributionWithStagingConfig (..),
newUpdateDistributionWithStagingConfig,
updateDistributionWithStagingConfig_ifMatch,
updateDistributionWithStagingConfig_stagingDistributionId,
updateDistributionWithStagingConfig_id,
UpdateDistributionWithStagingConfigResponse (..),
newUpdateDistributionWithStagingConfigResponse,
updateDistributionWithStagingConfigResponse_distribution,
updateDistributionWithStagingConfigResponse_eTag,
updateDistributionWithStagingConfigResponse_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 UpdateDistributionWithStagingConfig = UpdateDistributionWithStagingConfig'
{
UpdateDistributionWithStagingConfig -> Maybe Text
ifMatch :: Prelude.Maybe Prelude.Text,
UpdateDistributionWithStagingConfig -> Maybe Text
stagingDistributionId :: Prelude.Maybe Prelude.Text,
UpdateDistributionWithStagingConfig -> Text
id :: Prelude.Text
}
deriving (UpdateDistributionWithStagingConfig
-> UpdateDistributionWithStagingConfig -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateDistributionWithStagingConfig
-> UpdateDistributionWithStagingConfig -> Bool
$c/= :: UpdateDistributionWithStagingConfig
-> UpdateDistributionWithStagingConfig -> Bool
== :: UpdateDistributionWithStagingConfig
-> UpdateDistributionWithStagingConfig -> Bool
$c== :: UpdateDistributionWithStagingConfig
-> UpdateDistributionWithStagingConfig -> Bool
Prelude.Eq, ReadPrec [UpdateDistributionWithStagingConfig]
ReadPrec UpdateDistributionWithStagingConfig
Int -> ReadS UpdateDistributionWithStagingConfig
ReadS [UpdateDistributionWithStagingConfig]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateDistributionWithStagingConfig]
$creadListPrec :: ReadPrec [UpdateDistributionWithStagingConfig]
readPrec :: ReadPrec UpdateDistributionWithStagingConfig
$creadPrec :: ReadPrec UpdateDistributionWithStagingConfig
readList :: ReadS [UpdateDistributionWithStagingConfig]
$creadList :: ReadS [UpdateDistributionWithStagingConfig]
readsPrec :: Int -> ReadS UpdateDistributionWithStagingConfig
$creadsPrec :: Int -> ReadS UpdateDistributionWithStagingConfig
Prelude.Read, Int -> UpdateDistributionWithStagingConfig -> ShowS
[UpdateDistributionWithStagingConfig] -> ShowS
UpdateDistributionWithStagingConfig -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateDistributionWithStagingConfig] -> ShowS
$cshowList :: [UpdateDistributionWithStagingConfig] -> ShowS
show :: UpdateDistributionWithStagingConfig -> String
$cshow :: UpdateDistributionWithStagingConfig -> String
showsPrec :: Int -> UpdateDistributionWithStagingConfig -> ShowS
$cshowsPrec :: Int -> UpdateDistributionWithStagingConfig -> ShowS
Prelude.Show, forall x.
Rep UpdateDistributionWithStagingConfig x
-> UpdateDistributionWithStagingConfig
forall x.
UpdateDistributionWithStagingConfig
-> Rep UpdateDistributionWithStagingConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateDistributionWithStagingConfig x
-> UpdateDistributionWithStagingConfig
$cfrom :: forall x.
UpdateDistributionWithStagingConfig
-> Rep UpdateDistributionWithStagingConfig x
Prelude.Generic)
newUpdateDistributionWithStagingConfig ::
Prelude.Text ->
UpdateDistributionWithStagingConfig
newUpdateDistributionWithStagingConfig :: Text -> UpdateDistributionWithStagingConfig
newUpdateDistributionWithStagingConfig Text
pId_ =
UpdateDistributionWithStagingConfig'
{ $sel:ifMatch:UpdateDistributionWithStagingConfig' :: Maybe Text
ifMatch =
forall a. Maybe a
Prelude.Nothing,
$sel:stagingDistributionId:UpdateDistributionWithStagingConfig' :: Maybe Text
stagingDistributionId =
forall a. Maybe a
Prelude.Nothing,
$sel:id:UpdateDistributionWithStagingConfig' :: Text
id = Text
pId_
}
updateDistributionWithStagingConfig_ifMatch :: Lens.Lens' UpdateDistributionWithStagingConfig (Prelude.Maybe Prelude.Text)
updateDistributionWithStagingConfig_ifMatch :: Lens' UpdateDistributionWithStagingConfig (Maybe Text)
updateDistributionWithStagingConfig_ifMatch = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDistributionWithStagingConfig' {Maybe Text
ifMatch :: Maybe Text
$sel:ifMatch:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> Maybe Text
ifMatch} -> Maybe Text
ifMatch) (\s :: UpdateDistributionWithStagingConfig
s@UpdateDistributionWithStagingConfig' {} Maybe Text
a -> UpdateDistributionWithStagingConfig
s {$sel:ifMatch:UpdateDistributionWithStagingConfig' :: Maybe Text
ifMatch = Maybe Text
a} :: UpdateDistributionWithStagingConfig)
updateDistributionWithStagingConfig_stagingDistributionId :: Lens.Lens' UpdateDistributionWithStagingConfig (Prelude.Maybe Prelude.Text)
updateDistributionWithStagingConfig_stagingDistributionId :: Lens' UpdateDistributionWithStagingConfig (Maybe Text)
updateDistributionWithStagingConfig_stagingDistributionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDistributionWithStagingConfig' {Maybe Text
stagingDistributionId :: Maybe Text
$sel:stagingDistributionId:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> Maybe Text
stagingDistributionId} -> Maybe Text
stagingDistributionId) (\s :: UpdateDistributionWithStagingConfig
s@UpdateDistributionWithStagingConfig' {} Maybe Text
a -> UpdateDistributionWithStagingConfig
s {$sel:stagingDistributionId:UpdateDistributionWithStagingConfig' :: Maybe Text
stagingDistributionId = Maybe Text
a} :: UpdateDistributionWithStagingConfig)
updateDistributionWithStagingConfig_id :: Lens.Lens' UpdateDistributionWithStagingConfig Prelude.Text
updateDistributionWithStagingConfig_id :: Lens' UpdateDistributionWithStagingConfig Text
updateDistributionWithStagingConfig_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDistributionWithStagingConfig' {Text
id :: Text
$sel:id:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> Text
id} -> Text
id) (\s :: UpdateDistributionWithStagingConfig
s@UpdateDistributionWithStagingConfig' {} Text
a -> UpdateDistributionWithStagingConfig
s {$sel:id:UpdateDistributionWithStagingConfig' :: Text
id = Text
a} :: UpdateDistributionWithStagingConfig)
instance
Core.AWSRequest
UpdateDistributionWithStagingConfig
where
type
AWSResponse UpdateDistributionWithStagingConfig =
UpdateDistributionWithStagingConfigResponse
request :: (Service -> Service)
-> UpdateDistributionWithStagingConfig
-> Request UpdateDistributionWithStagingConfig
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.put (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateDistributionWithStagingConfig
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse UpdateDistributionWithStagingConfig)))
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 Distribution
-> Maybe Text -> Int -> UpdateDistributionWithStagingConfigResponse
UpdateDistributionWithStagingConfigResponse'
forall (f :: * -> *) a b. Functor 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.<*> (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 (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance
Prelude.Hashable
UpdateDistributionWithStagingConfig
where
hashWithSalt :: Int -> UpdateDistributionWithStagingConfig -> Int
hashWithSalt
Int
_salt
UpdateDistributionWithStagingConfig' {Maybe Text
Text
id :: Text
stagingDistributionId :: Maybe Text
ifMatch :: Maybe Text
$sel:id:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> Text
$sel:stagingDistributionId:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> Maybe Text
$sel:ifMatch:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> 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` Maybe Text
stagingDistributionId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id
instance
Prelude.NFData
UpdateDistributionWithStagingConfig
where
rnf :: UpdateDistributionWithStagingConfig -> ()
rnf UpdateDistributionWithStagingConfig' {Maybe Text
Text
id :: Text
stagingDistributionId :: Maybe Text
ifMatch :: Maybe Text
$sel:id:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> Text
$sel:stagingDistributionId:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> Maybe Text
$sel:ifMatch:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> 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 Maybe Text
stagingDistributionId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
id
instance
Data.ToHeaders
UpdateDistributionWithStagingConfig
where
toHeaders :: UpdateDistributionWithStagingConfig -> ResponseHeaders
toHeaders UpdateDistributionWithStagingConfig' {Maybe Text
Text
id :: Text
stagingDistributionId :: Maybe Text
ifMatch :: Maybe Text
$sel:id:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> Text
$sel:stagingDistributionId:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> Maybe Text
$sel:ifMatch:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> 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
UpdateDistributionWithStagingConfig
where
toPath :: UpdateDistributionWithStagingConfig -> ByteString
toPath UpdateDistributionWithStagingConfig' {Maybe Text
Text
id :: Text
stagingDistributionId :: Maybe Text
ifMatch :: Maybe Text
$sel:id:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> Text
$sel:stagingDistributionId:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> Maybe Text
$sel:ifMatch:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/2020-05-31/distribution/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
id,
ByteString
"/promote-staging-config"
]
instance
Data.ToQuery
UpdateDistributionWithStagingConfig
where
toQuery :: UpdateDistributionWithStagingConfig -> QueryString
toQuery UpdateDistributionWithStagingConfig' {Maybe Text
Text
id :: Text
stagingDistributionId :: Maybe Text
ifMatch :: Maybe Text
$sel:id:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> Text
$sel:stagingDistributionId:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> Maybe Text
$sel:ifMatch:UpdateDistributionWithStagingConfig' :: UpdateDistributionWithStagingConfig -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"StagingDistributionId"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
stagingDistributionId
]
data UpdateDistributionWithStagingConfigResponse = UpdateDistributionWithStagingConfigResponse'
{ UpdateDistributionWithStagingConfigResponse -> Maybe Distribution
distribution :: Prelude.Maybe Distribution,
UpdateDistributionWithStagingConfigResponse -> Maybe Text
eTag :: Prelude.Maybe Prelude.Text,
UpdateDistributionWithStagingConfigResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateDistributionWithStagingConfigResponse
-> UpdateDistributionWithStagingConfigResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateDistributionWithStagingConfigResponse
-> UpdateDistributionWithStagingConfigResponse -> Bool
$c/= :: UpdateDistributionWithStagingConfigResponse
-> UpdateDistributionWithStagingConfigResponse -> Bool
== :: UpdateDistributionWithStagingConfigResponse
-> UpdateDistributionWithStagingConfigResponse -> Bool
$c== :: UpdateDistributionWithStagingConfigResponse
-> UpdateDistributionWithStagingConfigResponse -> Bool
Prelude.Eq, Int -> UpdateDistributionWithStagingConfigResponse -> ShowS
[UpdateDistributionWithStagingConfigResponse] -> ShowS
UpdateDistributionWithStagingConfigResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateDistributionWithStagingConfigResponse] -> ShowS
$cshowList :: [UpdateDistributionWithStagingConfigResponse] -> ShowS
show :: UpdateDistributionWithStagingConfigResponse -> String
$cshow :: UpdateDistributionWithStagingConfigResponse -> String
showsPrec :: Int -> UpdateDistributionWithStagingConfigResponse -> ShowS
$cshowsPrec :: Int -> UpdateDistributionWithStagingConfigResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateDistributionWithStagingConfigResponse x
-> UpdateDistributionWithStagingConfigResponse
forall x.
UpdateDistributionWithStagingConfigResponse
-> Rep UpdateDistributionWithStagingConfigResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateDistributionWithStagingConfigResponse x
-> UpdateDistributionWithStagingConfigResponse
$cfrom :: forall x.
UpdateDistributionWithStagingConfigResponse
-> Rep UpdateDistributionWithStagingConfigResponse x
Prelude.Generic)
newUpdateDistributionWithStagingConfigResponse ::
Prelude.Int ->
UpdateDistributionWithStagingConfigResponse
newUpdateDistributionWithStagingConfigResponse :: Int -> UpdateDistributionWithStagingConfigResponse
newUpdateDistributionWithStagingConfigResponse
Int
pHttpStatus_ =
UpdateDistributionWithStagingConfigResponse'
{ $sel:distribution:UpdateDistributionWithStagingConfigResponse' :: Maybe Distribution
distribution =
forall a. Maybe a
Prelude.Nothing,
$sel:eTag:UpdateDistributionWithStagingConfigResponse' :: Maybe Text
eTag = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateDistributionWithStagingConfigResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateDistributionWithStagingConfigResponse_distribution :: Lens.Lens' UpdateDistributionWithStagingConfigResponse (Prelude.Maybe Distribution)
updateDistributionWithStagingConfigResponse_distribution :: Lens'
UpdateDistributionWithStagingConfigResponse (Maybe Distribution)
updateDistributionWithStagingConfigResponse_distribution = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDistributionWithStagingConfigResponse' {Maybe Distribution
distribution :: Maybe Distribution
$sel:distribution:UpdateDistributionWithStagingConfigResponse' :: UpdateDistributionWithStagingConfigResponse -> Maybe Distribution
distribution} -> Maybe Distribution
distribution) (\s :: UpdateDistributionWithStagingConfigResponse
s@UpdateDistributionWithStagingConfigResponse' {} Maybe Distribution
a -> UpdateDistributionWithStagingConfigResponse
s {$sel:distribution:UpdateDistributionWithStagingConfigResponse' :: Maybe Distribution
distribution = Maybe Distribution
a} :: UpdateDistributionWithStagingConfigResponse)
updateDistributionWithStagingConfigResponse_eTag :: Lens.Lens' UpdateDistributionWithStagingConfigResponse (Prelude.Maybe Prelude.Text)
updateDistributionWithStagingConfigResponse_eTag :: Lens' UpdateDistributionWithStagingConfigResponse (Maybe Text)
updateDistributionWithStagingConfigResponse_eTag = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDistributionWithStagingConfigResponse' {Maybe Text
eTag :: Maybe Text
$sel:eTag:UpdateDistributionWithStagingConfigResponse' :: UpdateDistributionWithStagingConfigResponse -> Maybe Text
eTag} -> Maybe Text
eTag) (\s :: UpdateDistributionWithStagingConfigResponse
s@UpdateDistributionWithStagingConfigResponse' {} Maybe Text
a -> UpdateDistributionWithStagingConfigResponse
s {$sel:eTag:UpdateDistributionWithStagingConfigResponse' :: Maybe Text
eTag = Maybe Text
a} :: UpdateDistributionWithStagingConfigResponse)
updateDistributionWithStagingConfigResponse_httpStatus :: Lens.Lens' UpdateDistributionWithStagingConfigResponse Prelude.Int
updateDistributionWithStagingConfigResponse_httpStatus :: Lens' UpdateDistributionWithStagingConfigResponse Int
updateDistributionWithStagingConfigResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDistributionWithStagingConfigResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateDistributionWithStagingConfigResponse' :: UpdateDistributionWithStagingConfigResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateDistributionWithStagingConfigResponse
s@UpdateDistributionWithStagingConfigResponse' {} Int
a -> UpdateDistributionWithStagingConfigResponse
s {$sel:httpStatus:UpdateDistributionWithStagingConfigResponse' :: Int
httpStatus = Int
a} :: UpdateDistributionWithStagingConfigResponse)
instance
Prelude.NFData
UpdateDistributionWithStagingConfigResponse
where
rnf :: UpdateDistributionWithStagingConfigResponse -> ()
rnf UpdateDistributionWithStagingConfigResponse' {Int
Maybe Text
Maybe Distribution
httpStatus :: Int
eTag :: Maybe Text
distribution :: Maybe Distribution
$sel:httpStatus:UpdateDistributionWithStagingConfigResponse' :: UpdateDistributionWithStagingConfigResponse -> Int
$sel:eTag:UpdateDistributionWithStagingConfigResponse' :: UpdateDistributionWithStagingConfigResponse -> Maybe Text
$sel:distribution:UpdateDistributionWithStagingConfigResponse' :: UpdateDistributionWithStagingConfigResponse -> Maybe Distribution
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Distribution
distribution
seq :: forall a b. a -> b -> b
`Prelude.seq` 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 Int
httpStatus