{-# 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.ListAutomaticTapeCreationPolicies
(
ListAutomaticTapeCreationPolicies (..),
newListAutomaticTapeCreationPolicies,
listAutomaticTapeCreationPolicies_gatewayARN,
ListAutomaticTapeCreationPoliciesResponse (..),
newListAutomaticTapeCreationPoliciesResponse,
listAutomaticTapeCreationPoliciesResponse_automaticTapeCreationPolicyInfos,
listAutomaticTapeCreationPoliciesResponse_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 ListAutomaticTapeCreationPolicies = ListAutomaticTapeCreationPolicies'
{ ListAutomaticTapeCreationPolicies -> Maybe Text
gatewayARN :: Prelude.Maybe Prelude.Text
}
deriving (ListAutomaticTapeCreationPolicies
-> ListAutomaticTapeCreationPolicies -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListAutomaticTapeCreationPolicies
-> ListAutomaticTapeCreationPolicies -> Bool
$c/= :: ListAutomaticTapeCreationPolicies
-> ListAutomaticTapeCreationPolicies -> Bool
== :: ListAutomaticTapeCreationPolicies
-> ListAutomaticTapeCreationPolicies -> Bool
$c== :: ListAutomaticTapeCreationPolicies
-> ListAutomaticTapeCreationPolicies -> Bool
Prelude.Eq, ReadPrec [ListAutomaticTapeCreationPolicies]
ReadPrec ListAutomaticTapeCreationPolicies
Int -> ReadS ListAutomaticTapeCreationPolicies
ReadS [ListAutomaticTapeCreationPolicies]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListAutomaticTapeCreationPolicies]
$creadListPrec :: ReadPrec [ListAutomaticTapeCreationPolicies]
readPrec :: ReadPrec ListAutomaticTapeCreationPolicies
$creadPrec :: ReadPrec ListAutomaticTapeCreationPolicies
readList :: ReadS [ListAutomaticTapeCreationPolicies]
$creadList :: ReadS [ListAutomaticTapeCreationPolicies]
readsPrec :: Int -> ReadS ListAutomaticTapeCreationPolicies
$creadsPrec :: Int -> ReadS ListAutomaticTapeCreationPolicies
Prelude.Read, Int -> ListAutomaticTapeCreationPolicies -> ShowS
[ListAutomaticTapeCreationPolicies] -> ShowS
ListAutomaticTapeCreationPolicies -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListAutomaticTapeCreationPolicies] -> ShowS
$cshowList :: [ListAutomaticTapeCreationPolicies] -> ShowS
show :: ListAutomaticTapeCreationPolicies -> String
$cshow :: ListAutomaticTapeCreationPolicies -> String
showsPrec :: Int -> ListAutomaticTapeCreationPolicies -> ShowS
$cshowsPrec :: Int -> ListAutomaticTapeCreationPolicies -> ShowS
Prelude.Show, forall x.
Rep ListAutomaticTapeCreationPolicies x
-> ListAutomaticTapeCreationPolicies
forall x.
ListAutomaticTapeCreationPolicies
-> Rep ListAutomaticTapeCreationPolicies x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListAutomaticTapeCreationPolicies x
-> ListAutomaticTapeCreationPolicies
$cfrom :: forall x.
ListAutomaticTapeCreationPolicies
-> Rep ListAutomaticTapeCreationPolicies x
Prelude.Generic)
newListAutomaticTapeCreationPolicies ::
ListAutomaticTapeCreationPolicies
newListAutomaticTapeCreationPolicies :: ListAutomaticTapeCreationPolicies
newListAutomaticTapeCreationPolicies =
ListAutomaticTapeCreationPolicies'
{ $sel:gatewayARN:ListAutomaticTapeCreationPolicies' :: Maybe Text
gatewayARN =
forall a. Maybe a
Prelude.Nothing
}
listAutomaticTapeCreationPolicies_gatewayARN :: Lens.Lens' ListAutomaticTapeCreationPolicies (Prelude.Maybe Prelude.Text)
listAutomaticTapeCreationPolicies_gatewayARN :: Lens' ListAutomaticTapeCreationPolicies (Maybe Text)
listAutomaticTapeCreationPolicies_gatewayARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAutomaticTapeCreationPolicies' {Maybe Text
gatewayARN :: Maybe Text
$sel:gatewayARN:ListAutomaticTapeCreationPolicies' :: ListAutomaticTapeCreationPolicies -> Maybe Text
gatewayARN} -> Maybe Text
gatewayARN) (\s :: ListAutomaticTapeCreationPolicies
s@ListAutomaticTapeCreationPolicies' {} Maybe Text
a -> ListAutomaticTapeCreationPolicies
s {$sel:gatewayARN:ListAutomaticTapeCreationPolicies' :: Maybe Text
gatewayARN = Maybe Text
a} :: ListAutomaticTapeCreationPolicies)
instance
Core.AWSRequest
ListAutomaticTapeCreationPolicies
where
type
AWSResponse ListAutomaticTapeCreationPolicies =
ListAutomaticTapeCreationPoliciesResponse
request :: (Service -> Service)
-> ListAutomaticTapeCreationPolicies
-> Request ListAutomaticTapeCreationPolicies
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 ListAutomaticTapeCreationPolicies
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse ListAutomaticTapeCreationPolicies)))
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 [AutomaticTapeCreationPolicyInfo]
-> Int -> ListAutomaticTapeCreationPoliciesResponse
ListAutomaticTapeCreationPoliciesResponse'
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
"AutomaticTapeCreationPolicyInfos"
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
ListAutomaticTapeCreationPolicies
where
hashWithSalt :: Int -> ListAutomaticTapeCreationPolicies -> Int
hashWithSalt
Int
_salt
ListAutomaticTapeCreationPolicies' {Maybe Text
gatewayARN :: Maybe Text
$sel:gatewayARN:ListAutomaticTapeCreationPolicies' :: ListAutomaticTapeCreationPolicies -> Maybe Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
gatewayARN
instance
Prelude.NFData
ListAutomaticTapeCreationPolicies
where
rnf :: ListAutomaticTapeCreationPolicies -> ()
rnf ListAutomaticTapeCreationPolicies' {Maybe Text
gatewayARN :: Maybe Text
$sel:gatewayARN:ListAutomaticTapeCreationPolicies' :: ListAutomaticTapeCreationPolicies -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
gatewayARN
instance
Data.ToHeaders
ListAutomaticTapeCreationPolicies
where
toHeaders :: ListAutomaticTapeCreationPolicies -> 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.ListAutomaticTapeCreationPolicies" ::
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
ListAutomaticTapeCreationPolicies
where
toJSON :: ListAutomaticTapeCreationPolicies -> Value
toJSON ListAutomaticTapeCreationPolicies' {Maybe Text
gatewayARN :: Maybe Text
$sel:gatewayARN:ListAutomaticTapeCreationPolicies' :: ListAutomaticTapeCreationPolicies -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[(Key
"GatewayARN" 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
gatewayARN]
)
instance
Data.ToPath
ListAutomaticTapeCreationPolicies
where
toPath :: ListAutomaticTapeCreationPolicies -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance
Data.ToQuery
ListAutomaticTapeCreationPolicies
where
toQuery :: ListAutomaticTapeCreationPolicies -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data ListAutomaticTapeCreationPoliciesResponse = ListAutomaticTapeCreationPoliciesResponse'
{
ListAutomaticTapeCreationPoliciesResponse
-> Maybe [AutomaticTapeCreationPolicyInfo]
automaticTapeCreationPolicyInfos :: Prelude.Maybe [AutomaticTapeCreationPolicyInfo],
ListAutomaticTapeCreationPoliciesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ListAutomaticTapeCreationPoliciesResponse
-> ListAutomaticTapeCreationPoliciesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListAutomaticTapeCreationPoliciesResponse
-> ListAutomaticTapeCreationPoliciesResponse -> Bool
$c/= :: ListAutomaticTapeCreationPoliciesResponse
-> ListAutomaticTapeCreationPoliciesResponse -> Bool
== :: ListAutomaticTapeCreationPoliciesResponse
-> ListAutomaticTapeCreationPoliciesResponse -> Bool
$c== :: ListAutomaticTapeCreationPoliciesResponse
-> ListAutomaticTapeCreationPoliciesResponse -> Bool
Prelude.Eq, ReadPrec [ListAutomaticTapeCreationPoliciesResponse]
ReadPrec ListAutomaticTapeCreationPoliciesResponse
Int -> ReadS ListAutomaticTapeCreationPoliciesResponse
ReadS [ListAutomaticTapeCreationPoliciesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListAutomaticTapeCreationPoliciesResponse]
$creadListPrec :: ReadPrec [ListAutomaticTapeCreationPoliciesResponse]
readPrec :: ReadPrec ListAutomaticTapeCreationPoliciesResponse
$creadPrec :: ReadPrec ListAutomaticTapeCreationPoliciesResponse
readList :: ReadS [ListAutomaticTapeCreationPoliciesResponse]
$creadList :: ReadS [ListAutomaticTapeCreationPoliciesResponse]
readsPrec :: Int -> ReadS ListAutomaticTapeCreationPoliciesResponse
$creadsPrec :: Int -> ReadS ListAutomaticTapeCreationPoliciesResponse
Prelude.Read, Int -> ListAutomaticTapeCreationPoliciesResponse -> ShowS
[ListAutomaticTapeCreationPoliciesResponse] -> ShowS
ListAutomaticTapeCreationPoliciesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListAutomaticTapeCreationPoliciesResponse] -> ShowS
$cshowList :: [ListAutomaticTapeCreationPoliciesResponse] -> ShowS
show :: ListAutomaticTapeCreationPoliciesResponse -> String
$cshow :: ListAutomaticTapeCreationPoliciesResponse -> String
showsPrec :: Int -> ListAutomaticTapeCreationPoliciesResponse -> ShowS
$cshowsPrec :: Int -> ListAutomaticTapeCreationPoliciesResponse -> ShowS
Prelude.Show, forall x.
Rep ListAutomaticTapeCreationPoliciesResponse x
-> ListAutomaticTapeCreationPoliciesResponse
forall x.
ListAutomaticTapeCreationPoliciesResponse
-> Rep ListAutomaticTapeCreationPoliciesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListAutomaticTapeCreationPoliciesResponse x
-> ListAutomaticTapeCreationPoliciesResponse
$cfrom :: forall x.
ListAutomaticTapeCreationPoliciesResponse
-> Rep ListAutomaticTapeCreationPoliciesResponse x
Prelude.Generic)
newListAutomaticTapeCreationPoliciesResponse ::
Prelude.Int ->
ListAutomaticTapeCreationPoliciesResponse
newListAutomaticTapeCreationPoliciesResponse :: Int -> ListAutomaticTapeCreationPoliciesResponse
newListAutomaticTapeCreationPoliciesResponse
Int
pHttpStatus_ =
ListAutomaticTapeCreationPoliciesResponse'
{ $sel:automaticTapeCreationPolicyInfos:ListAutomaticTapeCreationPoliciesResponse' :: Maybe [AutomaticTapeCreationPolicyInfo]
automaticTapeCreationPolicyInfos =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ListAutomaticTapeCreationPoliciesResponse' :: Int
httpStatus = Int
pHttpStatus_
}
listAutomaticTapeCreationPoliciesResponse_automaticTapeCreationPolicyInfos :: Lens.Lens' ListAutomaticTapeCreationPoliciesResponse (Prelude.Maybe [AutomaticTapeCreationPolicyInfo])
listAutomaticTapeCreationPoliciesResponse_automaticTapeCreationPolicyInfos :: Lens'
ListAutomaticTapeCreationPoliciesResponse
(Maybe [AutomaticTapeCreationPolicyInfo])
listAutomaticTapeCreationPoliciesResponse_automaticTapeCreationPolicyInfos = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAutomaticTapeCreationPoliciesResponse' {Maybe [AutomaticTapeCreationPolicyInfo]
automaticTapeCreationPolicyInfos :: Maybe [AutomaticTapeCreationPolicyInfo]
$sel:automaticTapeCreationPolicyInfos:ListAutomaticTapeCreationPoliciesResponse' :: ListAutomaticTapeCreationPoliciesResponse
-> Maybe [AutomaticTapeCreationPolicyInfo]
automaticTapeCreationPolicyInfos} -> Maybe [AutomaticTapeCreationPolicyInfo]
automaticTapeCreationPolicyInfos) (\s :: ListAutomaticTapeCreationPoliciesResponse
s@ListAutomaticTapeCreationPoliciesResponse' {} Maybe [AutomaticTapeCreationPolicyInfo]
a -> ListAutomaticTapeCreationPoliciesResponse
s {$sel:automaticTapeCreationPolicyInfos:ListAutomaticTapeCreationPoliciesResponse' :: Maybe [AutomaticTapeCreationPolicyInfo]
automaticTapeCreationPolicyInfos = Maybe [AutomaticTapeCreationPolicyInfo]
a} :: ListAutomaticTapeCreationPoliciesResponse) 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
listAutomaticTapeCreationPoliciesResponse_httpStatus :: Lens.Lens' ListAutomaticTapeCreationPoliciesResponse Prelude.Int
listAutomaticTapeCreationPoliciesResponse_httpStatus :: Lens' ListAutomaticTapeCreationPoliciesResponse Int
listAutomaticTapeCreationPoliciesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAutomaticTapeCreationPoliciesResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListAutomaticTapeCreationPoliciesResponse' :: ListAutomaticTapeCreationPoliciesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListAutomaticTapeCreationPoliciesResponse
s@ListAutomaticTapeCreationPoliciesResponse' {} Int
a -> ListAutomaticTapeCreationPoliciesResponse
s {$sel:httpStatus:ListAutomaticTapeCreationPoliciesResponse' :: Int
httpStatus = Int
a} :: ListAutomaticTapeCreationPoliciesResponse)
instance
Prelude.NFData
ListAutomaticTapeCreationPoliciesResponse
where
rnf :: ListAutomaticTapeCreationPoliciesResponse -> ()
rnf ListAutomaticTapeCreationPoliciesResponse' {Int
Maybe [AutomaticTapeCreationPolicyInfo]
httpStatus :: Int
automaticTapeCreationPolicyInfos :: Maybe [AutomaticTapeCreationPolicyInfo]
$sel:httpStatus:ListAutomaticTapeCreationPoliciesResponse' :: ListAutomaticTapeCreationPoliciesResponse -> Int
$sel:automaticTapeCreationPolicyInfos:ListAutomaticTapeCreationPoliciesResponse' :: ListAutomaticTapeCreationPoliciesResponse
-> Maybe [AutomaticTapeCreationPolicyInfo]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [AutomaticTapeCreationPolicyInfo]
automaticTapeCreationPolicyInfos
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus