{-# 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.DirectConnect.DeleteInterconnect
(
DeleteInterconnect (..),
newDeleteInterconnect,
deleteInterconnect_interconnectId,
DeleteInterconnectResponse (..),
newDeleteInterconnectResponse,
deleteInterconnectResponse_interconnectState,
deleteInterconnectResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DirectConnect.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteInterconnect = DeleteInterconnect'
{
DeleteInterconnect -> Text
interconnectId :: Prelude.Text
}
deriving (DeleteInterconnect -> DeleteInterconnect -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteInterconnect -> DeleteInterconnect -> Bool
$c/= :: DeleteInterconnect -> DeleteInterconnect -> Bool
== :: DeleteInterconnect -> DeleteInterconnect -> Bool
$c== :: DeleteInterconnect -> DeleteInterconnect -> Bool
Prelude.Eq, ReadPrec [DeleteInterconnect]
ReadPrec DeleteInterconnect
Int -> ReadS DeleteInterconnect
ReadS [DeleteInterconnect]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteInterconnect]
$creadListPrec :: ReadPrec [DeleteInterconnect]
readPrec :: ReadPrec DeleteInterconnect
$creadPrec :: ReadPrec DeleteInterconnect
readList :: ReadS [DeleteInterconnect]
$creadList :: ReadS [DeleteInterconnect]
readsPrec :: Int -> ReadS DeleteInterconnect
$creadsPrec :: Int -> ReadS DeleteInterconnect
Prelude.Read, Int -> DeleteInterconnect -> ShowS
[DeleteInterconnect] -> ShowS
DeleteInterconnect -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteInterconnect] -> ShowS
$cshowList :: [DeleteInterconnect] -> ShowS
show :: DeleteInterconnect -> String
$cshow :: DeleteInterconnect -> String
showsPrec :: Int -> DeleteInterconnect -> ShowS
$cshowsPrec :: Int -> DeleteInterconnect -> ShowS
Prelude.Show, forall x. Rep DeleteInterconnect x -> DeleteInterconnect
forall x. DeleteInterconnect -> Rep DeleteInterconnect x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteInterconnect x -> DeleteInterconnect
$cfrom :: forall x. DeleteInterconnect -> Rep DeleteInterconnect x
Prelude.Generic)
newDeleteInterconnect ::
Prelude.Text ->
DeleteInterconnect
newDeleteInterconnect :: Text -> DeleteInterconnect
newDeleteInterconnect Text
pInterconnectId_ =
DeleteInterconnect'
{ $sel:interconnectId:DeleteInterconnect' :: Text
interconnectId =
Text
pInterconnectId_
}
deleteInterconnect_interconnectId :: Lens.Lens' DeleteInterconnect Prelude.Text
deleteInterconnect_interconnectId :: Lens' DeleteInterconnect Text
deleteInterconnect_interconnectId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteInterconnect' {Text
interconnectId :: Text
$sel:interconnectId:DeleteInterconnect' :: DeleteInterconnect -> Text
interconnectId} -> Text
interconnectId) (\s :: DeleteInterconnect
s@DeleteInterconnect' {} Text
a -> DeleteInterconnect
s {$sel:interconnectId:DeleteInterconnect' :: Text
interconnectId = Text
a} :: DeleteInterconnect)
instance Core.AWSRequest DeleteInterconnect where
type
AWSResponse DeleteInterconnect =
DeleteInterconnectResponse
request :: (Service -> Service)
-> DeleteInterconnect -> Request DeleteInterconnect
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 DeleteInterconnect
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteInterconnect)))
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 InterconnectState -> Int -> DeleteInterconnectResponse
DeleteInterconnectResponse'
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
"interconnectState")
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 DeleteInterconnect where
hashWithSalt :: Int -> DeleteInterconnect -> Int
hashWithSalt Int
_salt DeleteInterconnect' {Text
interconnectId :: Text
$sel:interconnectId:DeleteInterconnect' :: DeleteInterconnect -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
interconnectId
instance Prelude.NFData DeleteInterconnect where
rnf :: DeleteInterconnect -> ()
rnf DeleteInterconnect' {Text
interconnectId :: Text
$sel:interconnectId:DeleteInterconnect' :: DeleteInterconnect -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
interconnectId
instance Data.ToHeaders DeleteInterconnect where
toHeaders :: DeleteInterconnect -> 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
"OvertureService.DeleteInterconnect" ::
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 DeleteInterconnect where
toJSON :: DeleteInterconnect -> Value
toJSON DeleteInterconnect' {Text
interconnectId :: Text
$sel:interconnectId:DeleteInterconnect' :: DeleteInterconnect -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"interconnectId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
interconnectId)
]
)
instance Data.ToPath DeleteInterconnect where
toPath :: DeleteInterconnect -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeleteInterconnect where
toQuery :: DeleteInterconnect -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteInterconnectResponse = DeleteInterconnectResponse'
{
DeleteInterconnectResponse -> Maybe InterconnectState
interconnectState :: Prelude.Maybe InterconnectState,
DeleteInterconnectResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteInterconnectResponse -> DeleteInterconnectResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteInterconnectResponse -> DeleteInterconnectResponse -> Bool
$c/= :: DeleteInterconnectResponse -> DeleteInterconnectResponse -> Bool
== :: DeleteInterconnectResponse -> DeleteInterconnectResponse -> Bool
$c== :: DeleteInterconnectResponse -> DeleteInterconnectResponse -> Bool
Prelude.Eq, ReadPrec [DeleteInterconnectResponse]
ReadPrec DeleteInterconnectResponse
Int -> ReadS DeleteInterconnectResponse
ReadS [DeleteInterconnectResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteInterconnectResponse]
$creadListPrec :: ReadPrec [DeleteInterconnectResponse]
readPrec :: ReadPrec DeleteInterconnectResponse
$creadPrec :: ReadPrec DeleteInterconnectResponse
readList :: ReadS [DeleteInterconnectResponse]
$creadList :: ReadS [DeleteInterconnectResponse]
readsPrec :: Int -> ReadS DeleteInterconnectResponse
$creadsPrec :: Int -> ReadS DeleteInterconnectResponse
Prelude.Read, Int -> DeleteInterconnectResponse -> ShowS
[DeleteInterconnectResponse] -> ShowS
DeleteInterconnectResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteInterconnectResponse] -> ShowS
$cshowList :: [DeleteInterconnectResponse] -> ShowS
show :: DeleteInterconnectResponse -> String
$cshow :: DeleteInterconnectResponse -> String
showsPrec :: Int -> DeleteInterconnectResponse -> ShowS
$cshowsPrec :: Int -> DeleteInterconnectResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteInterconnectResponse x -> DeleteInterconnectResponse
forall x.
DeleteInterconnectResponse -> Rep DeleteInterconnectResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteInterconnectResponse x -> DeleteInterconnectResponse
$cfrom :: forall x.
DeleteInterconnectResponse -> Rep DeleteInterconnectResponse x
Prelude.Generic)
newDeleteInterconnectResponse ::
Prelude.Int ->
DeleteInterconnectResponse
newDeleteInterconnectResponse :: Int -> DeleteInterconnectResponse
newDeleteInterconnectResponse Int
pHttpStatus_ =
DeleteInterconnectResponse'
{ $sel:interconnectState:DeleteInterconnectResponse' :: Maybe InterconnectState
interconnectState =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DeleteInterconnectResponse' :: Int
httpStatus = Int
pHttpStatus_
}
deleteInterconnectResponse_interconnectState :: Lens.Lens' DeleteInterconnectResponse (Prelude.Maybe InterconnectState)
deleteInterconnectResponse_interconnectState :: Lens' DeleteInterconnectResponse (Maybe InterconnectState)
deleteInterconnectResponse_interconnectState = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteInterconnectResponse' {Maybe InterconnectState
interconnectState :: Maybe InterconnectState
$sel:interconnectState:DeleteInterconnectResponse' :: DeleteInterconnectResponse -> Maybe InterconnectState
interconnectState} -> Maybe InterconnectState
interconnectState) (\s :: DeleteInterconnectResponse
s@DeleteInterconnectResponse' {} Maybe InterconnectState
a -> DeleteInterconnectResponse
s {$sel:interconnectState:DeleteInterconnectResponse' :: Maybe InterconnectState
interconnectState = Maybe InterconnectState
a} :: DeleteInterconnectResponse)
deleteInterconnectResponse_httpStatus :: Lens.Lens' DeleteInterconnectResponse Prelude.Int
deleteInterconnectResponse_httpStatus :: Lens' DeleteInterconnectResponse Int
deleteInterconnectResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteInterconnectResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteInterconnectResponse' :: DeleteInterconnectResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteInterconnectResponse
s@DeleteInterconnectResponse' {} Int
a -> DeleteInterconnectResponse
s {$sel:httpStatus:DeleteInterconnectResponse' :: Int
httpStatus = Int
a} :: DeleteInterconnectResponse)
instance Prelude.NFData DeleteInterconnectResponse where
rnf :: DeleteInterconnectResponse -> ()
rnf DeleteInterconnectResponse' {Int
Maybe InterconnectState
httpStatus :: Int
interconnectState :: Maybe InterconnectState
$sel:httpStatus:DeleteInterconnectResponse' :: DeleteInterconnectResponse -> Int
$sel:interconnectState:DeleteInterconnectResponse' :: DeleteInterconnectResponse -> Maybe InterconnectState
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe InterconnectState
interconnectState
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus