{-# 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.IoTFleetWise.PutLoggingOptions
(
PutLoggingOptions (..),
newPutLoggingOptions,
putLoggingOptions_cloudWatchLogDelivery,
PutLoggingOptionsResponse (..),
newPutLoggingOptionsResponse,
putLoggingOptionsResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IoTFleetWise.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data PutLoggingOptions = PutLoggingOptions'
{
PutLoggingOptions -> CloudWatchLogDeliveryOptions
cloudWatchLogDelivery :: CloudWatchLogDeliveryOptions
}
deriving (PutLoggingOptions -> PutLoggingOptions -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutLoggingOptions -> PutLoggingOptions -> Bool
$c/= :: PutLoggingOptions -> PutLoggingOptions -> Bool
== :: PutLoggingOptions -> PutLoggingOptions -> Bool
$c== :: PutLoggingOptions -> PutLoggingOptions -> Bool
Prelude.Eq, ReadPrec [PutLoggingOptions]
ReadPrec PutLoggingOptions
Int -> ReadS PutLoggingOptions
ReadS [PutLoggingOptions]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutLoggingOptions]
$creadListPrec :: ReadPrec [PutLoggingOptions]
readPrec :: ReadPrec PutLoggingOptions
$creadPrec :: ReadPrec PutLoggingOptions
readList :: ReadS [PutLoggingOptions]
$creadList :: ReadS [PutLoggingOptions]
readsPrec :: Int -> ReadS PutLoggingOptions
$creadsPrec :: Int -> ReadS PutLoggingOptions
Prelude.Read, Int -> PutLoggingOptions -> ShowS
[PutLoggingOptions] -> ShowS
PutLoggingOptions -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutLoggingOptions] -> ShowS
$cshowList :: [PutLoggingOptions] -> ShowS
show :: PutLoggingOptions -> String
$cshow :: PutLoggingOptions -> String
showsPrec :: Int -> PutLoggingOptions -> ShowS
$cshowsPrec :: Int -> PutLoggingOptions -> ShowS
Prelude.Show, forall x. Rep PutLoggingOptions x -> PutLoggingOptions
forall x. PutLoggingOptions -> Rep PutLoggingOptions x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PutLoggingOptions x -> PutLoggingOptions
$cfrom :: forall x. PutLoggingOptions -> Rep PutLoggingOptions x
Prelude.Generic)
newPutLoggingOptions ::
CloudWatchLogDeliveryOptions ->
PutLoggingOptions
newPutLoggingOptions :: CloudWatchLogDeliveryOptions -> PutLoggingOptions
newPutLoggingOptions CloudWatchLogDeliveryOptions
pCloudWatchLogDelivery_ =
PutLoggingOptions'
{ $sel:cloudWatchLogDelivery:PutLoggingOptions' :: CloudWatchLogDeliveryOptions
cloudWatchLogDelivery =
CloudWatchLogDeliveryOptions
pCloudWatchLogDelivery_
}
putLoggingOptions_cloudWatchLogDelivery :: Lens.Lens' PutLoggingOptions CloudWatchLogDeliveryOptions
putLoggingOptions_cloudWatchLogDelivery :: Lens' PutLoggingOptions CloudWatchLogDeliveryOptions
putLoggingOptions_cloudWatchLogDelivery = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutLoggingOptions' {CloudWatchLogDeliveryOptions
cloudWatchLogDelivery :: CloudWatchLogDeliveryOptions
$sel:cloudWatchLogDelivery:PutLoggingOptions' :: PutLoggingOptions -> CloudWatchLogDeliveryOptions
cloudWatchLogDelivery} -> CloudWatchLogDeliveryOptions
cloudWatchLogDelivery) (\s :: PutLoggingOptions
s@PutLoggingOptions' {} CloudWatchLogDeliveryOptions
a -> PutLoggingOptions
s {$sel:cloudWatchLogDelivery:PutLoggingOptions' :: CloudWatchLogDeliveryOptions
cloudWatchLogDelivery = CloudWatchLogDeliveryOptions
a} :: PutLoggingOptions)
instance Core.AWSRequest PutLoggingOptions where
type
AWSResponse PutLoggingOptions =
PutLoggingOptionsResponse
request :: (Service -> Service)
-> PutLoggingOptions -> Request PutLoggingOptions
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy PutLoggingOptions
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse PutLoggingOptions)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> PutLoggingOptionsResponse
PutLoggingOptionsResponse'
forall (f :: * -> *) a b. Functor 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 PutLoggingOptions where
hashWithSalt :: Int -> PutLoggingOptions -> Int
hashWithSalt Int
_salt PutLoggingOptions' {CloudWatchLogDeliveryOptions
cloudWatchLogDelivery :: CloudWatchLogDeliveryOptions
$sel:cloudWatchLogDelivery:PutLoggingOptions' :: PutLoggingOptions -> CloudWatchLogDeliveryOptions
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` CloudWatchLogDeliveryOptions
cloudWatchLogDelivery
instance Prelude.NFData PutLoggingOptions where
rnf :: PutLoggingOptions -> ()
rnf PutLoggingOptions' {CloudWatchLogDeliveryOptions
cloudWatchLogDelivery :: CloudWatchLogDeliveryOptions
$sel:cloudWatchLogDelivery:PutLoggingOptions' :: PutLoggingOptions -> CloudWatchLogDeliveryOptions
..} =
forall a. NFData a => a -> ()
Prelude.rnf CloudWatchLogDeliveryOptions
cloudWatchLogDelivery
instance Data.ToHeaders PutLoggingOptions where
toHeaders :: PutLoggingOptions -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"IoTAutobahnControlPlane.PutLoggingOptions" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON PutLoggingOptions where
toJSON :: PutLoggingOptions -> Value
toJSON PutLoggingOptions' {CloudWatchLogDeliveryOptions
cloudWatchLogDelivery :: CloudWatchLogDeliveryOptions
$sel:cloudWatchLogDelivery:PutLoggingOptions' :: PutLoggingOptions -> CloudWatchLogDeliveryOptions
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
( Key
"cloudWatchLogDelivery"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= CloudWatchLogDeliveryOptions
cloudWatchLogDelivery
)
]
)
instance Data.ToPath PutLoggingOptions where
toPath :: PutLoggingOptions -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery PutLoggingOptions where
toQuery :: PutLoggingOptions -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data PutLoggingOptionsResponse = PutLoggingOptionsResponse'
{
PutLoggingOptionsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (PutLoggingOptionsResponse -> PutLoggingOptionsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutLoggingOptionsResponse -> PutLoggingOptionsResponse -> Bool
$c/= :: PutLoggingOptionsResponse -> PutLoggingOptionsResponse -> Bool
== :: PutLoggingOptionsResponse -> PutLoggingOptionsResponse -> Bool
$c== :: PutLoggingOptionsResponse -> PutLoggingOptionsResponse -> Bool
Prelude.Eq, ReadPrec [PutLoggingOptionsResponse]
ReadPrec PutLoggingOptionsResponse
Int -> ReadS PutLoggingOptionsResponse
ReadS [PutLoggingOptionsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutLoggingOptionsResponse]
$creadListPrec :: ReadPrec [PutLoggingOptionsResponse]
readPrec :: ReadPrec PutLoggingOptionsResponse
$creadPrec :: ReadPrec PutLoggingOptionsResponse
readList :: ReadS [PutLoggingOptionsResponse]
$creadList :: ReadS [PutLoggingOptionsResponse]
readsPrec :: Int -> ReadS PutLoggingOptionsResponse
$creadsPrec :: Int -> ReadS PutLoggingOptionsResponse
Prelude.Read, Int -> PutLoggingOptionsResponse -> ShowS
[PutLoggingOptionsResponse] -> ShowS
PutLoggingOptionsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutLoggingOptionsResponse] -> ShowS
$cshowList :: [PutLoggingOptionsResponse] -> ShowS
show :: PutLoggingOptionsResponse -> String
$cshow :: PutLoggingOptionsResponse -> String
showsPrec :: Int -> PutLoggingOptionsResponse -> ShowS
$cshowsPrec :: Int -> PutLoggingOptionsResponse -> ShowS
Prelude.Show, forall x.
Rep PutLoggingOptionsResponse x -> PutLoggingOptionsResponse
forall x.
PutLoggingOptionsResponse -> Rep PutLoggingOptionsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutLoggingOptionsResponse x -> PutLoggingOptionsResponse
$cfrom :: forall x.
PutLoggingOptionsResponse -> Rep PutLoggingOptionsResponse x
Prelude.Generic)
newPutLoggingOptionsResponse ::
Prelude.Int ->
PutLoggingOptionsResponse
newPutLoggingOptionsResponse :: Int -> PutLoggingOptionsResponse
newPutLoggingOptionsResponse Int
pHttpStatus_ =
PutLoggingOptionsResponse'
{ $sel:httpStatus:PutLoggingOptionsResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
putLoggingOptionsResponse_httpStatus :: Lens.Lens' PutLoggingOptionsResponse Prelude.Int
putLoggingOptionsResponse_httpStatus :: Lens' PutLoggingOptionsResponse Int
putLoggingOptionsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutLoggingOptionsResponse' {Int
httpStatus :: Int
$sel:httpStatus:PutLoggingOptionsResponse' :: PutLoggingOptionsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: PutLoggingOptionsResponse
s@PutLoggingOptionsResponse' {} Int
a -> PutLoggingOptionsResponse
s {$sel:httpStatus:PutLoggingOptionsResponse' :: Int
httpStatus = Int
a} :: PutLoggingOptionsResponse)
instance Prelude.NFData PutLoggingOptionsResponse where
rnf :: PutLoggingOptionsResponse -> ()
rnf PutLoggingOptionsResponse' {Int
httpStatus :: Int
$sel:httpStatus:PutLoggingOptionsResponse' :: PutLoggingOptionsResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus