{-# 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.FSx.CreateFileSystem
(
CreateFileSystem (..),
newCreateFileSystem,
createFileSystem_clientRequestToken,
createFileSystem_fileSystemTypeVersion,
createFileSystem_kmsKeyId,
createFileSystem_lustreConfiguration,
createFileSystem_ontapConfiguration,
createFileSystem_openZFSConfiguration,
createFileSystem_securityGroupIds,
createFileSystem_storageType,
createFileSystem_tags,
createFileSystem_windowsConfiguration,
createFileSystem_fileSystemType,
createFileSystem_storageCapacity,
createFileSystem_subnetIds,
CreateFileSystemResponse (..),
newCreateFileSystemResponse,
createFileSystemResponse_fileSystem,
createFileSystemResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.FSx.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CreateFileSystem = CreateFileSystem'
{
CreateFileSystem -> Maybe Text
clientRequestToken :: Prelude.Maybe Prelude.Text,
CreateFileSystem -> Maybe Text
fileSystemTypeVersion :: Prelude.Maybe Prelude.Text,
CreateFileSystem -> Maybe Text
kmsKeyId :: Prelude.Maybe Prelude.Text,
CreateFileSystem -> Maybe CreateFileSystemLustreConfiguration
lustreConfiguration :: Prelude.Maybe CreateFileSystemLustreConfiguration,
CreateFileSystem -> Maybe CreateFileSystemOntapConfiguration
ontapConfiguration :: Prelude.Maybe CreateFileSystemOntapConfiguration,
CreateFileSystem -> Maybe CreateFileSystemOpenZFSConfiguration
openZFSConfiguration :: Prelude.Maybe CreateFileSystemOpenZFSConfiguration,
CreateFileSystem -> Maybe [Text]
securityGroupIds :: Prelude.Maybe [Prelude.Text],
CreateFileSystem -> Maybe StorageType
storageType :: Prelude.Maybe StorageType,
CreateFileSystem -> Maybe (NonEmpty Tag)
tags :: Prelude.Maybe (Prelude.NonEmpty Tag),
CreateFileSystem -> Maybe CreateFileSystemWindowsConfiguration
windowsConfiguration :: Prelude.Maybe CreateFileSystemWindowsConfiguration,
CreateFileSystem -> FileSystemType
fileSystemType :: FileSystemType,
CreateFileSystem -> Natural
storageCapacity :: Prelude.Natural,
CreateFileSystem -> [Text]
subnetIds :: [Prelude.Text]
}
deriving (CreateFileSystem -> CreateFileSystem -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateFileSystem -> CreateFileSystem -> Bool
$c/= :: CreateFileSystem -> CreateFileSystem -> Bool
== :: CreateFileSystem -> CreateFileSystem -> Bool
$c== :: CreateFileSystem -> CreateFileSystem -> Bool
Prelude.Eq, Int -> CreateFileSystem -> ShowS
[CreateFileSystem] -> ShowS
CreateFileSystem -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateFileSystem] -> ShowS
$cshowList :: [CreateFileSystem] -> ShowS
show :: CreateFileSystem -> String
$cshow :: CreateFileSystem -> String
showsPrec :: Int -> CreateFileSystem -> ShowS
$cshowsPrec :: Int -> CreateFileSystem -> ShowS
Prelude.Show, forall x. Rep CreateFileSystem x -> CreateFileSystem
forall x. CreateFileSystem -> Rep CreateFileSystem x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateFileSystem x -> CreateFileSystem
$cfrom :: forall x. CreateFileSystem -> Rep CreateFileSystem x
Prelude.Generic)
newCreateFileSystem ::
FileSystemType ->
Prelude.Natural ->
CreateFileSystem
newCreateFileSystem :: FileSystemType -> Natural -> CreateFileSystem
newCreateFileSystem
FileSystemType
pFileSystemType_
Natural
pStorageCapacity_ =
CreateFileSystem'
{ $sel:clientRequestToken:CreateFileSystem' :: Maybe Text
clientRequestToken =
forall a. Maybe a
Prelude.Nothing,
$sel:fileSystemTypeVersion:CreateFileSystem' :: Maybe Text
fileSystemTypeVersion = forall a. Maybe a
Prelude.Nothing,
$sel:kmsKeyId:CreateFileSystem' :: Maybe Text
kmsKeyId = forall a. Maybe a
Prelude.Nothing,
$sel:lustreConfiguration:CreateFileSystem' :: Maybe CreateFileSystemLustreConfiguration
lustreConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:ontapConfiguration:CreateFileSystem' :: Maybe CreateFileSystemOntapConfiguration
ontapConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:openZFSConfiguration:CreateFileSystem' :: Maybe CreateFileSystemOpenZFSConfiguration
openZFSConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:securityGroupIds:CreateFileSystem' :: Maybe [Text]
securityGroupIds = forall a. Maybe a
Prelude.Nothing,
$sel:storageType:CreateFileSystem' :: Maybe StorageType
storageType = forall a. Maybe a
Prelude.Nothing,
$sel:tags:CreateFileSystem' :: Maybe (NonEmpty Tag)
tags = forall a. Maybe a
Prelude.Nothing,
$sel:windowsConfiguration:CreateFileSystem' :: Maybe CreateFileSystemWindowsConfiguration
windowsConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:fileSystemType:CreateFileSystem' :: FileSystemType
fileSystemType = FileSystemType
pFileSystemType_,
$sel:storageCapacity:CreateFileSystem' :: Natural
storageCapacity = Natural
pStorageCapacity_,
$sel:subnetIds:CreateFileSystem' :: [Text]
subnetIds = forall a. Monoid a => a
Prelude.mempty
}
createFileSystem_clientRequestToken :: Lens.Lens' CreateFileSystem (Prelude.Maybe Prelude.Text)
createFileSystem_clientRequestToken :: Lens' CreateFileSystem (Maybe Text)
createFileSystem_clientRequestToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFileSystem' {Maybe Text
clientRequestToken :: Maybe Text
$sel:clientRequestToken:CreateFileSystem' :: CreateFileSystem -> Maybe Text
clientRequestToken} -> Maybe Text
clientRequestToken) (\s :: CreateFileSystem
s@CreateFileSystem' {} Maybe Text
a -> CreateFileSystem
s {$sel:clientRequestToken:CreateFileSystem' :: Maybe Text
clientRequestToken = Maybe Text
a} :: CreateFileSystem)
createFileSystem_fileSystemTypeVersion :: Lens.Lens' CreateFileSystem (Prelude.Maybe Prelude.Text)
createFileSystem_fileSystemTypeVersion :: Lens' CreateFileSystem (Maybe Text)
createFileSystem_fileSystemTypeVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFileSystem' {Maybe Text
fileSystemTypeVersion :: Maybe Text
$sel:fileSystemTypeVersion:CreateFileSystem' :: CreateFileSystem -> Maybe Text
fileSystemTypeVersion} -> Maybe Text
fileSystemTypeVersion) (\s :: CreateFileSystem
s@CreateFileSystem' {} Maybe Text
a -> CreateFileSystem
s {$sel:fileSystemTypeVersion:CreateFileSystem' :: Maybe Text
fileSystemTypeVersion = Maybe Text
a} :: CreateFileSystem)
createFileSystem_kmsKeyId :: Lens.Lens' CreateFileSystem (Prelude.Maybe Prelude.Text)
createFileSystem_kmsKeyId :: Lens' CreateFileSystem (Maybe Text)
createFileSystem_kmsKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFileSystem' {Maybe Text
kmsKeyId :: Maybe Text
$sel:kmsKeyId:CreateFileSystem' :: CreateFileSystem -> Maybe Text
kmsKeyId} -> Maybe Text
kmsKeyId) (\s :: CreateFileSystem
s@CreateFileSystem' {} Maybe Text
a -> CreateFileSystem
s {$sel:kmsKeyId:CreateFileSystem' :: Maybe Text
kmsKeyId = Maybe Text
a} :: CreateFileSystem)
createFileSystem_lustreConfiguration :: Lens.Lens' CreateFileSystem (Prelude.Maybe CreateFileSystemLustreConfiguration)
createFileSystem_lustreConfiguration :: Lens' CreateFileSystem (Maybe CreateFileSystemLustreConfiguration)
createFileSystem_lustreConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFileSystem' {Maybe CreateFileSystemLustreConfiguration
lustreConfiguration :: Maybe CreateFileSystemLustreConfiguration
$sel:lustreConfiguration:CreateFileSystem' :: CreateFileSystem -> Maybe CreateFileSystemLustreConfiguration
lustreConfiguration} -> Maybe CreateFileSystemLustreConfiguration
lustreConfiguration) (\s :: CreateFileSystem
s@CreateFileSystem' {} Maybe CreateFileSystemLustreConfiguration
a -> CreateFileSystem
s {$sel:lustreConfiguration:CreateFileSystem' :: Maybe CreateFileSystemLustreConfiguration
lustreConfiguration = Maybe CreateFileSystemLustreConfiguration
a} :: CreateFileSystem)
createFileSystem_ontapConfiguration :: Lens.Lens' CreateFileSystem (Prelude.Maybe CreateFileSystemOntapConfiguration)
createFileSystem_ontapConfiguration :: Lens' CreateFileSystem (Maybe CreateFileSystemOntapConfiguration)
createFileSystem_ontapConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFileSystem' {Maybe CreateFileSystemOntapConfiguration
ontapConfiguration :: Maybe CreateFileSystemOntapConfiguration
$sel:ontapConfiguration:CreateFileSystem' :: CreateFileSystem -> Maybe CreateFileSystemOntapConfiguration
ontapConfiguration} -> Maybe CreateFileSystemOntapConfiguration
ontapConfiguration) (\s :: CreateFileSystem
s@CreateFileSystem' {} Maybe CreateFileSystemOntapConfiguration
a -> CreateFileSystem
s {$sel:ontapConfiguration:CreateFileSystem' :: Maybe CreateFileSystemOntapConfiguration
ontapConfiguration = Maybe CreateFileSystemOntapConfiguration
a} :: CreateFileSystem)
createFileSystem_openZFSConfiguration :: Lens.Lens' CreateFileSystem (Prelude.Maybe CreateFileSystemOpenZFSConfiguration)
createFileSystem_openZFSConfiguration :: Lens' CreateFileSystem (Maybe CreateFileSystemOpenZFSConfiguration)
createFileSystem_openZFSConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFileSystem' {Maybe CreateFileSystemOpenZFSConfiguration
openZFSConfiguration :: Maybe CreateFileSystemOpenZFSConfiguration
$sel:openZFSConfiguration:CreateFileSystem' :: CreateFileSystem -> Maybe CreateFileSystemOpenZFSConfiguration
openZFSConfiguration} -> Maybe CreateFileSystemOpenZFSConfiguration
openZFSConfiguration) (\s :: CreateFileSystem
s@CreateFileSystem' {} Maybe CreateFileSystemOpenZFSConfiguration
a -> CreateFileSystem
s {$sel:openZFSConfiguration:CreateFileSystem' :: Maybe CreateFileSystemOpenZFSConfiguration
openZFSConfiguration = Maybe CreateFileSystemOpenZFSConfiguration
a} :: CreateFileSystem)
createFileSystem_securityGroupIds :: Lens.Lens' CreateFileSystem (Prelude.Maybe [Prelude.Text])
createFileSystem_securityGroupIds :: Lens' CreateFileSystem (Maybe [Text])
createFileSystem_securityGroupIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFileSystem' {Maybe [Text]
securityGroupIds :: Maybe [Text]
$sel:securityGroupIds:CreateFileSystem' :: CreateFileSystem -> Maybe [Text]
securityGroupIds} -> Maybe [Text]
securityGroupIds) (\s :: CreateFileSystem
s@CreateFileSystem' {} Maybe [Text]
a -> CreateFileSystem
s {$sel:securityGroupIds:CreateFileSystem' :: Maybe [Text]
securityGroupIds = Maybe [Text]
a} :: CreateFileSystem) 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
createFileSystem_storageType :: Lens.Lens' CreateFileSystem (Prelude.Maybe StorageType)
createFileSystem_storageType :: Lens' CreateFileSystem (Maybe StorageType)
createFileSystem_storageType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFileSystem' {Maybe StorageType
storageType :: Maybe StorageType
$sel:storageType:CreateFileSystem' :: CreateFileSystem -> Maybe StorageType
storageType} -> Maybe StorageType
storageType) (\s :: CreateFileSystem
s@CreateFileSystem' {} Maybe StorageType
a -> CreateFileSystem
s {$sel:storageType:CreateFileSystem' :: Maybe StorageType
storageType = Maybe StorageType
a} :: CreateFileSystem)
createFileSystem_tags :: Lens.Lens' CreateFileSystem (Prelude.Maybe (Prelude.NonEmpty Tag))
createFileSystem_tags :: Lens' CreateFileSystem (Maybe (NonEmpty Tag))
createFileSystem_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFileSystem' {Maybe (NonEmpty Tag)
tags :: Maybe (NonEmpty Tag)
$sel:tags:CreateFileSystem' :: CreateFileSystem -> Maybe (NonEmpty Tag)
tags} -> Maybe (NonEmpty Tag)
tags) (\s :: CreateFileSystem
s@CreateFileSystem' {} Maybe (NonEmpty Tag)
a -> CreateFileSystem
s {$sel:tags:CreateFileSystem' :: Maybe (NonEmpty Tag)
tags = Maybe (NonEmpty Tag)
a} :: CreateFileSystem) 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
createFileSystem_windowsConfiguration :: Lens.Lens' CreateFileSystem (Prelude.Maybe CreateFileSystemWindowsConfiguration)
createFileSystem_windowsConfiguration :: Lens' CreateFileSystem (Maybe CreateFileSystemWindowsConfiguration)
createFileSystem_windowsConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFileSystem' {Maybe CreateFileSystemWindowsConfiguration
windowsConfiguration :: Maybe CreateFileSystemWindowsConfiguration
$sel:windowsConfiguration:CreateFileSystem' :: CreateFileSystem -> Maybe CreateFileSystemWindowsConfiguration
windowsConfiguration} -> Maybe CreateFileSystemWindowsConfiguration
windowsConfiguration) (\s :: CreateFileSystem
s@CreateFileSystem' {} Maybe CreateFileSystemWindowsConfiguration
a -> CreateFileSystem
s {$sel:windowsConfiguration:CreateFileSystem' :: Maybe CreateFileSystemWindowsConfiguration
windowsConfiguration = Maybe CreateFileSystemWindowsConfiguration
a} :: CreateFileSystem)
createFileSystem_fileSystemType :: Lens.Lens' CreateFileSystem FileSystemType
createFileSystem_fileSystemType :: Lens' CreateFileSystem FileSystemType
createFileSystem_fileSystemType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFileSystem' {FileSystemType
fileSystemType :: FileSystemType
$sel:fileSystemType:CreateFileSystem' :: CreateFileSystem -> FileSystemType
fileSystemType} -> FileSystemType
fileSystemType) (\s :: CreateFileSystem
s@CreateFileSystem' {} FileSystemType
a -> CreateFileSystem
s {$sel:fileSystemType:CreateFileSystem' :: FileSystemType
fileSystemType = FileSystemType
a} :: CreateFileSystem)
createFileSystem_storageCapacity :: Lens.Lens' CreateFileSystem Prelude.Natural
createFileSystem_storageCapacity :: Lens' CreateFileSystem Natural
createFileSystem_storageCapacity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFileSystem' {Natural
storageCapacity :: Natural
$sel:storageCapacity:CreateFileSystem' :: CreateFileSystem -> Natural
storageCapacity} -> Natural
storageCapacity) (\s :: CreateFileSystem
s@CreateFileSystem' {} Natural
a -> CreateFileSystem
s {$sel:storageCapacity:CreateFileSystem' :: Natural
storageCapacity = Natural
a} :: CreateFileSystem)
createFileSystem_subnetIds :: Lens.Lens' CreateFileSystem [Prelude.Text]
createFileSystem_subnetIds :: Lens' CreateFileSystem [Text]
createFileSystem_subnetIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFileSystem' {[Text]
subnetIds :: [Text]
$sel:subnetIds:CreateFileSystem' :: CreateFileSystem -> [Text]
subnetIds} -> [Text]
subnetIds) (\s :: CreateFileSystem
s@CreateFileSystem' {} [Text]
a -> CreateFileSystem
s {$sel:subnetIds:CreateFileSystem' :: [Text]
subnetIds = [Text]
a} :: CreateFileSystem) 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 CreateFileSystem where
type
AWSResponse CreateFileSystem =
CreateFileSystemResponse
request :: (Service -> Service)
-> CreateFileSystem -> Request CreateFileSystem
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 CreateFileSystem
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateFileSystem)))
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 FileSystem -> Int -> CreateFileSystemResponse
CreateFileSystemResponse'
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
"FileSystem")
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 CreateFileSystem where
hashWithSalt :: Int -> CreateFileSystem -> Int
hashWithSalt Int
_salt CreateFileSystem' {Natural
[Text]
Maybe [Text]
Maybe (NonEmpty Tag)
Maybe Text
Maybe CreateFileSystemLustreConfiguration
Maybe CreateFileSystemOntapConfiguration
Maybe CreateFileSystemOpenZFSConfiguration
Maybe StorageType
Maybe CreateFileSystemWindowsConfiguration
FileSystemType
subnetIds :: [Text]
storageCapacity :: Natural
fileSystemType :: FileSystemType
windowsConfiguration :: Maybe CreateFileSystemWindowsConfiguration
tags :: Maybe (NonEmpty Tag)
storageType :: Maybe StorageType
securityGroupIds :: Maybe [Text]
openZFSConfiguration :: Maybe CreateFileSystemOpenZFSConfiguration
ontapConfiguration :: Maybe CreateFileSystemOntapConfiguration
lustreConfiguration :: Maybe CreateFileSystemLustreConfiguration
kmsKeyId :: Maybe Text
fileSystemTypeVersion :: Maybe Text
clientRequestToken :: Maybe Text
$sel:subnetIds:CreateFileSystem' :: CreateFileSystem -> [Text]
$sel:storageCapacity:CreateFileSystem' :: CreateFileSystem -> Natural
$sel:fileSystemType:CreateFileSystem' :: CreateFileSystem -> FileSystemType
$sel:windowsConfiguration:CreateFileSystem' :: CreateFileSystem -> Maybe CreateFileSystemWindowsConfiguration
$sel:tags:CreateFileSystem' :: CreateFileSystem -> Maybe (NonEmpty Tag)
$sel:storageType:CreateFileSystem' :: CreateFileSystem -> Maybe StorageType
$sel:securityGroupIds:CreateFileSystem' :: CreateFileSystem -> Maybe [Text]
$sel:openZFSConfiguration:CreateFileSystem' :: CreateFileSystem -> Maybe CreateFileSystemOpenZFSConfiguration
$sel:ontapConfiguration:CreateFileSystem' :: CreateFileSystem -> Maybe CreateFileSystemOntapConfiguration
$sel:lustreConfiguration:CreateFileSystem' :: CreateFileSystem -> Maybe CreateFileSystemLustreConfiguration
$sel:kmsKeyId:CreateFileSystem' :: CreateFileSystem -> Maybe Text
$sel:fileSystemTypeVersion:CreateFileSystem' :: CreateFileSystem -> Maybe Text
$sel:clientRequestToken:CreateFileSystem' :: CreateFileSystem -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientRequestToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
fileSystemTypeVersion
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
kmsKeyId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CreateFileSystemLustreConfiguration
lustreConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CreateFileSystemOntapConfiguration
ontapConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CreateFileSystemOpenZFSConfiguration
openZFSConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
securityGroupIds
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe StorageType
storageType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty Tag)
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CreateFileSystemWindowsConfiguration
windowsConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` FileSystemType
fileSystemType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Natural
storageCapacity
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Text]
subnetIds
instance Prelude.NFData CreateFileSystem where
rnf :: CreateFileSystem -> ()
rnf CreateFileSystem' {Natural
[Text]
Maybe [Text]
Maybe (NonEmpty Tag)
Maybe Text
Maybe CreateFileSystemLustreConfiguration
Maybe CreateFileSystemOntapConfiguration
Maybe CreateFileSystemOpenZFSConfiguration
Maybe StorageType
Maybe CreateFileSystemWindowsConfiguration
FileSystemType
subnetIds :: [Text]
storageCapacity :: Natural
fileSystemType :: FileSystemType
windowsConfiguration :: Maybe CreateFileSystemWindowsConfiguration
tags :: Maybe (NonEmpty Tag)
storageType :: Maybe StorageType
securityGroupIds :: Maybe [Text]
openZFSConfiguration :: Maybe CreateFileSystemOpenZFSConfiguration
ontapConfiguration :: Maybe CreateFileSystemOntapConfiguration
lustreConfiguration :: Maybe CreateFileSystemLustreConfiguration
kmsKeyId :: Maybe Text
fileSystemTypeVersion :: Maybe Text
clientRequestToken :: Maybe Text
$sel:subnetIds:CreateFileSystem' :: CreateFileSystem -> [Text]
$sel:storageCapacity:CreateFileSystem' :: CreateFileSystem -> Natural
$sel:fileSystemType:CreateFileSystem' :: CreateFileSystem -> FileSystemType
$sel:windowsConfiguration:CreateFileSystem' :: CreateFileSystem -> Maybe CreateFileSystemWindowsConfiguration
$sel:tags:CreateFileSystem' :: CreateFileSystem -> Maybe (NonEmpty Tag)
$sel:storageType:CreateFileSystem' :: CreateFileSystem -> Maybe StorageType
$sel:securityGroupIds:CreateFileSystem' :: CreateFileSystem -> Maybe [Text]
$sel:openZFSConfiguration:CreateFileSystem' :: CreateFileSystem -> Maybe CreateFileSystemOpenZFSConfiguration
$sel:ontapConfiguration:CreateFileSystem' :: CreateFileSystem -> Maybe CreateFileSystemOntapConfiguration
$sel:lustreConfiguration:CreateFileSystem' :: CreateFileSystem -> Maybe CreateFileSystemLustreConfiguration
$sel:kmsKeyId:CreateFileSystem' :: CreateFileSystem -> Maybe Text
$sel:fileSystemTypeVersion:CreateFileSystem' :: CreateFileSystem -> Maybe Text
$sel:clientRequestToken:CreateFileSystem' :: CreateFileSystem -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientRequestToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
fileSystemTypeVersion
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
kmsKeyId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CreateFileSystemLustreConfiguration
lustreConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CreateFileSystemOntapConfiguration
ontapConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CreateFileSystemOpenZFSConfiguration
openZFSConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
securityGroupIds
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe StorageType
storageType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty Tag)
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CreateFileSystemWindowsConfiguration
windowsConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf FileSystemType
fileSystemType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Natural
storageCapacity
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [Text]
subnetIds
instance Data.ToHeaders CreateFileSystem where
toHeaders :: CreateFileSystem -> 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
"AWSSimbaAPIService_v20180301.CreateFileSystem" ::
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 CreateFileSystem where
toJSON :: CreateFileSystem -> Value
toJSON CreateFileSystem' {Natural
[Text]
Maybe [Text]
Maybe (NonEmpty Tag)
Maybe Text
Maybe CreateFileSystemLustreConfiguration
Maybe CreateFileSystemOntapConfiguration
Maybe CreateFileSystemOpenZFSConfiguration
Maybe StorageType
Maybe CreateFileSystemWindowsConfiguration
FileSystemType
subnetIds :: [Text]
storageCapacity :: Natural
fileSystemType :: FileSystemType
windowsConfiguration :: Maybe CreateFileSystemWindowsConfiguration
tags :: Maybe (NonEmpty Tag)
storageType :: Maybe StorageType
securityGroupIds :: Maybe [Text]
openZFSConfiguration :: Maybe CreateFileSystemOpenZFSConfiguration
ontapConfiguration :: Maybe CreateFileSystemOntapConfiguration
lustreConfiguration :: Maybe CreateFileSystemLustreConfiguration
kmsKeyId :: Maybe Text
fileSystemTypeVersion :: Maybe Text
clientRequestToken :: Maybe Text
$sel:subnetIds:CreateFileSystem' :: CreateFileSystem -> [Text]
$sel:storageCapacity:CreateFileSystem' :: CreateFileSystem -> Natural
$sel:fileSystemType:CreateFileSystem' :: CreateFileSystem -> FileSystemType
$sel:windowsConfiguration:CreateFileSystem' :: CreateFileSystem -> Maybe CreateFileSystemWindowsConfiguration
$sel:tags:CreateFileSystem' :: CreateFileSystem -> Maybe (NonEmpty Tag)
$sel:storageType:CreateFileSystem' :: CreateFileSystem -> Maybe StorageType
$sel:securityGroupIds:CreateFileSystem' :: CreateFileSystem -> Maybe [Text]
$sel:openZFSConfiguration:CreateFileSystem' :: CreateFileSystem -> Maybe CreateFileSystemOpenZFSConfiguration
$sel:ontapConfiguration:CreateFileSystem' :: CreateFileSystem -> Maybe CreateFileSystemOntapConfiguration
$sel:lustreConfiguration:CreateFileSystem' :: CreateFileSystem -> Maybe CreateFileSystemLustreConfiguration
$sel:kmsKeyId:CreateFileSystem' :: CreateFileSystem -> Maybe Text
$sel:fileSystemTypeVersion:CreateFileSystem' :: CreateFileSystem -> Maybe Text
$sel:clientRequestToken:CreateFileSystem' :: CreateFileSystem -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ClientRequestToken" 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
clientRequestToken,
(Key
"FileSystemTypeVersion" 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
fileSystemTypeVersion,
(Key
"KmsKeyId" 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
kmsKeyId,
(Key
"LustreConfiguration" 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 CreateFileSystemLustreConfiguration
lustreConfiguration,
(Key
"OntapConfiguration" 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 CreateFileSystemOntapConfiguration
ontapConfiguration,
(Key
"OpenZFSConfiguration" 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 CreateFileSystemOpenZFSConfiguration
openZFSConfiguration,
(Key
"SecurityGroupIds" 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]
securityGroupIds,
(Key
"StorageType" 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 StorageType
storageType,
(Key
"Tags" 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 (NonEmpty Tag)
tags,
(Key
"WindowsConfiguration" 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 CreateFileSystemWindowsConfiguration
windowsConfiguration,
forall a. a -> Maybe a
Prelude.Just
(Key
"FileSystemType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= FileSystemType
fileSystemType),
forall a. a -> Maybe a
Prelude.Just
(Key
"StorageCapacity" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Natural
storageCapacity),
forall a. a -> Maybe a
Prelude.Just (Key
"SubnetIds" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [Text]
subnetIds)
]
)
instance Data.ToPath CreateFileSystem where
toPath :: CreateFileSystem -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateFileSystem where
toQuery :: CreateFileSystem -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateFileSystemResponse = CreateFileSystemResponse'
{
CreateFileSystemResponse -> Maybe FileSystem
fileSystem :: Prelude.Maybe FileSystem,
CreateFileSystemResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateFileSystemResponse -> CreateFileSystemResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateFileSystemResponse -> CreateFileSystemResponse -> Bool
$c/= :: CreateFileSystemResponse -> CreateFileSystemResponse -> Bool
== :: CreateFileSystemResponse -> CreateFileSystemResponse -> Bool
$c== :: CreateFileSystemResponse -> CreateFileSystemResponse -> Bool
Prelude.Eq, ReadPrec [CreateFileSystemResponse]
ReadPrec CreateFileSystemResponse
Int -> ReadS CreateFileSystemResponse
ReadS [CreateFileSystemResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateFileSystemResponse]
$creadListPrec :: ReadPrec [CreateFileSystemResponse]
readPrec :: ReadPrec CreateFileSystemResponse
$creadPrec :: ReadPrec CreateFileSystemResponse
readList :: ReadS [CreateFileSystemResponse]
$creadList :: ReadS [CreateFileSystemResponse]
readsPrec :: Int -> ReadS CreateFileSystemResponse
$creadsPrec :: Int -> ReadS CreateFileSystemResponse
Prelude.Read, Int -> CreateFileSystemResponse -> ShowS
[CreateFileSystemResponse] -> ShowS
CreateFileSystemResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateFileSystemResponse] -> ShowS
$cshowList :: [CreateFileSystemResponse] -> ShowS
show :: CreateFileSystemResponse -> String
$cshow :: CreateFileSystemResponse -> String
showsPrec :: Int -> CreateFileSystemResponse -> ShowS
$cshowsPrec :: Int -> CreateFileSystemResponse -> ShowS
Prelude.Show, forall x.
Rep CreateFileSystemResponse x -> CreateFileSystemResponse
forall x.
CreateFileSystemResponse -> Rep CreateFileSystemResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateFileSystemResponse x -> CreateFileSystemResponse
$cfrom :: forall x.
CreateFileSystemResponse -> Rep CreateFileSystemResponse x
Prelude.Generic)
newCreateFileSystemResponse ::
Prelude.Int ->
CreateFileSystemResponse
newCreateFileSystemResponse :: Int -> CreateFileSystemResponse
newCreateFileSystemResponse Int
pHttpStatus_ =
CreateFileSystemResponse'
{ $sel:fileSystem:CreateFileSystemResponse' :: Maybe FileSystem
fileSystem =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateFileSystemResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createFileSystemResponse_fileSystem :: Lens.Lens' CreateFileSystemResponse (Prelude.Maybe FileSystem)
createFileSystemResponse_fileSystem :: Lens' CreateFileSystemResponse (Maybe FileSystem)
createFileSystemResponse_fileSystem = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFileSystemResponse' {Maybe FileSystem
fileSystem :: Maybe FileSystem
$sel:fileSystem:CreateFileSystemResponse' :: CreateFileSystemResponse -> Maybe FileSystem
fileSystem} -> Maybe FileSystem
fileSystem) (\s :: CreateFileSystemResponse
s@CreateFileSystemResponse' {} Maybe FileSystem
a -> CreateFileSystemResponse
s {$sel:fileSystem:CreateFileSystemResponse' :: Maybe FileSystem
fileSystem = Maybe FileSystem
a} :: CreateFileSystemResponse)
createFileSystemResponse_httpStatus :: Lens.Lens' CreateFileSystemResponse Prelude.Int
createFileSystemResponse_httpStatus :: Lens' CreateFileSystemResponse Int
createFileSystemResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFileSystemResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateFileSystemResponse' :: CreateFileSystemResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateFileSystemResponse
s@CreateFileSystemResponse' {} Int
a -> CreateFileSystemResponse
s {$sel:httpStatus:CreateFileSystemResponse' :: Int
httpStatus = Int
a} :: CreateFileSystemResponse)
instance Prelude.NFData CreateFileSystemResponse where
rnf :: CreateFileSystemResponse -> ()
rnf CreateFileSystemResponse' {Int
Maybe FileSystem
httpStatus :: Int
fileSystem :: Maybe FileSystem
$sel:httpStatus:CreateFileSystemResponse' :: CreateFileSystemResponse -> Int
$sel:fileSystem:CreateFileSystemResponse' :: CreateFileSystemResponse -> Maybe FileSystem
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe FileSystem
fileSystem
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus