{-# 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.EC2.CreateVolume
(
CreateVolume (..),
newCreateVolume,
createVolume_clientToken,
createVolume_dryRun,
createVolume_encrypted,
createVolume_iops,
createVolume_kmsKeyId,
createVolume_multiAttachEnabled,
createVolume_outpostArn,
createVolume_size,
createVolume_snapshotId,
createVolume_tagSpecifications,
createVolume_throughput,
createVolume_volumeType,
createVolume_availabilityZone,
Volume (..),
newVolume,
volume_attachments,
volume_fastRestored,
volume_iops,
volume_kmsKeyId,
volume_multiAttachEnabled,
volume_outpostArn,
volume_tags,
volume_throughput,
volume_availabilityZone,
volume_createTime,
volume_encrypted,
volume_size,
volume_snapshotId,
volume_state,
volume_volumeId,
volume_volumeType,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EC2.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CreateVolume = CreateVolume'
{
CreateVolume -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
CreateVolume -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
CreateVolume -> Maybe Bool
encrypted :: Prelude.Maybe Prelude.Bool,
CreateVolume -> Maybe Int
iops :: Prelude.Maybe Prelude.Int,
CreateVolume -> Maybe Text
kmsKeyId :: Prelude.Maybe Prelude.Text,
CreateVolume -> Maybe Bool
multiAttachEnabled :: Prelude.Maybe Prelude.Bool,
CreateVolume -> Maybe Text
outpostArn :: Prelude.Maybe Prelude.Text,
CreateVolume -> Maybe Int
size :: Prelude.Maybe Prelude.Int,
CreateVolume -> Maybe Text
snapshotId :: Prelude.Maybe Prelude.Text,
CreateVolume -> Maybe [TagSpecification]
tagSpecifications :: Prelude.Maybe [TagSpecification],
CreateVolume -> Maybe Int
throughput :: Prelude.Maybe Prelude.Int,
CreateVolume -> Maybe VolumeType
volumeType :: Prelude.Maybe VolumeType,
CreateVolume -> Text
availabilityZone :: Prelude.Text
}
deriving (CreateVolume -> CreateVolume -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateVolume -> CreateVolume -> Bool
$c/= :: CreateVolume -> CreateVolume -> Bool
== :: CreateVolume -> CreateVolume -> Bool
$c== :: CreateVolume -> CreateVolume -> Bool
Prelude.Eq, ReadPrec [CreateVolume]
ReadPrec CreateVolume
Int -> ReadS CreateVolume
ReadS [CreateVolume]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateVolume]
$creadListPrec :: ReadPrec [CreateVolume]
readPrec :: ReadPrec CreateVolume
$creadPrec :: ReadPrec CreateVolume
readList :: ReadS [CreateVolume]
$creadList :: ReadS [CreateVolume]
readsPrec :: Int -> ReadS CreateVolume
$creadsPrec :: Int -> ReadS CreateVolume
Prelude.Read, Int -> CreateVolume -> ShowS
[CreateVolume] -> ShowS
CreateVolume -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateVolume] -> ShowS
$cshowList :: [CreateVolume] -> ShowS
show :: CreateVolume -> String
$cshow :: CreateVolume -> String
showsPrec :: Int -> CreateVolume -> ShowS
$cshowsPrec :: Int -> CreateVolume -> ShowS
Prelude.Show, forall x. Rep CreateVolume x -> CreateVolume
forall x. CreateVolume -> Rep CreateVolume x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateVolume x -> CreateVolume
$cfrom :: forall x. CreateVolume -> Rep CreateVolume x
Prelude.Generic)
newCreateVolume ::
Prelude.Text ->
CreateVolume
newCreateVolume :: Text -> CreateVolume
newCreateVolume Text
pAvailabilityZone_ =
CreateVolume'
{ $sel:clientToken:CreateVolume' :: Maybe Text
clientToken = forall a. Maybe a
Prelude.Nothing,
$sel:dryRun:CreateVolume' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
$sel:encrypted:CreateVolume' :: Maybe Bool
encrypted = forall a. Maybe a
Prelude.Nothing,
$sel:iops:CreateVolume' :: Maybe Int
iops = forall a. Maybe a
Prelude.Nothing,
$sel:kmsKeyId:CreateVolume' :: Maybe Text
kmsKeyId = forall a. Maybe a
Prelude.Nothing,
$sel:multiAttachEnabled:CreateVolume' :: Maybe Bool
multiAttachEnabled = forall a. Maybe a
Prelude.Nothing,
$sel:outpostArn:CreateVolume' :: Maybe Text
outpostArn = forall a. Maybe a
Prelude.Nothing,
$sel:size:CreateVolume' :: Maybe Int
size = forall a. Maybe a
Prelude.Nothing,
$sel:snapshotId:CreateVolume' :: Maybe Text
snapshotId = forall a. Maybe a
Prelude.Nothing,
$sel:tagSpecifications:CreateVolume' :: Maybe [TagSpecification]
tagSpecifications = forall a. Maybe a
Prelude.Nothing,
$sel:throughput:CreateVolume' :: Maybe Int
throughput = forall a. Maybe a
Prelude.Nothing,
$sel:volumeType:CreateVolume' :: Maybe VolumeType
volumeType = forall a. Maybe a
Prelude.Nothing,
$sel:availabilityZone:CreateVolume' :: Text
availabilityZone = Text
pAvailabilityZone_
}
createVolume_clientToken :: Lens.Lens' CreateVolume (Prelude.Maybe Prelude.Text)
createVolume_clientToken :: Lens' CreateVolume (Maybe Text)
createVolume_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVolume' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:CreateVolume' :: CreateVolume -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: CreateVolume
s@CreateVolume' {} Maybe Text
a -> CreateVolume
s {$sel:clientToken:CreateVolume' :: Maybe Text
clientToken = Maybe Text
a} :: CreateVolume)
createVolume_dryRun :: Lens.Lens' CreateVolume (Prelude.Maybe Prelude.Bool)
createVolume_dryRun :: Lens' CreateVolume (Maybe Bool)
createVolume_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVolume' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:CreateVolume' :: CreateVolume -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: CreateVolume
s@CreateVolume' {} Maybe Bool
a -> CreateVolume
s {$sel:dryRun:CreateVolume' :: Maybe Bool
dryRun = Maybe Bool
a} :: CreateVolume)
createVolume_encrypted :: Lens.Lens' CreateVolume (Prelude.Maybe Prelude.Bool)
createVolume_encrypted :: Lens' CreateVolume (Maybe Bool)
createVolume_encrypted = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVolume' {Maybe Bool
encrypted :: Maybe Bool
$sel:encrypted:CreateVolume' :: CreateVolume -> Maybe Bool
encrypted} -> Maybe Bool
encrypted) (\s :: CreateVolume
s@CreateVolume' {} Maybe Bool
a -> CreateVolume
s {$sel:encrypted:CreateVolume' :: Maybe Bool
encrypted = Maybe Bool
a} :: CreateVolume)
createVolume_iops :: Lens.Lens' CreateVolume (Prelude.Maybe Prelude.Int)
createVolume_iops :: Lens' CreateVolume (Maybe Int)
createVolume_iops = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVolume' {Maybe Int
iops :: Maybe Int
$sel:iops:CreateVolume' :: CreateVolume -> Maybe Int
iops} -> Maybe Int
iops) (\s :: CreateVolume
s@CreateVolume' {} Maybe Int
a -> CreateVolume
s {$sel:iops:CreateVolume' :: Maybe Int
iops = Maybe Int
a} :: CreateVolume)
createVolume_kmsKeyId :: Lens.Lens' CreateVolume (Prelude.Maybe Prelude.Text)
createVolume_kmsKeyId :: Lens' CreateVolume (Maybe Text)
createVolume_kmsKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVolume' {Maybe Text
kmsKeyId :: Maybe Text
$sel:kmsKeyId:CreateVolume' :: CreateVolume -> Maybe Text
kmsKeyId} -> Maybe Text
kmsKeyId) (\s :: CreateVolume
s@CreateVolume' {} Maybe Text
a -> CreateVolume
s {$sel:kmsKeyId:CreateVolume' :: Maybe Text
kmsKeyId = Maybe Text
a} :: CreateVolume)
createVolume_multiAttachEnabled :: Lens.Lens' CreateVolume (Prelude.Maybe Prelude.Bool)
createVolume_multiAttachEnabled :: Lens' CreateVolume (Maybe Bool)
createVolume_multiAttachEnabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVolume' {Maybe Bool
multiAttachEnabled :: Maybe Bool
$sel:multiAttachEnabled:CreateVolume' :: CreateVolume -> Maybe Bool
multiAttachEnabled} -> Maybe Bool
multiAttachEnabled) (\s :: CreateVolume
s@CreateVolume' {} Maybe Bool
a -> CreateVolume
s {$sel:multiAttachEnabled:CreateVolume' :: Maybe Bool
multiAttachEnabled = Maybe Bool
a} :: CreateVolume)
createVolume_outpostArn :: Lens.Lens' CreateVolume (Prelude.Maybe Prelude.Text)
createVolume_outpostArn :: Lens' CreateVolume (Maybe Text)
createVolume_outpostArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVolume' {Maybe Text
outpostArn :: Maybe Text
$sel:outpostArn:CreateVolume' :: CreateVolume -> Maybe Text
outpostArn} -> Maybe Text
outpostArn) (\s :: CreateVolume
s@CreateVolume' {} Maybe Text
a -> CreateVolume
s {$sel:outpostArn:CreateVolume' :: Maybe Text
outpostArn = Maybe Text
a} :: CreateVolume)
createVolume_size :: Lens.Lens' CreateVolume (Prelude.Maybe Prelude.Int)
createVolume_size :: Lens' CreateVolume (Maybe Int)
createVolume_size = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVolume' {Maybe Int
size :: Maybe Int
$sel:size:CreateVolume' :: CreateVolume -> Maybe Int
size} -> Maybe Int
size) (\s :: CreateVolume
s@CreateVolume' {} Maybe Int
a -> CreateVolume
s {$sel:size:CreateVolume' :: Maybe Int
size = Maybe Int
a} :: CreateVolume)
createVolume_snapshotId :: Lens.Lens' CreateVolume (Prelude.Maybe Prelude.Text)
createVolume_snapshotId :: Lens' CreateVolume (Maybe Text)
createVolume_snapshotId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVolume' {Maybe Text
snapshotId :: Maybe Text
$sel:snapshotId:CreateVolume' :: CreateVolume -> Maybe Text
snapshotId} -> Maybe Text
snapshotId) (\s :: CreateVolume
s@CreateVolume' {} Maybe Text
a -> CreateVolume
s {$sel:snapshotId:CreateVolume' :: Maybe Text
snapshotId = Maybe Text
a} :: CreateVolume)
createVolume_tagSpecifications :: Lens.Lens' CreateVolume (Prelude.Maybe [TagSpecification])
createVolume_tagSpecifications :: Lens' CreateVolume (Maybe [TagSpecification])
createVolume_tagSpecifications = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVolume' {Maybe [TagSpecification]
tagSpecifications :: Maybe [TagSpecification]
$sel:tagSpecifications:CreateVolume' :: CreateVolume -> Maybe [TagSpecification]
tagSpecifications} -> Maybe [TagSpecification]
tagSpecifications) (\s :: CreateVolume
s@CreateVolume' {} Maybe [TagSpecification]
a -> CreateVolume
s {$sel:tagSpecifications:CreateVolume' :: Maybe [TagSpecification]
tagSpecifications = Maybe [TagSpecification]
a} :: CreateVolume) 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
createVolume_throughput :: Lens.Lens' CreateVolume (Prelude.Maybe Prelude.Int)
createVolume_throughput :: Lens' CreateVolume (Maybe Int)
createVolume_throughput = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVolume' {Maybe Int
throughput :: Maybe Int
$sel:throughput:CreateVolume' :: CreateVolume -> Maybe Int
throughput} -> Maybe Int
throughput) (\s :: CreateVolume
s@CreateVolume' {} Maybe Int
a -> CreateVolume
s {$sel:throughput:CreateVolume' :: Maybe Int
throughput = Maybe Int
a} :: CreateVolume)
createVolume_volumeType :: Lens.Lens' CreateVolume (Prelude.Maybe VolumeType)
createVolume_volumeType :: Lens' CreateVolume (Maybe VolumeType)
createVolume_volumeType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVolume' {Maybe VolumeType
volumeType :: Maybe VolumeType
$sel:volumeType:CreateVolume' :: CreateVolume -> Maybe VolumeType
volumeType} -> Maybe VolumeType
volumeType) (\s :: CreateVolume
s@CreateVolume' {} Maybe VolumeType
a -> CreateVolume
s {$sel:volumeType:CreateVolume' :: Maybe VolumeType
volumeType = Maybe VolumeType
a} :: CreateVolume)
createVolume_availabilityZone :: Lens.Lens' CreateVolume Prelude.Text
createVolume_availabilityZone :: Lens' CreateVolume Text
createVolume_availabilityZone = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVolume' {Text
availabilityZone :: Text
$sel:availabilityZone:CreateVolume' :: CreateVolume -> Text
availabilityZone} -> Text
availabilityZone) (\s :: CreateVolume
s@CreateVolume' {} Text
a -> CreateVolume
s {$sel:availabilityZone:CreateVolume' :: Text
availabilityZone = Text
a} :: CreateVolume)
instance Core.AWSRequest CreateVolume where
type AWSResponse CreateVolume = Volume
request :: (Service -> Service) -> CreateVolume -> Request CreateVolume
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CreateVolume
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateVolume)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML (\Int
s ResponseHeaders
h [Node]
x -> forall a. FromXML a => [Node] -> Either String a
Data.parseXML [Node]
x)
instance Prelude.Hashable CreateVolume where
hashWithSalt :: Int -> CreateVolume -> Int
hashWithSalt Int
_salt CreateVolume' {Maybe Bool
Maybe Int
Maybe [TagSpecification]
Maybe Text
Maybe VolumeType
Text
availabilityZone :: Text
volumeType :: Maybe VolumeType
throughput :: Maybe Int
tagSpecifications :: Maybe [TagSpecification]
snapshotId :: Maybe Text
size :: Maybe Int
outpostArn :: Maybe Text
multiAttachEnabled :: Maybe Bool
kmsKeyId :: Maybe Text
iops :: Maybe Int
encrypted :: Maybe Bool
dryRun :: Maybe Bool
clientToken :: Maybe Text
$sel:availabilityZone:CreateVolume' :: CreateVolume -> Text
$sel:volumeType:CreateVolume' :: CreateVolume -> Maybe VolumeType
$sel:throughput:CreateVolume' :: CreateVolume -> Maybe Int
$sel:tagSpecifications:CreateVolume' :: CreateVolume -> Maybe [TagSpecification]
$sel:snapshotId:CreateVolume' :: CreateVolume -> Maybe Text
$sel:size:CreateVolume' :: CreateVolume -> Maybe Int
$sel:outpostArn:CreateVolume' :: CreateVolume -> Maybe Text
$sel:multiAttachEnabled:CreateVolume' :: CreateVolume -> Maybe Bool
$sel:kmsKeyId:CreateVolume' :: CreateVolume -> Maybe Text
$sel:iops:CreateVolume' :: CreateVolume -> Maybe Int
$sel:encrypted:CreateVolume' :: CreateVolume -> Maybe Bool
$sel:dryRun:CreateVolume' :: CreateVolume -> Maybe Bool
$sel:clientToken:CreateVolume' :: CreateVolume -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
encrypted
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
iops
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
kmsKeyId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
multiAttachEnabled
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
outpostArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
size
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
snapshotId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [TagSpecification]
tagSpecifications
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
throughput
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe VolumeType
volumeType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
availabilityZone
instance Prelude.NFData CreateVolume where
rnf :: CreateVolume -> ()
rnf CreateVolume' {Maybe Bool
Maybe Int
Maybe [TagSpecification]
Maybe Text
Maybe VolumeType
Text
availabilityZone :: Text
volumeType :: Maybe VolumeType
throughput :: Maybe Int
tagSpecifications :: Maybe [TagSpecification]
snapshotId :: Maybe Text
size :: Maybe Int
outpostArn :: Maybe Text
multiAttachEnabled :: Maybe Bool
kmsKeyId :: Maybe Text
iops :: Maybe Int
encrypted :: Maybe Bool
dryRun :: Maybe Bool
clientToken :: Maybe Text
$sel:availabilityZone:CreateVolume' :: CreateVolume -> Text
$sel:volumeType:CreateVolume' :: CreateVolume -> Maybe VolumeType
$sel:throughput:CreateVolume' :: CreateVolume -> Maybe Int
$sel:tagSpecifications:CreateVolume' :: CreateVolume -> Maybe [TagSpecification]
$sel:snapshotId:CreateVolume' :: CreateVolume -> Maybe Text
$sel:size:CreateVolume' :: CreateVolume -> Maybe Int
$sel:outpostArn:CreateVolume' :: CreateVolume -> Maybe Text
$sel:multiAttachEnabled:CreateVolume' :: CreateVolume -> Maybe Bool
$sel:kmsKeyId:CreateVolume' :: CreateVolume -> Maybe Text
$sel:iops:CreateVolume' :: CreateVolume -> Maybe Int
$sel:encrypted:CreateVolume' :: CreateVolume -> Maybe Bool
$sel:dryRun:CreateVolume' :: CreateVolume -> Maybe Bool
$sel:clientToken:CreateVolume' :: CreateVolume -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
dryRun
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
encrypted
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
iops
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 Bool
multiAttachEnabled
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
outpostArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
size
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
snapshotId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [TagSpecification]
tagSpecifications
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
throughput
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VolumeType
volumeType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
availabilityZone
instance Data.ToHeaders CreateVolume where
toHeaders :: CreateVolume -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath CreateVolume where
toPath :: CreateVolume -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateVolume where
toQuery :: CreateVolume -> QueryString
toQuery CreateVolume' {Maybe Bool
Maybe Int
Maybe [TagSpecification]
Maybe Text
Maybe VolumeType
Text
availabilityZone :: Text
volumeType :: Maybe VolumeType
throughput :: Maybe Int
tagSpecifications :: Maybe [TagSpecification]
snapshotId :: Maybe Text
size :: Maybe Int
outpostArn :: Maybe Text
multiAttachEnabled :: Maybe Bool
kmsKeyId :: Maybe Text
iops :: Maybe Int
encrypted :: Maybe Bool
dryRun :: Maybe Bool
clientToken :: Maybe Text
$sel:availabilityZone:CreateVolume' :: CreateVolume -> Text
$sel:volumeType:CreateVolume' :: CreateVolume -> Maybe VolumeType
$sel:throughput:CreateVolume' :: CreateVolume -> Maybe Int
$sel:tagSpecifications:CreateVolume' :: CreateVolume -> Maybe [TagSpecification]
$sel:snapshotId:CreateVolume' :: CreateVolume -> Maybe Text
$sel:size:CreateVolume' :: CreateVolume -> Maybe Int
$sel:outpostArn:CreateVolume' :: CreateVolume -> Maybe Text
$sel:multiAttachEnabled:CreateVolume' :: CreateVolume -> Maybe Bool
$sel:kmsKeyId:CreateVolume' :: CreateVolume -> Maybe Text
$sel:iops:CreateVolume' :: CreateVolume -> Maybe Int
$sel:encrypted:CreateVolume' :: CreateVolume -> Maybe Bool
$sel:dryRun:CreateVolume' :: CreateVolume -> Maybe Bool
$sel:clientToken:CreateVolume' :: CreateVolume -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"CreateVolume" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
ByteString
"ClientToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
clientToken,
ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
ByteString
"Encrypted" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
encrypted,
ByteString
"Iops" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Int
iops,
ByteString
"KmsKeyId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
kmsKeyId,
ByteString
"MultiAttachEnabled" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
multiAttachEnabled,
ByteString
"OutpostArn" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
outpostArn,
ByteString
"Size" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Int
size,
ByteString
"SnapshotId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
snapshotId,
forall a. ToQuery a => a -> QueryString
Data.toQuery
( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"TagSpecification"
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [TagSpecification]
tagSpecifications
),
ByteString
"Throughput" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Int
throughput,
ByteString
"VolumeType" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe VolumeType
volumeType,
ByteString
"AvailabilityZone" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
availabilityZone
]