{-# 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.AlexaBusiness.AssociateSkillWithSkillGroup
(
AssociateSkillWithSkillGroup (..),
newAssociateSkillWithSkillGroup,
associateSkillWithSkillGroup_skillGroupArn,
associateSkillWithSkillGroup_skillId,
AssociateSkillWithSkillGroupResponse (..),
newAssociateSkillWithSkillGroupResponse,
associateSkillWithSkillGroupResponse_httpStatus,
)
where
import Amazonka.AlexaBusiness.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 AssociateSkillWithSkillGroup = AssociateSkillWithSkillGroup'
{
AssociateSkillWithSkillGroup -> Maybe Text
skillGroupArn :: Prelude.Maybe Prelude.Text,
AssociateSkillWithSkillGroup -> Text
skillId :: Prelude.Text
}
deriving (AssociateSkillWithSkillGroup
-> AssociateSkillWithSkillGroup -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AssociateSkillWithSkillGroup
-> AssociateSkillWithSkillGroup -> Bool
$c/= :: AssociateSkillWithSkillGroup
-> AssociateSkillWithSkillGroup -> Bool
== :: AssociateSkillWithSkillGroup
-> AssociateSkillWithSkillGroup -> Bool
$c== :: AssociateSkillWithSkillGroup
-> AssociateSkillWithSkillGroup -> Bool
Prelude.Eq, ReadPrec [AssociateSkillWithSkillGroup]
ReadPrec AssociateSkillWithSkillGroup
Int -> ReadS AssociateSkillWithSkillGroup
ReadS [AssociateSkillWithSkillGroup]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AssociateSkillWithSkillGroup]
$creadListPrec :: ReadPrec [AssociateSkillWithSkillGroup]
readPrec :: ReadPrec AssociateSkillWithSkillGroup
$creadPrec :: ReadPrec AssociateSkillWithSkillGroup
readList :: ReadS [AssociateSkillWithSkillGroup]
$creadList :: ReadS [AssociateSkillWithSkillGroup]
readsPrec :: Int -> ReadS AssociateSkillWithSkillGroup
$creadsPrec :: Int -> ReadS AssociateSkillWithSkillGroup
Prelude.Read, Int -> AssociateSkillWithSkillGroup -> ShowS
[AssociateSkillWithSkillGroup] -> ShowS
AssociateSkillWithSkillGroup -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AssociateSkillWithSkillGroup] -> ShowS
$cshowList :: [AssociateSkillWithSkillGroup] -> ShowS
show :: AssociateSkillWithSkillGroup -> String
$cshow :: AssociateSkillWithSkillGroup -> String
showsPrec :: Int -> AssociateSkillWithSkillGroup -> ShowS
$cshowsPrec :: Int -> AssociateSkillWithSkillGroup -> ShowS
Prelude.Show, forall x.
Rep AssociateSkillWithSkillGroup x -> AssociateSkillWithSkillGroup
forall x.
AssociateSkillWithSkillGroup -> Rep AssociateSkillWithSkillGroup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AssociateSkillWithSkillGroup x -> AssociateSkillWithSkillGroup
$cfrom :: forall x.
AssociateSkillWithSkillGroup -> Rep AssociateSkillWithSkillGroup x
Prelude.Generic)
newAssociateSkillWithSkillGroup ::
Prelude.Text ->
AssociateSkillWithSkillGroup
newAssociateSkillWithSkillGroup :: Text -> AssociateSkillWithSkillGroup
newAssociateSkillWithSkillGroup Text
pSkillId_ =
AssociateSkillWithSkillGroup'
{ $sel:skillGroupArn:AssociateSkillWithSkillGroup' :: Maybe Text
skillGroupArn =
forall a. Maybe a
Prelude.Nothing,
$sel:skillId:AssociateSkillWithSkillGroup' :: Text
skillId = Text
pSkillId_
}
associateSkillWithSkillGroup_skillGroupArn :: Lens.Lens' AssociateSkillWithSkillGroup (Prelude.Maybe Prelude.Text)
associateSkillWithSkillGroup_skillGroupArn :: Lens' AssociateSkillWithSkillGroup (Maybe Text)
associateSkillWithSkillGroup_skillGroupArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AssociateSkillWithSkillGroup' {Maybe Text
skillGroupArn :: Maybe Text
$sel:skillGroupArn:AssociateSkillWithSkillGroup' :: AssociateSkillWithSkillGroup -> Maybe Text
skillGroupArn} -> Maybe Text
skillGroupArn) (\s :: AssociateSkillWithSkillGroup
s@AssociateSkillWithSkillGroup' {} Maybe Text
a -> AssociateSkillWithSkillGroup
s {$sel:skillGroupArn:AssociateSkillWithSkillGroup' :: Maybe Text
skillGroupArn = Maybe Text
a} :: AssociateSkillWithSkillGroup)
associateSkillWithSkillGroup_skillId :: Lens.Lens' AssociateSkillWithSkillGroup Prelude.Text
associateSkillWithSkillGroup_skillId :: Lens' AssociateSkillWithSkillGroup Text
associateSkillWithSkillGroup_skillId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AssociateSkillWithSkillGroup' {Text
skillId :: Text
$sel:skillId:AssociateSkillWithSkillGroup' :: AssociateSkillWithSkillGroup -> Text
skillId} -> Text
skillId) (\s :: AssociateSkillWithSkillGroup
s@AssociateSkillWithSkillGroup' {} Text
a -> AssociateSkillWithSkillGroup
s {$sel:skillId:AssociateSkillWithSkillGroup' :: Text
skillId = Text
a} :: AssociateSkillWithSkillGroup)
instance Core.AWSRequest AssociateSkillWithSkillGroup where
type
AWSResponse AssociateSkillWithSkillGroup =
AssociateSkillWithSkillGroupResponse
request :: (Service -> Service)
-> AssociateSkillWithSkillGroup
-> Request AssociateSkillWithSkillGroup
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 AssociateSkillWithSkillGroup
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse AssociateSkillWithSkillGroup)))
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 -> AssociateSkillWithSkillGroupResponse
AssociateSkillWithSkillGroupResponse'
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
AssociateSkillWithSkillGroup
where
hashWithSalt :: Int -> AssociateSkillWithSkillGroup -> Int
hashWithSalt Int
_salt AssociateSkillWithSkillGroup' {Maybe Text
Text
skillId :: Text
skillGroupArn :: Maybe Text
$sel:skillId:AssociateSkillWithSkillGroup' :: AssociateSkillWithSkillGroup -> Text
$sel:skillGroupArn:AssociateSkillWithSkillGroup' :: AssociateSkillWithSkillGroup -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
skillGroupArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
skillId
instance Prelude.NFData AssociateSkillWithSkillGroup where
rnf :: AssociateSkillWithSkillGroup -> ()
rnf AssociateSkillWithSkillGroup' {Maybe Text
Text
skillId :: Text
skillGroupArn :: Maybe Text
$sel:skillId:AssociateSkillWithSkillGroup' :: AssociateSkillWithSkillGroup -> Text
$sel:skillGroupArn:AssociateSkillWithSkillGroup' :: AssociateSkillWithSkillGroup -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
skillGroupArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
skillId
instance Data.ToHeaders AssociateSkillWithSkillGroup where
toHeaders :: AssociateSkillWithSkillGroup -> 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
"AlexaForBusiness.AssociateSkillWithSkillGroup" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON AssociateSkillWithSkillGroup where
toJSON :: AssociateSkillWithSkillGroup -> Value
toJSON AssociateSkillWithSkillGroup' {Maybe Text
Text
skillId :: Text
skillGroupArn :: Maybe Text
$sel:skillId:AssociateSkillWithSkillGroup' :: AssociateSkillWithSkillGroup -> Text
$sel:skillGroupArn:AssociateSkillWithSkillGroup' :: AssociateSkillWithSkillGroup -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"SkillGroupArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
skillGroupArn,
forall a. a -> Maybe a
Prelude.Just (Key
"SkillId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
skillId)
]
)
instance Data.ToPath AssociateSkillWithSkillGroup where
toPath :: AssociateSkillWithSkillGroup -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery AssociateSkillWithSkillGroup where
toQuery :: AssociateSkillWithSkillGroup -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data AssociateSkillWithSkillGroupResponse = AssociateSkillWithSkillGroupResponse'
{
AssociateSkillWithSkillGroupResponse -> Int
httpStatus :: Prelude.Int
}
deriving (AssociateSkillWithSkillGroupResponse
-> AssociateSkillWithSkillGroupResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AssociateSkillWithSkillGroupResponse
-> AssociateSkillWithSkillGroupResponse -> Bool
$c/= :: AssociateSkillWithSkillGroupResponse
-> AssociateSkillWithSkillGroupResponse -> Bool
== :: AssociateSkillWithSkillGroupResponse
-> AssociateSkillWithSkillGroupResponse -> Bool
$c== :: AssociateSkillWithSkillGroupResponse
-> AssociateSkillWithSkillGroupResponse -> Bool
Prelude.Eq, ReadPrec [AssociateSkillWithSkillGroupResponse]
ReadPrec AssociateSkillWithSkillGroupResponse
Int -> ReadS AssociateSkillWithSkillGroupResponse
ReadS [AssociateSkillWithSkillGroupResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AssociateSkillWithSkillGroupResponse]
$creadListPrec :: ReadPrec [AssociateSkillWithSkillGroupResponse]
readPrec :: ReadPrec AssociateSkillWithSkillGroupResponse
$creadPrec :: ReadPrec AssociateSkillWithSkillGroupResponse
readList :: ReadS [AssociateSkillWithSkillGroupResponse]
$creadList :: ReadS [AssociateSkillWithSkillGroupResponse]
readsPrec :: Int -> ReadS AssociateSkillWithSkillGroupResponse
$creadsPrec :: Int -> ReadS AssociateSkillWithSkillGroupResponse
Prelude.Read, Int -> AssociateSkillWithSkillGroupResponse -> ShowS
[AssociateSkillWithSkillGroupResponse] -> ShowS
AssociateSkillWithSkillGroupResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AssociateSkillWithSkillGroupResponse] -> ShowS
$cshowList :: [AssociateSkillWithSkillGroupResponse] -> ShowS
show :: AssociateSkillWithSkillGroupResponse -> String
$cshow :: AssociateSkillWithSkillGroupResponse -> String
showsPrec :: Int -> AssociateSkillWithSkillGroupResponse -> ShowS
$cshowsPrec :: Int -> AssociateSkillWithSkillGroupResponse -> ShowS
Prelude.Show, forall x.
Rep AssociateSkillWithSkillGroupResponse x
-> AssociateSkillWithSkillGroupResponse
forall x.
AssociateSkillWithSkillGroupResponse
-> Rep AssociateSkillWithSkillGroupResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AssociateSkillWithSkillGroupResponse x
-> AssociateSkillWithSkillGroupResponse
$cfrom :: forall x.
AssociateSkillWithSkillGroupResponse
-> Rep AssociateSkillWithSkillGroupResponse x
Prelude.Generic)
newAssociateSkillWithSkillGroupResponse ::
Prelude.Int ->
AssociateSkillWithSkillGroupResponse
newAssociateSkillWithSkillGroupResponse :: Int -> AssociateSkillWithSkillGroupResponse
newAssociateSkillWithSkillGroupResponse Int
pHttpStatus_ =
AssociateSkillWithSkillGroupResponse'
{ $sel:httpStatus:AssociateSkillWithSkillGroupResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
associateSkillWithSkillGroupResponse_httpStatus :: Lens.Lens' AssociateSkillWithSkillGroupResponse Prelude.Int
associateSkillWithSkillGroupResponse_httpStatus :: Lens' AssociateSkillWithSkillGroupResponse Int
associateSkillWithSkillGroupResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AssociateSkillWithSkillGroupResponse' {Int
httpStatus :: Int
$sel:httpStatus:AssociateSkillWithSkillGroupResponse' :: AssociateSkillWithSkillGroupResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: AssociateSkillWithSkillGroupResponse
s@AssociateSkillWithSkillGroupResponse' {} Int
a -> AssociateSkillWithSkillGroupResponse
s {$sel:httpStatus:AssociateSkillWithSkillGroupResponse' :: Int
httpStatus = Int
a} :: AssociateSkillWithSkillGroupResponse)
instance
Prelude.NFData
AssociateSkillWithSkillGroupResponse
where
rnf :: AssociateSkillWithSkillGroupResponse -> ()
rnf AssociateSkillWithSkillGroupResponse' {Int
httpStatus :: Int
$sel:httpStatus:AssociateSkillWithSkillGroupResponse' :: AssociateSkillWithSkillGroupResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus