{-# 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.Glacier.ListVaults
(
ListVaults (..),
newListVaults,
listVaults_limit,
listVaults_marker,
listVaults_accountId,
ListVaultsResponse (..),
newListVaultsResponse,
listVaultsResponse_marker,
listVaultsResponse_vaultList,
listVaultsResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Glacier.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data ListVaults = ListVaults'
{
ListVaults -> Maybe Text
limit :: Prelude.Maybe Prelude.Text,
ListVaults -> Maybe Text
marker :: Prelude.Maybe Prelude.Text,
ListVaults -> Text
accountId :: Prelude.Text
}
deriving (ListVaults -> ListVaults -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListVaults -> ListVaults -> Bool
$c/= :: ListVaults -> ListVaults -> Bool
== :: ListVaults -> ListVaults -> Bool
$c== :: ListVaults -> ListVaults -> Bool
Prelude.Eq, ReadPrec [ListVaults]
ReadPrec ListVaults
Int -> ReadS ListVaults
ReadS [ListVaults]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListVaults]
$creadListPrec :: ReadPrec [ListVaults]
readPrec :: ReadPrec ListVaults
$creadPrec :: ReadPrec ListVaults
readList :: ReadS [ListVaults]
$creadList :: ReadS [ListVaults]
readsPrec :: Int -> ReadS ListVaults
$creadsPrec :: Int -> ReadS ListVaults
Prelude.Read, Int -> ListVaults -> ShowS
[ListVaults] -> ShowS
ListVaults -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListVaults] -> ShowS
$cshowList :: [ListVaults] -> ShowS
show :: ListVaults -> String
$cshow :: ListVaults -> String
showsPrec :: Int -> ListVaults -> ShowS
$cshowsPrec :: Int -> ListVaults -> ShowS
Prelude.Show, forall x. Rep ListVaults x -> ListVaults
forall x. ListVaults -> Rep ListVaults x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListVaults x -> ListVaults
$cfrom :: forall x. ListVaults -> Rep ListVaults x
Prelude.Generic)
newListVaults ::
Prelude.Text ->
ListVaults
newListVaults :: Text -> ListVaults
newListVaults Text
pAccountId_ =
ListVaults'
{ $sel:limit:ListVaults' :: Maybe Text
limit = forall a. Maybe a
Prelude.Nothing,
$sel:marker:ListVaults' :: Maybe Text
marker = forall a. Maybe a
Prelude.Nothing,
$sel:accountId:ListVaults' :: Text
accountId = Text
pAccountId_
}
listVaults_limit :: Lens.Lens' ListVaults (Prelude.Maybe Prelude.Text)
listVaults_limit :: Lens' ListVaults (Maybe Text)
listVaults_limit = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListVaults' {Maybe Text
limit :: Maybe Text
$sel:limit:ListVaults' :: ListVaults -> Maybe Text
limit} -> Maybe Text
limit) (\s :: ListVaults
s@ListVaults' {} Maybe Text
a -> ListVaults
s {$sel:limit:ListVaults' :: Maybe Text
limit = Maybe Text
a} :: ListVaults)
listVaults_marker :: Lens.Lens' ListVaults (Prelude.Maybe Prelude.Text)
listVaults_marker :: Lens' ListVaults (Maybe Text)
listVaults_marker = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListVaults' {Maybe Text
marker :: Maybe Text
$sel:marker:ListVaults' :: ListVaults -> Maybe Text
marker} -> Maybe Text
marker) (\s :: ListVaults
s@ListVaults' {} Maybe Text
a -> ListVaults
s {$sel:marker:ListVaults' :: Maybe Text
marker = Maybe Text
a} :: ListVaults)
listVaults_accountId :: Lens.Lens' ListVaults Prelude.Text
listVaults_accountId :: Lens' ListVaults Text
listVaults_accountId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListVaults' {Text
accountId :: Text
$sel:accountId:ListVaults' :: ListVaults -> Text
accountId} -> Text
accountId) (\s :: ListVaults
s@ListVaults' {} Text
a -> ListVaults
s {$sel:accountId:ListVaults' :: Text
accountId = Text
a} :: ListVaults)
instance Core.AWSPager ListVaults where
page :: ListVaults -> AWSResponse ListVaults -> Maybe ListVaults
page ListVaults
rq AWSResponse ListVaults
rs
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse ListVaults
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListVaultsResponse (Maybe Text)
listVaultsResponse_marker
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
) =
forall a. Maybe a
Prelude.Nothing
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse ListVaults
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListVaultsResponse (Maybe [DescribeVaultOutput])
listVaultsResponse_vaultList
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
) =
forall a. Maybe a
Prelude.Nothing
| Bool
Prelude.otherwise =
forall a. a -> Maybe a
Prelude.Just
forall a b. (a -> b) -> a -> b
Prelude.$ ListVaults
rq
forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListVaults (Maybe Text)
listVaults_marker
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListVaults
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListVaultsResponse (Maybe Text)
listVaultsResponse_marker
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
instance Core.AWSRequest ListVaults where
type AWSResponse ListVaults = ListVaultsResponse
request :: (Service -> Service) -> ListVaults -> Request ListVaults
request Service -> Service
overrides =
forall a. ByteString -> Request a -> Request a
Request.glacierVersionHeader (Service -> ByteString
Core.version Service
defaultService)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ListVaults
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse ListVaults)))
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 [DescribeVaultOutput] -> Int -> ListVaultsResponse
ListVaultsResponse'
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
"Marker")
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
"VaultList" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
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 ListVaults where
hashWithSalt :: Int -> ListVaults -> Int
hashWithSalt Int
_salt ListVaults' {Maybe Text
Text
accountId :: Text
marker :: Maybe Text
limit :: Maybe Text
$sel:accountId:ListVaults' :: ListVaults -> Text
$sel:marker:ListVaults' :: ListVaults -> Maybe Text
$sel:limit:ListVaults' :: ListVaults -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
limit
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
marker
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
accountId
instance Prelude.NFData ListVaults where
rnf :: ListVaults -> ()
rnf ListVaults' {Maybe Text
Text
accountId :: Text
marker :: Maybe Text
limit :: Maybe Text
$sel:accountId:ListVaults' :: ListVaults -> Text
$sel:marker:ListVaults' :: ListVaults -> Maybe Text
$sel:limit:ListVaults' :: ListVaults -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
limit
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
marker
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
accountId
instance Data.ToHeaders ListVaults where
toHeaders :: ListVaults -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath ListVaults where
toPath :: ListVaults -> ByteString
toPath ListVaults' {Maybe Text
Text
accountId :: Text
marker :: Maybe Text
limit :: Maybe Text
$sel:accountId:ListVaults' :: ListVaults -> Text
$sel:marker:ListVaults' :: ListVaults -> Maybe Text
$sel:limit:ListVaults' :: ListVaults -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
accountId, ByteString
"/vaults"]
instance Data.ToQuery ListVaults where
toQuery :: ListVaults -> QueryString
toQuery ListVaults' {Maybe Text
Text
accountId :: Text
marker :: Maybe Text
limit :: Maybe Text
$sel:accountId:ListVaults' :: ListVaults -> Text
$sel:marker:ListVaults' :: ListVaults -> Maybe Text
$sel:limit:ListVaults' :: ListVaults -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"limit" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
limit, ByteString
"marker" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
marker]
data ListVaultsResponse = ListVaultsResponse'
{
ListVaultsResponse -> Maybe Text
marker :: Prelude.Maybe Prelude.Text,
ListVaultsResponse -> Maybe [DescribeVaultOutput]
vaultList :: Prelude.Maybe [DescribeVaultOutput],
ListVaultsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ListVaultsResponse -> ListVaultsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListVaultsResponse -> ListVaultsResponse -> Bool
$c/= :: ListVaultsResponse -> ListVaultsResponse -> Bool
== :: ListVaultsResponse -> ListVaultsResponse -> Bool
$c== :: ListVaultsResponse -> ListVaultsResponse -> Bool
Prelude.Eq, ReadPrec [ListVaultsResponse]
ReadPrec ListVaultsResponse
Int -> ReadS ListVaultsResponse
ReadS [ListVaultsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListVaultsResponse]
$creadListPrec :: ReadPrec [ListVaultsResponse]
readPrec :: ReadPrec ListVaultsResponse
$creadPrec :: ReadPrec ListVaultsResponse
readList :: ReadS [ListVaultsResponse]
$creadList :: ReadS [ListVaultsResponse]
readsPrec :: Int -> ReadS ListVaultsResponse
$creadsPrec :: Int -> ReadS ListVaultsResponse
Prelude.Read, Int -> ListVaultsResponse -> ShowS
[ListVaultsResponse] -> ShowS
ListVaultsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListVaultsResponse] -> ShowS
$cshowList :: [ListVaultsResponse] -> ShowS
show :: ListVaultsResponse -> String
$cshow :: ListVaultsResponse -> String
showsPrec :: Int -> ListVaultsResponse -> ShowS
$cshowsPrec :: Int -> ListVaultsResponse -> ShowS
Prelude.Show, forall x. Rep ListVaultsResponse x -> ListVaultsResponse
forall x. ListVaultsResponse -> Rep ListVaultsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListVaultsResponse x -> ListVaultsResponse
$cfrom :: forall x. ListVaultsResponse -> Rep ListVaultsResponse x
Prelude.Generic)
newListVaultsResponse ::
Prelude.Int ->
ListVaultsResponse
newListVaultsResponse :: Int -> ListVaultsResponse
newListVaultsResponse Int
pHttpStatus_ =
ListVaultsResponse'
{ $sel:marker:ListVaultsResponse' :: Maybe Text
marker = forall a. Maybe a
Prelude.Nothing,
$sel:vaultList:ListVaultsResponse' :: Maybe [DescribeVaultOutput]
vaultList = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ListVaultsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
listVaultsResponse_marker :: Lens.Lens' ListVaultsResponse (Prelude.Maybe Prelude.Text)
listVaultsResponse_marker :: Lens' ListVaultsResponse (Maybe Text)
listVaultsResponse_marker = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListVaultsResponse' {Maybe Text
marker :: Maybe Text
$sel:marker:ListVaultsResponse' :: ListVaultsResponse -> Maybe Text
marker} -> Maybe Text
marker) (\s :: ListVaultsResponse
s@ListVaultsResponse' {} Maybe Text
a -> ListVaultsResponse
s {$sel:marker:ListVaultsResponse' :: Maybe Text
marker = Maybe Text
a} :: ListVaultsResponse)
listVaultsResponse_vaultList :: Lens.Lens' ListVaultsResponse (Prelude.Maybe [DescribeVaultOutput])
listVaultsResponse_vaultList :: Lens' ListVaultsResponse (Maybe [DescribeVaultOutput])
listVaultsResponse_vaultList = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListVaultsResponse' {Maybe [DescribeVaultOutput]
vaultList :: Maybe [DescribeVaultOutput]
$sel:vaultList:ListVaultsResponse' :: ListVaultsResponse -> Maybe [DescribeVaultOutput]
vaultList} -> Maybe [DescribeVaultOutput]
vaultList) (\s :: ListVaultsResponse
s@ListVaultsResponse' {} Maybe [DescribeVaultOutput]
a -> ListVaultsResponse
s {$sel:vaultList:ListVaultsResponse' :: Maybe [DescribeVaultOutput]
vaultList = Maybe [DescribeVaultOutput]
a} :: ListVaultsResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
listVaultsResponse_httpStatus :: Lens.Lens' ListVaultsResponse Prelude.Int
listVaultsResponse_httpStatus :: Lens' ListVaultsResponse Int
listVaultsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListVaultsResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListVaultsResponse' :: ListVaultsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListVaultsResponse
s@ListVaultsResponse' {} Int
a -> ListVaultsResponse
s {$sel:httpStatus:ListVaultsResponse' :: Int
httpStatus = Int
a} :: ListVaultsResponse)
instance Prelude.NFData ListVaultsResponse where
rnf :: ListVaultsResponse -> ()
rnf ListVaultsResponse' {Int
Maybe [DescribeVaultOutput]
Maybe Text
httpStatus :: Int
vaultList :: Maybe [DescribeVaultOutput]
marker :: Maybe Text
$sel:httpStatus:ListVaultsResponse' :: ListVaultsResponse -> Int
$sel:vaultList:ListVaultsResponse' :: ListVaultsResponse -> Maybe [DescribeVaultOutput]
$sel:marker:ListVaultsResponse' :: ListVaultsResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
marker
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [DescribeVaultOutput]
vaultList
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus