{-# 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.CreateResponseHeadersPolicy
(
CreateResponseHeadersPolicy (..),
newCreateResponseHeadersPolicy,
createResponseHeadersPolicy_responseHeadersPolicyConfig,
CreateResponseHeadersPolicyResponse (..),
newCreateResponseHeadersPolicyResponse,
createResponseHeadersPolicyResponse_eTag,
createResponseHeadersPolicyResponse_location,
createResponseHeadersPolicyResponse_responseHeadersPolicy,
createResponseHeadersPolicyResponse_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 =
{
:: ResponseHeadersPolicyConfig
}
deriving (CreateResponseHeadersPolicy -> CreateResponseHeadersPolicy -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateResponseHeadersPolicy -> CreateResponseHeadersPolicy -> Bool
$c/= :: CreateResponseHeadersPolicy -> CreateResponseHeadersPolicy -> Bool
== :: CreateResponseHeadersPolicy -> CreateResponseHeadersPolicy -> Bool
$c== :: CreateResponseHeadersPolicy -> CreateResponseHeadersPolicy -> Bool
Prelude.Eq, ReadPrec [CreateResponseHeadersPolicy]
ReadPrec CreateResponseHeadersPolicy
Int -> ReadS CreateResponseHeadersPolicy
ReadS [CreateResponseHeadersPolicy]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateResponseHeadersPolicy]
$creadListPrec :: ReadPrec [CreateResponseHeadersPolicy]
readPrec :: ReadPrec CreateResponseHeadersPolicy
$creadPrec :: ReadPrec CreateResponseHeadersPolicy
readList :: ReadS [CreateResponseHeadersPolicy]
$creadList :: ReadS [CreateResponseHeadersPolicy]
readsPrec :: Int -> ReadS CreateResponseHeadersPolicy
$creadsPrec :: Int -> ReadS CreateResponseHeadersPolicy
Prelude.Read, Int -> CreateResponseHeadersPolicy -> ShowS
[CreateResponseHeadersPolicy] -> ShowS
CreateResponseHeadersPolicy -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateResponseHeadersPolicy] -> ShowS
$cshowList :: [CreateResponseHeadersPolicy] -> ShowS
show :: CreateResponseHeadersPolicy -> String
$cshow :: CreateResponseHeadersPolicy -> String
showsPrec :: Int -> CreateResponseHeadersPolicy -> ShowS
$cshowsPrec :: Int -> CreateResponseHeadersPolicy -> ShowS
Prelude.Show, forall x.
Rep CreateResponseHeadersPolicy x -> CreateResponseHeadersPolicy
forall x.
CreateResponseHeadersPolicy -> Rep CreateResponseHeadersPolicy x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateResponseHeadersPolicy x -> CreateResponseHeadersPolicy
$cfrom :: forall x.
CreateResponseHeadersPolicy -> Rep CreateResponseHeadersPolicy x
Prelude.Generic)
newCreateResponseHeadersPolicy ::
ResponseHeadersPolicyConfig ->
CreateResponseHeadersPolicy
ResponseHeadersPolicyConfig
pResponseHeadersPolicyConfig_ =
CreateResponseHeadersPolicy'
{ $sel:responseHeadersPolicyConfig:CreateResponseHeadersPolicy' :: ResponseHeadersPolicyConfig
responseHeadersPolicyConfig =
ResponseHeadersPolicyConfig
pResponseHeadersPolicyConfig_
}
createResponseHeadersPolicy_responseHeadersPolicyConfig :: Lens.Lens' CreateResponseHeadersPolicy ResponseHeadersPolicyConfig
= forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateResponseHeadersPolicy' {ResponseHeadersPolicyConfig
responseHeadersPolicyConfig :: ResponseHeadersPolicyConfig
$sel:responseHeadersPolicyConfig:CreateResponseHeadersPolicy' :: CreateResponseHeadersPolicy -> ResponseHeadersPolicyConfig
responseHeadersPolicyConfig} -> ResponseHeadersPolicyConfig
responseHeadersPolicyConfig) (\s :: CreateResponseHeadersPolicy
s@CreateResponseHeadersPolicy' {} ResponseHeadersPolicyConfig
a -> CreateResponseHeadersPolicy
s {$sel:responseHeadersPolicyConfig:CreateResponseHeadersPolicy' :: ResponseHeadersPolicyConfig
responseHeadersPolicyConfig = ResponseHeadersPolicyConfig
a} :: CreateResponseHeadersPolicy)
instance Core.AWSRequest CreateResponseHeadersPolicy where
type
AWSResponse CreateResponseHeadersPolicy =
CreateResponseHeadersPolicyResponse
request :: (Service -> Service)
-> CreateResponseHeadersPolicy
-> Request CreateResponseHeadersPolicy
request Service -> Service
overrides =
forall a. (ToRequest a, ToElement a) => Service -> a -> Request a
Request.postXML (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CreateResponseHeadersPolicy
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateResponseHeadersPolicy)))
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 Text
-> Maybe ResponseHeadersPolicy
-> Int
-> CreateResponseHeadersPolicyResponse
CreateResponseHeadersPolicyResponse'
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.<*> (ResponseHeaders
h forall a.
FromText a =>
ResponseHeaders -> HeaderName -> Either String (Maybe a)
Data..#? HeaderName
"Location")
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 CreateResponseHeadersPolicy where
hashWithSalt :: Int -> CreateResponseHeadersPolicy -> Int
hashWithSalt Int
_salt CreateResponseHeadersPolicy' {ResponseHeadersPolicyConfig
responseHeadersPolicyConfig :: ResponseHeadersPolicyConfig
$sel:responseHeadersPolicyConfig:CreateResponseHeadersPolicy' :: CreateResponseHeadersPolicy -> ResponseHeadersPolicyConfig
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ResponseHeadersPolicyConfig
responseHeadersPolicyConfig
instance Prelude.NFData CreateResponseHeadersPolicy where
rnf :: CreateResponseHeadersPolicy -> ()
rnf CreateResponseHeadersPolicy' {ResponseHeadersPolicyConfig
responseHeadersPolicyConfig :: ResponseHeadersPolicyConfig
$sel:responseHeadersPolicyConfig:CreateResponseHeadersPolicy' :: CreateResponseHeadersPolicy -> ResponseHeadersPolicyConfig
..} =
forall a. NFData a => a -> ()
Prelude.rnf ResponseHeadersPolicyConfig
responseHeadersPolicyConfig
instance Data.ToElement CreateResponseHeadersPolicy where
toElement :: CreateResponseHeadersPolicy -> Element
toElement CreateResponseHeadersPolicy' {ResponseHeadersPolicyConfig
responseHeadersPolicyConfig :: ResponseHeadersPolicyConfig
$sel:responseHeadersPolicyConfig:CreateResponseHeadersPolicy' :: CreateResponseHeadersPolicy -> ResponseHeadersPolicyConfig
..} =
forall a. ToXML a => Name -> a -> Element
Data.mkElement
Name
"{http://cloudfront.amazonaws.com/doc/2020-05-31/}ResponseHeadersPolicyConfig"
ResponseHeadersPolicyConfig
responseHeadersPolicyConfig
instance Data.ToHeaders CreateResponseHeadersPolicy where
toHeaders :: CreateResponseHeadersPolicy -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath CreateResponseHeadersPolicy where
toPath :: CreateResponseHeadersPolicy -> ByteString
toPath =
forall a b. a -> b -> a
Prelude.const ByteString
"/2020-05-31/response-headers-policy"
instance Data.ToQuery CreateResponseHeadersPolicy where
toQuery :: CreateResponseHeadersPolicy -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data =
{
:: Prelude.Maybe Prelude.Text,
:: Prelude.Maybe Prelude.Text,
:: Prelude.Maybe ResponseHeadersPolicy,
:: Prelude.Int
}
deriving (CreateResponseHeadersPolicyResponse
-> CreateResponseHeadersPolicyResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateResponseHeadersPolicyResponse
-> CreateResponseHeadersPolicyResponse -> Bool
$c/= :: CreateResponseHeadersPolicyResponse
-> CreateResponseHeadersPolicyResponse -> Bool
== :: CreateResponseHeadersPolicyResponse
-> CreateResponseHeadersPolicyResponse -> Bool
$c== :: CreateResponseHeadersPolicyResponse
-> CreateResponseHeadersPolicyResponse -> Bool
Prelude.Eq, ReadPrec [CreateResponseHeadersPolicyResponse]
ReadPrec CreateResponseHeadersPolicyResponse
Int -> ReadS CreateResponseHeadersPolicyResponse
ReadS [CreateResponseHeadersPolicyResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateResponseHeadersPolicyResponse]
$creadListPrec :: ReadPrec [CreateResponseHeadersPolicyResponse]
readPrec :: ReadPrec CreateResponseHeadersPolicyResponse
$creadPrec :: ReadPrec CreateResponseHeadersPolicyResponse
readList :: ReadS [CreateResponseHeadersPolicyResponse]
$creadList :: ReadS [CreateResponseHeadersPolicyResponse]
readsPrec :: Int -> ReadS CreateResponseHeadersPolicyResponse
$creadsPrec :: Int -> ReadS CreateResponseHeadersPolicyResponse
Prelude.Read, Int -> CreateResponseHeadersPolicyResponse -> ShowS
[CreateResponseHeadersPolicyResponse] -> ShowS
CreateResponseHeadersPolicyResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateResponseHeadersPolicyResponse] -> ShowS
$cshowList :: [CreateResponseHeadersPolicyResponse] -> ShowS
show :: CreateResponseHeadersPolicyResponse -> String
$cshow :: CreateResponseHeadersPolicyResponse -> String
showsPrec :: Int -> CreateResponseHeadersPolicyResponse -> ShowS
$cshowsPrec :: Int -> CreateResponseHeadersPolicyResponse -> ShowS
Prelude.Show, forall x.
Rep CreateResponseHeadersPolicyResponse x
-> CreateResponseHeadersPolicyResponse
forall x.
CreateResponseHeadersPolicyResponse
-> Rep CreateResponseHeadersPolicyResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateResponseHeadersPolicyResponse x
-> CreateResponseHeadersPolicyResponse
$cfrom :: forall x.
CreateResponseHeadersPolicyResponse
-> Rep CreateResponseHeadersPolicyResponse x
Prelude.Generic)
newCreateResponseHeadersPolicyResponse ::
Prelude.Int ->
CreateResponseHeadersPolicyResponse
Int
pHttpStatus_ =
CreateResponseHeadersPolicyResponse'
{ $sel:eTag:CreateResponseHeadersPolicyResponse' :: Maybe Text
eTag =
forall a. Maybe a
Prelude.Nothing,
$sel:location:CreateResponseHeadersPolicyResponse' :: Maybe Text
location = forall a. Maybe a
Prelude.Nothing,
$sel:responseHeadersPolicy:CreateResponseHeadersPolicyResponse' :: Maybe ResponseHeadersPolicy
responseHeadersPolicy =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateResponseHeadersPolicyResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createResponseHeadersPolicyResponse_eTag :: Lens.Lens' CreateResponseHeadersPolicyResponse (Prelude.Maybe Prelude.Text)
= forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateResponseHeadersPolicyResponse' {Maybe Text
eTag :: Maybe Text
$sel:eTag:CreateResponseHeadersPolicyResponse' :: CreateResponseHeadersPolicyResponse -> Maybe Text
eTag} -> Maybe Text
eTag) (\s :: CreateResponseHeadersPolicyResponse
s@CreateResponseHeadersPolicyResponse' {} Maybe Text
a -> CreateResponseHeadersPolicyResponse
s {$sel:eTag:CreateResponseHeadersPolicyResponse' :: Maybe Text
eTag = Maybe Text
a} :: CreateResponseHeadersPolicyResponse)
createResponseHeadersPolicyResponse_location :: Lens.Lens' CreateResponseHeadersPolicyResponse (Prelude.Maybe Prelude.Text)
= forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateResponseHeadersPolicyResponse' {Maybe Text
location :: Maybe Text
$sel:location:CreateResponseHeadersPolicyResponse' :: CreateResponseHeadersPolicyResponse -> Maybe Text
location} -> Maybe Text
location) (\s :: CreateResponseHeadersPolicyResponse
s@CreateResponseHeadersPolicyResponse' {} Maybe Text
a -> CreateResponseHeadersPolicyResponse
s {$sel:location:CreateResponseHeadersPolicyResponse' :: Maybe Text
location = Maybe Text
a} :: CreateResponseHeadersPolicyResponse)
createResponseHeadersPolicyResponse_responseHeadersPolicy :: Lens.Lens' CreateResponseHeadersPolicyResponse (Prelude.Maybe ResponseHeadersPolicy)
= forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateResponseHeadersPolicyResponse' {Maybe ResponseHeadersPolicy
responseHeadersPolicy :: Maybe ResponseHeadersPolicy
$sel:responseHeadersPolicy:CreateResponseHeadersPolicyResponse' :: CreateResponseHeadersPolicyResponse -> Maybe ResponseHeadersPolicy
responseHeadersPolicy} -> Maybe ResponseHeadersPolicy
responseHeadersPolicy) (\s :: CreateResponseHeadersPolicyResponse
s@CreateResponseHeadersPolicyResponse' {} Maybe ResponseHeadersPolicy
a -> CreateResponseHeadersPolicyResponse
s {$sel:responseHeadersPolicy:CreateResponseHeadersPolicyResponse' :: Maybe ResponseHeadersPolicy
responseHeadersPolicy = Maybe ResponseHeadersPolicy
a} :: CreateResponseHeadersPolicyResponse)
createResponseHeadersPolicyResponse_httpStatus :: Lens.Lens' CreateResponseHeadersPolicyResponse Prelude.Int
= forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateResponseHeadersPolicyResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateResponseHeadersPolicyResponse' :: CreateResponseHeadersPolicyResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateResponseHeadersPolicyResponse
s@CreateResponseHeadersPolicyResponse' {} Int
a -> CreateResponseHeadersPolicyResponse
s {$sel:httpStatus:CreateResponseHeadersPolicyResponse' :: Int
httpStatus = Int
a} :: CreateResponseHeadersPolicyResponse)
instance
Prelude.NFData
CreateResponseHeadersPolicyResponse
where
rnf :: CreateResponseHeadersPolicyResponse -> ()
rnf CreateResponseHeadersPolicyResponse' {Int
Maybe Text
Maybe ResponseHeadersPolicy
httpStatus :: Int
responseHeadersPolicy :: Maybe ResponseHeadersPolicy
location :: Maybe Text
eTag :: Maybe Text
$sel:httpStatus:CreateResponseHeadersPolicyResponse' :: CreateResponseHeadersPolicyResponse -> Int
$sel:responseHeadersPolicy:CreateResponseHeadersPolicyResponse' :: CreateResponseHeadersPolicyResponse -> Maybe ResponseHeadersPolicy
$sel:location:CreateResponseHeadersPolicyResponse' :: CreateResponseHeadersPolicyResponse -> Maybe Text
$sel:eTag:CreateResponseHeadersPolicyResponse' :: CreateResponseHeadersPolicyResponse -> 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 Text
location
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