{-# 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.Route53.CreateQueryLoggingConfig
(
CreateQueryLoggingConfig (..),
newCreateQueryLoggingConfig,
createQueryLoggingConfig_hostedZoneId,
createQueryLoggingConfig_cloudWatchLogsLogGroupArn,
CreateQueryLoggingConfigResponse (..),
newCreateQueryLoggingConfigResponse,
createQueryLoggingConfigResponse_httpStatus,
createQueryLoggingConfigResponse_queryLoggingConfig,
createQueryLoggingConfigResponse_location,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.Route53.Types
data CreateQueryLoggingConfig = CreateQueryLoggingConfig'
{
CreateQueryLoggingConfig -> ResourceId
hostedZoneId :: ResourceId,
CreateQueryLoggingConfig -> Text
cloudWatchLogsLogGroupArn :: Prelude.Text
}
deriving (CreateQueryLoggingConfig -> CreateQueryLoggingConfig -> Bool
(CreateQueryLoggingConfig -> CreateQueryLoggingConfig -> Bool)
-> (CreateQueryLoggingConfig -> CreateQueryLoggingConfig -> Bool)
-> Eq CreateQueryLoggingConfig
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateQueryLoggingConfig -> CreateQueryLoggingConfig -> Bool
$c/= :: CreateQueryLoggingConfig -> CreateQueryLoggingConfig -> Bool
== :: CreateQueryLoggingConfig -> CreateQueryLoggingConfig -> Bool
$c== :: CreateQueryLoggingConfig -> CreateQueryLoggingConfig -> Bool
Prelude.Eq, ReadPrec [CreateQueryLoggingConfig]
ReadPrec CreateQueryLoggingConfig
Int -> ReadS CreateQueryLoggingConfig
ReadS [CreateQueryLoggingConfig]
(Int -> ReadS CreateQueryLoggingConfig)
-> ReadS [CreateQueryLoggingConfig]
-> ReadPrec CreateQueryLoggingConfig
-> ReadPrec [CreateQueryLoggingConfig]
-> Read CreateQueryLoggingConfig
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateQueryLoggingConfig]
$creadListPrec :: ReadPrec [CreateQueryLoggingConfig]
readPrec :: ReadPrec CreateQueryLoggingConfig
$creadPrec :: ReadPrec CreateQueryLoggingConfig
readList :: ReadS [CreateQueryLoggingConfig]
$creadList :: ReadS [CreateQueryLoggingConfig]
readsPrec :: Int -> ReadS CreateQueryLoggingConfig
$creadsPrec :: Int -> ReadS CreateQueryLoggingConfig
Prelude.Read, Int -> CreateQueryLoggingConfig -> ShowS
[CreateQueryLoggingConfig] -> ShowS
CreateQueryLoggingConfig -> String
(Int -> CreateQueryLoggingConfig -> ShowS)
-> (CreateQueryLoggingConfig -> String)
-> ([CreateQueryLoggingConfig] -> ShowS)
-> Show CreateQueryLoggingConfig
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateQueryLoggingConfig] -> ShowS
$cshowList :: [CreateQueryLoggingConfig] -> ShowS
show :: CreateQueryLoggingConfig -> String
$cshow :: CreateQueryLoggingConfig -> String
showsPrec :: Int -> CreateQueryLoggingConfig -> ShowS
$cshowsPrec :: Int -> CreateQueryLoggingConfig -> ShowS
Prelude.Show, (forall x.
CreateQueryLoggingConfig -> Rep CreateQueryLoggingConfig x)
-> (forall x.
Rep CreateQueryLoggingConfig x -> CreateQueryLoggingConfig)
-> Generic CreateQueryLoggingConfig
forall x.
Rep CreateQueryLoggingConfig x -> CreateQueryLoggingConfig
forall x.
CreateQueryLoggingConfig -> Rep CreateQueryLoggingConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateQueryLoggingConfig x -> CreateQueryLoggingConfig
$cfrom :: forall x.
CreateQueryLoggingConfig -> Rep CreateQueryLoggingConfig x
Prelude.Generic)
newCreateQueryLoggingConfig ::
ResourceId ->
Prelude.Text ->
CreateQueryLoggingConfig
newCreateQueryLoggingConfig :: ResourceId -> Text -> CreateQueryLoggingConfig
newCreateQueryLoggingConfig
ResourceId
pHostedZoneId_
Text
pCloudWatchLogsLogGroupArn_ =
CreateQueryLoggingConfig' :: ResourceId -> Text -> CreateQueryLoggingConfig
CreateQueryLoggingConfig'
{ $sel:hostedZoneId:CreateQueryLoggingConfig' :: ResourceId
hostedZoneId =
ResourceId
pHostedZoneId_,
$sel:cloudWatchLogsLogGroupArn:CreateQueryLoggingConfig' :: Text
cloudWatchLogsLogGroupArn =
Text
pCloudWatchLogsLogGroupArn_
}
createQueryLoggingConfig_hostedZoneId :: Lens.Lens' CreateQueryLoggingConfig ResourceId
createQueryLoggingConfig_hostedZoneId :: (ResourceId -> f ResourceId)
-> CreateQueryLoggingConfig -> f CreateQueryLoggingConfig
createQueryLoggingConfig_hostedZoneId = (CreateQueryLoggingConfig -> ResourceId)
-> (CreateQueryLoggingConfig
-> ResourceId -> CreateQueryLoggingConfig)
-> Lens
CreateQueryLoggingConfig
CreateQueryLoggingConfig
ResourceId
ResourceId
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateQueryLoggingConfig' {ResourceId
hostedZoneId :: ResourceId
$sel:hostedZoneId:CreateQueryLoggingConfig' :: CreateQueryLoggingConfig -> ResourceId
hostedZoneId} -> ResourceId
hostedZoneId) (\s :: CreateQueryLoggingConfig
s@CreateQueryLoggingConfig' {} ResourceId
a -> CreateQueryLoggingConfig
s {$sel:hostedZoneId:CreateQueryLoggingConfig' :: ResourceId
hostedZoneId = ResourceId
a} :: CreateQueryLoggingConfig)
createQueryLoggingConfig_cloudWatchLogsLogGroupArn :: Lens.Lens' CreateQueryLoggingConfig Prelude.Text
createQueryLoggingConfig_cloudWatchLogsLogGroupArn :: (Text -> f Text)
-> CreateQueryLoggingConfig -> f CreateQueryLoggingConfig
createQueryLoggingConfig_cloudWatchLogsLogGroupArn = (CreateQueryLoggingConfig -> Text)
-> (CreateQueryLoggingConfig -> Text -> CreateQueryLoggingConfig)
-> Lens CreateQueryLoggingConfig CreateQueryLoggingConfig Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateQueryLoggingConfig' {Text
cloudWatchLogsLogGroupArn :: Text
$sel:cloudWatchLogsLogGroupArn:CreateQueryLoggingConfig' :: CreateQueryLoggingConfig -> Text
cloudWatchLogsLogGroupArn} -> Text
cloudWatchLogsLogGroupArn) (\s :: CreateQueryLoggingConfig
s@CreateQueryLoggingConfig' {} Text
a -> CreateQueryLoggingConfig
s {$sel:cloudWatchLogsLogGroupArn:CreateQueryLoggingConfig' :: Text
cloudWatchLogsLogGroupArn = Text
a} :: CreateQueryLoggingConfig)
instance Core.AWSRequest CreateQueryLoggingConfig where
type
AWSResponse CreateQueryLoggingConfig =
CreateQueryLoggingConfigResponse
request :: CreateQueryLoggingConfig -> Request CreateQueryLoggingConfig
request = Service
-> CreateQueryLoggingConfig -> Request CreateQueryLoggingConfig
forall a. (ToRequest a, ToElement a) => Service -> a -> Request a
Request.postXML Service
defaultService
response :: Logger
-> Service
-> Proxy CreateQueryLoggingConfig
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateQueryLoggingConfig)))
response =
(Int
-> ResponseHeaders
-> [Node]
-> Either String (AWSResponse CreateQueryLoggingConfig))
-> Logger
-> Service
-> Proxy CreateQueryLoggingConfig
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateQueryLoggingConfig)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML
( \Int
s ResponseHeaders
h [Node]
x ->
Int
-> QueryLoggingConfig -> Text -> CreateQueryLoggingConfigResponse
CreateQueryLoggingConfigResponse'
(Int
-> QueryLoggingConfig -> Text -> CreateQueryLoggingConfigResponse)
-> Either String Int
-> Either
String
(QueryLoggingConfig -> Text -> CreateQueryLoggingConfigResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
Either
String
(QueryLoggingConfig -> Text -> CreateQueryLoggingConfigResponse)
-> Either String QueryLoggingConfig
-> Either String (Text -> CreateQueryLoggingConfigResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String QueryLoggingConfig
forall a. FromXML a => [Node] -> Text -> Either String a
Core..@ Text
"QueryLoggingConfig")
Either String (Text -> CreateQueryLoggingConfigResponse)
-> Either String Text
-> Either String CreateQueryLoggingConfigResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (ResponseHeaders
h ResponseHeaders -> HeaderName -> Either String Text
forall a.
FromText a =>
ResponseHeaders -> HeaderName -> Either String a
Core..# HeaderName
"Location")
)
instance Prelude.Hashable CreateQueryLoggingConfig
instance Prelude.NFData CreateQueryLoggingConfig
instance Core.ToElement CreateQueryLoggingConfig where
toElement :: CreateQueryLoggingConfig -> Element
toElement =
Name -> CreateQueryLoggingConfig -> Element
forall a. ToXML a => Name -> a -> Element
Core.mkElement
Name
"{https://route53.amazonaws.com/doc/2013-04-01/}CreateQueryLoggingConfigRequest"
instance Core.ToHeaders CreateQueryLoggingConfig where
toHeaders :: CreateQueryLoggingConfig -> ResponseHeaders
toHeaders = ResponseHeaders -> CreateQueryLoggingConfig -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const ResponseHeaders
forall a. Monoid a => a
Prelude.mempty
instance Core.ToPath CreateQueryLoggingConfig where
toPath :: CreateQueryLoggingConfig -> ByteString
toPath =
ByteString -> CreateQueryLoggingConfig -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/2013-04-01/queryloggingconfig"
instance Core.ToQuery CreateQueryLoggingConfig where
toQuery :: CreateQueryLoggingConfig -> QueryString
toQuery = QueryString -> CreateQueryLoggingConfig -> QueryString
forall a b. a -> b -> a
Prelude.const QueryString
forall a. Monoid a => a
Prelude.mempty
instance Core.ToXML CreateQueryLoggingConfig where
toXML :: CreateQueryLoggingConfig -> XML
toXML CreateQueryLoggingConfig' {Text
ResourceId
cloudWatchLogsLogGroupArn :: Text
hostedZoneId :: ResourceId
$sel:cloudWatchLogsLogGroupArn:CreateQueryLoggingConfig' :: CreateQueryLoggingConfig -> Text
$sel:hostedZoneId:CreateQueryLoggingConfig' :: CreateQueryLoggingConfig -> ResourceId
..} =
[XML] -> XML
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ Name
"HostedZoneId" Name -> ResourceId -> XML
forall a. ToXML a => Name -> a -> XML
Core.@= ResourceId
hostedZoneId,
Name
"CloudWatchLogsLogGroupArn"
Name -> Text -> XML
forall a. ToXML a => Name -> a -> XML
Core.@= Text
cloudWatchLogsLogGroupArn
]
data CreateQueryLoggingConfigResponse = CreateQueryLoggingConfigResponse'
{
CreateQueryLoggingConfigResponse -> Int
httpStatus :: Prelude.Int,
CreateQueryLoggingConfigResponse -> QueryLoggingConfig
queryLoggingConfig :: QueryLoggingConfig,
CreateQueryLoggingConfigResponse -> Text
location :: Prelude.Text
}
deriving (CreateQueryLoggingConfigResponse
-> CreateQueryLoggingConfigResponse -> Bool
(CreateQueryLoggingConfigResponse
-> CreateQueryLoggingConfigResponse -> Bool)
-> (CreateQueryLoggingConfigResponse
-> CreateQueryLoggingConfigResponse -> Bool)
-> Eq CreateQueryLoggingConfigResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateQueryLoggingConfigResponse
-> CreateQueryLoggingConfigResponse -> Bool
$c/= :: CreateQueryLoggingConfigResponse
-> CreateQueryLoggingConfigResponse -> Bool
== :: CreateQueryLoggingConfigResponse
-> CreateQueryLoggingConfigResponse -> Bool
$c== :: CreateQueryLoggingConfigResponse
-> CreateQueryLoggingConfigResponse -> Bool
Prelude.Eq, ReadPrec [CreateQueryLoggingConfigResponse]
ReadPrec CreateQueryLoggingConfigResponse
Int -> ReadS CreateQueryLoggingConfigResponse
ReadS [CreateQueryLoggingConfigResponse]
(Int -> ReadS CreateQueryLoggingConfigResponse)
-> ReadS [CreateQueryLoggingConfigResponse]
-> ReadPrec CreateQueryLoggingConfigResponse
-> ReadPrec [CreateQueryLoggingConfigResponse]
-> Read CreateQueryLoggingConfigResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateQueryLoggingConfigResponse]
$creadListPrec :: ReadPrec [CreateQueryLoggingConfigResponse]
readPrec :: ReadPrec CreateQueryLoggingConfigResponse
$creadPrec :: ReadPrec CreateQueryLoggingConfigResponse
readList :: ReadS [CreateQueryLoggingConfigResponse]
$creadList :: ReadS [CreateQueryLoggingConfigResponse]
readsPrec :: Int -> ReadS CreateQueryLoggingConfigResponse
$creadsPrec :: Int -> ReadS CreateQueryLoggingConfigResponse
Prelude.Read, Int -> CreateQueryLoggingConfigResponse -> ShowS
[CreateQueryLoggingConfigResponse] -> ShowS
CreateQueryLoggingConfigResponse -> String
(Int -> CreateQueryLoggingConfigResponse -> ShowS)
-> (CreateQueryLoggingConfigResponse -> String)
-> ([CreateQueryLoggingConfigResponse] -> ShowS)
-> Show CreateQueryLoggingConfigResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateQueryLoggingConfigResponse] -> ShowS
$cshowList :: [CreateQueryLoggingConfigResponse] -> ShowS
show :: CreateQueryLoggingConfigResponse -> String
$cshow :: CreateQueryLoggingConfigResponse -> String
showsPrec :: Int -> CreateQueryLoggingConfigResponse -> ShowS
$cshowsPrec :: Int -> CreateQueryLoggingConfigResponse -> ShowS
Prelude.Show, (forall x.
CreateQueryLoggingConfigResponse
-> Rep CreateQueryLoggingConfigResponse x)
-> (forall x.
Rep CreateQueryLoggingConfigResponse x
-> CreateQueryLoggingConfigResponse)
-> Generic CreateQueryLoggingConfigResponse
forall x.
Rep CreateQueryLoggingConfigResponse x
-> CreateQueryLoggingConfigResponse
forall x.
CreateQueryLoggingConfigResponse
-> Rep CreateQueryLoggingConfigResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateQueryLoggingConfigResponse x
-> CreateQueryLoggingConfigResponse
$cfrom :: forall x.
CreateQueryLoggingConfigResponse
-> Rep CreateQueryLoggingConfigResponse x
Prelude.Generic)
newCreateQueryLoggingConfigResponse ::
Prelude.Int ->
QueryLoggingConfig ->
Prelude.Text ->
CreateQueryLoggingConfigResponse
newCreateQueryLoggingConfigResponse :: Int
-> QueryLoggingConfig -> Text -> CreateQueryLoggingConfigResponse
newCreateQueryLoggingConfigResponse
Int
pHttpStatus_
QueryLoggingConfig
pQueryLoggingConfig_
Text
pLocation_ =
CreateQueryLoggingConfigResponse' :: Int
-> QueryLoggingConfig -> Text -> CreateQueryLoggingConfigResponse
CreateQueryLoggingConfigResponse'
{ $sel:httpStatus:CreateQueryLoggingConfigResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:queryLoggingConfig:CreateQueryLoggingConfigResponse' :: QueryLoggingConfig
queryLoggingConfig = QueryLoggingConfig
pQueryLoggingConfig_,
$sel:location:CreateQueryLoggingConfigResponse' :: Text
location = Text
pLocation_
}
createQueryLoggingConfigResponse_httpStatus :: Lens.Lens' CreateQueryLoggingConfigResponse Prelude.Int
createQueryLoggingConfigResponse_httpStatus :: (Int -> f Int)
-> CreateQueryLoggingConfigResponse
-> f CreateQueryLoggingConfigResponse
createQueryLoggingConfigResponse_httpStatus = (CreateQueryLoggingConfigResponse -> Int)
-> (CreateQueryLoggingConfigResponse
-> Int -> CreateQueryLoggingConfigResponse)
-> Lens
CreateQueryLoggingConfigResponse
CreateQueryLoggingConfigResponse
Int
Int
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateQueryLoggingConfigResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateQueryLoggingConfigResponse' :: CreateQueryLoggingConfigResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateQueryLoggingConfigResponse
s@CreateQueryLoggingConfigResponse' {} Int
a -> CreateQueryLoggingConfigResponse
s {$sel:httpStatus:CreateQueryLoggingConfigResponse' :: Int
httpStatus = Int
a} :: CreateQueryLoggingConfigResponse)
createQueryLoggingConfigResponse_queryLoggingConfig :: Lens.Lens' CreateQueryLoggingConfigResponse QueryLoggingConfig
createQueryLoggingConfigResponse_queryLoggingConfig :: (QueryLoggingConfig -> f QueryLoggingConfig)
-> CreateQueryLoggingConfigResponse
-> f CreateQueryLoggingConfigResponse
createQueryLoggingConfigResponse_queryLoggingConfig = (CreateQueryLoggingConfigResponse -> QueryLoggingConfig)
-> (CreateQueryLoggingConfigResponse
-> QueryLoggingConfig -> CreateQueryLoggingConfigResponse)
-> Lens
CreateQueryLoggingConfigResponse
CreateQueryLoggingConfigResponse
QueryLoggingConfig
QueryLoggingConfig
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateQueryLoggingConfigResponse' {QueryLoggingConfig
queryLoggingConfig :: QueryLoggingConfig
$sel:queryLoggingConfig:CreateQueryLoggingConfigResponse' :: CreateQueryLoggingConfigResponse -> QueryLoggingConfig
queryLoggingConfig} -> QueryLoggingConfig
queryLoggingConfig) (\s :: CreateQueryLoggingConfigResponse
s@CreateQueryLoggingConfigResponse' {} QueryLoggingConfig
a -> CreateQueryLoggingConfigResponse
s {$sel:queryLoggingConfig:CreateQueryLoggingConfigResponse' :: QueryLoggingConfig
queryLoggingConfig = QueryLoggingConfig
a} :: CreateQueryLoggingConfigResponse)
createQueryLoggingConfigResponse_location :: Lens.Lens' CreateQueryLoggingConfigResponse Prelude.Text
createQueryLoggingConfigResponse_location :: (Text -> f Text)
-> CreateQueryLoggingConfigResponse
-> f CreateQueryLoggingConfigResponse
createQueryLoggingConfigResponse_location = (CreateQueryLoggingConfigResponse -> Text)
-> (CreateQueryLoggingConfigResponse
-> Text -> CreateQueryLoggingConfigResponse)
-> Lens
CreateQueryLoggingConfigResponse
CreateQueryLoggingConfigResponse
Text
Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateQueryLoggingConfigResponse' {Text
location :: Text
$sel:location:CreateQueryLoggingConfigResponse' :: CreateQueryLoggingConfigResponse -> Text
location} -> Text
location) (\s :: CreateQueryLoggingConfigResponse
s@CreateQueryLoggingConfigResponse' {} Text
a -> CreateQueryLoggingConfigResponse
s {$sel:location:CreateQueryLoggingConfigResponse' :: Text
location = Text
a} :: CreateQueryLoggingConfigResponse)
instance
Prelude.NFData
CreateQueryLoggingConfigResponse