{-# 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.FinSpaceData.CreateChangeset
(
CreateChangeset (..),
newCreateChangeset,
createChangeset_clientToken,
createChangeset_datasetId,
createChangeset_changeType,
createChangeset_sourceParams,
createChangeset_formatParams,
CreateChangesetResponse (..),
newCreateChangesetResponse,
createChangesetResponse_changesetId,
createChangesetResponse_datasetId,
createChangesetResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.FinSpaceData.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CreateChangeset = CreateChangeset'
{
CreateChangeset -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
CreateChangeset -> Text
datasetId :: Prelude.Text,
CreateChangeset -> ChangeType
changeType :: ChangeType,
CreateChangeset -> HashMap Text Text
sourceParams :: Prelude.HashMap Prelude.Text Prelude.Text,
CreateChangeset -> HashMap Text Text
formatParams :: Prelude.HashMap Prelude.Text Prelude.Text
}
deriving (CreateChangeset -> CreateChangeset -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateChangeset -> CreateChangeset -> Bool
$c/= :: CreateChangeset -> CreateChangeset -> Bool
== :: CreateChangeset -> CreateChangeset -> Bool
$c== :: CreateChangeset -> CreateChangeset -> Bool
Prelude.Eq, ReadPrec [CreateChangeset]
ReadPrec CreateChangeset
Int -> ReadS CreateChangeset
ReadS [CreateChangeset]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateChangeset]
$creadListPrec :: ReadPrec [CreateChangeset]
readPrec :: ReadPrec CreateChangeset
$creadPrec :: ReadPrec CreateChangeset
readList :: ReadS [CreateChangeset]
$creadList :: ReadS [CreateChangeset]
readsPrec :: Int -> ReadS CreateChangeset
$creadsPrec :: Int -> ReadS CreateChangeset
Prelude.Read, Int -> CreateChangeset -> ShowS
[CreateChangeset] -> ShowS
CreateChangeset -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateChangeset] -> ShowS
$cshowList :: [CreateChangeset] -> ShowS
show :: CreateChangeset -> String
$cshow :: CreateChangeset -> String
showsPrec :: Int -> CreateChangeset -> ShowS
$cshowsPrec :: Int -> CreateChangeset -> ShowS
Prelude.Show, forall x. Rep CreateChangeset x -> CreateChangeset
forall x. CreateChangeset -> Rep CreateChangeset x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateChangeset x -> CreateChangeset
$cfrom :: forall x. CreateChangeset -> Rep CreateChangeset x
Prelude.Generic)
newCreateChangeset ::
Prelude.Text ->
ChangeType ->
CreateChangeset
newCreateChangeset :: Text -> ChangeType -> CreateChangeset
newCreateChangeset Text
pDatasetId_ ChangeType
pChangeType_ =
CreateChangeset'
{ $sel:clientToken:CreateChangeset' :: Maybe Text
clientToken = forall a. Maybe a
Prelude.Nothing,
$sel:datasetId:CreateChangeset' :: Text
datasetId = Text
pDatasetId_,
$sel:changeType:CreateChangeset' :: ChangeType
changeType = ChangeType
pChangeType_,
$sel:sourceParams:CreateChangeset' :: HashMap Text Text
sourceParams = forall a. Monoid a => a
Prelude.mempty,
$sel:formatParams:CreateChangeset' :: HashMap Text Text
formatParams = forall a. Monoid a => a
Prelude.mempty
}
createChangeset_clientToken :: Lens.Lens' CreateChangeset (Prelude.Maybe Prelude.Text)
createChangeset_clientToken :: Lens' CreateChangeset (Maybe Text)
createChangeset_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateChangeset' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:CreateChangeset' :: CreateChangeset -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: CreateChangeset
s@CreateChangeset' {} Maybe Text
a -> CreateChangeset
s {$sel:clientToken:CreateChangeset' :: Maybe Text
clientToken = Maybe Text
a} :: CreateChangeset)
createChangeset_datasetId :: Lens.Lens' CreateChangeset Prelude.Text
createChangeset_datasetId :: Lens' CreateChangeset Text
createChangeset_datasetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateChangeset' {Text
datasetId :: Text
$sel:datasetId:CreateChangeset' :: CreateChangeset -> Text
datasetId} -> Text
datasetId) (\s :: CreateChangeset
s@CreateChangeset' {} Text
a -> CreateChangeset
s {$sel:datasetId:CreateChangeset' :: Text
datasetId = Text
a} :: CreateChangeset)
createChangeset_changeType :: Lens.Lens' CreateChangeset ChangeType
createChangeset_changeType :: Lens' CreateChangeset ChangeType
createChangeset_changeType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateChangeset' {ChangeType
changeType :: ChangeType
$sel:changeType:CreateChangeset' :: CreateChangeset -> ChangeType
changeType} -> ChangeType
changeType) (\s :: CreateChangeset
s@CreateChangeset' {} ChangeType
a -> CreateChangeset
s {$sel:changeType:CreateChangeset' :: ChangeType
changeType = ChangeType
a} :: CreateChangeset)
createChangeset_sourceParams :: Lens.Lens' CreateChangeset (Prelude.HashMap Prelude.Text Prelude.Text)
createChangeset_sourceParams :: Lens' CreateChangeset (HashMap Text Text)
createChangeset_sourceParams = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateChangeset' {HashMap Text Text
sourceParams :: HashMap Text Text
$sel:sourceParams:CreateChangeset' :: CreateChangeset -> HashMap Text Text
sourceParams} -> HashMap Text Text
sourceParams) (\s :: CreateChangeset
s@CreateChangeset' {} HashMap Text Text
a -> CreateChangeset
s {$sel:sourceParams:CreateChangeset' :: HashMap Text Text
sourceParams = HashMap Text Text
a} :: CreateChangeset) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
createChangeset_formatParams :: Lens.Lens' CreateChangeset (Prelude.HashMap Prelude.Text Prelude.Text)
createChangeset_formatParams :: Lens' CreateChangeset (HashMap Text Text)
createChangeset_formatParams = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateChangeset' {HashMap Text Text
formatParams :: HashMap Text Text
$sel:formatParams:CreateChangeset' :: CreateChangeset -> HashMap Text Text
formatParams} -> HashMap Text Text
formatParams) (\s :: CreateChangeset
s@CreateChangeset' {} HashMap Text Text
a -> CreateChangeset
s {$sel:formatParams:CreateChangeset' :: HashMap Text Text
formatParams = HashMap Text Text
a} :: CreateChangeset) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSRequest CreateChangeset where
type
AWSResponse CreateChangeset =
CreateChangesetResponse
request :: (Service -> Service) -> CreateChangeset -> Request CreateChangeset
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 CreateChangeset
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateChangeset)))
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 -> Maybe Text -> Int -> CreateChangesetResponse
CreateChangesetResponse'
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
"changesetId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"datasetId")
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 CreateChangeset where
hashWithSalt :: Int -> CreateChangeset -> Int
hashWithSalt Int
_salt CreateChangeset' {Maybe Text
Text
HashMap Text Text
ChangeType
formatParams :: HashMap Text Text
sourceParams :: HashMap Text Text
changeType :: ChangeType
datasetId :: Text
clientToken :: Maybe Text
$sel:formatParams:CreateChangeset' :: CreateChangeset -> HashMap Text Text
$sel:sourceParams:CreateChangeset' :: CreateChangeset -> HashMap Text Text
$sel:changeType:CreateChangeset' :: CreateChangeset -> ChangeType
$sel:datasetId:CreateChangeset' :: CreateChangeset -> Text
$sel:clientToken:CreateChangeset' :: CreateChangeset -> 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` Text
datasetId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ChangeType
changeType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` HashMap Text Text
sourceParams
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` HashMap Text Text
formatParams
instance Prelude.NFData CreateChangeset where
rnf :: CreateChangeset -> ()
rnf CreateChangeset' {Maybe Text
Text
HashMap Text Text
ChangeType
formatParams :: HashMap Text Text
sourceParams :: HashMap Text Text
changeType :: ChangeType
datasetId :: Text
clientToken :: Maybe Text
$sel:formatParams:CreateChangeset' :: CreateChangeset -> HashMap Text Text
$sel:sourceParams:CreateChangeset' :: CreateChangeset -> HashMap Text Text
$sel:changeType:CreateChangeset' :: CreateChangeset -> ChangeType
$sel:datasetId:CreateChangeset' :: CreateChangeset -> Text
$sel:clientToken:CreateChangeset' :: CreateChangeset -> 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 Text
datasetId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ChangeType
changeType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf HashMap Text Text
sourceParams
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf HashMap Text Text
formatParams
instance Data.ToHeaders CreateChangeset where
toHeaders :: CreateChangeset -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON CreateChangeset where
toJSON :: CreateChangeset -> Value
toJSON CreateChangeset' {Maybe Text
Text
HashMap Text Text
ChangeType
formatParams :: HashMap Text Text
sourceParams :: HashMap Text Text
changeType :: ChangeType
datasetId :: Text
clientToken :: Maybe Text
$sel:formatParams:CreateChangeset' :: CreateChangeset -> HashMap Text Text
$sel:sourceParams:CreateChangeset' :: CreateChangeset -> HashMap Text Text
$sel:changeType:CreateChangeset' :: CreateChangeset -> ChangeType
$sel:datasetId:CreateChangeset' :: CreateChangeset -> Text
$sel:clientToken:CreateChangeset' :: CreateChangeset -> 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,
forall a. a -> Maybe a
Prelude.Just (Key
"changeType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= ChangeType
changeType),
forall a. a -> Maybe a
Prelude.Just (Key
"sourceParams" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= HashMap Text Text
sourceParams),
forall a. a -> Maybe a
Prelude.Just (Key
"formatParams" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= HashMap Text Text
formatParams)
]
)
instance Data.ToPath CreateChangeset where
toPath :: CreateChangeset -> ByteString
toPath CreateChangeset' {Maybe Text
Text
HashMap Text Text
ChangeType
formatParams :: HashMap Text Text
sourceParams :: HashMap Text Text
changeType :: ChangeType
datasetId :: Text
clientToken :: Maybe Text
$sel:formatParams:CreateChangeset' :: CreateChangeset -> HashMap Text Text
$sel:sourceParams:CreateChangeset' :: CreateChangeset -> HashMap Text Text
$sel:changeType:CreateChangeset' :: CreateChangeset -> ChangeType
$sel:datasetId:CreateChangeset' :: CreateChangeset -> Text
$sel:clientToken:CreateChangeset' :: CreateChangeset -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/datasets/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
datasetId, ByteString
"/changesetsv2"]
instance Data.ToQuery CreateChangeset where
toQuery :: CreateChangeset -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateChangesetResponse = CreateChangesetResponse'
{
CreateChangesetResponse -> Maybe Text
changesetId :: Prelude.Maybe Prelude.Text,
CreateChangesetResponse -> Maybe Text
datasetId :: Prelude.Maybe Prelude.Text,
CreateChangesetResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateChangesetResponse -> CreateChangesetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateChangesetResponse -> CreateChangesetResponse -> Bool
$c/= :: CreateChangesetResponse -> CreateChangesetResponse -> Bool
== :: CreateChangesetResponse -> CreateChangesetResponse -> Bool
$c== :: CreateChangesetResponse -> CreateChangesetResponse -> Bool
Prelude.Eq, ReadPrec [CreateChangesetResponse]
ReadPrec CreateChangesetResponse
Int -> ReadS CreateChangesetResponse
ReadS [CreateChangesetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateChangesetResponse]
$creadListPrec :: ReadPrec [CreateChangesetResponse]
readPrec :: ReadPrec CreateChangesetResponse
$creadPrec :: ReadPrec CreateChangesetResponse
readList :: ReadS [CreateChangesetResponse]
$creadList :: ReadS [CreateChangesetResponse]
readsPrec :: Int -> ReadS CreateChangesetResponse
$creadsPrec :: Int -> ReadS CreateChangesetResponse
Prelude.Read, Int -> CreateChangesetResponse -> ShowS
[CreateChangesetResponse] -> ShowS
CreateChangesetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateChangesetResponse] -> ShowS
$cshowList :: [CreateChangesetResponse] -> ShowS
show :: CreateChangesetResponse -> String
$cshow :: CreateChangesetResponse -> String
showsPrec :: Int -> CreateChangesetResponse -> ShowS
$cshowsPrec :: Int -> CreateChangesetResponse -> ShowS
Prelude.Show, forall x. Rep CreateChangesetResponse x -> CreateChangesetResponse
forall x. CreateChangesetResponse -> Rep CreateChangesetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateChangesetResponse x -> CreateChangesetResponse
$cfrom :: forall x. CreateChangesetResponse -> Rep CreateChangesetResponse x
Prelude.Generic)
newCreateChangesetResponse ::
Prelude.Int ->
CreateChangesetResponse
newCreateChangesetResponse :: Int -> CreateChangesetResponse
newCreateChangesetResponse Int
pHttpStatus_ =
CreateChangesetResponse'
{ $sel:changesetId:CreateChangesetResponse' :: Maybe Text
changesetId =
forall a. Maybe a
Prelude.Nothing,
$sel:datasetId:CreateChangesetResponse' :: Maybe Text
datasetId = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateChangesetResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createChangesetResponse_changesetId :: Lens.Lens' CreateChangesetResponse (Prelude.Maybe Prelude.Text)
createChangesetResponse_changesetId :: Lens' CreateChangesetResponse (Maybe Text)
createChangesetResponse_changesetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateChangesetResponse' {Maybe Text
changesetId :: Maybe Text
$sel:changesetId:CreateChangesetResponse' :: CreateChangesetResponse -> Maybe Text
changesetId} -> Maybe Text
changesetId) (\s :: CreateChangesetResponse
s@CreateChangesetResponse' {} Maybe Text
a -> CreateChangesetResponse
s {$sel:changesetId:CreateChangesetResponse' :: Maybe Text
changesetId = Maybe Text
a} :: CreateChangesetResponse)
createChangesetResponse_datasetId :: Lens.Lens' CreateChangesetResponse (Prelude.Maybe Prelude.Text)
createChangesetResponse_datasetId :: Lens' CreateChangesetResponse (Maybe Text)
createChangesetResponse_datasetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateChangesetResponse' {Maybe Text
datasetId :: Maybe Text
$sel:datasetId:CreateChangesetResponse' :: CreateChangesetResponse -> Maybe Text
datasetId} -> Maybe Text
datasetId) (\s :: CreateChangesetResponse
s@CreateChangesetResponse' {} Maybe Text
a -> CreateChangesetResponse
s {$sel:datasetId:CreateChangesetResponse' :: Maybe Text
datasetId = Maybe Text
a} :: CreateChangesetResponse)
createChangesetResponse_httpStatus :: Lens.Lens' CreateChangesetResponse Prelude.Int
createChangesetResponse_httpStatus :: Lens' CreateChangesetResponse Int
createChangesetResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateChangesetResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateChangesetResponse' :: CreateChangesetResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateChangesetResponse
s@CreateChangesetResponse' {} Int
a -> CreateChangesetResponse
s {$sel:httpStatus:CreateChangesetResponse' :: Int
httpStatus = Int
a} :: CreateChangesetResponse)
instance Prelude.NFData CreateChangesetResponse where
rnf :: CreateChangesetResponse -> ()
rnf CreateChangesetResponse' {Int
Maybe Text
httpStatus :: Int
datasetId :: Maybe Text
changesetId :: Maybe Text
$sel:httpStatus:CreateChangesetResponse' :: CreateChangesetResponse -> Int
$sel:datasetId:CreateChangesetResponse' :: CreateChangesetResponse -> Maybe Text
$sel:changesetId:CreateChangesetResponse' :: CreateChangesetResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
changesetId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
datasetId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus