{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.S3.Types.MultipartUpload 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 Amazonka.S3.Internal
import Amazonka.S3.Types.ChecksumAlgorithm
import Amazonka.S3.Types.Initiator
import Amazonka.S3.Types.Owner
import Amazonka.S3.Types.StorageClass
data MultipartUpload = MultipartUpload'
{
MultipartUpload -> Maybe ChecksumAlgorithm
checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,
MultipartUpload -> Maybe ISO8601
initiated :: Prelude.Maybe Data.ISO8601,
MultipartUpload -> Maybe Initiator
initiator :: Prelude.Maybe Initiator,
MultipartUpload -> Maybe ObjectKey
key :: Prelude.Maybe ObjectKey,
MultipartUpload -> Maybe Owner
owner :: Prelude.Maybe Owner,
MultipartUpload -> Maybe StorageClass
storageClass :: Prelude.Maybe StorageClass,
MultipartUpload -> Maybe Text
uploadId :: Prelude.Maybe Prelude.Text
}
deriving (MultipartUpload -> MultipartUpload -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MultipartUpload -> MultipartUpload -> Bool
$c/= :: MultipartUpload -> MultipartUpload -> Bool
== :: MultipartUpload -> MultipartUpload -> Bool
$c== :: MultipartUpload -> MultipartUpload -> Bool
Prelude.Eq, ReadPrec [MultipartUpload]
ReadPrec MultipartUpload
Int -> ReadS MultipartUpload
ReadS [MultipartUpload]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [MultipartUpload]
$creadListPrec :: ReadPrec [MultipartUpload]
readPrec :: ReadPrec MultipartUpload
$creadPrec :: ReadPrec MultipartUpload
readList :: ReadS [MultipartUpload]
$creadList :: ReadS [MultipartUpload]
readsPrec :: Int -> ReadS MultipartUpload
$creadsPrec :: Int -> ReadS MultipartUpload
Prelude.Read, Int -> MultipartUpload -> ShowS
[MultipartUpload] -> ShowS
MultipartUpload -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MultipartUpload] -> ShowS
$cshowList :: [MultipartUpload] -> ShowS
show :: MultipartUpload -> String
$cshow :: MultipartUpload -> String
showsPrec :: Int -> MultipartUpload -> ShowS
$cshowsPrec :: Int -> MultipartUpload -> ShowS
Prelude.Show, forall x. Rep MultipartUpload x -> MultipartUpload
forall x. MultipartUpload -> Rep MultipartUpload x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep MultipartUpload x -> MultipartUpload
$cfrom :: forall x. MultipartUpload -> Rep MultipartUpload x
Prelude.Generic)
newMultipartUpload ::
MultipartUpload
newMultipartUpload :: MultipartUpload
newMultipartUpload =
MultipartUpload'
{ $sel:checksumAlgorithm:MultipartUpload' :: Maybe ChecksumAlgorithm
checksumAlgorithm =
forall a. Maybe a
Prelude.Nothing,
$sel:initiated:MultipartUpload' :: Maybe ISO8601
initiated = forall a. Maybe a
Prelude.Nothing,
$sel:initiator:MultipartUpload' :: Maybe Initiator
initiator = forall a. Maybe a
Prelude.Nothing,
$sel:key:MultipartUpload' :: Maybe ObjectKey
key = forall a. Maybe a
Prelude.Nothing,
$sel:owner:MultipartUpload' :: Maybe Owner
owner = forall a. Maybe a
Prelude.Nothing,
$sel:storageClass:MultipartUpload' :: Maybe StorageClass
storageClass = forall a. Maybe a
Prelude.Nothing,
$sel:uploadId:MultipartUpload' :: Maybe Text
uploadId = forall a. Maybe a
Prelude.Nothing
}
multipartUpload_checksumAlgorithm :: Lens.Lens' MultipartUpload (Prelude.Maybe ChecksumAlgorithm)
multipartUpload_checksumAlgorithm :: Lens' MultipartUpload (Maybe ChecksumAlgorithm)
multipartUpload_checksumAlgorithm = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MultipartUpload' {Maybe ChecksumAlgorithm
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:checksumAlgorithm:MultipartUpload' :: MultipartUpload -> Maybe ChecksumAlgorithm
checksumAlgorithm} -> Maybe ChecksumAlgorithm
checksumAlgorithm) (\s :: MultipartUpload
s@MultipartUpload' {} Maybe ChecksumAlgorithm
a -> MultipartUpload
s {$sel:checksumAlgorithm:MultipartUpload' :: Maybe ChecksumAlgorithm
checksumAlgorithm = Maybe ChecksumAlgorithm
a} :: MultipartUpload)
multipartUpload_initiated :: Lens.Lens' MultipartUpload (Prelude.Maybe Prelude.UTCTime)
multipartUpload_initiated :: Lens' MultipartUpload (Maybe UTCTime)
multipartUpload_initiated = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MultipartUpload' {Maybe ISO8601
initiated :: Maybe ISO8601
$sel:initiated:MultipartUpload' :: MultipartUpload -> Maybe ISO8601
initiated} -> Maybe ISO8601
initiated) (\s :: MultipartUpload
s@MultipartUpload' {} Maybe ISO8601
a -> MultipartUpload
s {$sel:initiated:MultipartUpload' :: Maybe ISO8601
initiated = Maybe ISO8601
a} :: MultipartUpload) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time
multipartUpload_initiator :: Lens.Lens' MultipartUpload (Prelude.Maybe Initiator)
multipartUpload_initiator :: Lens' MultipartUpload (Maybe Initiator)
multipartUpload_initiator = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MultipartUpload' {Maybe Initiator
initiator :: Maybe Initiator
$sel:initiator:MultipartUpload' :: MultipartUpload -> Maybe Initiator
initiator} -> Maybe Initiator
initiator) (\s :: MultipartUpload
s@MultipartUpload' {} Maybe Initiator
a -> MultipartUpload
s {$sel:initiator:MultipartUpload' :: Maybe Initiator
initiator = Maybe Initiator
a} :: MultipartUpload)
multipartUpload_key :: Lens.Lens' MultipartUpload (Prelude.Maybe ObjectKey)
multipartUpload_key :: Lens' MultipartUpload (Maybe ObjectKey)
multipartUpload_key = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MultipartUpload' {Maybe ObjectKey
key :: Maybe ObjectKey
$sel:key:MultipartUpload' :: MultipartUpload -> Maybe ObjectKey
key} -> Maybe ObjectKey
key) (\s :: MultipartUpload
s@MultipartUpload' {} Maybe ObjectKey
a -> MultipartUpload
s {$sel:key:MultipartUpload' :: Maybe ObjectKey
key = Maybe ObjectKey
a} :: MultipartUpload)
multipartUpload_owner :: Lens.Lens' MultipartUpload (Prelude.Maybe Owner)
multipartUpload_owner :: Lens' MultipartUpload (Maybe Owner)
multipartUpload_owner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MultipartUpload' {Maybe Owner
owner :: Maybe Owner
$sel:owner:MultipartUpload' :: MultipartUpload -> Maybe Owner
owner} -> Maybe Owner
owner) (\s :: MultipartUpload
s@MultipartUpload' {} Maybe Owner
a -> MultipartUpload
s {$sel:owner:MultipartUpload' :: Maybe Owner
owner = Maybe Owner
a} :: MultipartUpload)
multipartUpload_storageClass :: Lens.Lens' MultipartUpload (Prelude.Maybe StorageClass)
multipartUpload_storageClass :: Lens' MultipartUpload (Maybe StorageClass)
multipartUpload_storageClass = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MultipartUpload' {Maybe StorageClass
storageClass :: Maybe StorageClass
$sel:storageClass:MultipartUpload' :: MultipartUpload -> Maybe StorageClass
storageClass} -> Maybe StorageClass
storageClass) (\s :: MultipartUpload
s@MultipartUpload' {} Maybe StorageClass
a -> MultipartUpload
s {$sel:storageClass:MultipartUpload' :: Maybe StorageClass
storageClass = Maybe StorageClass
a} :: MultipartUpload)
multipartUpload_uploadId :: Lens.Lens' MultipartUpload (Prelude.Maybe Prelude.Text)
multipartUpload_uploadId :: Lens' MultipartUpload (Maybe Text)
multipartUpload_uploadId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MultipartUpload' {Maybe Text
uploadId :: Maybe Text
$sel:uploadId:MultipartUpload' :: MultipartUpload -> Maybe Text
uploadId} -> Maybe Text
uploadId) (\s :: MultipartUpload
s@MultipartUpload' {} Maybe Text
a -> MultipartUpload
s {$sel:uploadId:MultipartUpload' :: Maybe Text
uploadId = Maybe Text
a} :: MultipartUpload)
instance Data.FromXML MultipartUpload where
parseXML :: [Node] -> Either String MultipartUpload
parseXML [Node]
x =
Maybe ChecksumAlgorithm
-> Maybe ISO8601
-> Maybe Initiator
-> Maybe ObjectKey
-> Maybe Owner
-> Maybe StorageClass
-> Maybe Text
-> MultipartUpload
MultipartUpload'
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
"ChecksumAlgorithm")
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
"Initiated")
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
"Initiator")
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
"Key")
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
"Owner")
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
"StorageClass")
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
"UploadId")
instance Prelude.Hashable MultipartUpload where
hashWithSalt :: Int -> MultipartUpload -> Int
hashWithSalt Int
_salt MultipartUpload' {Maybe Text
Maybe ISO8601
Maybe ObjectKey
Maybe ChecksumAlgorithm
Maybe Initiator
Maybe Owner
Maybe StorageClass
uploadId :: Maybe Text
storageClass :: Maybe StorageClass
owner :: Maybe Owner
key :: Maybe ObjectKey
initiator :: Maybe Initiator
initiated :: Maybe ISO8601
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:uploadId:MultipartUpload' :: MultipartUpload -> Maybe Text
$sel:storageClass:MultipartUpload' :: MultipartUpload -> Maybe StorageClass
$sel:owner:MultipartUpload' :: MultipartUpload -> Maybe Owner
$sel:key:MultipartUpload' :: MultipartUpload -> Maybe ObjectKey
$sel:initiator:MultipartUpload' :: MultipartUpload -> Maybe Initiator
$sel:initiated:MultipartUpload' :: MultipartUpload -> Maybe ISO8601
$sel:checksumAlgorithm:MultipartUpload' :: MultipartUpload -> Maybe ChecksumAlgorithm
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ChecksumAlgorithm
checksumAlgorithm
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
initiated
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Initiator
initiator
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ObjectKey
key
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Owner
owner
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe StorageClass
storageClass
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
uploadId
instance Prelude.NFData MultipartUpload where
rnf :: MultipartUpload -> ()
rnf MultipartUpload' {Maybe Text
Maybe ISO8601
Maybe ObjectKey
Maybe ChecksumAlgorithm
Maybe Initiator
Maybe Owner
Maybe StorageClass
uploadId :: Maybe Text
storageClass :: Maybe StorageClass
owner :: Maybe Owner
key :: Maybe ObjectKey
initiator :: Maybe Initiator
initiated :: Maybe ISO8601
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:uploadId:MultipartUpload' :: MultipartUpload -> Maybe Text
$sel:storageClass:MultipartUpload' :: MultipartUpload -> Maybe StorageClass
$sel:owner:MultipartUpload' :: MultipartUpload -> Maybe Owner
$sel:key:MultipartUpload' :: MultipartUpload -> Maybe ObjectKey
$sel:initiator:MultipartUpload' :: MultipartUpload -> Maybe Initiator
$sel:initiated:MultipartUpload' :: MultipartUpload -> Maybe ISO8601
$sel:checksumAlgorithm:MultipartUpload' :: MultipartUpload -> Maybe ChecksumAlgorithm
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ChecksumAlgorithm
checksumAlgorithm
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
initiated
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Initiator
initiator
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ObjectKey
key
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Owner
owner
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe StorageClass
storageClass
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
uploadId