{-# 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.Transfer.CreateUser
(
CreateUser (..),
newCreateUser,
createUser_homeDirectory,
createUser_homeDirectoryMappings,
createUser_homeDirectoryType,
createUser_policy,
createUser_posixProfile,
createUser_sshPublicKeyBody,
createUser_tags,
createUser_role,
createUser_serverId,
createUser_userName,
CreateUserResponse (..),
newCreateUserResponse,
createUserResponse_httpStatus,
createUserResponse_serverId,
createUserResponse_userName,
)
where
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
import Amazonka.Transfer.Types
data CreateUser = CreateUser'
{
CreateUser -> Maybe Text
homeDirectory :: Prelude.Maybe Prelude.Text,
CreateUser -> Maybe (NonEmpty HomeDirectoryMapEntry)
homeDirectoryMappings :: Prelude.Maybe (Prelude.NonEmpty HomeDirectoryMapEntry),
CreateUser -> Maybe HomeDirectoryType
homeDirectoryType :: Prelude.Maybe HomeDirectoryType,
CreateUser -> Maybe Text
policy :: Prelude.Maybe Prelude.Text,
CreateUser -> Maybe PosixProfile
posixProfile :: Prelude.Maybe PosixProfile,
CreateUser -> Maybe Text
sshPublicKeyBody :: Prelude.Maybe Prelude.Text,
CreateUser -> Maybe (NonEmpty Tag)
tags :: Prelude.Maybe (Prelude.NonEmpty Tag),
CreateUser -> Text
role' :: Prelude.Text,
CreateUser -> Text
serverId :: Prelude.Text,
CreateUser -> Text
userName :: Prelude.Text
}
deriving (CreateUser -> CreateUser -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateUser -> CreateUser -> Bool
$c/= :: CreateUser -> CreateUser -> Bool
== :: CreateUser -> CreateUser -> Bool
$c== :: CreateUser -> CreateUser -> Bool
Prelude.Eq, ReadPrec [CreateUser]
ReadPrec CreateUser
Int -> ReadS CreateUser
ReadS [CreateUser]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateUser]
$creadListPrec :: ReadPrec [CreateUser]
readPrec :: ReadPrec CreateUser
$creadPrec :: ReadPrec CreateUser
readList :: ReadS [CreateUser]
$creadList :: ReadS [CreateUser]
readsPrec :: Int -> ReadS CreateUser
$creadsPrec :: Int -> ReadS CreateUser
Prelude.Read, Int -> CreateUser -> ShowS
[CreateUser] -> ShowS
CreateUser -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateUser] -> ShowS
$cshowList :: [CreateUser] -> ShowS
show :: CreateUser -> String
$cshow :: CreateUser -> String
showsPrec :: Int -> CreateUser -> ShowS
$cshowsPrec :: Int -> CreateUser -> ShowS
Prelude.Show, forall x. Rep CreateUser x -> CreateUser
forall x. CreateUser -> Rep CreateUser x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateUser x -> CreateUser
$cfrom :: forall x. CreateUser -> Rep CreateUser x
Prelude.Generic)
newCreateUser ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
CreateUser
newCreateUser :: Text -> Text -> Text -> CreateUser
newCreateUser Text
pRole_ Text
pServerId_ Text
pUserName_ =
CreateUser'
{ $sel:homeDirectory:CreateUser' :: Maybe Text
homeDirectory = forall a. Maybe a
Prelude.Nothing,
$sel:homeDirectoryMappings:CreateUser' :: Maybe (NonEmpty HomeDirectoryMapEntry)
homeDirectoryMappings = forall a. Maybe a
Prelude.Nothing,
$sel:homeDirectoryType:CreateUser' :: Maybe HomeDirectoryType
homeDirectoryType = forall a. Maybe a
Prelude.Nothing,
$sel:policy:CreateUser' :: Maybe Text
policy = forall a. Maybe a
Prelude.Nothing,
$sel:posixProfile:CreateUser' :: Maybe PosixProfile
posixProfile = forall a. Maybe a
Prelude.Nothing,
$sel:sshPublicKeyBody:CreateUser' :: Maybe Text
sshPublicKeyBody = forall a. Maybe a
Prelude.Nothing,
$sel:tags:CreateUser' :: Maybe (NonEmpty Tag)
tags = forall a. Maybe a
Prelude.Nothing,
$sel:role':CreateUser' :: Text
role' = Text
pRole_,
$sel:serverId:CreateUser' :: Text
serverId = Text
pServerId_,
$sel:userName:CreateUser' :: Text
userName = Text
pUserName_
}
createUser_homeDirectory :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)
createUser_homeDirectory :: Lens' CreateUser (Maybe Text)
createUser_homeDirectory = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateUser' {Maybe Text
homeDirectory :: Maybe Text
$sel:homeDirectory:CreateUser' :: CreateUser -> Maybe Text
homeDirectory} -> Maybe Text
homeDirectory) (\s :: CreateUser
s@CreateUser' {} Maybe Text
a -> CreateUser
s {$sel:homeDirectory:CreateUser' :: Maybe Text
homeDirectory = Maybe Text
a} :: CreateUser)
createUser_homeDirectoryMappings :: Lens.Lens' CreateUser (Prelude.Maybe (Prelude.NonEmpty HomeDirectoryMapEntry))
createUser_homeDirectoryMappings :: Lens' CreateUser (Maybe (NonEmpty HomeDirectoryMapEntry))
createUser_homeDirectoryMappings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateUser' {Maybe (NonEmpty HomeDirectoryMapEntry)
homeDirectoryMappings :: Maybe (NonEmpty HomeDirectoryMapEntry)
$sel:homeDirectoryMappings:CreateUser' :: CreateUser -> Maybe (NonEmpty HomeDirectoryMapEntry)
homeDirectoryMappings} -> Maybe (NonEmpty HomeDirectoryMapEntry)
homeDirectoryMappings) (\s :: CreateUser
s@CreateUser' {} Maybe (NonEmpty HomeDirectoryMapEntry)
a -> CreateUser
s {$sel:homeDirectoryMappings:CreateUser' :: Maybe (NonEmpty HomeDirectoryMapEntry)
homeDirectoryMappings = Maybe (NonEmpty HomeDirectoryMapEntry)
a} :: CreateUser) 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
createUser_homeDirectoryType :: Lens.Lens' CreateUser (Prelude.Maybe HomeDirectoryType)
createUser_homeDirectoryType :: Lens' CreateUser (Maybe HomeDirectoryType)
createUser_homeDirectoryType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateUser' {Maybe HomeDirectoryType
homeDirectoryType :: Maybe HomeDirectoryType
$sel:homeDirectoryType:CreateUser' :: CreateUser -> Maybe HomeDirectoryType
homeDirectoryType} -> Maybe HomeDirectoryType
homeDirectoryType) (\s :: CreateUser
s@CreateUser' {} Maybe HomeDirectoryType
a -> CreateUser
s {$sel:homeDirectoryType:CreateUser' :: Maybe HomeDirectoryType
homeDirectoryType = Maybe HomeDirectoryType
a} :: CreateUser)
createUser_policy :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)
createUser_policy :: Lens' CreateUser (Maybe Text)
createUser_policy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateUser' {Maybe Text
policy :: Maybe Text
$sel:policy:CreateUser' :: CreateUser -> Maybe Text
policy} -> Maybe Text
policy) (\s :: CreateUser
s@CreateUser' {} Maybe Text
a -> CreateUser
s {$sel:policy:CreateUser' :: Maybe Text
policy = Maybe Text
a} :: CreateUser)
createUser_posixProfile :: Lens.Lens' CreateUser (Prelude.Maybe PosixProfile)
createUser_posixProfile :: Lens' CreateUser (Maybe PosixProfile)
createUser_posixProfile = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateUser' {Maybe PosixProfile
posixProfile :: Maybe PosixProfile
$sel:posixProfile:CreateUser' :: CreateUser -> Maybe PosixProfile
posixProfile} -> Maybe PosixProfile
posixProfile) (\s :: CreateUser
s@CreateUser' {} Maybe PosixProfile
a -> CreateUser
s {$sel:posixProfile:CreateUser' :: Maybe PosixProfile
posixProfile = Maybe PosixProfile
a} :: CreateUser)
createUser_sshPublicKeyBody :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)
createUser_sshPublicKeyBody :: Lens' CreateUser (Maybe Text)
createUser_sshPublicKeyBody = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateUser' {Maybe Text
sshPublicKeyBody :: Maybe Text
$sel:sshPublicKeyBody:CreateUser' :: CreateUser -> Maybe Text
sshPublicKeyBody} -> Maybe Text
sshPublicKeyBody) (\s :: CreateUser
s@CreateUser' {} Maybe Text
a -> CreateUser
s {$sel:sshPublicKeyBody:CreateUser' :: Maybe Text
sshPublicKeyBody = Maybe Text
a} :: CreateUser)
createUser_tags :: Lens.Lens' CreateUser (Prelude.Maybe (Prelude.NonEmpty Tag))
createUser_tags :: Lens' CreateUser (Maybe (NonEmpty Tag))
createUser_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateUser' {Maybe (NonEmpty Tag)
tags :: Maybe (NonEmpty Tag)
$sel:tags:CreateUser' :: CreateUser -> Maybe (NonEmpty Tag)
tags} -> Maybe (NonEmpty Tag)
tags) (\s :: CreateUser
s@CreateUser' {} Maybe (NonEmpty Tag)
a -> CreateUser
s {$sel:tags:CreateUser' :: Maybe (NonEmpty Tag)
tags = Maybe (NonEmpty Tag)
a} :: CreateUser) 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
createUser_role :: Lens.Lens' CreateUser Prelude.Text
createUser_role :: Lens' CreateUser Text
createUser_role = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateUser' {Text
role' :: Text
$sel:role':CreateUser' :: CreateUser -> Text
role'} -> Text
role') (\s :: CreateUser
s@CreateUser' {} Text
a -> CreateUser
s {$sel:role':CreateUser' :: Text
role' = Text
a} :: CreateUser)
createUser_serverId :: Lens.Lens' CreateUser Prelude.Text
createUser_serverId :: Lens' CreateUser Text
createUser_serverId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateUser' {Text
serverId :: Text
$sel:serverId:CreateUser' :: CreateUser -> Text
serverId} -> Text
serverId) (\s :: CreateUser
s@CreateUser' {} Text
a -> CreateUser
s {$sel:serverId:CreateUser' :: Text
serverId = Text
a} :: CreateUser)
createUser_userName :: Lens.Lens' CreateUser Prelude.Text
createUser_userName :: Lens' CreateUser Text
createUser_userName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateUser' {Text
userName :: Text
$sel:userName:CreateUser' :: CreateUser -> Text
userName} -> Text
userName) (\s :: CreateUser
s@CreateUser' {} Text
a -> CreateUser
s {$sel:userName:CreateUser' :: Text
userName = Text
a} :: CreateUser)
instance Core.AWSRequest CreateUser where
type AWSResponse CreateUser = CreateUserResponse
request :: (Service -> Service) -> CreateUser -> Request CreateUser
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 CreateUser
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateUser)))
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 ->
Int -> Text -> Text -> CreateUserResponse
CreateUserResponse'
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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"ServerId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"UserName")
)
instance Prelude.Hashable CreateUser where
hashWithSalt :: Int -> CreateUser -> Int
hashWithSalt Int
_salt CreateUser' {Maybe (NonEmpty HomeDirectoryMapEntry)
Maybe (NonEmpty Tag)
Maybe Text
Maybe HomeDirectoryType
Maybe PosixProfile
Text
userName :: Text
serverId :: Text
role' :: Text
tags :: Maybe (NonEmpty Tag)
sshPublicKeyBody :: Maybe Text
posixProfile :: Maybe PosixProfile
policy :: Maybe Text
homeDirectoryType :: Maybe HomeDirectoryType
homeDirectoryMappings :: Maybe (NonEmpty HomeDirectoryMapEntry)
homeDirectory :: Maybe Text
$sel:userName:CreateUser' :: CreateUser -> Text
$sel:serverId:CreateUser' :: CreateUser -> Text
$sel:role':CreateUser' :: CreateUser -> Text
$sel:tags:CreateUser' :: CreateUser -> Maybe (NonEmpty Tag)
$sel:sshPublicKeyBody:CreateUser' :: CreateUser -> Maybe Text
$sel:posixProfile:CreateUser' :: CreateUser -> Maybe PosixProfile
$sel:policy:CreateUser' :: CreateUser -> Maybe Text
$sel:homeDirectoryType:CreateUser' :: CreateUser -> Maybe HomeDirectoryType
$sel:homeDirectoryMappings:CreateUser' :: CreateUser -> Maybe (NonEmpty HomeDirectoryMapEntry)
$sel:homeDirectory:CreateUser' :: CreateUser -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
homeDirectory
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty HomeDirectoryMapEntry)
homeDirectoryMappings
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe HomeDirectoryType
homeDirectoryType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
policy
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PosixProfile
posixProfile
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
sshPublicKeyBody
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty Tag)
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
role'
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
serverId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
userName
instance Prelude.NFData CreateUser where
rnf :: CreateUser -> ()
rnf CreateUser' {Maybe (NonEmpty HomeDirectoryMapEntry)
Maybe (NonEmpty Tag)
Maybe Text
Maybe HomeDirectoryType
Maybe PosixProfile
Text
userName :: Text
serverId :: Text
role' :: Text
tags :: Maybe (NonEmpty Tag)
sshPublicKeyBody :: Maybe Text
posixProfile :: Maybe PosixProfile
policy :: Maybe Text
homeDirectoryType :: Maybe HomeDirectoryType
homeDirectoryMappings :: Maybe (NonEmpty HomeDirectoryMapEntry)
homeDirectory :: Maybe Text
$sel:userName:CreateUser' :: CreateUser -> Text
$sel:serverId:CreateUser' :: CreateUser -> Text
$sel:role':CreateUser' :: CreateUser -> Text
$sel:tags:CreateUser' :: CreateUser -> Maybe (NonEmpty Tag)
$sel:sshPublicKeyBody:CreateUser' :: CreateUser -> Maybe Text
$sel:posixProfile:CreateUser' :: CreateUser -> Maybe PosixProfile
$sel:policy:CreateUser' :: CreateUser -> Maybe Text
$sel:homeDirectoryType:CreateUser' :: CreateUser -> Maybe HomeDirectoryType
$sel:homeDirectoryMappings:CreateUser' :: CreateUser -> Maybe (NonEmpty HomeDirectoryMapEntry)
$sel:homeDirectory:CreateUser' :: CreateUser -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
homeDirectory
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty HomeDirectoryMapEntry)
homeDirectoryMappings
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe HomeDirectoryType
homeDirectoryType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
policy
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PosixProfile
posixProfile
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sshPublicKeyBody
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty Tag)
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
role'
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
serverId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
userName
instance Data.ToHeaders CreateUser where
toHeaders :: CreateUser -> 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
"TransferService.CreateUser" :: 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 CreateUser where
toJSON :: CreateUser -> Value
toJSON CreateUser' {Maybe (NonEmpty HomeDirectoryMapEntry)
Maybe (NonEmpty Tag)
Maybe Text
Maybe HomeDirectoryType
Maybe PosixProfile
Text
userName :: Text
serverId :: Text
role' :: Text
tags :: Maybe (NonEmpty Tag)
sshPublicKeyBody :: Maybe Text
posixProfile :: Maybe PosixProfile
policy :: Maybe Text
homeDirectoryType :: Maybe HomeDirectoryType
homeDirectoryMappings :: Maybe (NonEmpty HomeDirectoryMapEntry)
homeDirectory :: Maybe Text
$sel:userName:CreateUser' :: CreateUser -> Text
$sel:serverId:CreateUser' :: CreateUser -> Text
$sel:role':CreateUser' :: CreateUser -> Text
$sel:tags:CreateUser' :: CreateUser -> Maybe (NonEmpty Tag)
$sel:sshPublicKeyBody:CreateUser' :: CreateUser -> Maybe Text
$sel:posixProfile:CreateUser' :: CreateUser -> Maybe PosixProfile
$sel:policy:CreateUser' :: CreateUser -> Maybe Text
$sel:homeDirectoryType:CreateUser' :: CreateUser -> Maybe HomeDirectoryType
$sel:homeDirectoryMappings:CreateUser' :: CreateUser -> Maybe (NonEmpty HomeDirectoryMapEntry)
$sel:homeDirectory:CreateUser' :: CreateUser -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"HomeDirectory" 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
homeDirectory,
(Key
"HomeDirectoryMappings" 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 (NonEmpty HomeDirectoryMapEntry)
homeDirectoryMappings,
(Key
"HomeDirectoryType" 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 HomeDirectoryType
homeDirectoryType,
(Key
"Policy" 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
policy,
(Key
"PosixProfile" 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 PosixProfile
posixProfile,
(Key
"SshPublicKeyBody" 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
sshPublicKeyBody,
(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 (NonEmpty Tag)
tags,
forall a. a -> Maybe a
Prelude.Just (Key
"Role" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
role'),
forall a. a -> Maybe a
Prelude.Just (Key
"ServerId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
serverId),
forall a. a -> Maybe a
Prelude.Just (Key
"UserName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
userName)
]
)
instance Data.ToPath CreateUser where
toPath :: CreateUser -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateUser where
toQuery :: CreateUser -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateUserResponse = CreateUserResponse'
{
CreateUserResponse -> Int
httpStatus :: Prelude.Int,
CreateUserResponse -> Text
serverId :: Prelude.Text,
CreateUserResponse -> Text
userName :: Prelude.Text
}
deriving (CreateUserResponse -> CreateUserResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateUserResponse -> CreateUserResponse -> Bool
$c/= :: CreateUserResponse -> CreateUserResponse -> Bool
== :: CreateUserResponse -> CreateUserResponse -> Bool
$c== :: CreateUserResponse -> CreateUserResponse -> Bool
Prelude.Eq, ReadPrec [CreateUserResponse]
ReadPrec CreateUserResponse
Int -> ReadS CreateUserResponse
ReadS [CreateUserResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateUserResponse]
$creadListPrec :: ReadPrec [CreateUserResponse]
readPrec :: ReadPrec CreateUserResponse
$creadPrec :: ReadPrec CreateUserResponse
readList :: ReadS [CreateUserResponse]
$creadList :: ReadS [CreateUserResponse]
readsPrec :: Int -> ReadS CreateUserResponse
$creadsPrec :: Int -> ReadS CreateUserResponse
Prelude.Read, Int -> CreateUserResponse -> ShowS
[CreateUserResponse] -> ShowS
CreateUserResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateUserResponse] -> ShowS
$cshowList :: [CreateUserResponse] -> ShowS
show :: CreateUserResponse -> String
$cshow :: CreateUserResponse -> String
showsPrec :: Int -> CreateUserResponse -> ShowS
$cshowsPrec :: Int -> CreateUserResponse -> ShowS
Prelude.Show, forall x. Rep CreateUserResponse x -> CreateUserResponse
forall x. CreateUserResponse -> Rep CreateUserResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateUserResponse x -> CreateUserResponse
$cfrom :: forall x. CreateUserResponse -> Rep CreateUserResponse x
Prelude.Generic)
newCreateUserResponse ::
Prelude.Int ->
Prelude.Text ->
Prelude.Text ->
CreateUserResponse
newCreateUserResponse :: Int -> Text -> Text -> CreateUserResponse
newCreateUserResponse
Int
pHttpStatus_
Text
pServerId_
Text
pUserName_ =
CreateUserResponse'
{ $sel:httpStatus:CreateUserResponse' :: Int
httpStatus = Int
pHttpStatus_,
$sel:serverId:CreateUserResponse' :: Text
serverId = Text
pServerId_,
$sel:userName:CreateUserResponse' :: Text
userName = Text
pUserName_
}
createUserResponse_httpStatus :: Lens.Lens' CreateUserResponse Prelude.Int
createUserResponse_httpStatus :: Lens' CreateUserResponse Int
createUserResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateUserResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateUserResponse' :: CreateUserResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateUserResponse
s@CreateUserResponse' {} Int
a -> CreateUserResponse
s {$sel:httpStatus:CreateUserResponse' :: Int
httpStatus = Int
a} :: CreateUserResponse)
createUserResponse_serverId :: Lens.Lens' CreateUserResponse Prelude.Text
createUserResponse_serverId :: Lens' CreateUserResponse Text
createUserResponse_serverId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateUserResponse' {Text
serverId :: Text
$sel:serverId:CreateUserResponse' :: CreateUserResponse -> Text
serverId} -> Text
serverId) (\s :: CreateUserResponse
s@CreateUserResponse' {} Text
a -> CreateUserResponse
s {$sel:serverId:CreateUserResponse' :: Text
serverId = Text
a} :: CreateUserResponse)
createUserResponse_userName :: Lens.Lens' CreateUserResponse Prelude.Text
createUserResponse_userName :: Lens' CreateUserResponse Text
createUserResponse_userName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateUserResponse' {Text
userName :: Text
$sel:userName:CreateUserResponse' :: CreateUserResponse -> Text
userName} -> Text
userName) (\s :: CreateUserResponse
s@CreateUserResponse' {} Text
a -> CreateUserResponse
s {$sel:userName:CreateUserResponse' :: Text
userName = Text
a} :: CreateUserResponse)
instance Prelude.NFData CreateUserResponse where
rnf :: CreateUserResponse -> ()
rnf CreateUserResponse' {Int
Text
userName :: Text
serverId :: Text
httpStatus :: Int
$sel:userName:CreateUserResponse' :: CreateUserResponse -> Text
$sel:serverId:CreateUserResponse' :: CreateUserResponse -> Text
$sel:httpStatus:CreateUserResponse' :: CreateUserResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
serverId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
userName