{-# 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.CloudSearch.DefineIndexField
(
DefineIndexField (..),
newDefineIndexField,
defineIndexField_domainName,
defineIndexField_indexField,
DefineIndexFieldResponse (..),
newDefineIndexFieldResponse,
defineIndexFieldResponse_httpStatus,
defineIndexFieldResponse_indexField,
)
where
import Amazonka.CloudSearch.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 DefineIndexField = DefineIndexField'
{ DefineIndexField -> Text
domainName :: Prelude.Text,
DefineIndexField -> IndexField
indexField :: IndexField
}
deriving (DefineIndexField -> DefineIndexField -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DefineIndexField -> DefineIndexField -> Bool
$c/= :: DefineIndexField -> DefineIndexField -> Bool
== :: DefineIndexField -> DefineIndexField -> Bool
$c== :: DefineIndexField -> DefineIndexField -> Bool
Prelude.Eq, ReadPrec [DefineIndexField]
ReadPrec DefineIndexField
Int -> ReadS DefineIndexField
ReadS [DefineIndexField]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DefineIndexField]
$creadListPrec :: ReadPrec [DefineIndexField]
readPrec :: ReadPrec DefineIndexField
$creadPrec :: ReadPrec DefineIndexField
readList :: ReadS [DefineIndexField]
$creadList :: ReadS [DefineIndexField]
readsPrec :: Int -> ReadS DefineIndexField
$creadsPrec :: Int -> ReadS DefineIndexField
Prelude.Read, Int -> DefineIndexField -> ShowS
[DefineIndexField] -> ShowS
DefineIndexField -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DefineIndexField] -> ShowS
$cshowList :: [DefineIndexField] -> ShowS
show :: DefineIndexField -> String
$cshow :: DefineIndexField -> String
showsPrec :: Int -> DefineIndexField -> ShowS
$cshowsPrec :: Int -> DefineIndexField -> ShowS
Prelude.Show, forall x. Rep DefineIndexField x -> DefineIndexField
forall x. DefineIndexField -> Rep DefineIndexField x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DefineIndexField x -> DefineIndexField
$cfrom :: forall x. DefineIndexField -> Rep DefineIndexField x
Prelude.Generic)
newDefineIndexField ::
Prelude.Text ->
IndexField ->
DefineIndexField
newDefineIndexField :: Text -> IndexField -> DefineIndexField
newDefineIndexField Text
pDomainName_ IndexField
pIndexField_ =
DefineIndexField'
{ $sel:domainName:DefineIndexField' :: Text
domainName = Text
pDomainName_,
$sel:indexField:DefineIndexField' :: IndexField
indexField = IndexField
pIndexField_
}
defineIndexField_domainName :: Lens.Lens' DefineIndexField Prelude.Text
defineIndexField_domainName :: Lens' DefineIndexField Text
defineIndexField_domainName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DefineIndexField' {Text
domainName :: Text
$sel:domainName:DefineIndexField' :: DefineIndexField -> Text
domainName} -> Text
domainName) (\s :: DefineIndexField
s@DefineIndexField' {} Text
a -> DefineIndexField
s {$sel:domainName:DefineIndexField' :: Text
domainName = Text
a} :: DefineIndexField)
defineIndexField_indexField :: Lens.Lens' DefineIndexField IndexField
defineIndexField_indexField :: Lens' DefineIndexField IndexField
defineIndexField_indexField = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DefineIndexField' {IndexField
indexField :: IndexField
$sel:indexField:DefineIndexField' :: DefineIndexField -> IndexField
indexField} -> IndexField
indexField) (\s :: DefineIndexField
s@DefineIndexField' {} IndexField
a -> DefineIndexField
s {$sel:indexField:DefineIndexField' :: IndexField
indexField = IndexField
a} :: DefineIndexField)
instance Core.AWSRequest DefineIndexField where
type
AWSResponse DefineIndexField =
DefineIndexFieldResponse
request :: (Service -> Service)
-> DefineIndexField -> Request DefineIndexField
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DefineIndexField
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DefineIndexField)))
response =
forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
-> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
Text
"DefineIndexFieldResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Int -> IndexFieldStatus -> DefineIndexFieldResponse
DefineIndexFieldResponse'
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.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"IndexField")
)
instance Prelude.Hashable DefineIndexField where
hashWithSalt :: Int -> DefineIndexField -> Int
hashWithSalt Int
_salt DefineIndexField' {Text
IndexField
indexField :: IndexField
domainName :: Text
$sel:indexField:DefineIndexField' :: DefineIndexField -> IndexField
$sel:domainName:DefineIndexField' :: DefineIndexField -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
domainName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` IndexField
indexField
instance Prelude.NFData DefineIndexField where
rnf :: DefineIndexField -> ()
rnf DefineIndexField' {Text
IndexField
indexField :: IndexField
domainName :: Text
$sel:indexField:DefineIndexField' :: DefineIndexField -> IndexField
$sel:domainName:DefineIndexField' :: DefineIndexField -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
domainName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf IndexField
indexField
instance Data.ToHeaders DefineIndexField where
toHeaders :: DefineIndexField -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DefineIndexField where
toPath :: DefineIndexField -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DefineIndexField where
toQuery :: DefineIndexField -> QueryString
toQuery DefineIndexField' {Text
IndexField
indexField :: IndexField
domainName :: Text
$sel:indexField:DefineIndexField' :: DefineIndexField -> IndexField
$sel:domainName:DefineIndexField' :: DefineIndexField -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"DefineIndexField" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2013-01-01" :: Prelude.ByteString),
ByteString
"DomainName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
domainName,
ByteString
"IndexField" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: IndexField
indexField
]
data DefineIndexFieldResponse = DefineIndexFieldResponse'
{
DefineIndexFieldResponse -> Int
httpStatus :: Prelude.Int,
DefineIndexFieldResponse -> IndexFieldStatus
indexField :: IndexFieldStatus
}
deriving (DefineIndexFieldResponse -> DefineIndexFieldResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DefineIndexFieldResponse -> DefineIndexFieldResponse -> Bool
$c/= :: DefineIndexFieldResponse -> DefineIndexFieldResponse -> Bool
== :: DefineIndexFieldResponse -> DefineIndexFieldResponse -> Bool
$c== :: DefineIndexFieldResponse -> DefineIndexFieldResponse -> Bool
Prelude.Eq, ReadPrec [DefineIndexFieldResponse]
ReadPrec DefineIndexFieldResponse
Int -> ReadS DefineIndexFieldResponse
ReadS [DefineIndexFieldResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DefineIndexFieldResponse]
$creadListPrec :: ReadPrec [DefineIndexFieldResponse]
readPrec :: ReadPrec DefineIndexFieldResponse
$creadPrec :: ReadPrec DefineIndexFieldResponse
readList :: ReadS [DefineIndexFieldResponse]
$creadList :: ReadS [DefineIndexFieldResponse]
readsPrec :: Int -> ReadS DefineIndexFieldResponse
$creadsPrec :: Int -> ReadS DefineIndexFieldResponse
Prelude.Read, Int -> DefineIndexFieldResponse -> ShowS
[DefineIndexFieldResponse] -> ShowS
DefineIndexFieldResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DefineIndexFieldResponse] -> ShowS
$cshowList :: [DefineIndexFieldResponse] -> ShowS
show :: DefineIndexFieldResponse -> String
$cshow :: DefineIndexFieldResponse -> String
showsPrec :: Int -> DefineIndexFieldResponse -> ShowS
$cshowsPrec :: Int -> DefineIndexFieldResponse -> ShowS
Prelude.Show, forall x.
Rep DefineIndexFieldResponse x -> DefineIndexFieldResponse
forall x.
DefineIndexFieldResponse -> Rep DefineIndexFieldResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DefineIndexFieldResponse x -> DefineIndexFieldResponse
$cfrom :: forall x.
DefineIndexFieldResponse -> Rep DefineIndexFieldResponse x
Prelude.Generic)
newDefineIndexFieldResponse ::
Prelude.Int ->
IndexFieldStatus ->
DefineIndexFieldResponse
newDefineIndexFieldResponse :: Int -> IndexFieldStatus -> DefineIndexFieldResponse
newDefineIndexFieldResponse Int
pHttpStatus_ IndexFieldStatus
pIndexField_ =
DefineIndexFieldResponse'
{ $sel:httpStatus:DefineIndexFieldResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:indexField:DefineIndexFieldResponse' :: IndexFieldStatus
indexField = IndexFieldStatus
pIndexField_
}
defineIndexFieldResponse_httpStatus :: Lens.Lens' DefineIndexFieldResponse Prelude.Int
defineIndexFieldResponse_httpStatus :: Lens' DefineIndexFieldResponse Int
defineIndexFieldResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DefineIndexFieldResponse' {Int
httpStatus :: Int
$sel:httpStatus:DefineIndexFieldResponse' :: DefineIndexFieldResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DefineIndexFieldResponse
s@DefineIndexFieldResponse' {} Int
a -> DefineIndexFieldResponse
s {$sel:httpStatus:DefineIndexFieldResponse' :: Int
httpStatus = Int
a} :: DefineIndexFieldResponse)
defineIndexFieldResponse_indexField :: Lens.Lens' DefineIndexFieldResponse IndexFieldStatus
defineIndexFieldResponse_indexField :: Lens' DefineIndexFieldResponse IndexFieldStatus
defineIndexFieldResponse_indexField = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DefineIndexFieldResponse' {IndexFieldStatus
indexField :: IndexFieldStatus
$sel:indexField:DefineIndexFieldResponse' :: DefineIndexFieldResponse -> IndexFieldStatus
indexField} -> IndexFieldStatus
indexField) (\s :: DefineIndexFieldResponse
s@DefineIndexFieldResponse' {} IndexFieldStatus
a -> DefineIndexFieldResponse
s {$sel:indexField:DefineIndexFieldResponse' :: IndexFieldStatus
indexField = IndexFieldStatus
a} :: DefineIndexFieldResponse)
instance Prelude.NFData DefineIndexFieldResponse where
rnf :: DefineIndexFieldResponse -> ()
rnf DefineIndexFieldResponse' {Int
IndexFieldStatus
indexField :: IndexFieldStatus
httpStatus :: Int
$sel:indexField:DefineIndexFieldResponse' :: DefineIndexFieldResponse -> IndexFieldStatus
$sel:httpStatus:DefineIndexFieldResponse' :: DefineIndexFieldResponse -> 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 IndexFieldStatus
indexField