{-# 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.DescribeNFSFileShares
(
DescribeNFSFileShares (..),
newDescribeNFSFileShares,
describeNFSFileShares_fileShareARNList,
DescribeNFSFileSharesResponse (..),
newDescribeNFSFileSharesResponse,
describeNFSFileSharesResponse_nFSFileShareInfoList,
describeNFSFileSharesResponse_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 DescribeNFSFileShares = DescribeNFSFileShares'
{
DescribeNFSFileShares -> NonEmpty Text
fileShareARNList :: Prelude.NonEmpty Prelude.Text
}
deriving (DescribeNFSFileShares -> DescribeNFSFileShares -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeNFSFileShares -> DescribeNFSFileShares -> Bool
$c/= :: DescribeNFSFileShares -> DescribeNFSFileShares -> Bool
== :: DescribeNFSFileShares -> DescribeNFSFileShares -> Bool
$c== :: DescribeNFSFileShares -> DescribeNFSFileShares -> Bool
Prelude.Eq, ReadPrec [DescribeNFSFileShares]
ReadPrec DescribeNFSFileShares
Int -> ReadS DescribeNFSFileShares
ReadS [DescribeNFSFileShares]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeNFSFileShares]
$creadListPrec :: ReadPrec [DescribeNFSFileShares]
readPrec :: ReadPrec DescribeNFSFileShares
$creadPrec :: ReadPrec DescribeNFSFileShares
readList :: ReadS [DescribeNFSFileShares]
$creadList :: ReadS [DescribeNFSFileShares]
readsPrec :: Int -> ReadS DescribeNFSFileShares
$creadsPrec :: Int -> ReadS DescribeNFSFileShares
Prelude.Read, Int -> DescribeNFSFileShares -> ShowS
[DescribeNFSFileShares] -> ShowS
DescribeNFSFileShares -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeNFSFileShares] -> ShowS
$cshowList :: [DescribeNFSFileShares] -> ShowS
show :: DescribeNFSFileShares -> String
$cshow :: DescribeNFSFileShares -> String
showsPrec :: Int -> DescribeNFSFileShares -> ShowS
$cshowsPrec :: Int -> DescribeNFSFileShares -> ShowS
Prelude.Show, forall x. Rep DescribeNFSFileShares x -> DescribeNFSFileShares
forall x. DescribeNFSFileShares -> Rep DescribeNFSFileShares x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeNFSFileShares x -> DescribeNFSFileShares
$cfrom :: forall x. DescribeNFSFileShares -> Rep DescribeNFSFileShares x
Prelude.Generic)
newDescribeNFSFileShares ::
Prelude.NonEmpty Prelude.Text ->
DescribeNFSFileShares
newDescribeNFSFileShares :: NonEmpty Text -> DescribeNFSFileShares
newDescribeNFSFileShares NonEmpty Text
pFileShareARNList_ =
DescribeNFSFileShares'
{ $sel:fileShareARNList:DescribeNFSFileShares' :: NonEmpty Text
fileShareARNList =
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
pFileShareARNList_
}
describeNFSFileShares_fileShareARNList :: Lens.Lens' DescribeNFSFileShares (Prelude.NonEmpty Prelude.Text)
describeNFSFileShares_fileShareARNList :: Lens' DescribeNFSFileShares (NonEmpty Text)
describeNFSFileShares_fileShareARNList = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeNFSFileShares' {NonEmpty Text
fileShareARNList :: NonEmpty Text
$sel:fileShareARNList:DescribeNFSFileShares' :: DescribeNFSFileShares -> NonEmpty Text
fileShareARNList} -> NonEmpty Text
fileShareARNList) (\s :: DescribeNFSFileShares
s@DescribeNFSFileShares' {} NonEmpty Text
a -> DescribeNFSFileShares
s {$sel:fileShareARNList:DescribeNFSFileShares' :: NonEmpty Text
fileShareARNList = NonEmpty Text
a} :: DescribeNFSFileShares) 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 DescribeNFSFileShares where
type
AWSResponse DescribeNFSFileShares =
DescribeNFSFileSharesResponse
request :: (Service -> Service)
-> DescribeNFSFileShares -> Request DescribeNFSFileShares
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 DescribeNFSFileShares
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeNFSFileShares)))
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 [NFSFileShareInfo] -> Int -> DescribeNFSFileSharesResponse
DescribeNFSFileSharesResponse'
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
"NFSFileShareInfoList"
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 DescribeNFSFileShares where
hashWithSalt :: Int -> DescribeNFSFileShares -> Int
hashWithSalt Int
_salt DescribeNFSFileShares' {NonEmpty Text
fileShareARNList :: NonEmpty Text
$sel:fileShareARNList:DescribeNFSFileShares' :: DescribeNFSFileShares -> NonEmpty Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty Text
fileShareARNList
instance Prelude.NFData DescribeNFSFileShares where
rnf :: DescribeNFSFileShares -> ()
rnf DescribeNFSFileShares' {NonEmpty Text
fileShareARNList :: NonEmpty Text
$sel:fileShareARNList:DescribeNFSFileShares' :: DescribeNFSFileShares -> NonEmpty Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf NonEmpty Text
fileShareARNList
instance Data.ToHeaders DescribeNFSFileShares where
toHeaders :: DescribeNFSFileShares -> 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.DescribeNFSFileShares" ::
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 DescribeNFSFileShares where
toJSON :: DescribeNFSFileShares -> Value
toJSON DescribeNFSFileShares' {NonEmpty Text
fileShareARNList :: NonEmpty Text
$sel:fileShareARNList:DescribeNFSFileShares' :: DescribeNFSFileShares -> NonEmpty Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"FileShareARNList" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty Text
fileShareARNList)
]
)
instance Data.ToPath DescribeNFSFileShares where
toPath :: DescribeNFSFileShares -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeNFSFileShares where
toQuery :: DescribeNFSFileShares -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeNFSFileSharesResponse = DescribeNFSFileSharesResponse'
{
DescribeNFSFileSharesResponse -> Maybe [NFSFileShareInfo]
nFSFileShareInfoList :: Prelude.Maybe [NFSFileShareInfo],
DescribeNFSFileSharesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeNFSFileSharesResponse
-> DescribeNFSFileSharesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeNFSFileSharesResponse
-> DescribeNFSFileSharesResponse -> Bool
$c/= :: DescribeNFSFileSharesResponse
-> DescribeNFSFileSharesResponse -> Bool
== :: DescribeNFSFileSharesResponse
-> DescribeNFSFileSharesResponse -> Bool
$c== :: DescribeNFSFileSharesResponse
-> DescribeNFSFileSharesResponse -> Bool
Prelude.Eq, ReadPrec [DescribeNFSFileSharesResponse]
ReadPrec DescribeNFSFileSharesResponse
Int -> ReadS DescribeNFSFileSharesResponse
ReadS [DescribeNFSFileSharesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeNFSFileSharesResponse]
$creadListPrec :: ReadPrec [DescribeNFSFileSharesResponse]
readPrec :: ReadPrec DescribeNFSFileSharesResponse
$creadPrec :: ReadPrec DescribeNFSFileSharesResponse
readList :: ReadS [DescribeNFSFileSharesResponse]
$creadList :: ReadS [DescribeNFSFileSharesResponse]
readsPrec :: Int -> ReadS DescribeNFSFileSharesResponse
$creadsPrec :: Int -> ReadS DescribeNFSFileSharesResponse
Prelude.Read, Int -> DescribeNFSFileSharesResponse -> ShowS
[DescribeNFSFileSharesResponse] -> ShowS
DescribeNFSFileSharesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeNFSFileSharesResponse] -> ShowS
$cshowList :: [DescribeNFSFileSharesResponse] -> ShowS
show :: DescribeNFSFileSharesResponse -> String
$cshow :: DescribeNFSFileSharesResponse -> String
showsPrec :: Int -> DescribeNFSFileSharesResponse -> ShowS
$cshowsPrec :: Int -> DescribeNFSFileSharesResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeNFSFileSharesResponse x
-> DescribeNFSFileSharesResponse
forall x.
DescribeNFSFileSharesResponse
-> Rep DescribeNFSFileSharesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeNFSFileSharesResponse x
-> DescribeNFSFileSharesResponse
$cfrom :: forall x.
DescribeNFSFileSharesResponse
-> Rep DescribeNFSFileSharesResponse x
Prelude.Generic)
newDescribeNFSFileSharesResponse ::
Prelude.Int ->
DescribeNFSFileSharesResponse
newDescribeNFSFileSharesResponse :: Int -> DescribeNFSFileSharesResponse
newDescribeNFSFileSharesResponse Int
pHttpStatus_ =
DescribeNFSFileSharesResponse'
{ $sel:nFSFileShareInfoList:DescribeNFSFileSharesResponse' :: Maybe [NFSFileShareInfo]
nFSFileShareInfoList =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeNFSFileSharesResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeNFSFileSharesResponse_nFSFileShareInfoList :: Lens.Lens' DescribeNFSFileSharesResponse (Prelude.Maybe [NFSFileShareInfo])
describeNFSFileSharesResponse_nFSFileShareInfoList :: Lens' DescribeNFSFileSharesResponse (Maybe [NFSFileShareInfo])
describeNFSFileSharesResponse_nFSFileShareInfoList = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeNFSFileSharesResponse' {Maybe [NFSFileShareInfo]
nFSFileShareInfoList :: Maybe [NFSFileShareInfo]
$sel:nFSFileShareInfoList:DescribeNFSFileSharesResponse' :: DescribeNFSFileSharesResponse -> Maybe [NFSFileShareInfo]
nFSFileShareInfoList} -> Maybe [NFSFileShareInfo]
nFSFileShareInfoList) (\s :: DescribeNFSFileSharesResponse
s@DescribeNFSFileSharesResponse' {} Maybe [NFSFileShareInfo]
a -> DescribeNFSFileSharesResponse
s {$sel:nFSFileShareInfoList:DescribeNFSFileSharesResponse' :: Maybe [NFSFileShareInfo]
nFSFileShareInfoList = Maybe [NFSFileShareInfo]
a} :: DescribeNFSFileSharesResponse) 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
describeNFSFileSharesResponse_httpStatus :: Lens.Lens' DescribeNFSFileSharesResponse Prelude.Int
describeNFSFileSharesResponse_httpStatus :: Lens' DescribeNFSFileSharesResponse Int
describeNFSFileSharesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeNFSFileSharesResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeNFSFileSharesResponse' :: DescribeNFSFileSharesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeNFSFileSharesResponse
s@DescribeNFSFileSharesResponse' {} Int
a -> DescribeNFSFileSharesResponse
s {$sel:httpStatus:DescribeNFSFileSharesResponse' :: Int
httpStatus = Int
a} :: DescribeNFSFileSharesResponse)
instance Prelude.NFData DescribeNFSFileSharesResponse where
rnf :: DescribeNFSFileSharesResponse -> ()
rnf DescribeNFSFileSharesResponse' {Int
Maybe [NFSFileShareInfo]
httpStatus :: Int
nFSFileShareInfoList :: Maybe [NFSFileShareInfo]
$sel:httpStatus:DescribeNFSFileSharesResponse' :: DescribeNFSFileSharesResponse -> Int
$sel:nFSFileShareInfoList:DescribeNFSFileSharesResponse' :: DescribeNFSFileSharesResponse -> Maybe [NFSFileShareInfo]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [NFSFileShareInfo]
nFSFileShareInfoList
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus