{-# 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.Kendra.CreateIndex
(
CreateIndex (..),
newCreateIndex,
createIndex_clientToken,
createIndex_description,
createIndex_edition,
createIndex_serverSideEncryptionConfiguration,
createIndex_tags,
createIndex_userContextPolicy,
createIndex_userGroupResolutionConfiguration,
createIndex_userTokenConfigurations,
createIndex_name,
createIndex_roleArn,
CreateIndexResponse (..),
newCreateIndexResponse,
createIndexResponse_id,
createIndexResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Kendra.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CreateIndex = CreateIndex'
{
CreateIndex -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
CreateIndex -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
CreateIndex -> Maybe IndexEdition
edition :: Prelude.Maybe IndexEdition,
CreateIndex -> Maybe ServerSideEncryptionConfiguration
serverSideEncryptionConfiguration :: Prelude.Maybe ServerSideEncryptionConfiguration,
CreateIndex -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
CreateIndex -> Maybe UserContextPolicy
userContextPolicy :: Prelude.Maybe UserContextPolicy,
CreateIndex -> Maybe UserGroupResolutionConfiguration
userGroupResolutionConfiguration :: Prelude.Maybe UserGroupResolutionConfiguration,
CreateIndex -> Maybe [UserTokenConfiguration]
userTokenConfigurations :: Prelude.Maybe [UserTokenConfiguration],
CreateIndex -> Text
name :: Prelude.Text,
CreateIndex -> Text
roleArn :: Prelude.Text
}
deriving (CreateIndex -> CreateIndex -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateIndex -> CreateIndex -> Bool
$c/= :: CreateIndex -> CreateIndex -> Bool
== :: CreateIndex -> CreateIndex -> Bool
$c== :: CreateIndex -> CreateIndex -> Bool
Prelude.Eq, Int -> CreateIndex -> ShowS
[CreateIndex] -> ShowS
CreateIndex -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateIndex] -> ShowS
$cshowList :: [CreateIndex] -> ShowS
show :: CreateIndex -> String
$cshow :: CreateIndex -> String
showsPrec :: Int -> CreateIndex -> ShowS
$cshowsPrec :: Int -> CreateIndex -> ShowS
Prelude.Show, forall x. Rep CreateIndex x -> CreateIndex
forall x. CreateIndex -> Rep CreateIndex x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateIndex x -> CreateIndex
$cfrom :: forall x. CreateIndex -> Rep CreateIndex x
Prelude.Generic)
newCreateIndex ::
Prelude.Text ->
Prelude.Text ->
CreateIndex
newCreateIndex :: Text -> Text -> CreateIndex
newCreateIndex Text
pName_ Text
pRoleArn_ =
CreateIndex'
{ $sel:clientToken:CreateIndex' :: Maybe Text
clientToken = forall a. Maybe a
Prelude.Nothing,
$sel:description:CreateIndex' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:edition:CreateIndex' :: Maybe IndexEdition
edition = forall a. Maybe a
Prelude.Nothing,
$sel:serverSideEncryptionConfiguration:CreateIndex' :: Maybe ServerSideEncryptionConfiguration
serverSideEncryptionConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:tags:CreateIndex' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
$sel:userContextPolicy:CreateIndex' :: Maybe UserContextPolicy
userContextPolicy = forall a. Maybe a
Prelude.Nothing,
$sel:userGroupResolutionConfiguration:CreateIndex' :: Maybe UserGroupResolutionConfiguration
userGroupResolutionConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:userTokenConfigurations:CreateIndex' :: Maybe [UserTokenConfiguration]
userTokenConfigurations = forall a. Maybe a
Prelude.Nothing,
$sel:name:CreateIndex' :: Text
name = Text
pName_,
$sel:roleArn:CreateIndex' :: Text
roleArn = Text
pRoleArn_
}
createIndex_clientToken :: Lens.Lens' CreateIndex (Prelude.Maybe Prelude.Text)
createIndex_clientToken :: Lens' CreateIndex (Maybe Text)
createIndex_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateIndex' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:CreateIndex' :: CreateIndex -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: CreateIndex
s@CreateIndex' {} Maybe Text
a -> CreateIndex
s {$sel:clientToken:CreateIndex' :: Maybe Text
clientToken = Maybe Text
a} :: CreateIndex)
createIndex_description :: Lens.Lens' CreateIndex (Prelude.Maybe Prelude.Text)
createIndex_description :: Lens' CreateIndex (Maybe Text)
createIndex_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateIndex' {Maybe Text
description :: Maybe Text
$sel:description:CreateIndex' :: CreateIndex -> Maybe Text
description} -> Maybe Text
description) (\s :: CreateIndex
s@CreateIndex' {} Maybe Text
a -> CreateIndex
s {$sel:description:CreateIndex' :: Maybe Text
description = Maybe Text
a} :: CreateIndex)
createIndex_edition :: Lens.Lens' CreateIndex (Prelude.Maybe IndexEdition)
createIndex_edition :: Lens' CreateIndex (Maybe IndexEdition)
createIndex_edition = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateIndex' {Maybe IndexEdition
edition :: Maybe IndexEdition
$sel:edition:CreateIndex' :: CreateIndex -> Maybe IndexEdition
edition} -> Maybe IndexEdition
edition) (\s :: CreateIndex
s@CreateIndex' {} Maybe IndexEdition
a -> CreateIndex
s {$sel:edition:CreateIndex' :: Maybe IndexEdition
edition = Maybe IndexEdition
a} :: CreateIndex)
createIndex_serverSideEncryptionConfiguration :: Lens.Lens' CreateIndex (Prelude.Maybe ServerSideEncryptionConfiguration)
createIndex_serverSideEncryptionConfiguration :: Lens' CreateIndex (Maybe ServerSideEncryptionConfiguration)
createIndex_serverSideEncryptionConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateIndex' {Maybe ServerSideEncryptionConfiguration
serverSideEncryptionConfiguration :: Maybe ServerSideEncryptionConfiguration
$sel:serverSideEncryptionConfiguration:CreateIndex' :: CreateIndex -> Maybe ServerSideEncryptionConfiguration
serverSideEncryptionConfiguration} -> Maybe ServerSideEncryptionConfiguration
serverSideEncryptionConfiguration) (\s :: CreateIndex
s@CreateIndex' {} Maybe ServerSideEncryptionConfiguration
a -> CreateIndex
s {$sel:serverSideEncryptionConfiguration:CreateIndex' :: Maybe ServerSideEncryptionConfiguration
serverSideEncryptionConfiguration = Maybe ServerSideEncryptionConfiguration
a} :: CreateIndex)
createIndex_tags :: Lens.Lens' CreateIndex (Prelude.Maybe [Tag])
createIndex_tags :: Lens' CreateIndex (Maybe [Tag])
createIndex_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateIndex' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:CreateIndex' :: CreateIndex -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: CreateIndex
s@CreateIndex' {} Maybe [Tag]
a -> CreateIndex
s {$sel:tags:CreateIndex' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: CreateIndex) 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
createIndex_userContextPolicy :: Lens.Lens' CreateIndex (Prelude.Maybe UserContextPolicy)
createIndex_userContextPolicy :: Lens' CreateIndex (Maybe UserContextPolicy)
createIndex_userContextPolicy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateIndex' {Maybe UserContextPolicy
userContextPolicy :: Maybe UserContextPolicy
$sel:userContextPolicy:CreateIndex' :: CreateIndex -> Maybe UserContextPolicy
userContextPolicy} -> Maybe UserContextPolicy
userContextPolicy) (\s :: CreateIndex
s@CreateIndex' {} Maybe UserContextPolicy
a -> CreateIndex
s {$sel:userContextPolicy:CreateIndex' :: Maybe UserContextPolicy
userContextPolicy = Maybe UserContextPolicy
a} :: CreateIndex)
createIndex_userGroupResolutionConfiguration :: Lens.Lens' CreateIndex (Prelude.Maybe UserGroupResolutionConfiguration)
createIndex_userGroupResolutionConfiguration :: Lens' CreateIndex (Maybe UserGroupResolutionConfiguration)
createIndex_userGroupResolutionConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateIndex' {Maybe UserGroupResolutionConfiguration
userGroupResolutionConfiguration :: Maybe UserGroupResolutionConfiguration
$sel:userGroupResolutionConfiguration:CreateIndex' :: CreateIndex -> Maybe UserGroupResolutionConfiguration
userGroupResolutionConfiguration} -> Maybe UserGroupResolutionConfiguration
userGroupResolutionConfiguration) (\s :: CreateIndex
s@CreateIndex' {} Maybe UserGroupResolutionConfiguration
a -> CreateIndex
s {$sel:userGroupResolutionConfiguration:CreateIndex' :: Maybe UserGroupResolutionConfiguration
userGroupResolutionConfiguration = Maybe UserGroupResolutionConfiguration
a} :: CreateIndex)
createIndex_userTokenConfigurations :: Lens.Lens' CreateIndex (Prelude.Maybe [UserTokenConfiguration])
createIndex_userTokenConfigurations :: Lens' CreateIndex (Maybe [UserTokenConfiguration])
createIndex_userTokenConfigurations = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateIndex' {Maybe [UserTokenConfiguration]
userTokenConfigurations :: Maybe [UserTokenConfiguration]
$sel:userTokenConfigurations:CreateIndex' :: CreateIndex -> Maybe [UserTokenConfiguration]
userTokenConfigurations} -> Maybe [UserTokenConfiguration]
userTokenConfigurations) (\s :: CreateIndex
s@CreateIndex' {} Maybe [UserTokenConfiguration]
a -> CreateIndex
s {$sel:userTokenConfigurations:CreateIndex' :: Maybe [UserTokenConfiguration]
userTokenConfigurations = Maybe [UserTokenConfiguration]
a} :: CreateIndex) 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
createIndex_name :: Lens.Lens' CreateIndex Prelude.Text
createIndex_name :: Lens' CreateIndex Text
createIndex_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateIndex' {Text
name :: Text
$sel:name:CreateIndex' :: CreateIndex -> Text
name} -> Text
name) (\s :: CreateIndex
s@CreateIndex' {} Text
a -> CreateIndex
s {$sel:name:CreateIndex' :: Text
name = Text
a} :: CreateIndex)
createIndex_roleArn :: Lens.Lens' CreateIndex Prelude.Text
createIndex_roleArn :: Lens' CreateIndex Text
createIndex_roleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateIndex' {Text
roleArn :: Text
$sel:roleArn:CreateIndex' :: CreateIndex -> Text
roleArn} -> Text
roleArn) (\s :: CreateIndex
s@CreateIndex' {} Text
a -> CreateIndex
s {$sel:roleArn:CreateIndex' :: Text
roleArn = Text
a} :: CreateIndex)
instance Core.AWSRequest CreateIndex where
type AWSResponse CreateIndex = CreateIndexResponse
request :: (Service -> Service) -> CreateIndex -> Request CreateIndex
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 CreateIndex
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateIndex)))
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 -> CreateIndexResponse
CreateIndexResponse'
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
"Id")
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 CreateIndex where
hashWithSalt :: Int -> CreateIndex -> Int
hashWithSalt Int
_salt CreateIndex' {Maybe [Tag]
Maybe [UserTokenConfiguration]
Maybe Text
Maybe IndexEdition
Maybe ServerSideEncryptionConfiguration
Maybe UserContextPolicy
Maybe UserGroupResolutionConfiguration
Text
roleArn :: Text
name :: Text
userTokenConfigurations :: Maybe [UserTokenConfiguration]
userGroupResolutionConfiguration :: Maybe UserGroupResolutionConfiguration
userContextPolicy :: Maybe UserContextPolicy
tags :: Maybe [Tag]
serverSideEncryptionConfiguration :: Maybe ServerSideEncryptionConfiguration
edition :: Maybe IndexEdition
description :: Maybe Text
clientToken :: Maybe Text
$sel:roleArn:CreateIndex' :: CreateIndex -> Text
$sel:name:CreateIndex' :: CreateIndex -> Text
$sel:userTokenConfigurations:CreateIndex' :: CreateIndex -> Maybe [UserTokenConfiguration]
$sel:userGroupResolutionConfiguration:CreateIndex' :: CreateIndex -> Maybe UserGroupResolutionConfiguration
$sel:userContextPolicy:CreateIndex' :: CreateIndex -> Maybe UserContextPolicy
$sel:tags:CreateIndex' :: CreateIndex -> Maybe [Tag]
$sel:serverSideEncryptionConfiguration:CreateIndex' :: CreateIndex -> Maybe ServerSideEncryptionConfiguration
$sel:edition:CreateIndex' :: CreateIndex -> Maybe IndexEdition
$sel:description:CreateIndex' :: CreateIndex -> Maybe Text
$sel:clientToken:CreateIndex' :: CreateIndex -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe IndexEdition
edition
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ServerSideEncryptionConfiguration
serverSideEncryptionConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe UserContextPolicy
userContextPolicy
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe UserGroupResolutionConfiguration
userGroupResolutionConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [UserTokenConfiguration]
userTokenConfigurations
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
roleArn
instance Prelude.NFData CreateIndex where
rnf :: CreateIndex -> ()
rnf CreateIndex' {Maybe [Tag]
Maybe [UserTokenConfiguration]
Maybe Text
Maybe IndexEdition
Maybe ServerSideEncryptionConfiguration
Maybe UserContextPolicy
Maybe UserGroupResolutionConfiguration
Text
roleArn :: Text
name :: Text
userTokenConfigurations :: Maybe [UserTokenConfiguration]
userGroupResolutionConfiguration :: Maybe UserGroupResolutionConfiguration
userContextPolicy :: Maybe UserContextPolicy
tags :: Maybe [Tag]
serverSideEncryptionConfiguration :: Maybe ServerSideEncryptionConfiguration
edition :: Maybe IndexEdition
description :: Maybe Text
clientToken :: Maybe Text
$sel:roleArn:CreateIndex' :: CreateIndex -> Text
$sel:name:CreateIndex' :: CreateIndex -> Text
$sel:userTokenConfigurations:CreateIndex' :: CreateIndex -> Maybe [UserTokenConfiguration]
$sel:userGroupResolutionConfiguration:CreateIndex' :: CreateIndex -> Maybe UserGroupResolutionConfiguration
$sel:userContextPolicy:CreateIndex' :: CreateIndex -> Maybe UserContextPolicy
$sel:tags:CreateIndex' :: CreateIndex -> Maybe [Tag]
$sel:serverSideEncryptionConfiguration:CreateIndex' :: CreateIndex -> Maybe ServerSideEncryptionConfiguration
$sel:edition:CreateIndex' :: CreateIndex -> Maybe IndexEdition
$sel:description:CreateIndex' :: CreateIndex -> Maybe Text
$sel:clientToken:CreateIndex' :: CreateIndex -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
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 IndexEdition
edition
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ServerSideEncryptionConfiguration
serverSideEncryptionConfiguration
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 Maybe UserContextPolicy
userContextPolicy
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe UserGroupResolutionConfiguration
userGroupResolutionConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [UserTokenConfiguration]
userTokenConfigurations
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
roleArn
instance Data.ToHeaders CreateIndex where
toHeaders :: CreateIndex -> 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
"AWSKendraFrontendService.CreateIndex" ::
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 CreateIndex where
toJSON :: CreateIndex -> Value
toJSON CreateIndex' {Maybe [Tag]
Maybe [UserTokenConfiguration]
Maybe Text
Maybe IndexEdition
Maybe ServerSideEncryptionConfiguration
Maybe UserContextPolicy
Maybe UserGroupResolutionConfiguration
Text
roleArn :: Text
name :: Text
userTokenConfigurations :: Maybe [UserTokenConfiguration]
userGroupResolutionConfiguration :: Maybe UserGroupResolutionConfiguration
userContextPolicy :: Maybe UserContextPolicy
tags :: Maybe [Tag]
serverSideEncryptionConfiguration :: Maybe ServerSideEncryptionConfiguration
edition :: Maybe IndexEdition
description :: Maybe Text
clientToken :: Maybe Text
$sel:roleArn:CreateIndex' :: CreateIndex -> Text
$sel:name:CreateIndex' :: CreateIndex -> Text
$sel:userTokenConfigurations:CreateIndex' :: CreateIndex -> Maybe [UserTokenConfiguration]
$sel:userGroupResolutionConfiguration:CreateIndex' :: CreateIndex -> Maybe UserGroupResolutionConfiguration
$sel:userContextPolicy:CreateIndex' :: CreateIndex -> Maybe UserContextPolicy
$sel:tags:CreateIndex' :: CreateIndex -> Maybe [Tag]
$sel:serverSideEncryptionConfiguration:CreateIndex' :: CreateIndex -> Maybe ServerSideEncryptionConfiguration
$sel:edition:CreateIndex' :: CreateIndex -> Maybe IndexEdition
$sel:description:CreateIndex' :: CreateIndex -> Maybe Text
$sel:clientToken:CreateIndex' :: CreateIndex -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ClientToken" 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
clientToken,
(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
"Edition" 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 IndexEdition
edition,
(Key
"ServerSideEncryptionConfiguration" 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 ServerSideEncryptionConfiguration
serverSideEncryptionConfiguration,
(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,
(Key
"UserContextPolicy" 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 UserContextPolicy
userContextPolicy,
(Key
"UserGroupResolutionConfiguration" 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 UserGroupResolutionConfiguration
userGroupResolutionConfiguration,
(Key
"UserTokenConfigurations" 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 [UserTokenConfiguration]
userTokenConfigurations,
forall a. a -> Maybe a
Prelude.Just (Key
"Name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
name),
forall a. a -> Maybe a
Prelude.Just (Key
"RoleArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
roleArn)
]
)
instance Data.ToPath CreateIndex where
toPath :: CreateIndex -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateIndex where
toQuery :: CreateIndex -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateIndexResponse = CreateIndexResponse'
{
CreateIndexResponse -> Maybe Text
id :: Prelude.Maybe Prelude.Text,
CreateIndexResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateIndexResponse -> CreateIndexResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateIndexResponse -> CreateIndexResponse -> Bool
$c/= :: CreateIndexResponse -> CreateIndexResponse -> Bool
== :: CreateIndexResponse -> CreateIndexResponse -> Bool
$c== :: CreateIndexResponse -> CreateIndexResponse -> Bool
Prelude.Eq, ReadPrec [CreateIndexResponse]
ReadPrec CreateIndexResponse
Int -> ReadS CreateIndexResponse
ReadS [CreateIndexResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateIndexResponse]
$creadListPrec :: ReadPrec [CreateIndexResponse]
readPrec :: ReadPrec CreateIndexResponse
$creadPrec :: ReadPrec CreateIndexResponse
readList :: ReadS [CreateIndexResponse]
$creadList :: ReadS [CreateIndexResponse]
readsPrec :: Int -> ReadS CreateIndexResponse
$creadsPrec :: Int -> ReadS CreateIndexResponse
Prelude.Read, Int -> CreateIndexResponse -> ShowS
[CreateIndexResponse] -> ShowS
CreateIndexResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateIndexResponse] -> ShowS
$cshowList :: [CreateIndexResponse] -> ShowS
show :: CreateIndexResponse -> String
$cshow :: CreateIndexResponse -> String
showsPrec :: Int -> CreateIndexResponse -> ShowS
$cshowsPrec :: Int -> CreateIndexResponse -> ShowS
Prelude.Show, forall x. Rep CreateIndexResponse x -> CreateIndexResponse
forall x. CreateIndexResponse -> Rep CreateIndexResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateIndexResponse x -> CreateIndexResponse
$cfrom :: forall x. CreateIndexResponse -> Rep CreateIndexResponse x
Prelude.Generic)
newCreateIndexResponse ::
Prelude.Int ->
CreateIndexResponse
newCreateIndexResponse :: Int -> CreateIndexResponse
newCreateIndexResponse Int
pHttpStatus_ =
CreateIndexResponse'
{ $sel:id:CreateIndexResponse' :: Maybe Text
id = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateIndexResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createIndexResponse_id :: Lens.Lens' CreateIndexResponse (Prelude.Maybe Prelude.Text)
createIndexResponse_id :: Lens' CreateIndexResponse (Maybe Text)
createIndexResponse_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateIndexResponse' {Maybe Text
id :: Maybe Text
$sel:id:CreateIndexResponse' :: CreateIndexResponse -> Maybe Text
id} -> Maybe Text
id) (\s :: CreateIndexResponse
s@CreateIndexResponse' {} Maybe Text
a -> CreateIndexResponse
s {$sel:id:CreateIndexResponse' :: Maybe Text
id = Maybe Text
a} :: CreateIndexResponse)
createIndexResponse_httpStatus :: Lens.Lens' CreateIndexResponse Prelude.Int
createIndexResponse_httpStatus :: Lens' CreateIndexResponse Int
createIndexResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateIndexResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateIndexResponse' :: CreateIndexResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateIndexResponse
s@CreateIndexResponse' {} Int
a -> CreateIndexResponse
s {$sel:httpStatus:CreateIndexResponse' :: Int
httpStatus = Int
a} :: CreateIndexResponse)
instance Prelude.NFData CreateIndexResponse where
rnf :: CreateIndexResponse -> ()
rnf CreateIndexResponse' {Int
Maybe Text
httpStatus :: Int
id :: Maybe Text
$sel:httpStatus:CreateIndexResponse' :: CreateIndexResponse -> Int
$sel:id:CreateIndexResponse' :: CreateIndexResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
id seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus