{-# 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.StorageGateway.DeleteTapeArchive
(
DeleteTapeArchive (..),
newDeleteTapeArchive,
deleteTapeArchive_bypassGovernanceRetention,
deleteTapeArchive_tapeARN,
DeleteTapeArchiveResponse (..),
newDeleteTapeArchiveResponse,
deleteTapeArchiveResponse_tapeARN,
deleteTapeArchiveResponse_httpStatus,
)
where
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
import Amazonka.StorageGateway.Types
data DeleteTapeArchive = DeleteTapeArchive'
{
DeleteTapeArchive -> Maybe Bool
bypassGovernanceRetention :: Prelude.Maybe Prelude.Bool,
DeleteTapeArchive -> Text
tapeARN :: Prelude.Text
}
deriving (DeleteTapeArchive -> DeleteTapeArchive -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteTapeArchive -> DeleteTapeArchive -> Bool
$c/= :: DeleteTapeArchive -> DeleteTapeArchive -> Bool
== :: DeleteTapeArchive -> DeleteTapeArchive -> Bool
$c== :: DeleteTapeArchive -> DeleteTapeArchive -> Bool
Prelude.Eq, ReadPrec [DeleteTapeArchive]
ReadPrec DeleteTapeArchive
Int -> ReadS DeleteTapeArchive
ReadS [DeleteTapeArchive]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteTapeArchive]
$creadListPrec :: ReadPrec [DeleteTapeArchive]
readPrec :: ReadPrec DeleteTapeArchive
$creadPrec :: ReadPrec DeleteTapeArchive
readList :: ReadS [DeleteTapeArchive]
$creadList :: ReadS [DeleteTapeArchive]
readsPrec :: Int -> ReadS DeleteTapeArchive
$creadsPrec :: Int -> ReadS DeleteTapeArchive
Prelude.Read, Int -> DeleteTapeArchive -> ShowS
[DeleteTapeArchive] -> ShowS
DeleteTapeArchive -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteTapeArchive] -> ShowS
$cshowList :: [DeleteTapeArchive] -> ShowS
show :: DeleteTapeArchive -> String
$cshow :: DeleteTapeArchive -> String
showsPrec :: Int -> DeleteTapeArchive -> ShowS
$cshowsPrec :: Int -> DeleteTapeArchive -> ShowS
Prelude.Show, forall x. Rep DeleteTapeArchive x -> DeleteTapeArchive
forall x. DeleteTapeArchive -> Rep DeleteTapeArchive x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteTapeArchive x -> DeleteTapeArchive
$cfrom :: forall x. DeleteTapeArchive -> Rep DeleteTapeArchive x
Prelude.Generic)
newDeleteTapeArchive ::
Prelude.Text ->
DeleteTapeArchive
newDeleteTapeArchive :: Text -> DeleteTapeArchive
newDeleteTapeArchive Text
pTapeARN_ =
DeleteTapeArchive'
{ $sel:bypassGovernanceRetention:DeleteTapeArchive' :: Maybe Bool
bypassGovernanceRetention =
forall a. Maybe a
Prelude.Nothing,
$sel:tapeARN:DeleteTapeArchive' :: Text
tapeARN = Text
pTapeARN_
}
deleteTapeArchive_bypassGovernanceRetention :: Lens.Lens' DeleteTapeArchive (Prelude.Maybe Prelude.Bool)
deleteTapeArchive_bypassGovernanceRetention :: Lens' DeleteTapeArchive (Maybe Bool)
deleteTapeArchive_bypassGovernanceRetention = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteTapeArchive' {Maybe Bool
bypassGovernanceRetention :: Maybe Bool
$sel:bypassGovernanceRetention:DeleteTapeArchive' :: DeleteTapeArchive -> Maybe Bool
bypassGovernanceRetention} -> Maybe Bool
bypassGovernanceRetention) (\s :: DeleteTapeArchive
s@DeleteTapeArchive' {} Maybe Bool
a -> DeleteTapeArchive
s {$sel:bypassGovernanceRetention:DeleteTapeArchive' :: Maybe Bool
bypassGovernanceRetention = Maybe Bool
a} :: DeleteTapeArchive)
deleteTapeArchive_tapeARN :: Lens.Lens' DeleteTapeArchive Prelude.Text
deleteTapeArchive_tapeARN :: Lens' DeleteTapeArchive Text
deleteTapeArchive_tapeARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteTapeArchive' {Text
tapeARN :: Text
$sel:tapeARN:DeleteTapeArchive' :: DeleteTapeArchive -> Text
tapeARN} -> Text
tapeARN) (\s :: DeleteTapeArchive
s@DeleteTapeArchive' {} Text
a -> DeleteTapeArchive
s {$sel:tapeARN:DeleteTapeArchive' :: Text
tapeARN = Text
a} :: DeleteTapeArchive)
instance Core.AWSRequest DeleteTapeArchive where
type
AWSResponse DeleteTapeArchive =
DeleteTapeArchiveResponse
request :: (Service -> Service)
-> DeleteTapeArchive -> Request DeleteTapeArchive
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 DeleteTapeArchive
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteTapeArchive)))
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 -> DeleteTapeArchiveResponse
DeleteTapeArchiveResponse'
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
"TapeARN")
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 DeleteTapeArchive where
hashWithSalt :: Int -> DeleteTapeArchive -> Int
hashWithSalt Int
_salt DeleteTapeArchive' {Maybe Bool
Text
tapeARN :: Text
bypassGovernanceRetention :: Maybe Bool
$sel:tapeARN:DeleteTapeArchive' :: DeleteTapeArchive -> Text
$sel:bypassGovernanceRetention:DeleteTapeArchive' :: DeleteTapeArchive -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
bypassGovernanceRetention
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
tapeARN
instance Prelude.NFData DeleteTapeArchive where
rnf :: DeleteTapeArchive -> ()
rnf DeleteTapeArchive' {Maybe Bool
Text
tapeARN :: Text
bypassGovernanceRetention :: Maybe Bool
$sel:tapeARN:DeleteTapeArchive' :: DeleteTapeArchive -> Text
$sel:bypassGovernanceRetention:DeleteTapeArchive' :: DeleteTapeArchive -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
bypassGovernanceRetention
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
tapeARN
instance Data.ToHeaders DeleteTapeArchive where
toHeaders :: DeleteTapeArchive -> 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
"StorageGateway_20130630.DeleteTapeArchive" ::
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 DeleteTapeArchive where
toJSON :: DeleteTapeArchive -> Value
toJSON DeleteTapeArchive' {Maybe Bool
Text
tapeARN :: Text
bypassGovernanceRetention :: Maybe Bool
$sel:tapeARN:DeleteTapeArchive' :: DeleteTapeArchive -> Text
$sel:bypassGovernanceRetention:DeleteTapeArchive' :: DeleteTapeArchive -> Maybe Bool
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"BypassGovernanceRetention" 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 Bool
bypassGovernanceRetention,
forall a. a -> Maybe a
Prelude.Just (Key
"TapeARN" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
tapeARN)
]
)
instance Data.ToPath DeleteTapeArchive where
toPath :: DeleteTapeArchive -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeleteTapeArchive where
toQuery :: DeleteTapeArchive -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteTapeArchiveResponse = DeleteTapeArchiveResponse'
{
DeleteTapeArchiveResponse -> Maybe Text
tapeARN :: Prelude.Maybe Prelude.Text,
DeleteTapeArchiveResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteTapeArchiveResponse -> DeleteTapeArchiveResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteTapeArchiveResponse -> DeleteTapeArchiveResponse -> Bool
$c/= :: DeleteTapeArchiveResponse -> DeleteTapeArchiveResponse -> Bool
== :: DeleteTapeArchiveResponse -> DeleteTapeArchiveResponse -> Bool
$c== :: DeleteTapeArchiveResponse -> DeleteTapeArchiveResponse -> Bool
Prelude.Eq, ReadPrec [DeleteTapeArchiveResponse]
ReadPrec DeleteTapeArchiveResponse
Int -> ReadS DeleteTapeArchiveResponse
ReadS [DeleteTapeArchiveResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteTapeArchiveResponse]
$creadListPrec :: ReadPrec [DeleteTapeArchiveResponse]
readPrec :: ReadPrec DeleteTapeArchiveResponse
$creadPrec :: ReadPrec DeleteTapeArchiveResponse
readList :: ReadS [DeleteTapeArchiveResponse]
$creadList :: ReadS [DeleteTapeArchiveResponse]
readsPrec :: Int -> ReadS DeleteTapeArchiveResponse
$creadsPrec :: Int -> ReadS DeleteTapeArchiveResponse
Prelude.Read, Int -> DeleteTapeArchiveResponse -> ShowS
[DeleteTapeArchiveResponse] -> ShowS
DeleteTapeArchiveResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteTapeArchiveResponse] -> ShowS
$cshowList :: [DeleteTapeArchiveResponse] -> ShowS
show :: DeleteTapeArchiveResponse -> String
$cshow :: DeleteTapeArchiveResponse -> String
showsPrec :: Int -> DeleteTapeArchiveResponse -> ShowS
$cshowsPrec :: Int -> DeleteTapeArchiveResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteTapeArchiveResponse x -> DeleteTapeArchiveResponse
forall x.
DeleteTapeArchiveResponse -> Rep DeleteTapeArchiveResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteTapeArchiveResponse x -> DeleteTapeArchiveResponse
$cfrom :: forall x.
DeleteTapeArchiveResponse -> Rep DeleteTapeArchiveResponse x
Prelude.Generic)
newDeleteTapeArchiveResponse ::
Prelude.Int ->
DeleteTapeArchiveResponse
newDeleteTapeArchiveResponse :: Int -> DeleteTapeArchiveResponse
newDeleteTapeArchiveResponse Int
pHttpStatus_ =
DeleteTapeArchiveResponse'
{ $sel:tapeARN:DeleteTapeArchiveResponse' :: Maybe Text
tapeARN =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DeleteTapeArchiveResponse' :: Int
httpStatus = Int
pHttpStatus_
}
deleteTapeArchiveResponse_tapeARN :: Lens.Lens' DeleteTapeArchiveResponse (Prelude.Maybe Prelude.Text)
deleteTapeArchiveResponse_tapeARN :: Lens' DeleteTapeArchiveResponse (Maybe Text)
deleteTapeArchiveResponse_tapeARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteTapeArchiveResponse' {Maybe Text
tapeARN :: Maybe Text
$sel:tapeARN:DeleteTapeArchiveResponse' :: DeleteTapeArchiveResponse -> Maybe Text
tapeARN} -> Maybe Text
tapeARN) (\s :: DeleteTapeArchiveResponse
s@DeleteTapeArchiveResponse' {} Maybe Text
a -> DeleteTapeArchiveResponse
s {$sel:tapeARN:DeleteTapeArchiveResponse' :: Maybe Text
tapeARN = Maybe Text
a} :: DeleteTapeArchiveResponse)
deleteTapeArchiveResponse_httpStatus :: Lens.Lens' DeleteTapeArchiveResponse Prelude.Int
deleteTapeArchiveResponse_httpStatus :: Lens' DeleteTapeArchiveResponse Int
deleteTapeArchiveResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteTapeArchiveResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteTapeArchiveResponse' :: DeleteTapeArchiveResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteTapeArchiveResponse
s@DeleteTapeArchiveResponse' {} Int
a -> DeleteTapeArchiveResponse
s {$sel:httpStatus:DeleteTapeArchiveResponse' :: Int
httpStatus = Int
a} :: DeleteTapeArchiveResponse)
instance Prelude.NFData DeleteTapeArchiveResponse where
rnf :: DeleteTapeArchiveResponse -> ()
rnf DeleteTapeArchiveResponse' {Int
Maybe Text
httpStatus :: Int
tapeARN :: Maybe Text
$sel:httpStatus:DeleteTapeArchiveResponse' :: DeleteTapeArchiveResponse -> Int
$sel:tapeARN:DeleteTapeArchiveResponse' :: DeleteTapeArchiveResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
tapeARN
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus