{-# 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.CreateSkillGroup
(
CreateSkillGroup (..),
newCreateSkillGroup,
createSkillGroup_clientRequestToken,
createSkillGroup_description,
createSkillGroup_tags,
createSkillGroup_skillGroupName,
CreateSkillGroupResponse (..),
newCreateSkillGroupResponse,
createSkillGroupResponse_skillGroupArn,
createSkillGroupResponse_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 CreateSkillGroup = CreateSkillGroup'
{
CreateSkillGroup -> Maybe Text
clientRequestToken :: Prelude.Maybe Prelude.Text,
CreateSkillGroup -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
CreateSkillGroup -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
CreateSkillGroup -> Text
skillGroupName :: Prelude.Text
}
deriving (CreateSkillGroup -> CreateSkillGroup -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateSkillGroup -> CreateSkillGroup -> Bool
$c/= :: CreateSkillGroup -> CreateSkillGroup -> Bool
== :: CreateSkillGroup -> CreateSkillGroup -> Bool
$c== :: CreateSkillGroup -> CreateSkillGroup -> Bool
Prelude.Eq, ReadPrec [CreateSkillGroup]
ReadPrec CreateSkillGroup
Int -> ReadS CreateSkillGroup
ReadS [CreateSkillGroup]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateSkillGroup]
$creadListPrec :: ReadPrec [CreateSkillGroup]
readPrec :: ReadPrec CreateSkillGroup
$creadPrec :: ReadPrec CreateSkillGroup
readList :: ReadS [CreateSkillGroup]
$creadList :: ReadS [CreateSkillGroup]
readsPrec :: Int -> ReadS CreateSkillGroup
$creadsPrec :: Int -> ReadS CreateSkillGroup
Prelude.Read, Int -> CreateSkillGroup -> ShowS
[CreateSkillGroup] -> ShowS
CreateSkillGroup -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateSkillGroup] -> ShowS
$cshowList :: [CreateSkillGroup] -> ShowS
show :: CreateSkillGroup -> String
$cshow :: CreateSkillGroup -> String
showsPrec :: Int -> CreateSkillGroup -> ShowS
$cshowsPrec :: Int -> CreateSkillGroup -> ShowS
Prelude.Show, forall x. Rep CreateSkillGroup x -> CreateSkillGroup
forall x. CreateSkillGroup -> Rep CreateSkillGroup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateSkillGroup x -> CreateSkillGroup
$cfrom :: forall x. CreateSkillGroup -> Rep CreateSkillGroup x
Prelude.Generic)
newCreateSkillGroup ::
Prelude.Text ->
CreateSkillGroup
newCreateSkillGroup :: Text -> CreateSkillGroup
newCreateSkillGroup Text
pSkillGroupName_ =
CreateSkillGroup'
{ $sel:clientRequestToken:CreateSkillGroup' :: Maybe Text
clientRequestToken =
forall a. Maybe a
Prelude.Nothing,
$sel:description:CreateSkillGroup' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:tags:CreateSkillGroup' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
$sel:skillGroupName:CreateSkillGroup' :: Text
skillGroupName = Text
pSkillGroupName_
}
createSkillGroup_clientRequestToken :: Lens.Lens' CreateSkillGroup (Prelude.Maybe Prelude.Text)
createSkillGroup_clientRequestToken :: Lens' CreateSkillGroup (Maybe Text)
createSkillGroup_clientRequestToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSkillGroup' {Maybe Text
clientRequestToken :: Maybe Text
$sel:clientRequestToken:CreateSkillGroup' :: CreateSkillGroup -> Maybe Text
clientRequestToken} -> Maybe Text
clientRequestToken) (\s :: CreateSkillGroup
s@CreateSkillGroup' {} Maybe Text
a -> CreateSkillGroup
s {$sel:clientRequestToken:CreateSkillGroup' :: Maybe Text
clientRequestToken = Maybe Text
a} :: CreateSkillGroup)
createSkillGroup_description :: Lens.Lens' CreateSkillGroup (Prelude.Maybe Prelude.Text)
createSkillGroup_description :: Lens' CreateSkillGroup (Maybe Text)
createSkillGroup_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSkillGroup' {Maybe Text
description :: Maybe Text
$sel:description:CreateSkillGroup' :: CreateSkillGroup -> Maybe Text
description} -> Maybe Text
description) (\s :: CreateSkillGroup
s@CreateSkillGroup' {} Maybe Text
a -> CreateSkillGroup
s {$sel:description:CreateSkillGroup' :: Maybe Text
description = Maybe Text
a} :: CreateSkillGroup)
createSkillGroup_tags :: Lens.Lens' CreateSkillGroup (Prelude.Maybe [Tag])
createSkillGroup_tags :: Lens' CreateSkillGroup (Maybe [Tag])
createSkillGroup_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSkillGroup' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:CreateSkillGroup' :: CreateSkillGroup -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: CreateSkillGroup
s@CreateSkillGroup' {} Maybe [Tag]
a -> CreateSkillGroup
s {$sel:tags:CreateSkillGroup' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: CreateSkillGroup) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
createSkillGroup_skillGroupName :: Lens.Lens' CreateSkillGroup Prelude.Text
createSkillGroup_skillGroupName :: Lens' CreateSkillGroup Text
createSkillGroup_skillGroupName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSkillGroup' {Text
skillGroupName :: Text
$sel:skillGroupName:CreateSkillGroup' :: CreateSkillGroup -> Text
skillGroupName} -> Text
skillGroupName) (\s :: CreateSkillGroup
s@CreateSkillGroup' {} Text
a -> CreateSkillGroup
s {$sel:skillGroupName:CreateSkillGroup' :: Text
skillGroupName = Text
a} :: CreateSkillGroup)
instance Core.AWSRequest CreateSkillGroup where
type
AWSResponse CreateSkillGroup =
CreateSkillGroupResponse
request :: (Service -> Service)
-> CreateSkillGroup -> Request CreateSkillGroup
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 CreateSkillGroup
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateSkillGroup)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe Text -> Int -> CreateSkillGroupResponse
CreateSkillGroupResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SkillGroupArn")
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 CreateSkillGroup where
hashWithSalt :: Int -> CreateSkillGroup -> Int
hashWithSalt Int
_salt CreateSkillGroup' {Maybe [Tag]
Maybe Text
Text
skillGroupName :: Text
tags :: Maybe [Tag]
description :: Maybe Text
clientRequestToken :: Maybe Text
$sel:skillGroupName:CreateSkillGroup' :: CreateSkillGroup -> Text
$sel:tags:CreateSkillGroup' :: CreateSkillGroup -> Maybe [Tag]
$sel:description:CreateSkillGroup' :: CreateSkillGroup -> Maybe Text
$sel:clientRequestToken:CreateSkillGroup' :: CreateSkillGroup -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientRequestToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
skillGroupName
instance Prelude.NFData CreateSkillGroup where
rnf :: CreateSkillGroup -> ()
rnf CreateSkillGroup' {Maybe [Tag]
Maybe Text
Text
skillGroupName :: Text
tags :: Maybe [Tag]
description :: Maybe Text
clientRequestToken :: Maybe Text
$sel:skillGroupName:CreateSkillGroup' :: CreateSkillGroup -> Text
$sel:tags:CreateSkillGroup' :: CreateSkillGroup -> Maybe [Tag]
$sel:description:CreateSkillGroup' :: CreateSkillGroup -> Maybe Text
$sel:clientRequestToken:CreateSkillGroup' :: CreateSkillGroup -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientRequestToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
skillGroupName
instance Data.ToHeaders CreateSkillGroup where
toHeaders :: CreateSkillGroup -> 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.CreateSkillGroup" ::
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 CreateSkillGroup where
toJSON :: CreateSkillGroup -> Value
toJSON CreateSkillGroup' {Maybe [Tag]
Maybe Text
Text
skillGroupName :: Text
tags :: Maybe [Tag]
description :: Maybe Text
clientRequestToken :: Maybe Text
$sel:skillGroupName:CreateSkillGroup' :: CreateSkillGroup -> Text
$sel:tags:CreateSkillGroup' :: CreateSkillGroup -> Maybe [Tag]
$sel:description:CreateSkillGroup' :: CreateSkillGroup -> Maybe Text
$sel:clientRequestToken:CreateSkillGroup' :: CreateSkillGroup -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ClientRequestToken" 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
clientRequestToken,
(Key
"Description" 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
description,
(Key
"Tags" 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 [Tag]
tags,
forall a. a -> Maybe a
Prelude.Just
(Key
"SkillGroupName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
skillGroupName)
]
)
instance Data.ToPath CreateSkillGroup where
toPath :: CreateSkillGroup -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateSkillGroup where
toQuery :: CreateSkillGroup -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateSkillGroupResponse = CreateSkillGroupResponse'
{
CreateSkillGroupResponse -> Maybe Text
skillGroupArn :: Prelude.Maybe Prelude.Text,
CreateSkillGroupResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateSkillGroupResponse -> CreateSkillGroupResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateSkillGroupResponse -> CreateSkillGroupResponse -> Bool
$c/= :: CreateSkillGroupResponse -> CreateSkillGroupResponse -> Bool
== :: CreateSkillGroupResponse -> CreateSkillGroupResponse -> Bool
$c== :: CreateSkillGroupResponse -> CreateSkillGroupResponse -> Bool
Prelude.Eq, ReadPrec [CreateSkillGroupResponse]
ReadPrec CreateSkillGroupResponse
Int -> ReadS CreateSkillGroupResponse
ReadS [CreateSkillGroupResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateSkillGroupResponse]
$creadListPrec :: ReadPrec [CreateSkillGroupResponse]
readPrec :: ReadPrec CreateSkillGroupResponse
$creadPrec :: ReadPrec CreateSkillGroupResponse
readList :: ReadS [CreateSkillGroupResponse]
$creadList :: ReadS [CreateSkillGroupResponse]
readsPrec :: Int -> ReadS CreateSkillGroupResponse
$creadsPrec :: Int -> ReadS CreateSkillGroupResponse
Prelude.Read, Int -> CreateSkillGroupResponse -> ShowS
[CreateSkillGroupResponse] -> ShowS
CreateSkillGroupResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateSkillGroupResponse] -> ShowS
$cshowList :: [CreateSkillGroupResponse] -> ShowS
show :: CreateSkillGroupResponse -> String
$cshow :: CreateSkillGroupResponse -> String
showsPrec :: Int -> CreateSkillGroupResponse -> ShowS
$cshowsPrec :: Int -> CreateSkillGroupResponse -> ShowS
Prelude.Show, forall x.
Rep CreateSkillGroupResponse x -> CreateSkillGroupResponse
forall x.
CreateSkillGroupResponse -> Rep CreateSkillGroupResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateSkillGroupResponse x -> CreateSkillGroupResponse
$cfrom :: forall x.
CreateSkillGroupResponse -> Rep CreateSkillGroupResponse x
Prelude.Generic)
newCreateSkillGroupResponse ::
Prelude.Int ->
CreateSkillGroupResponse
newCreateSkillGroupResponse :: Int -> CreateSkillGroupResponse
newCreateSkillGroupResponse Int
pHttpStatus_ =
CreateSkillGroupResponse'
{ $sel:skillGroupArn:CreateSkillGroupResponse' :: Maybe Text
skillGroupArn =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateSkillGroupResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createSkillGroupResponse_skillGroupArn :: Lens.Lens' CreateSkillGroupResponse (Prelude.Maybe Prelude.Text)
createSkillGroupResponse_skillGroupArn :: Lens' CreateSkillGroupResponse (Maybe Text)
createSkillGroupResponse_skillGroupArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSkillGroupResponse' {Maybe Text
skillGroupArn :: Maybe Text
$sel:skillGroupArn:CreateSkillGroupResponse' :: CreateSkillGroupResponse -> Maybe Text
skillGroupArn} -> Maybe Text
skillGroupArn) (\s :: CreateSkillGroupResponse
s@CreateSkillGroupResponse' {} Maybe Text
a -> CreateSkillGroupResponse
s {$sel:skillGroupArn:CreateSkillGroupResponse' :: Maybe Text
skillGroupArn = Maybe Text
a} :: CreateSkillGroupResponse)
createSkillGroupResponse_httpStatus :: Lens.Lens' CreateSkillGroupResponse Prelude.Int
createSkillGroupResponse_httpStatus :: Lens' CreateSkillGroupResponse Int
createSkillGroupResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSkillGroupResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateSkillGroupResponse' :: CreateSkillGroupResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateSkillGroupResponse
s@CreateSkillGroupResponse' {} Int
a -> CreateSkillGroupResponse
s {$sel:httpStatus:CreateSkillGroupResponse' :: Int
httpStatus = Int
a} :: CreateSkillGroupResponse)
instance Prelude.NFData CreateSkillGroupResponse where
rnf :: CreateSkillGroupResponse -> ()
rnf CreateSkillGroupResponse' {Int
Maybe Text
httpStatus :: Int
skillGroupArn :: Maybe Text
$sel:httpStatus:CreateSkillGroupResponse' :: CreateSkillGroupResponse -> Int
$sel:skillGroupArn:CreateSkillGroupResponse' :: CreateSkillGroupResponse -> 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 Int
httpStatus