{-# 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.IoTWireless.AssociateWirelessDeviceWithMulticastGroup
(
AssociateWirelessDeviceWithMulticastGroup (..),
newAssociateWirelessDeviceWithMulticastGroup,
associateWirelessDeviceWithMulticastGroup_id,
associateWirelessDeviceWithMulticastGroup_wirelessDeviceId,
AssociateWirelessDeviceWithMulticastGroupResponse (..),
newAssociateWirelessDeviceWithMulticastGroupResponse,
associateWirelessDeviceWithMulticastGroupResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IoTWireless.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data AssociateWirelessDeviceWithMulticastGroup = AssociateWirelessDeviceWithMulticastGroup'
{ AssociateWirelessDeviceWithMulticastGroup -> Text
id :: Prelude.Text,
AssociateWirelessDeviceWithMulticastGroup -> Text
wirelessDeviceId :: Prelude.Text
}
deriving (AssociateWirelessDeviceWithMulticastGroup
-> AssociateWirelessDeviceWithMulticastGroup -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AssociateWirelessDeviceWithMulticastGroup
-> AssociateWirelessDeviceWithMulticastGroup -> Bool
$c/= :: AssociateWirelessDeviceWithMulticastGroup
-> AssociateWirelessDeviceWithMulticastGroup -> Bool
== :: AssociateWirelessDeviceWithMulticastGroup
-> AssociateWirelessDeviceWithMulticastGroup -> Bool
$c== :: AssociateWirelessDeviceWithMulticastGroup
-> AssociateWirelessDeviceWithMulticastGroup -> Bool
Prelude.Eq, ReadPrec [AssociateWirelessDeviceWithMulticastGroup]
ReadPrec AssociateWirelessDeviceWithMulticastGroup
Int -> ReadS AssociateWirelessDeviceWithMulticastGroup
ReadS [AssociateWirelessDeviceWithMulticastGroup]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AssociateWirelessDeviceWithMulticastGroup]
$creadListPrec :: ReadPrec [AssociateWirelessDeviceWithMulticastGroup]
readPrec :: ReadPrec AssociateWirelessDeviceWithMulticastGroup
$creadPrec :: ReadPrec AssociateWirelessDeviceWithMulticastGroup
readList :: ReadS [AssociateWirelessDeviceWithMulticastGroup]
$creadList :: ReadS [AssociateWirelessDeviceWithMulticastGroup]
readsPrec :: Int -> ReadS AssociateWirelessDeviceWithMulticastGroup
$creadsPrec :: Int -> ReadS AssociateWirelessDeviceWithMulticastGroup
Prelude.Read, Int -> AssociateWirelessDeviceWithMulticastGroup -> ShowS
[AssociateWirelessDeviceWithMulticastGroup] -> ShowS
AssociateWirelessDeviceWithMulticastGroup -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AssociateWirelessDeviceWithMulticastGroup] -> ShowS
$cshowList :: [AssociateWirelessDeviceWithMulticastGroup] -> ShowS
show :: AssociateWirelessDeviceWithMulticastGroup -> String
$cshow :: AssociateWirelessDeviceWithMulticastGroup -> String
showsPrec :: Int -> AssociateWirelessDeviceWithMulticastGroup -> ShowS
$cshowsPrec :: Int -> AssociateWirelessDeviceWithMulticastGroup -> ShowS
Prelude.Show, forall x.
Rep AssociateWirelessDeviceWithMulticastGroup x
-> AssociateWirelessDeviceWithMulticastGroup
forall x.
AssociateWirelessDeviceWithMulticastGroup
-> Rep AssociateWirelessDeviceWithMulticastGroup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AssociateWirelessDeviceWithMulticastGroup x
-> AssociateWirelessDeviceWithMulticastGroup
$cfrom :: forall x.
AssociateWirelessDeviceWithMulticastGroup
-> Rep AssociateWirelessDeviceWithMulticastGroup x
Prelude.Generic)
newAssociateWirelessDeviceWithMulticastGroup ::
Prelude.Text ->
Prelude.Text ->
AssociateWirelessDeviceWithMulticastGroup
newAssociateWirelessDeviceWithMulticastGroup :: Text -> Text -> AssociateWirelessDeviceWithMulticastGroup
newAssociateWirelessDeviceWithMulticastGroup
Text
pId_
Text
pWirelessDeviceId_ =
AssociateWirelessDeviceWithMulticastGroup'
{ $sel:id:AssociateWirelessDeviceWithMulticastGroup' :: Text
id =
Text
pId_,
$sel:wirelessDeviceId:AssociateWirelessDeviceWithMulticastGroup' :: Text
wirelessDeviceId =
Text
pWirelessDeviceId_
}
associateWirelessDeviceWithMulticastGroup_id :: Lens.Lens' AssociateWirelessDeviceWithMulticastGroup Prelude.Text
associateWirelessDeviceWithMulticastGroup_id :: Lens' AssociateWirelessDeviceWithMulticastGroup Text
associateWirelessDeviceWithMulticastGroup_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AssociateWirelessDeviceWithMulticastGroup' {Text
id :: Text
$sel:id:AssociateWirelessDeviceWithMulticastGroup' :: AssociateWirelessDeviceWithMulticastGroup -> Text
id} -> Text
id) (\s :: AssociateWirelessDeviceWithMulticastGroup
s@AssociateWirelessDeviceWithMulticastGroup' {} Text
a -> AssociateWirelessDeviceWithMulticastGroup
s {$sel:id:AssociateWirelessDeviceWithMulticastGroup' :: Text
id = Text
a} :: AssociateWirelessDeviceWithMulticastGroup)
associateWirelessDeviceWithMulticastGroup_wirelessDeviceId :: Lens.Lens' AssociateWirelessDeviceWithMulticastGroup Prelude.Text
associateWirelessDeviceWithMulticastGroup_wirelessDeviceId :: Lens' AssociateWirelessDeviceWithMulticastGroup Text
associateWirelessDeviceWithMulticastGroup_wirelessDeviceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AssociateWirelessDeviceWithMulticastGroup' {Text
wirelessDeviceId :: Text
$sel:wirelessDeviceId:AssociateWirelessDeviceWithMulticastGroup' :: AssociateWirelessDeviceWithMulticastGroup -> Text
wirelessDeviceId} -> Text
wirelessDeviceId) (\s :: AssociateWirelessDeviceWithMulticastGroup
s@AssociateWirelessDeviceWithMulticastGroup' {} Text
a -> AssociateWirelessDeviceWithMulticastGroup
s {$sel:wirelessDeviceId:AssociateWirelessDeviceWithMulticastGroup' :: Text
wirelessDeviceId = Text
a} :: AssociateWirelessDeviceWithMulticastGroup)
instance
Core.AWSRequest
AssociateWirelessDeviceWithMulticastGroup
where
type
AWSResponse
AssociateWirelessDeviceWithMulticastGroup =
AssociateWirelessDeviceWithMulticastGroupResponse
request :: (Service -> Service)
-> AssociateWirelessDeviceWithMulticastGroup
-> Request AssociateWirelessDeviceWithMulticastGroup
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy AssociateWirelessDeviceWithMulticastGroup
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse
(AWSResponse AssociateWirelessDeviceWithMulticastGroup)))
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 -> AssociateWirelessDeviceWithMulticastGroupResponse
AssociateWirelessDeviceWithMulticastGroupResponse'
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
AssociateWirelessDeviceWithMulticastGroup
where
hashWithSalt :: Int -> AssociateWirelessDeviceWithMulticastGroup -> Int
hashWithSalt
Int
_salt
AssociateWirelessDeviceWithMulticastGroup' {Text
wirelessDeviceId :: Text
id :: Text
$sel:wirelessDeviceId:AssociateWirelessDeviceWithMulticastGroup' :: AssociateWirelessDeviceWithMulticastGroup -> Text
$sel:id:AssociateWirelessDeviceWithMulticastGroup' :: AssociateWirelessDeviceWithMulticastGroup -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
wirelessDeviceId
instance
Prelude.NFData
AssociateWirelessDeviceWithMulticastGroup
where
rnf :: AssociateWirelessDeviceWithMulticastGroup -> ()
rnf AssociateWirelessDeviceWithMulticastGroup' {Text
wirelessDeviceId :: Text
id :: Text
$sel:wirelessDeviceId:AssociateWirelessDeviceWithMulticastGroup' :: AssociateWirelessDeviceWithMulticastGroup -> Text
$sel:id:AssociateWirelessDeviceWithMulticastGroup' :: AssociateWirelessDeviceWithMulticastGroup -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
id
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
wirelessDeviceId
instance
Data.ToHeaders
AssociateWirelessDeviceWithMulticastGroup
where
toHeaders :: AssociateWirelessDeviceWithMulticastGroup -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance
Data.ToJSON
AssociateWirelessDeviceWithMulticastGroup
where
toJSON :: AssociateWirelessDeviceWithMulticastGroup -> Value
toJSON AssociateWirelessDeviceWithMulticastGroup' {Text
wirelessDeviceId :: Text
id :: Text
$sel:wirelessDeviceId:AssociateWirelessDeviceWithMulticastGroup' :: AssociateWirelessDeviceWithMulticastGroup -> Text
$sel:id:AssociateWirelessDeviceWithMulticastGroup' :: AssociateWirelessDeviceWithMulticastGroup -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"WirelessDeviceId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
wirelessDeviceId)
]
)
instance
Data.ToPath
AssociateWirelessDeviceWithMulticastGroup
where
toPath :: AssociateWirelessDeviceWithMulticastGroup -> ByteString
toPath AssociateWirelessDeviceWithMulticastGroup' {Text
wirelessDeviceId :: Text
id :: Text
$sel:wirelessDeviceId:AssociateWirelessDeviceWithMulticastGroup' :: AssociateWirelessDeviceWithMulticastGroup -> Text
$sel:id:AssociateWirelessDeviceWithMulticastGroup' :: AssociateWirelessDeviceWithMulticastGroup -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/multicast-groups/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
id,
ByteString
"/wireless-device"
]
instance
Data.ToQuery
AssociateWirelessDeviceWithMulticastGroup
where
toQuery :: AssociateWirelessDeviceWithMulticastGroup -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data AssociateWirelessDeviceWithMulticastGroupResponse = AssociateWirelessDeviceWithMulticastGroupResponse'
{
AssociateWirelessDeviceWithMulticastGroupResponse -> Int
httpStatus :: Prelude.Int
}
deriving (AssociateWirelessDeviceWithMulticastGroupResponse
-> AssociateWirelessDeviceWithMulticastGroupResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AssociateWirelessDeviceWithMulticastGroupResponse
-> AssociateWirelessDeviceWithMulticastGroupResponse -> Bool
$c/= :: AssociateWirelessDeviceWithMulticastGroupResponse
-> AssociateWirelessDeviceWithMulticastGroupResponse -> Bool
== :: AssociateWirelessDeviceWithMulticastGroupResponse
-> AssociateWirelessDeviceWithMulticastGroupResponse -> Bool
$c== :: AssociateWirelessDeviceWithMulticastGroupResponse
-> AssociateWirelessDeviceWithMulticastGroupResponse -> Bool
Prelude.Eq, ReadPrec [AssociateWirelessDeviceWithMulticastGroupResponse]
ReadPrec AssociateWirelessDeviceWithMulticastGroupResponse
Int -> ReadS AssociateWirelessDeviceWithMulticastGroupResponse
ReadS [AssociateWirelessDeviceWithMulticastGroupResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AssociateWirelessDeviceWithMulticastGroupResponse]
$creadListPrec :: ReadPrec [AssociateWirelessDeviceWithMulticastGroupResponse]
readPrec :: ReadPrec AssociateWirelessDeviceWithMulticastGroupResponse
$creadPrec :: ReadPrec AssociateWirelessDeviceWithMulticastGroupResponse
readList :: ReadS [AssociateWirelessDeviceWithMulticastGroupResponse]
$creadList :: ReadS [AssociateWirelessDeviceWithMulticastGroupResponse]
readsPrec :: Int -> ReadS AssociateWirelessDeviceWithMulticastGroupResponse
$creadsPrec :: Int -> ReadS AssociateWirelessDeviceWithMulticastGroupResponse
Prelude.Read, Int -> AssociateWirelessDeviceWithMulticastGroupResponse -> ShowS
[AssociateWirelessDeviceWithMulticastGroupResponse] -> ShowS
AssociateWirelessDeviceWithMulticastGroupResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AssociateWirelessDeviceWithMulticastGroupResponse] -> ShowS
$cshowList :: [AssociateWirelessDeviceWithMulticastGroupResponse] -> ShowS
show :: AssociateWirelessDeviceWithMulticastGroupResponse -> String
$cshow :: AssociateWirelessDeviceWithMulticastGroupResponse -> String
showsPrec :: Int -> AssociateWirelessDeviceWithMulticastGroupResponse -> ShowS
$cshowsPrec :: Int -> AssociateWirelessDeviceWithMulticastGroupResponse -> ShowS
Prelude.Show, forall x.
Rep AssociateWirelessDeviceWithMulticastGroupResponse x
-> AssociateWirelessDeviceWithMulticastGroupResponse
forall x.
AssociateWirelessDeviceWithMulticastGroupResponse
-> Rep AssociateWirelessDeviceWithMulticastGroupResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AssociateWirelessDeviceWithMulticastGroupResponse x
-> AssociateWirelessDeviceWithMulticastGroupResponse
$cfrom :: forall x.
AssociateWirelessDeviceWithMulticastGroupResponse
-> Rep AssociateWirelessDeviceWithMulticastGroupResponse x
Prelude.Generic)
newAssociateWirelessDeviceWithMulticastGroupResponse ::
Prelude.Int ->
AssociateWirelessDeviceWithMulticastGroupResponse
newAssociateWirelessDeviceWithMulticastGroupResponse :: Int -> AssociateWirelessDeviceWithMulticastGroupResponse
newAssociateWirelessDeviceWithMulticastGroupResponse
Int
pHttpStatus_ =
AssociateWirelessDeviceWithMulticastGroupResponse'
{ $sel:httpStatus:AssociateWirelessDeviceWithMulticastGroupResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
associateWirelessDeviceWithMulticastGroupResponse_httpStatus :: Lens.Lens' AssociateWirelessDeviceWithMulticastGroupResponse Prelude.Int
associateWirelessDeviceWithMulticastGroupResponse_httpStatus :: Lens' AssociateWirelessDeviceWithMulticastGroupResponse Int
associateWirelessDeviceWithMulticastGroupResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AssociateWirelessDeviceWithMulticastGroupResponse' {Int
httpStatus :: Int
$sel:httpStatus:AssociateWirelessDeviceWithMulticastGroupResponse' :: AssociateWirelessDeviceWithMulticastGroupResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: AssociateWirelessDeviceWithMulticastGroupResponse
s@AssociateWirelessDeviceWithMulticastGroupResponse' {} Int
a -> AssociateWirelessDeviceWithMulticastGroupResponse
s {$sel:httpStatus:AssociateWirelessDeviceWithMulticastGroupResponse' :: Int
httpStatus = Int
a} :: AssociateWirelessDeviceWithMulticastGroupResponse)
instance
Prelude.NFData
AssociateWirelessDeviceWithMulticastGroupResponse
where
rnf :: AssociateWirelessDeviceWithMulticastGroupResponse -> ()
rnf
AssociateWirelessDeviceWithMulticastGroupResponse' {Int
httpStatus :: Int
$sel:httpStatus:AssociateWirelessDeviceWithMulticastGroupResponse' :: AssociateWirelessDeviceWithMulticastGroupResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus