{-# 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.CopySnapshot
(
CopySnapshot (..),
newCopySnapshot,
copySnapshot_description,
copySnapshot_destinationOutpostArn,
copySnapshot_destinationRegion,
copySnapshot_dryRun,
copySnapshot_encrypted,
copySnapshot_kmsKeyId,
copySnapshot_presignedUrl,
copySnapshot_tagSpecifications,
copySnapshot_sourceRegion,
copySnapshot_sourceSnapshotId,
CopySnapshotResponse (..),
newCopySnapshotResponse,
copySnapshotResponse_snapshotId,
copySnapshotResponse_tags,
copySnapshotResponse_httpStatus,
)
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 CopySnapshot = CopySnapshot'
{
CopySnapshot -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
CopySnapshot -> Maybe Text
destinationOutpostArn :: Prelude.Maybe Prelude.Text,
CopySnapshot -> Maybe Text
destinationRegion :: Prelude.Maybe Prelude.Text,
CopySnapshot -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
CopySnapshot -> Maybe Bool
encrypted :: Prelude.Maybe Prelude.Bool,
CopySnapshot -> Maybe Text
kmsKeyId :: Prelude.Maybe Prelude.Text,
CopySnapshot -> Maybe Text
presignedUrl :: Prelude.Maybe Prelude.Text,
CopySnapshot -> Maybe [TagSpecification]
tagSpecifications :: Prelude.Maybe [TagSpecification],
CopySnapshot -> Text
sourceRegion :: Prelude.Text,
CopySnapshot -> Text
sourceSnapshotId :: Prelude.Text
}
deriving (CopySnapshot -> CopySnapshot -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CopySnapshot -> CopySnapshot -> Bool
$c/= :: CopySnapshot -> CopySnapshot -> Bool
== :: CopySnapshot -> CopySnapshot -> Bool
$c== :: CopySnapshot -> CopySnapshot -> Bool
Prelude.Eq, ReadPrec [CopySnapshot]
ReadPrec CopySnapshot
Int -> ReadS CopySnapshot
ReadS [CopySnapshot]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CopySnapshot]
$creadListPrec :: ReadPrec [CopySnapshot]
readPrec :: ReadPrec CopySnapshot
$creadPrec :: ReadPrec CopySnapshot
readList :: ReadS [CopySnapshot]
$creadList :: ReadS [CopySnapshot]
readsPrec :: Int -> ReadS CopySnapshot
$creadsPrec :: Int -> ReadS CopySnapshot
Prelude.Read, Int -> CopySnapshot -> ShowS
[CopySnapshot] -> ShowS
CopySnapshot -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CopySnapshot] -> ShowS
$cshowList :: [CopySnapshot] -> ShowS
show :: CopySnapshot -> String
$cshow :: CopySnapshot -> String
showsPrec :: Int -> CopySnapshot -> ShowS
$cshowsPrec :: Int -> CopySnapshot -> ShowS
Prelude.Show, forall x. Rep CopySnapshot x -> CopySnapshot
forall x. CopySnapshot -> Rep CopySnapshot x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CopySnapshot x -> CopySnapshot
$cfrom :: forall x. CopySnapshot -> Rep CopySnapshot x
Prelude.Generic)
newCopySnapshot ::
Prelude.Text ->
Prelude.Text ->
CopySnapshot
newCopySnapshot :: Text -> Text -> CopySnapshot
newCopySnapshot Text
pSourceRegion_ Text
pSourceSnapshotId_ =
CopySnapshot'
{ $sel:description:CopySnapshot' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:destinationOutpostArn:CopySnapshot' :: Maybe Text
destinationOutpostArn = forall a. Maybe a
Prelude.Nothing,
$sel:destinationRegion:CopySnapshot' :: Maybe Text
destinationRegion = forall a. Maybe a
Prelude.Nothing,
$sel:dryRun:CopySnapshot' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
$sel:encrypted:CopySnapshot' :: Maybe Bool
encrypted = forall a. Maybe a
Prelude.Nothing,
$sel:kmsKeyId:CopySnapshot' :: Maybe Text
kmsKeyId = forall a. Maybe a
Prelude.Nothing,
$sel:presignedUrl:CopySnapshot' :: Maybe Text
presignedUrl = forall a. Maybe a
Prelude.Nothing,
$sel:tagSpecifications:CopySnapshot' :: Maybe [TagSpecification]
tagSpecifications = forall a. Maybe a
Prelude.Nothing,
$sel:sourceRegion:CopySnapshot' :: Text
sourceRegion = Text
pSourceRegion_,
$sel:sourceSnapshotId:CopySnapshot' :: Text
sourceSnapshotId = Text
pSourceSnapshotId_
}
copySnapshot_description :: Lens.Lens' CopySnapshot (Prelude.Maybe Prelude.Text)
copySnapshot_description :: Lens' CopySnapshot (Maybe Text)
copySnapshot_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CopySnapshot' {Maybe Text
description :: Maybe Text
$sel:description:CopySnapshot' :: CopySnapshot -> Maybe Text
description} -> Maybe Text
description) (\s :: CopySnapshot
s@CopySnapshot' {} Maybe Text
a -> CopySnapshot
s {$sel:description:CopySnapshot' :: Maybe Text
description = Maybe Text
a} :: CopySnapshot)
copySnapshot_destinationOutpostArn :: Lens.Lens' CopySnapshot (Prelude.Maybe Prelude.Text)
copySnapshot_destinationOutpostArn :: Lens' CopySnapshot (Maybe Text)
copySnapshot_destinationOutpostArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CopySnapshot' {Maybe Text
destinationOutpostArn :: Maybe Text
$sel:destinationOutpostArn:CopySnapshot' :: CopySnapshot -> Maybe Text
destinationOutpostArn} -> Maybe Text
destinationOutpostArn) (\s :: CopySnapshot
s@CopySnapshot' {} Maybe Text
a -> CopySnapshot
s {$sel:destinationOutpostArn:CopySnapshot' :: Maybe Text
destinationOutpostArn = Maybe Text
a} :: CopySnapshot)
copySnapshot_destinationRegion :: Lens.Lens' CopySnapshot (Prelude.Maybe Prelude.Text)
copySnapshot_destinationRegion :: Lens' CopySnapshot (Maybe Text)
copySnapshot_destinationRegion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CopySnapshot' {Maybe Text
destinationRegion :: Maybe Text
$sel:destinationRegion:CopySnapshot' :: CopySnapshot -> Maybe Text
destinationRegion} -> Maybe Text
destinationRegion) (\s :: CopySnapshot
s@CopySnapshot' {} Maybe Text
a -> CopySnapshot
s {$sel:destinationRegion:CopySnapshot' :: Maybe Text
destinationRegion = Maybe Text
a} :: CopySnapshot)
copySnapshot_dryRun :: Lens.Lens' CopySnapshot (Prelude.Maybe Prelude.Bool)
copySnapshot_dryRun :: Lens' CopySnapshot (Maybe Bool)
copySnapshot_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CopySnapshot' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:CopySnapshot' :: CopySnapshot -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: CopySnapshot
s@CopySnapshot' {} Maybe Bool
a -> CopySnapshot
s {$sel:dryRun:CopySnapshot' :: Maybe Bool
dryRun = Maybe Bool
a} :: CopySnapshot)
copySnapshot_encrypted :: Lens.Lens' CopySnapshot (Prelude.Maybe Prelude.Bool)
copySnapshot_encrypted :: Lens' CopySnapshot (Maybe Bool)
copySnapshot_encrypted = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CopySnapshot' {Maybe Bool
encrypted :: Maybe Bool
$sel:encrypted:CopySnapshot' :: CopySnapshot -> Maybe Bool
encrypted} -> Maybe Bool
encrypted) (\s :: CopySnapshot
s@CopySnapshot' {} Maybe Bool
a -> CopySnapshot
s {$sel:encrypted:CopySnapshot' :: Maybe Bool
encrypted = Maybe Bool
a} :: CopySnapshot)
copySnapshot_kmsKeyId :: Lens.Lens' CopySnapshot (Prelude.Maybe Prelude.Text)
copySnapshot_kmsKeyId :: Lens' CopySnapshot (Maybe Text)
copySnapshot_kmsKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CopySnapshot' {Maybe Text
kmsKeyId :: Maybe Text
$sel:kmsKeyId:CopySnapshot' :: CopySnapshot -> Maybe Text
kmsKeyId} -> Maybe Text
kmsKeyId) (\s :: CopySnapshot
s@CopySnapshot' {} Maybe Text
a -> CopySnapshot
s {$sel:kmsKeyId:CopySnapshot' :: Maybe Text
kmsKeyId = Maybe Text
a} :: CopySnapshot)
copySnapshot_presignedUrl :: Lens.Lens' CopySnapshot (Prelude.Maybe Prelude.Text)
copySnapshot_presignedUrl :: Lens' CopySnapshot (Maybe Text)
copySnapshot_presignedUrl = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CopySnapshot' {Maybe Text
presignedUrl :: Maybe Text
$sel:presignedUrl:CopySnapshot' :: CopySnapshot -> Maybe Text
presignedUrl} -> Maybe Text
presignedUrl) (\s :: CopySnapshot
s@CopySnapshot' {} Maybe Text
a -> CopySnapshot
s {$sel:presignedUrl:CopySnapshot' :: Maybe Text
presignedUrl = Maybe Text
a} :: CopySnapshot)
copySnapshot_tagSpecifications :: Lens.Lens' CopySnapshot (Prelude.Maybe [TagSpecification])
copySnapshot_tagSpecifications :: Lens' CopySnapshot (Maybe [TagSpecification])
copySnapshot_tagSpecifications = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CopySnapshot' {Maybe [TagSpecification]
tagSpecifications :: Maybe [TagSpecification]
$sel:tagSpecifications:CopySnapshot' :: CopySnapshot -> Maybe [TagSpecification]
tagSpecifications} -> Maybe [TagSpecification]
tagSpecifications) (\s :: CopySnapshot
s@CopySnapshot' {} Maybe [TagSpecification]
a -> CopySnapshot
s {$sel:tagSpecifications:CopySnapshot' :: Maybe [TagSpecification]
tagSpecifications = Maybe [TagSpecification]
a} :: CopySnapshot) 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
copySnapshot_sourceRegion :: Lens.Lens' CopySnapshot Prelude.Text
copySnapshot_sourceRegion :: Lens' CopySnapshot Text
copySnapshot_sourceRegion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CopySnapshot' {Text
sourceRegion :: Text
$sel:sourceRegion:CopySnapshot' :: CopySnapshot -> Text
sourceRegion} -> Text
sourceRegion) (\s :: CopySnapshot
s@CopySnapshot' {} Text
a -> CopySnapshot
s {$sel:sourceRegion:CopySnapshot' :: Text
sourceRegion = Text
a} :: CopySnapshot)
copySnapshot_sourceSnapshotId :: Lens.Lens' CopySnapshot Prelude.Text
copySnapshot_sourceSnapshotId :: Lens' CopySnapshot Text
copySnapshot_sourceSnapshotId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CopySnapshot' {Text
sourceSnapshotId :: Text
$sel:sourceSnapshotId:CopySnapshot' :: CopySnapshot -> Text
sourceSnapshotId} -> Text
sourceSnapshotId) (\s :: CopySnapshot
s@CopySnapshot' {} Text
a -> CopySnapshot
s {$sel:sourceSnapshotId:CopySnapshot' :: Text
sourceSnapshotId = Text
a} :: CopySnapshot)
instance Core.AWSRequest CopySnapshot where
type AWSResponse CopySnapshot = CopySnapshotResponse
request :: (Service -> Service) -> CopySnapshot -> Request CopySnapshot
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 CopySnapshot
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CopySnapshot)))
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 ->
Maybe Text -> Maybe [Tag] -> Int -> CopySnapshotResponse
CopySnapshotResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"snapshotId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"tagSet"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"item")
)
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 CopySnapshot where
hashWithSalt :: Int -> CopySnapshot -> Int
hashWithSalt Int
_salt CopySnapshot' {Maybe Bool
Maybe [TagSpecification]
Maybe Text
Text
sourceSnapshotId :: Text
sourceRegion :: Text
tagSpecifications :: Maybe [TagSpecification]
presignedUrl :: Maybe Text
kmsKeyId :: Maybe Text
encrypted :: Maybe Bool
dryRun :: Maybe Bool
destinationRegion :: Maybe Text
destinationOutpostArn :: Maybe Text
description :: Maybe Text
$sel:sourceSnapshotId:CopySnapshot' :: CopySnapshot -> Text
$sel:sourceRegion:CopySnapshot' :: CopySnapshot -> Text
$sel:tagSpecifications:CopySnapshot' :: CopySnapshot -> Maybe [TagSpecification]
$sel:presignedUrl:CopySnapshot' :: CopySnapshot -> Maybe Text
$sel:kmsKeyId:CopySnapshot' :: CopySnapshot -> Maybe Text
$sel:encrypted:CopySnapshot' :: CopySnapshot -> Maybe Bool
$sel:dryRun:CopySnapshot' :: CopySnapshot -> Maybe Bool
$sel:destinationRegion:CopySnapshot' :: CopySnapshot -> Maybe Text
$sel:destinationOutpostArn:CopySnapshot' :: CopySnapshot -> Maybe Text
$sel:description:CopySnapshot' :: CopySnapshot -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
destinationOutpostArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
destinationRegion
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 Text
kmsKeyId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
presignedUrl
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [TagSpecification]
tagSpecifications
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
sourceRegion
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
sourceSnapshotId
instance Prelude.NFData CopySnapshot where
rnf :: CopySnapshot -> ()
rnf CopySnapshot' {Maybe Bool
Maybe [TagSpecification]
Maybe Text
Text
sourceSnapshotId :: Text
sourceRegion :: Text
tagSpecifications :: Maybe [TagSpecification]
presignedUrl :: Maybe Text
kmsKeyId :: Maybe Text
encrypted :: Maybe Bool
dryRun :: Maybe Bool
destinationRegion :: Maybe Text
destinationOutpostArn :: Maybe Text
description :: Maybe Text
$sel:sourceSnapshotId:CopySnapshot' :: CopySnapshot -> Text
$sel:sourceRegion:CopySnapshot' :: CopySnapshot -> Text
$sel:tagSpecifications:CopySnapshot' :: CopySnapshot -> Maybe [TagSpecification]
$sel:presignedUrl:CopySnapshot' :: CopySnapshot -> Maybe Text
$sel:kmsKeyId:CopySnapshot' :: CopySnapshot -> Maybe Text
$sel:encrypted:CopySnapshot' :: CopySnapshot -> Maybe Bool
$sel:dryRun:CopySnapshot' :: CopySnapshot -> Maybe Bool
$sel:destinationRegion:CopySnapshot' :: CopySnapshot -> Maybe Text
$sel:destinationOutpostArn:CopySnapshot' :: CopySnapshot -> Maybe Text
$sel:description:CopySnapshot' :: CopySnapshot -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
destinationOutpostArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
destinationRegion
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 Text
kmsKeyId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
presignedUrl
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 Text
sourceRegion
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
sourceSnapshotId
instance Data.ToHeaders CopySnapshot where
toHeaders :: CopySnapshot -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath CopySnapshot where
toPath :: CopySnapshot -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CopySnapshot where
toQuery :: CopySnapshot -> QueryString
toQuery CopySnapshot' {Maybe Bool
Maybe [TagSpecification]
Maybe Text
Text
sourceSnapshotId :: Text
sourceRegion :: Text
tagSpecifications :: Maybe [TagSpecification]
presignedUrl :: Maybe Text
kmsKeyId :: Maybe Text
encrypted :: Maybe Bool
dryRun :: Maybe Bool
destinationRegion :: Maybe Text
destinationOutpostArn :: Maybe Text
description :: Maybe Text
$sel:sourceSnapshotId:CopySnapshot' :: CopySnapshot -> Text
$sel:sourceRegion:CopySnapshot' :: CopySnapshot -> Text
$sel:tagSpecifications:CopySnapshot' :: CopySnapshot -> Maybe [TagSpecification]
$sel:presignedUrl:CopySnapshot' :: CopySnapshot -> Maybe Text
$sel:kmsKeyId:CopySnapshot' :: CopySnapshot -> Maybe Text
$sel:encrypted:CopySnapshot' :: CopySnapshot -> Maybe Bool
$sel:dryRun:CopySnapshot' :: CopySnapshot -> Maybe Bool
$sel:destinationRegion:CopySnapshot' :: CopySnapshot -> Maybe Text
$sel:destinationOutpostArn:CopySnapshot' :: CopySnapshot -> Maybe Text
$sel:description:CopySnapshot' :: CopySnapshot -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"CopySnapshot" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
ByteString
"Description" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
description,
ByteString
"DestinationOutpostArn"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
destinationOutpostArn,
ByteString
"DestinationRegion" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
destinationRegion,
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
"KmsKeyId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
kmsKeyId,
ByteString
"PresignedUrl" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
presignedUrl,
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
"SourceRegion" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
sourceRegion,
ByteString
"SourceSnapshotId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
sourceSnapshotId
]
data CopySnapshotResponse = CopySnapshotResponse'
{
CopySnapshotResponse -> Maybe Text
snapshotId :: Prelude.Maybe Prelude.Text,
CopySnapshotResponse -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
CopySnapshotResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CopySnapshotResponse -> CopySnapshotResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CopySnapshotResponse -> CopySnapshotResponse -> Bool
$c/= :: CopySnapshotResponse -> CopySnapshotResponse -> Bool
== :: CopySnapshotResponse -> CopySnapshotResponse -> Bool
$c== :: CopySnapshotResponse -> CopySnapshotResponse -> Bool
Prelude.Eq, ReadPrec [CopySnapshotResponse]
ReadPrec CopySnapshotResponse
Int -> ReadS CopySnapshotResponse
ReadS [CopySnapshotResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CopySnapshotResponse]
$creadListPrec :: ReadPrec [CopySnapshotResponse]
readPrec :: ReadPrec CopySnapshotResponse
$creadPrec :: ReadPrec CopySnapshotResponse
readList :: ReadS [CopySnapshotResponse]
$creadList :: ReadS [CopySnapshotResponse]
readsPrec :: Int -> ReadS CopySnapshotResponse
$creadsPrec :: Int -> ReadS CopySnapshotResponse
Prelude.Read, Int -> CopySnapshotResponse -> ShowS
[CopySnapshotResponse] -> ShowS
CopySnapshotResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CopySnapshotResponse] -> ShowS
$cshowList :: [CopySnapshotResponse] -> ShowS
show :: CopySnapshotResponse -> String
$cshow :: CopySnapshotResponse -> String
showsPrec :: Int -> CopySnapshotResponse -> ShowS
$cshowsPrec :: Int -> CopySnapshotResponse -> ShowS
Prelude.Show, forall x. Rep CopySnapshotResponse x -> CopySnapshotResponse
forall x. CopySnapshotResponse -> Rep CopySnapshotResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CopySnapshotResponse x -> CopySnapshotResponse
$cfrom :: forall x. CopySnapshotResponse -> Rep CopySnapshotResponse x
Prelude.Generic)
newCopySnapshotResponse ::
Prelude.Int ->
CopySnapshotResponse
newCopySnapshotResponse :: Int -> CopySnapshotResponse
newCopySnapshotResponse Int
pHttpStatus_ =
CopySnapshotResponse'
{ $sel:snapshotId:CopySnapshotResponse' :: Maybe Text
snapshotId = forall a. Maybe a
Prelude.Nothing,
$sel:tags:CopySnapshotResponse' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CopySnapshotResponse' :: Int
httpStatus = Int
pHttpStatus_
}
copySnapshotResponse_snapshotId :: Lens.Lens' CopySnapshotResponse (Prelude.Maybe Prelude.Text)
copySnapshotResponse_snapshotId :: Lens' CopySnapshotResponse (Maybe Text)
copySnapshotResponse_snapshotId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CopySnapshotResponse' {Maybe Text
snapshotId :: Maybe Text
$sel:snapshotId:CopySnapshotResponse' :: CopySnapshotResponse -> Maybe Text
snapshotId} -> Maybe Text
snapshotId) (\s :: CopySnapshotResponse
s@CopySnapshotResponse' {} Maybe Text
a -> CopySnapshotResponse
s {$sel:snapshotId:CopySnapshotResponse' :: Maybe Text
snapshotId = Maybe Text
a} :: CopySnapshotResponse)
copySnapshotResponse_tags :: Lens.Lens' CopySnapshotResponse (Prelude.Maybe [Tag])
copySnapshotResponse_tags :: Lens' CopySnapshotResponse (Maybe [Tag])
copySnapshotResponse_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CopySnapshotResponse' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:CopySnapshotResponse' :: CopySnapshotResponse -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: CopySnapshotResponse
s@CopySnapshotResponse' {} Maybe [Tag]
a -> CopySnapshotResponse
s {$sel:tags:CopySnapshotResponse' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: CopySnapshotResponse) 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
copySnapshotResponse_httpStatus :: Lens.Lens' CopySnapshotResponse Prelude.Int
copySnapshotResponse_httpStatus :: Lens' CopySnapshotResponse Int
copySnapshotResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CopySnapshotResponse' {Int
httpStatus :: Int
$sel:httpStatus:CopySnapshotResponse' :: CopySnapshotResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CopySnapshotResponse
s@CopySnapshotResponse' {} Int
a -> CopySnapshotResponse
s {$sel:httpStatus:CopySnapshotResponse' :: Int
httpStatus = Int
a} :: CopySnapshotResponse)
instance Prelude.NFData CopySnapshotResponse where
rnf :: CopySnapshotResponse -> ()
rnf CopySnapshotResponse' {Int
Maybe [Tag]
Maybe Text
httpStatus :: Int
tags :: Maybe [Tag]
snapshotId :: Maybe Text
$sel:httpStatus:CopySnapshotResponse' :: CopySnapshotResponse -> Int
$sel:tags:CopySnapshotResponse' :: CopySnapshotResponse -> Maybe [Tag]
$sel:snapshotId:CopySnapshotResponse' :: CopySnapshotResponse -> Maybe Text
..} =
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 [Tag]
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus