{-# 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.MGN.DisassociateSourceServers
(
DisassociateSourceServers (..),
newDisassociateSourceServers,
disassociateSourceServers_applicationID,
disassociateSourceServers_sourceServerIDs,
DisassociateSourceServersResponse (..),
newDisassociateSourceServersResponse,
disassociateSourceServersResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MGN.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DisassociateSourceServers = DisassociateSourceServers'
{
DisassociateSourceServers -> Text
applicationID :: Prelude.Text,
DisassociateSourceServers -> NonEmpty Text
sourceServerIDs :: Prelude.NonEmpty Prelude.Text
}
deriving (DisassociateSourceServers -> DisassociateSourceServers -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociateSourceServers -> DisassociateSourceServers -> Bool
$c/= :: DisassociateSourceServers -> DisassociateSourceServers -> Bool
== :: DisassociateSourceServers -> DisassociateSourceServers -> Bool
$c== :: DisassociateSourceServers -> DisassociateSourceServers -> Bool
Prelude.Eq, ReadPrec [DisassociateSourceServers]
ReadPrec DisassociateSourceServers
Int -> ReadS DisassociateSourceServers
ReadS [DisassociateSourceServers]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociateSourceServers]
$creadListPrec :: ReadPrec [DisassociateSourceServers]
readPrec :: ReadPrec DisassociateSourceServers
$creadPrec :: ReadPrec DisassociateSourceServers
readList :: ReadS [DisassociateSourceServers]
$creadList :: ReadS [DisassociateSourceServers]
readsPrec :: Int -> ReadS DisassociateSourceServers
$creadsPrec :: Int -> ReadS DisassociateSourceServers
Prelude.Read, Int -> DisassociateSourceServers -> ShowS
[DisassociateSourceServers] -> ShowS
DisassociateSourceServers -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociateSourceServers] -> ShowS
$cshowList :: [DisassociateSourceServers] -> ShowS
show :: DisassociateSourceServers -> String
$cshow :: DisassociateSourceServers -> String
showsPrec :: Int -> DisassociateSourceServers -> ShowS
$cshowsPrec :: Int -> DisassociateSourceServers -> ShowS
Prelude.Show, forall x.
Rep DisassociateSourceServers x -> DisassociateSourceServers
forall x.
DisassociateSourceServers -> Rep DisassociateSourceServers x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociateSourceServers x -> DisassociateSourceServers
$cfrom :: forall x.
DisassociateSourceServers -> Rep DisassociateSourceServers x
Prelude.Generic)
newDisassociateSourceServers ::
Prelude.Text ->
Prelude.NonEmpty Prelude.Text ->
DisassociateSourceServers
newDisassociateSourceServers :: Text -> NonEmpty Text -> DisassociateSourceServers
newDisassociateSourceServers
Text
pApplicationID_
NonEmpty Text
pSourceServerIDs_ =
DisassociateSourceServers'
{ $sel:applicationID:DisassociateSourceServers' :: Text
applicationID =
Text
pApplicationID_,
$sel:sourceServerIDs:DisassociateSourceServers' :: NonEmpty Text
sourceServerIDs =
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced forall t b. AReview t b -> b -> t
Lens.# NonEmpty Text
pSourceServerIDs_
}
disassociateSourceServers_applicationID :: Lens.Lens' DisassociateSourceServers Prelude.Text
disassociateSourceServers_applicationID :: Lens' DisassociateSourceServers Text
disassociateSourceServers_applicationID = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateSourceServers' {Text
applicationID :: Text
$sel:applicationID:DisassociateSourceServers' :: DisassociateSourceServers -> Text
applicationID} -> Text
applicationID) (\s :: DisassociateSourceServers
s@DisassociateSourceServers' {} Text
a -> DisassociateSourceServers
s {$sel:applicationID:DisassociateSourceServers' :: Text
applicationID = Text
a} :: DisassociateSourceServers)
disassociateSourceServers_sourceServerIDs :: Lens.Lens' DisassociateSourceServers (Prelude.NonEmpty Prelude.Text)
disassociateSourceServers_sourceServerIDs :: Lens' DisassociateSourceServers (NonEmpty Text)
disassociateSourceServers_sourceServerIDs = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateSourceServers' {NonEmpty Text
sourceServerIDs :: NonEmpty Text
$sel:sourceServerIDs:DisassociateSourceServers' :: DisassociateSourceServers -> NonEmpty Text
sourceServerIDs} -> NonEmpty Text
sourceServerIDs) (\s :: DisassociateSourceServers
s@DisassociateSourceServers' {} NonEmpty Text
a -> DisassociateSourceServers
s {$sel:sourceServerIDs:DisassociateSourceServers' :: NonEmpty Text
sourceServerIDs = NonEmpty Text
a} :: DisassociateSourceServers) 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 DisassociateSourceServers where
type
AWSResponse DisassociateSourceServers =
DisassociateSourceServersResponse
request :: (Service -> Service)
-> DisassociateSourceServers -> Request DisassociateSourceServers
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 DisassociateSourceServers
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DisassociateSourceServers)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> DisassociateSourceServersResponse
DisassociateSourceServersResponse'
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))
)
instance Prelude.Hashable DisassociateSourceServers where
hashWithSalt :: Int -> DisassociateSourceServers -> Int
hashWithSalt Int
_salt DisassociateSourceServers' {NonEmpty Text
Text
sourceServerIDs :: NonEmpty Text
applicationID :: Text
$sel:sourceServerIDs:DisassociateSourceServers' :: DisassociateSourceServers -> NonEmpty Text
$sel:applicationID:DisassociateSourceServers' :: DisassociateSourceServers -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
applicationID
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty Text
sourceServerIDs
instance Prelude.NFData DisassociateSourceServers where
rnf :: DisassociateSourceServers -> ()
rnf DisassociateSourceServers' {NonEmpty Text
Text
sourceServerIDs :: NonEmpty Text
applicationID :: Text
$sel:sourceServerIDs:DisassociateSourceServers' :: DisassociateSourceServers -> NonEmpty Text
$sel:applicationID:DisassociateSourceServers' :: DisassociateSourceServers -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
applicationID
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf NonEmpty Text
sourceServerIDs
instance Data.ToHeaders DisassociateSourceServers where
toHeaders :: DisassociateSourceServers -> 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 DisassociateSourceServers where
toJSON :: DisassociateSourceServers -> Value
toJSON DisassociateSourceServers' {NonEmpty Text
Text
sourceServerIDs :: NonEmpty Text
applicationID :: Text
$sel:sourceServerIDs:DisassociateSourceServers' :: DisassociateSourceServers -> NonEmpty Text
$sel:applicationID:DisassociateSourceServers' :: DisassociateSourceServers -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"applicationID" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
applicationID),
forall a. a -> Maybe a
Prelude.Just
(Key
"sourceServerIDs" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty Text
sourceServerIDs)
]
)
instance Data.ToPath DisassociateSourceServers where
toPath :: DisassociateSourceServers -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/DisassociateSourceServers"
instance Data.ToQuery DisassociateSourceServers where
toQuery :: DisassociateSourceServers -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DisassociateSourceServersResponse = DisassociateSourceServersResponse'
{
DisassociateSourceServersResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DisassociateSourceServersResponse
-> DisassociateSourceServersResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociateSourceServersResponse
-> DisassociateSourceServersResponse -> Bool
$c/= :: DisassociateSourceServersResponse
-> DisassociateSourceServersResponse -> Bool
== :: DisassociateSourceServersResponse
-> DisassociateSourceServersResponse -> Bool
$c== :: DisassociateSourceServersResponse
-> DisassociateSourceServersResponse -> Bool
Prelude.Eq, ReadPrec [DisassociateSourceServersResponse]
ReadPrec DisassociateSourceServersResponse
Int -> ReadS DisassociateSourceServersResponse
ReadS [DisassociateSourceServersResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociateSourceServersResponse]
$creadListPrec :: ReadPrec [DisassociateSourceServersResponse]
readPrec :: ReadPrec DisassociateSourceServersResponse
$creadPrec :: ReadPrec DisassociateSourceServersResponse
readList :: ReadS [DisassociateSourceServersResponse]
$creadList :: ReadS [DisassociateSourceServersResponse]
readsPrec :: Int -> ReadS DisassociateSourceServersResponse
$creadsPrec :: Int -> ReadS DisassociateSourceServersResponse
Prelude.Read, Int -> DisassociateSourceServersResponse -> ShowS
[DisassociateSourceServersResponse] -> ShowS
DisassociateSourceServersResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociateSourceServersResponse] -> ShowS
$cshowList :: [DisassociateSourceServersResponse] -> ShowS
show :: DisassociateSourceServersResponse -> String
$cshow :: DisassociateSourceServersResponse -> String
showsPrec :: Int -> DisassociateSourceServersResponse -> ShowS
$cshowsPrec :: Int -> DisassociateSourceServersResponse -> ShowS
Prelude.Show, forall x.
Rep DisassociateSourceServersResponse x
-> DisassociateSourceServersResponse
forall x.
DisassociateSourceServersResponse
-> Rep DisassociateSourceServersResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociateSourceServersResponse x
-> DisassociateSourceServersResponse
$cfrom :: forall x.
DisassociateSourceServersResponse
-> Rep DisassociateSourceServersResponse x
Prelude.Generic)
newDisassociateSourceServersResponse ::
Prelude.Int ->
DisassociateSourceServersResponse
newDisassociateSourceServersResponse :: Int -> DisassociateSourceServersResponse
newDisassociateSourceServersResponse Int
pHttpStatus_ =
DisassociateSourceServersResponse'
{ $sel:httpStatus:DisassociateSourceServersResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
disassociateSourceServersResponse_httpStatus :: Lens.Lens' DisassociateSourceServersResponse Prelude.Int
disassociateSourceServersResponse_httpStatus :: Lens' DisassociateSourceServersResponse Int
disassociateSourceServersResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateSourceServersResponse' {Int
httpStatus :: Int
$sel:httpStatus:DisassociateSourceServersResponse' :: DisassociateSourceServersResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DisassociateSourceServersResponse
s@DisassociateSourceServersResponse' {} Int
a -> DisassociateSourceServersResponse
s {$sel:httpStatus:DisassociateSourceServersResponse' :: Int
httpStatus = Int
a} :: DisassociateSourceServersResponse)
instance
Prelude.NFData
DisassociateSourceServersResponse
where
rnf :: DisassociateSourceServersResponse -> ()
rnf DisassociateSourceServersResponse' {Int
httpStatus :: Int
$sel:httpStatus:DisassociateSourceServersResponse' :: DisassociateSourceServersResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus