{-# 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.UpdateResponseHeadersPolicy
(
UpdateResponseHeadersPolicy (..),
newUpdateResponseHeadersPolicy,
updateResponseHeadersPolicy_ifMatch,
updateResponseHeadersPolicy_responseHeadersPolicyConfig,
updateResponseHeadersPolicy_id,
UpdateResponseHeadersPolicyResponse (..),
newUpdateResponseHeadersPolicyResponse,
updateResponseHeadersPolicyResponse_eTag,
updateResponseHeadersPolicyResponse_responseHeadersPolicy,
updateResponseHeadersPolicyResponse_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 =
{
:: Prelude.Maybe Prelude.Text,
:: ResponseHeadersPolicyConfig,
:: Prelude.Text
}
deriving (UpdateResponseHeadersPolicy -> UpdateResponseHeadersPolicy -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateResponseHeadersPolicy -> UpdateResponseHeadersPolicy -> Bool
$c/= :: UpdateResponseHeadersPolicy -> UpdateResponseHeadersPolicy -> Bool
== :: UpdateResponseHeadersPolicy -> UpdateResponseHeadersPolicy -> Bool
$c== :: UpdateResponseHeadersPolicy -> UpdateResponseHeadersPolicy -> Bool
Prelude.Eq, ReadPrec [UpdateResponseHeadersPolicy]
ReadPrec UpdateResponseHeadersPolicy
Int -> ReadS UpdateResponseHeadersPolicy
ReadS [UpdateResponseHeadersPolicy]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateResponseHeadersPolicy]
$creadListPrec :: ReadPrec [UpdateResponseHeadersPolicy]
readPrec :: ReadPrec UpdateResponseHeadersPolicy
$creadPrec :: ReadPrec UpdateResponseHeadersPolicy
readList :: ReadS [UpdateResponseHeadersPolicy]
$creadList :: ReadS [UpdateResponseHeadersPolicy]
readsPrec :: Int -> ReadS UpdateResponseHeadersPolicy
$creadsPrec :: Int -> ReadS UpdateResponseHeadersPolicy
Prelude.Read, Int -> UpdateResponseHeadersPolicy -> ShowS
[UpdateResponseHeadersPolicy] -> ShowS
UpdateResponseHeadersPolicy -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateResponseHeadersPolicy] -> ShowS
$cshowList :: [UpdateResponseHeadersPolicy] -> ShowS
show :: UpdateResponseHeadersPolicy -> String
$cshow :: UpdateResponseHeadersPolicy -> String
showsPrec :: Int -> UpdateResponseHeadersPolicy -> ShowS
$cshowsPrec :: Int -> UpdateResponseHeadersPolicy -> ShowS
Prelude.Show, forall x.
Rep UpdateResponseHeadersPolicy x -> UpdateResponseHeadersPolicy
forall x.
UpdateResponseHeadersPolicy -> Rep UpdateResponseHeadersPolicy x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateResponseHeadersPolicy x -> UpdateResponseHeadersPolicy
$cfrom :: forall x.
UpdateResponseHeadersPolicy -> Rep UpdateResponseHeadersPolicy x
Prelude.Generic)
newUpdateResponseHeadersPolicy ::
ResponseHeadersPolicyConfig ->
Prelude.Text ->
UpdateResponseHeadersPolicy
ResponseHeadersPolicyConfig
pResponseHeadersPolicyConfig_
Text
pId_ =
UpdateResponseHeadersPolicy'
{ $sel:ifMatch:UpdateResponseHeadersPolicy' :: Maybe Text
ifMatch =
forall a. Maybe a
Prelude.Nothing,
$sel:responseHeadersPolicyConfig:UpdateResponseHeadersPolicy' :: ResponseHeadersPolicyConfig
responseHeadersPolicyConfig =
ResponseHeadersPolicyConfig
pResponseHeadersPolicyConfig_,
$sel:id:UpdateResponseHeadersPolicy' :: Text
id = Text
pId_
}
updateResponseHeadersPolicy_ifMatch :: Lens.Lens' UpdateResponseHeadersPolicy (Prelude.Maybe Prelude.Text)
= forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResponseHeadersPolicy' {Maybe Text
ifMatch :: Maybe Text
$sel:ifMatch:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> Maybe Text
ifMatch} -> Maybe Text
ifMatch) (\s :: UpdateResponseHeadersPolicy
s@UpdateResponseHeadersPolicy' {} Maybe Text
a -> UpdateResponseHeadersPolicy
s {$sel:ifMatch:UpdateResponseHeadersPolicy' :: Maybe Text
ifMatch = Maybe Text
a} :: UpdateResponseHeadersPolicy)
updateResponseHeadersPolicy_responseHeadersPolicyConfig :: Lens.Lens' UpdateResponseHeadersPolicy ResponseHeadersPolicyConfig
= forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResponseHeadersPolicy' {ResponseHeadersPolicyConfig
responseHeadersPolicyConfig :: ResponseHeadersPolicyConfig
$sel:responseHeadersPolicyConfig:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> ResponseHeadersPolicyConfig
responseHeadersPolicyConfig} -> ResponseHeadersPolicyConfig
responseHeadersPolicyConfig) (\s :: UpdateResponseHeadersPolicy
s@UpdateResponseHeadersPolicy' {} ResponseHeadersPolicyConfig
a -> UpdateResponseHeadersPolicy
s {$sel:responseHeadersPolicyConfig:UpdateResponseHeadersPolicy' :: ResponseHeadersPolicyConfig
responseHeadersPolicyConfig = ResponseHeadersPolicyConfig
a} :: UpdateResponseHeadersPolicy)
updateResponseHeadersPolicy_id :: Lens.Lens' UpdateResponseHeadersPolicy Prelude.Text
= forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResponseHeadersPolicy' {Text
id :: Text
$sel:id:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> Text
id} -> Text
id) (\s :: UpdateResponseHeadersPolicy
s@UpdateResponseHeadersPolicy' {} Text
a -> UpdateResponseHeadersPolicy
s {$sel:id:UpdateResponseHeadersPolicy' :: Text
id = Text
a} :: UpdateResponseHeadersPolicy)
instance Core.AWSRequest UpdateResponseHeadersPolicy where
type
AWSResponse UpdateResponseHeadersPolicy =
UpdateResponseHeadersPolicyResponse
request :: (Service -> Service)
-> UpdateResponseHeadersPolicy
-> Request UpdateResponseHeadersPolicy
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 UpdateResponseHeadersPolicy
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateResponseHeadersPolicy)))
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 ResponseHeadersPolicy
-> Int
-> UpdateResponseHeadersPolicyResponse
UpdateResponseHeadersPolicyResponse'
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 UpdateResponseHeadersPolicy where
hashWithSalt :: Int -> UpdateResponseHeadersPolicy -> Int
hashWithSalt Int
_salt UpdateResponseHeadersPolicy' {Maybe Text
Text
ResponseHeadersPolicyConfig
id :: Text
responseHeadersPolicyConfig :: ResponseHeadersPolicyConfig
ifMatch :: Maybe Text
$sel:id:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> Text
$sel:responseHeadersPolicyConfig:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> ResponseHeadersPolicyConfig
$sel:ifMatch:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> 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` ResponseHeadersPolicyConfig
responseHeadersPolicyConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id
instance Prelude.NFData UpdateResponseHeadersPolicy where
rnf :: UpdateResponseHeadersPolicy -> ()
rnf UpdateResponseHeadersPolicy' {Maybe Text
Text
ResponseHeadersPolicyConfig
id :: Text
responseHeadersPolicyConfig :: ResponseHeadersPolicyConfig
ifMatch :: Maybe Text
$sel:id:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> Text
$sel:responseHeadersPolicyConfig:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> ResponseHeadersPolicyConfig
$sel:ifMatch:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> 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 ResponseHeadersPolicyConfig
responseHeadersPolicyConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
id
instance Data.ToElement UpdateResponseHeadersPolicy where
toElement :: UpdateResponseHeadersPolicy -> Element
toElement UpdateResponseHeadersPolicy' {Maybe Text
Text
ResponseHeadersPolicyConfig
id :: Text
responseHeadersPolicyConfig :: ResponseHeadersPolicyConfig
ifMatch :: Maybe Text
$sel:id:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> Text
$sel:responseHeadersPolicyConfig:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> ResponseHeadersPolicyConfig
$sel:ifMatch:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> Maybe Text
..} =
forall a. ToXML a => Name -> a -> Element
Data.mkElement
Name
"{http://cloudfront.amazonaws.com/doc/2020-05-31/}ResponseHeadersPolicyConfig"
ResponseHeadersPolicyConfig
responseHeadersPolicyConfig
instance Data.ToHeaders UpdateResponseHeadersPolicy where
toHeaders :: UpdateResponseHeadersPolicy -> ResponseHeaders
toHeaders UpdateResponseHeadersPolicy' {Maybe Text
Text
ResponseHeadersPolicyConfig
id :: Text
responseHeadersPolicyConfig :: ResponseHeadersPolicyConfig
ifMatch :: Maybe Text
$sel:id:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> Text
$sel:responseHeadersPolicyConfig:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> ResponseHeadersPolicyConfig
$sel:ifMatch:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> 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 UpdateResponseHeadersPolicy where
toPath :: UpdateResponseHeadersPolicy -> ByteString
toPath UpdateResponseHeadersPolicy' {Maybe Text
Text
ResponseHeadersPolicyConfig
id :: Text
responseHeadersPolicyConfig :: ResponseHeadersPolicyConfig
ifMatch :: Maybe Text
$sel:id:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> Text
$sel:responseHeadersPolicyConfig:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> ResponseHeadersPolicyConfig
$sel:ifMatch:UpdateResponseHeadersPolicy' :: UpdateResponseHeadersPolicy -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/2020-05-31/response-headers-policy/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
id
]
instance Data.ToQuery UpdateResponseHeadersPolicy where
toQuery :: UpdateResponseHeadersPolicy -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data =
{
:: Prelude.Maybe Prelude.Text,
:: Prelude.Maybe ResponseHeadersPolicy,
:: Prelude.Int
}
deriving (UpdateResponseHeadersPolicyResponse
-> UpdateResponseHeadersPolicyResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateResponseHeadersPolicyResponse
-> UpdateResponseHeadersPolicyResponse -> Bool
$c/= :: UpdateResponseHeadersPolicyResponse
-> UpdateResponseHeadersPolicyResponse -> Bool
== :: UpdateResponseHeadersPolicyResponse
-> UpdateResponseHeadersPolicyResponse -> Bool
$c== :: UpdateResponseHeadersPolicyResponse
-> UpdateResponseHeadersPolicyResponse -> Bool
Prelude.Eq, ReadPrec [UpdateResponseHeadersPolicyResponse]
ReadPrec UpdateResponseHeadersPolicyResponse
Int -> ReadS UpdateResponseHeadersPolicyResponse
ReadS [UpdateResponseHeadersPolicyResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateResponseHeadersPolicyResponse]
$creadListPrec :: ReadPrec [UpdateResponseHeadersPolicyResponse]
readPrec :: ReadPrec UpdateResponseHeadersPolicyResponse
$creadPrec :: ReadPrec UpdateResponseHeadersPolicyResponse
readList :: ReadS [UpdateResponseHeadersPolicyResponse]
$creadList :: ReadS [UpdateResponseHeadersPolicyResponse]
readsPrec :: Int -> ReadS UpdateResponseHeadersPolicyResponse
$creadsPrec :: Int -> ReadS UpdateResponseHeadersPolicyResponse
Prelude.Read, Int -> UpdateResponseHeadersPolicyResponse -> ShowS
[UpdateResponseHeadersPolicyResponse] -> ShowS
UpdateResponseHeadersPolicyResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateResponseHeadersPolicyResponse] -> ShowS
$cshowList :: [UpdateResponseHeadersPolicyResponse] -> ShowS
show :: UpdateResponseHeadersPolicyResponse -> String
$cshow :: UpdateResponseHeadersPolicyResponse -> String
showsPrec :: Int -> UpdateResponseHeadersPolicyResponse -> ShowS
$cshowsPrec :: Int -> UpdateResponseHeadersPolicyResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateResponseHeadersPolicyResponse x
-> UpdateResponseHeadersPolicyResponse
forall x.
UpdateResponseHeadersPolicyResponse
-> Rep UpdateResponseHeadersPolicyResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateResponseHeadersPolicyResponse x
-> UpdateResponseHeadersPolicyResponse
$cfrom :: forall x.
UpdateResponseHeadersPolicyResponse
-> Rep UpdateResponseHeadersPolicyResponse x
Prelude.Generic)
newUpdateResponseHeadersPolicyResponse ::
Prelude.Int ->
UpdateResponseHeadersPolicyResponse
Int
pHttpStatus_ =
UpdateResponseHeadersPolicyResponse'
{ $sel:eTag:UpdateResponseHeadersPolicyResponse' :: Maybe Text
eTag =
forall a. Maybe a
Prelude.Nothing,
$sel:responseHeadersPolicy:UpdateResponseHeadersPolicyResponse' :: Maybe ResponseHeadersPolicy
responseHeadersPolicy =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateResponseHeadersPolicyResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateResponseHeadersPolicyResponse_eTag :: Lens.Lens' UpdateResponseHeadersPolicyResponse (Prelude.Maybe Prelude.Text)
= forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResponseHeadersPolicyResponse' {Maybe Text
eTag :: Maybe Text
$sel:eTag:UpdateResponseHeadersPolicyResponse' :: UpdateResponseHeadersPolicyResponse -> Maybe Text
eTag} -> Maybe Text
eTag) (\s :: UpdateResponseHeadersPolicyResponse
s@UpdateResponseHeadersPolicyResponse' {} Maybe Text
a -> UpdateResponseHeadersPolicyResponse
s {$sel:eTag:UpdateResponseHeadersPolicyResponse' :: Maybe Text
eTag = Maybe Text
a} :: UpdateResponseHeadersPolicyResponse)
updateResponseHeadersPolicyResponse_responseHeadersPolicy :: Lens.Lens' UpdateResponseHeadersPolicyResponse (Prelude.Maybe ResponseHeadersPolicy)
= forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResponseHeadersPolicyResponse' {Maybe ResponseHeadersPolicy
responseHeadersPolicy :: Maybe ResponseHeadersPolicy
$sel:responseHeadersPolicy:UpdateResponseHeadersPolicyResponse' :: UpdateResponseHeadersPolicyResponse -> Maybe ResponseHeadersPolicy
responseHeadersPolicy} -> Maybe ResponseHeadersPolicy
responseHeadersPolicy) (\s :: UpdateResponseHeadersPolicyResponse
s@UpdateResponseHeadersPolicyResponse' {} Maybe ResponseHeadersPolicy
a -> UpdateResponseHeadersPolicyResponse
s {$sel:responseHeadersPolicy:UpdateResponseHeadersPolicyResponse' :: Maybe ResponseHeadersPolicy
responseHeadersPolicy = Maybe ResponseHeadersPolicy
a} :: UpdateResponseHeadersPolicyResponse)
updateResponseHeadersPolicyResponse_httpStatus :: Lens.Lens' UpdateResponseHeadersPolicyResponse Prelude.Int
= forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateResponseHeadersPolicyResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateResponseHeadersPolicyResponse' :: UpdateResponseHeadersPolicyResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateResponseHeadersPolicyResponse
s@UpdateResponseHeadersPolicyResponse' {} Int
a -> UpdateResponseHeadersPolicyResponse
s {$sel:httpStatus:UpdateResponseHeadersPolicyResponse' :: Int
httpStatus = Int
a} :: UpdateResponseHeadersPolicyResponse)
instance
Prelude.NFData
UpdateResponseHeadersPolicyResponse
where
rnf :: UpdateResponseHeadersPolicyResponse -> ()
rnf UpdateResponseHeadersPolicyResponse' {Int
Maybe Text
Maybe ResponseHeadersPolicy
httpStatus :: Int
responseHeadersPolicy :: Maybe ResponseHeadersPolicy
eTag :: Maybe Text
$sel:httpStatus:UpdateResponseHeadersPolicyResponse' :: UpdateResponseHeadersPolicyResponse -> Int
$sel:responseHeadersPolicy:UpdateResponseHeadersPolicyResponse' :: UpdateResponseHeadersPolicyResponse -> Maybe ResponseHeadersPolicy
$sel:eTag:UpdateResponseHeadersPolicyResponse' :: UpdateResponseHeadersPolicyResponse -> 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 ResponseHeadersPolicy
responseHeadersPolicy
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus