{-# 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.CreateOriginRequestPolicy
(
CreateOriginRequestPolicy (..),
newCreateOriginRequestPolicy,
createOriginRequestPolicy_originRequestPolicyConfig,
CreateOriginRequestPolicyResponse (..),
newCreateOriginRequestPolicyResponse,
createOriginRequestPolicyResponse_eTag,
createOriginRequestPolicyResponse_location,
createOriginRequestPolicyResponse_originRequestPolicy,
createOriginRequestPolicyResponse_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 CreateOriginRequestPolicy = CreateOriginRequestPolicy'
{
CreateOriginRequestPolicy -> OriginRequestPolicyConfig
originRequestPolicyConfig :: OriginRequestPolicyConfig
}
deriving (CreateOriginRequestPolicy -> CreateOriginRequestPolicy -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateOriginRequestPolicy -> CreateOriginRequestPolicy -> Bool
$c/= :: CreateOriginRequestPolicy -> CreateOriginRequestPolicy -> Bool
== :: CreateOriginRequestPolicy -> CreateOriginRequestPolicy -> Bool
$c== :: CreateOriginRequestPolicy -> CreateOriginRequestPolicy -> Bool
Prelude.Eq, ReadPrec [CreateOriginRequestPolicy]
ReadPrec CreateOriginRequestPolicy
Int -> ReadS CreateOriginRequestPolicy
ReadS [CreateOriginRequestPolicy]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateOriginRequestPolicy]
$creadListPrec :: ReadPrec [CreateOriginRequestPolicy]
readPrec :: ReadPrec CreateOriginRequestPolicy
$creadPrec :: ReadPrec CreateOriginRequestPolicy
readList :: ReadS [CreateOriginRequestPolicy]
$creadList :: ReadS [CreateOriginRequestPolicy]
readsPrec :: Int -> ReadS CreateOriginRequestPolicy
$creadsPrec :: Int -> ReadS CreateOriginRequestPolicy
Prelude.Read, Int -> CreateOriginRequestPolicy -> ShowS
[CreateOriginRequestPolicy] -> ShowS
CreateOriginRequestPolicy -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateOriginRequestPolicy] -> ShowS
$cshowList :: [CreateOriginRequestPolicy] -> ShowS
show :: CreateOriginRequestPolicy -> String
$cshow :: CreateOriginRequestPolicy -> String
showsPrec :: Int -> CreateOriginRequestPolicy -> ShowS
$cshowsPrec :: Int -> CreateOriginRequestPolicy -> ShowS
Prelude.Show, forall x.
Rep CreateOriginRequestPolicy x -> CreateOriginRequestPolicy
forall x.
CreateOriginRequestPolicy -> Rep CreateOriginRequestPolicy x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateOriginRequestPolicy x -> CreateOriginRequestPolicy
$cfrom :: forall x.
CreateOriginRequestPolicy -> Rep CreateOriginRequestPolicy x
Prelude.Generic)
newCreateOriginRequestPolicy ::
OriginRequestPolicyConfig ->
CreateOriginRequestPolicy
newCreateOriginRequestPolicy :: OriginRequestPolicyConfig -> CreateOriginRequestPolicy
newCreateOriginRequestPolicy
OriginRequestPolicyConfig
pOriginRequestPolicyConfig_ =
CreateOriginRequestPolicy'
{ $sel:originRequestPolicyConfig:CreateOriginRequestPolicy' :: OriginRequestPolicyConfig
originRequestPolicyConfig =
OriginRequestPolicyConfig
pOriginRequestPolicyConfig_
}
createOriginRequestPolicy_originRequestPolicyConfig :: Lens.Lens' CreateOriginRequestPolicy OriginRequestPolicyConfig
createOriginRequestPolicy_originRequestPolicyConfig :: Lens' CreateOriginRequestPolicy OriginRequestPolicyConfig
createOriginRequestPolicy_originRequestPolicyConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginRequestPolicy' {OriginRequestPolicyConfig
originRequestPolicyConfig :: OriginRequestPolicyConfig
$sel:originRequestPolicyConfig:CreateOriginRequestPolicy' :: CreateOriginRequestPolicy -> OriginRequestPolicyConfig
originRequestPolicyConfig} -> OriginRequestPolicyConfig
originRequestPolicyConfig) (\s :: CreateOriginRequestPolicy
s@CreateOriginRequestPolicy' {} OriginRequestPolicyConfig
a -> CreateOriginRequestPolicy
s {$sel:originRequestPolicyConfig:CreateOriginRequestPolicy' :: OriginRequestPolicyConfig
originRequestPolicyConfig = OriginRequestPolicyConfig
a} :: CreateOriginRequestPolicy)
instance Core.AWSRequest CreateOriginRequestPolicy where
type
AWSResponse CreateOriginRequestPolicy =
CreateOriginRequestPolicyResponse
request :: (Service -> Service)
-> CreateOriginRequestPolicy -> Request CreateOriginRequestPolicy
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 CreateOriginRequestPolicy
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateOriginRequestPolicy)))
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 OriginRequestPolicy
-> Int
-> CreateOriginRequestPolicyResponse
CreateOriginRequestPolicyResponse'
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 CreateOriginRequestPolicy where
hashWithSalt :: Int -> CreateOriginRequestPolicy -> Int
hashWithSalt Int
_salt CreateOriginRequestPolicy' {OriginRequestPolicyConfig
originRequestPolicyConfig :: OriginRequestPolicyConfig
$sel:originRequestPolicyConfig:CreateOriginRequestPolicy' :: CreateOriginRequestPolicy -> OriginRequestPolicyConfig
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` OriginRequestPolicyConfig
originRequestPolicyConfig
instance Prelude.NFData CreateOriginRequestPolicy where
rnf :: CreateOriginRequestPolicy -> ()
rnf CreateOriginRequestPolicy' {OriginRequestPolicyConfig
originRequestPolicyConfig :: OriginRequestPolicyConfig
$sel:originRequestPolicyConfig:CreateOriginRequestPolicy' :: CreateOriginRequestPolicy -> OriginRequestPolicyConfig
..} =
forall a. NFData a => a -> ()
Prelude.rnf OriginRequestPolicyConfig
originRequestPolicyConfig
instance Data.ToElement CreateOriginRequestPolicy where
toElement :: CreateOriginRequestPolicy -> Element
toElement CreateOriginRequestPolicy' {OriginRequestPolicyConfig
originRequestPolicyConfig :: OriginRequestPolicyConfig
$sel:originRequestPolicyConfig:CreateOriginRequestPolicy' :: CreateOriginRequestPolicy -> OriginRequestPolicyConfig
..} =
forall a. ToXML a => Name -> a -> Element
Data.mkElement
Name
"{http://cloudfront.amazonaws.com/doc/2020-05-31/}OriginRequestPolicyConfig"
OriginRequestPolicyConfig
originRequestPolicyConfig
instance Data.ToHeaders CreateOriginRequestPolicy where
toHeaders :: CreateOriginRequestPolicy -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath CreateOriginRequestPolicy where
toPath :: CreateOriginRequestPolicy -> ByteString
toPath =
forall a b. a -> b -> a
Prelude.const ByteString
"/2020-05-31/origin-request-policy"
instance Data.ToQuery CreateOriginRequestPolicy where
toQuery :: CreateOriginRequestPolicy -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateOriginRequestPolicyResponse = CreateOriginRequestPolicyResponse'
{
CreateOriginRequestPolicyResponse -> Maybe Text
eTag :: Prelude.Maybe Prelude.Text,
CreateOriginRequestPolicyResponse -> Maybe Text
location :: Prelude.Maybe Prelude.Text,
CreateOriginRequestPolicyResponse -> Maybe OriginRequestPolicy
originRequestPolicy :: Prelude.Maybe OriginRequestPolicy,
CreateOriginRequestPolicyResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateOriginRequestPolicyResponse
-> CreateOriginRequestPolicyResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateOriginRequestPolicyResponse
-> CreateOriginRequestPolicyResponse -> Bool
$c/= :: CreateOriginRequestPolicyResponse
-> CreateOriginRequestPolicyResponse -> Bool
== :: CreateOriginRequestPolicyResponse
-> CreateOriginRequestPolicyResponse -> Bool
$c== :: CreateOriginRequestPolicyResponse
-> CreateOriginRequestPolicyResponse -> Bool
Prelude.Eq, ReadPrec [CreateOriginRequestPolicyResponse]
ReadPrec CreateOriginRequestPolicyResponse
Int -> ReadS CreateOriginRequestPolicyResponse
ReadS [CreateOriginRequestPolicyResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateOriginRequestPolicyResponse]
$creadListPrec :: ReadPrec [CreateOriginRequestPolicyResponse]
readPrec :: ReadPrec CreateOriginRequestPolicyResponse
$creadPrec :: ReadPrec CreateOriginRequestPolicyResponse
readList :: ReadS [CreateOriginRequestPolicyResponse]
$creadList :: ReadS [CreateOriginRequestPolicyResponse]
readsPrec :: Int -> ReadS CreateOriginRequestPolicyResponse
$creadsPrec :: Int -> ReadS CreateOriginRequestPolicyResponse
Prelude.Read, Int -> CreateOriginRequestPolicyResponse -> ShowS
[CreateOriginRequestPolicyResponse] -> ShowS
CreateOriginRequestPolicyResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateOriginRequestPolicyResponse] -> ShowS
$cshowList :: [CreateOriginRequestPolicyResponse] -> ShowS
show :: CreateOriginRequestPolicyResponse -> String
$cshow :: CreateOriginRequestPolicyResponse -> String
showsPrec :: Int -> CreateOriginRequestPolicyResponse -> ShowS
$cshowsPrec :: Int -> CreateOriginRequestPolicyResponse -> ShowS
Prelude.Show, forall x.
Rep CreateOriginRequestPolicyResponse x
-> CreateOriginRequestPolicyResponse
forall x.
CreateOriginRequestPolicyResponse
-> Rep CreateOriginRequestPolicyResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateOriginRequestPolicyResponse x
-> CreateOriginRequestPolicyResponse
$cfrom :: forall x.
CreateOriginRequestPolicyResponse
-> Rep CreateOriginRequestPolicyResponse x
Prelude.Generic)
newCreateOriginRequestPolicyResponse ::
Prelude.Int ->
CreateOriginRequestPolicyResponse
newCreateOriginRequestPolicyResponse :: Int -> CreateOriginRequestPolicyResponse
newCreateOriginRequestPolicyResponse Int
pHttpStatus_ =
CreateOriginRequestPolicyResponse'
{ $sel:eTag:CreateOriginRequestPolicyResponse' :: Maybe Text
eTag =
forall a. Maybe a
Prelude.Nothing,
$sel:location:CreateOriginRequestPolicyResponse' :: Maybe Text
location = forall a. Maybe a
Prelude.Nothing,
$sel:originRequestPolicy:CreateOriginRequestPolicyResponse' :: Maybe OriginRequestPolicy
originRequestPolicy = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateOriginRequestPolicyResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createOriginRequestPolicyResponse_eTag :: Lens.Lens' CreateOriginRequestPolicyResponse (Prelude.Maybe Prelude.Text)
createOriginRequestPolicyResponse_eTag :: Lens' CreateOriginRequestPolicyResponse (Maybe Text)
createOriginRequestPolicyResponse_eTag = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginRequestPolicyResponse' {Maybe Text
eTag :: Maybe Text
$sel:eTag:CreateOriginRequestPolicyResponse' :: CreateOriginRequestPolicyResponse -> Maybe Text
eTag} -> Maybe Text
eTag) (\s :: CreateOriginRequestPolicyResponse
s@CreateOriginRequestPolicyResponse' {} Maybe Text
a -> CreateOriginRequestPolicyResponse
s {$sel:eTag:CreateOriginRequestPolicyResponse' :: Maybe Text
eTag = Maybe Text
a} :: CreateOriginRequestPolicyResponse)
createOriginRequestPolicyResponse_location :: Lens.Lens' CreateOriginRequestPolicyResponse (Prelude.Maybe Prelude.Text)
createOriginRequestPolicyResponse_location :: Lens' CreateOriginRequestPolicyResponse (Maybe Text)
createOriginRequestPolicyResponse_location = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginRequestPolicyResponse' {Maybe Text
location :: Maybe Text
$sel:location:CreateOriginRequestPolicyResponse' :: CreateOriginRequestPolicyResponse -> Maybe Text
location} -> Maybe Text
location) (\s :: CreateOriginRequestPolicyResponse
s@CreateOriginRequestPolicyResponse' {} Maybe Text
a -> CreateOriginRequestPolicyResponse
s {$sel:location:CreateOriginRequestPolicyResponse' :: Maybe Text
location = Maybe Text
a} :: CreateOriginRequestPolicyResponse)
createOriginRequestPolicyResponse_originRequestPolicy :: Lens.Lens' CreateOriginRequestPolicyResponse (Prelude.Maybe OriginRequestPolicy)
createOriginRequestPolicyResponse_originRequestPolicy :: Lens' CreateOriginRequestPolicyResponse (Maybe OriginRequestPolicy)
createOriginRequestPolicyResponse_originRequestPolicy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginRequestPolicyResponse' {Maybe OriginRequestPolicy
originRequestPolicy :: Maybe OriginRequestPolicy
$sel:originRequestPolicy:CreateOriginRequestPolicyResponse' :: CreateOriginRequestPolicyResponse -> Maybe OriginRequestPolicy
originRequestPolicy} -> Maybe OriginRequestPolicy
originRequestPolicy) (\s :: CreateOriginRequestPolicyResponse
s@CreateOriginRequestPolicyResponse' {} Maybe OriginRequestPolicy
a -> CreateOriginRequestPolicyResponse
s {$sel:originRequestPolicy:CreateOriginRequestPolicyResponse' :: Maybe OriginRequestPolicy
originRequestPolicy = Maybe OriginRequestPolicy
a} :: CreateOriginRequestPolicyResponse)
createOriginRequestPolicyResponse_httpStatus :: Lens.Lens' CreateOriginRequestPolicyResponse Prelude.Int
createOriginRequestPolicyResponse_httpStatus :: Lens' CreateOriginRequestPolicyResponse Int
createOriginRequestPolicyResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOriginRequestPolicyResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateOriginRequestPolicyResponse' :: CreateOriginRequestPolicyResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateOriginRequestPolicyResponse
s@CreateOriginRequestPolicyResponse' {} Int
a -> CreateOriginRequestPolicyResponse
s {$sel:httpStatus:CreateOriginRequestPolicyResponse' :: Int
httpStatus = Int
a} :: CreateOriginRequestPolicyResponse)
instance
Prelude.NFData
CreateOriginRequestPolicyResponse
where
rnf :: CreateOriginRequestPolicyResponse -> ()
rnf CreateOriginRequestPolicyResponse' {Int
Maybe Text
Maybe OriginRequestPolicy
httpStatus :: Int
originRequestPolicy :: Maybe OriginRequestPolicy
location :: Maybe Text
eTag :: Maybe Text
$sel:httpStatus:CreateOriginRequestPolicyResponse' :: CreateOriginRequestPolicyResponse -> Int
$sel:originRequestPolicy:CreateOriginRequestPolicyResponse' :: CreateOriginRequestPolicyResponse -> Maybe OriginRequestPolicy
$sel:location:CreateOriginRequestPolicyResponse' :: CreateOriginRequestPolicyResponse -> Maybe Text
$sel:eTag:CreateOriginRequestPolicyResponse' :: CreateOriginRequestPolicyResponse -> 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 OriginRequestPolicy
originRequestPolicy
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus