{-# 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.RestoreRequest 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.GlacierJobParameters
import Amazonka.S3.Types.OutputLocation
import Amazonka.S3.Types.RestoreRequestType
import Amazonka.S3.Types.SelectParameters
import Amazonka.S3.Types.Tier
data RestoreRequest = RestoreRequest'
{
RestoreRequest -> Maybe Int
days :: Prelude.Maybe Prelude.Int,
RestoreRequest -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
RestoreRequest -> Maybe GlacierJobParameters
glacierJobParameters :: Prelude.Maybe GlacierJobParameters,
RestoreRequest -> Maybe OutputLocation
outputLocation :: Prelude.Maybe OutputLocation,
RestoreRequest -> Maybe SelectParameters
selectParameters :: Prelude.Maybe SelectParameters,
RestoreRequest -> Maybe Tier
tier :: Prelude.Maybe Tier,
RestoreRequest -> Maybe RestoreRequestType
type' :: Prelude.Maybe RestoreRequestType
}
deriving (RestoreRequest -> RestoreRequest -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RestoreRequest -> RestoreRequest -> Bool
$c/= :: RestoreRequest -> RestoreRequest -> Bool
== :: RestoreRequest -> RestoreRequest -> Bool
$c== :: RestoreRequest -> RestoreRequest -> Bool
Prelude.Eq, Int -> RestoreRequest -> ShowS
[RestoreRequest] -> ShowS
RestoreRequest -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RestoreRequest] -> ShowS
$cshowList :: [RestoreRequest] -> ShowS
show :: RestoreRequest -> String
$cshow :: RestoreRequest -> String
showsPrec :: Int -> RestoreRequest -> ShowS
$cshowsPrec :: Int -> RestoreRequest -> ShowS
Prelude.Show, forall x. Rep RestoreRequest x -> RestoreRequest
forall x. RestoreRequest -> Rep RestoreRequest x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep RestoreRequest x -> RestoreRequest
$cfrom :: forall x. RestoreRequest -> Rep RestoreRequest x
Prelude.Generic)
newRestoreRequest ::
RestoreRequest
newRestoreRequest :: RestoreRequest
newRestoreRequest =
RestoreRequest'
{ $sel:days:RestoreRequest' :: Maybe Int
days = forall a. Maybe a
Prelude.Nothing,
$sel:description:RestoreRequest' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:glacierJobParameters:RestoreRequest' :: Maybe GlacierJobParameters
glacierJobParameters = forall a. Maybe a
Prelude.Nothing,
$sel:outputLocation:RestoreRequest' :: Maybe OutputLocation
outputLocation = forall a. Maybe a
Prelude.Nothing,
$sel:selectParameters:RestoreRequest' :: Maybe SelectParameters
selectParameters = forall a. Maybe a
Prelude.Nothing,
$sel:tier:RestoreRequest' :: Maybe Tier
tier = forall a. Maybe a
Prelude.Nothing,
$sel:type':RestoreRequest' :: Maybe RestoreRequestType
type' = forall a. Maybe a
Prelude.Nothing
}
restoreRequest_days :: Lens.Lens' RestoreRequest (Prelude.Maybe Prelude.Int)
restoreRequest_days :: Lens' RestoreRequest (Maybe Int)
restoreRequest_days = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RestoreRequest' {Maybe Int
days :: Maybe Int
$sel:days:RestoreRequest' :: RestoreRequest -> Maybe Int
days} -> Maybe Int
days) (\s :: RestoreRequest
s@RestoreRequest' {} Maybe Int
a -> RestoreRequest
s {$sel:days:RestoreRequest' :: Maybe Int
days = Maybe Int
a} :: RestoreRequest)
restoreRequest_description :: Lens.Lens' RestoreRequest (Prelude.Maybe Prelude.Text)
restoreRequest_description :: Lens' RestoreRequest (Maybe Text)
restoreRequest_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RestoreRequest' {Maybe Text
description :: Maybe Text
$sel:description:RestoreRequest' :: RestoreRequest -> Maybe Text
description} -> Maybe Text
description) (\s :: RestoreRequest
s@RestoreRequest' {} Maybe Text
a -> RestoreRequest
s {$sel:description:RestoreRequest' :: Maybe Text
description = Maybe Text
a} :: RestoreRequest)
restoreRequest_glacierJobParameters :: Lens.Lens' RestoreRequest (Prelude.Maybe GlacierJobParameters)
restoreRequest_glacierJobParameters :: Lens' RestoreRequest (Maybe GlacierJobParameters)
restoreRequest_glacierJobParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RestoreRequest' {Maybe GlacierJobParameters
glacierJobParameters :: Maybe GlacierJobParameters
$sel:glacierJobParameters:RestoreRequest' :: RestoreRequest -> Maybe GlacierJobParameters
glacierJobParameters} -> Maybe GlacierJobParameters
glacierJobParameters) (\s :: RestoreRequest
s@RestoreRequest' {} Maybe GlacierJobParameters
a -> RestoreRequest
s {$sel:glacierJobParameters:RestoreRequest' :: Maybe GlacierJobParameters
glacierJobParameters = Maybe GlacierJobParameters
a} :: RestoreRequest)
restoreRequest_outputLocation :: Lens.Lens' RestoreRequest (Prelude.Maybe OutputLocation)
restoreRequest_outputLocation :: Lens' RestoreRequest (Maybe OutputLocation)
restoreRequest_outputLocation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RestoreRequest' {Maybe OutputLocation
outputLocation :: Maybe OutputLocation
$sel:outputLocation:RestoreRequest' :: RestoreRequest -> Maybe OutputLocation
outputLocation} -> Maybe OutputLocation
outputLocation) (\s :: RestoreRequest
s@RestoreRequest' {} Maybe OutputLocation
a -> RestoreRequest
s {$sel:outputLocation:RestoreRequest' :: Maybe OutputLocation
outputLocation = Maybe OutputLocation
a} :: RestoreRequest)
restoreRequest_selectParameters :: Lens.Lens' RestoreRequest (Prelude.Maybe SelectParameters)
restoreRequest_selectParameters :: Lens' RestoreRequest (Maybe SelectParameters)
restoreRequest_selectParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RestoreRequest' {Maybe SelectParameters
selectParameters :: Maybe SelectParameters
$sel:selectParameters:RestoreRequest' :: RestoreRequest -> Maybe SelectParameters
selectParameters} -> Maybe SelectParameters
selectParameters) (\s :: RestoreRequest
s@RestoreRequest' {} Maybe SelectParameters
a -> RestoreRequest
s {$sel:selectParameters:RestoreRequest' :: Maybe SelectParameters
selectParameters = Maybe SelectParameters
a} :: RestoreRequest)
restoreRequest_tier :: Lens.Lens' RestoreRequest (Prelude.Maybe Tier)
restoreRequest_tier :: Lens' RestoreRequest (Maybe Tier)
restoreRequest_tier = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RestoreRequest' {Maybe Tier
tier :: Maybe Tier
$sel:tier:RestoreRequest' :: RestoreRequest -> Maybe Tier
tier} -> Maybe Tier
tier) (\s :: RestoreRequest
s@RestoreRequest' {} Maybe Tier
a -> RestoreRequest
s {$sel:tier:RestoreRequest' :: Maybe Tier
tier = Maybe Tier
a} :: RestoreRequest)
restoreRequest_type :: Lens.Lens' RestoreRequest (Prelude.Maybe RestoreRequestType)
restoreRequest_type :: Lens' RestoreRequest (Maybe RestoreRequestType)
restoreRequest_type = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RestoreRequest' {Maybe RestoreRequestType
type' :: Maybe RestoreRequestType
$sel:type':RestoreRequest' :: RestoreRequest -> Maybe RestoreRequestType
type'} -> Maybe RestoreRequestType
type') (\s :: RestoreRequest
s@RestoreRequest' {} Maybe RestoreRequestType
a -> RestoreRequest
s {$sel:type':RestoreRequest' :: Maybe RestoreRequestType
type' = Maybe RestoreRequestType
a} :: RestoreRequest)
instance Prelude.Hashable RestoreRequest where
hashWithSalt :: Int -> RestoreRequest -> Int
hashWithSalt Int
_salt RestoreRequest' {Maybe Int
Maybe Text
Maybe RestoreRequestType
Maybe SelectParameters
Maybe Tier
Maybe GlacierJobParameters
Maybe OutputLocation
type' :: Maybe RestoreRequestType
tier :: Maybe Tier
selectParameters :: Maybe SelectParameters
outputLocation :: Maybe OutputLocation
glacierJobParameters :: Maybe GlacierJobParameters
description :: Maybe Text
days :: Maybe Int
$sel:type':RestoreRequest' :: RestoreRequest -> Maybe RestoreRequestType
$sel:tier:RestoreRequest' :: RestoreRequest -> Maybe Tier
$sel:selectParameters:RestoreRequest' :: RestoreRequest -> Maybe SelectParameters
$sel:outputLocation:RestoreRequest' :: RestoreRequest -> Maybe OutputLocation
$sel:glacierJobParameters:RestoreRequest' :: RestoreRequest -> Maybe GlacierJobParameters
$sel:description:RestoreRequest' :: RestoreRequest -> Maybe Text
$sel:days:RestoreRequest' :: RestoreRequest -> Maybe Int
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
days
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe GlacierJobParameters
glacierJobParameters
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe OutputLocation
outputLocation
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SelectParameters
selectParameters
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Tier
tier
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RestoreRequestType
type'
instance Prelude.NFData RestoreRequest where
rnf :: RestoreRequest -> ()
rnf RestoreRequest' {Maybe Int
Maybe Text
Maybe RestoreRequestType
Maybe SelectParameters
Maybe Tier
Maybe GlacierJobParameters
Maybe OutputLocation
type' :: Maybe RestoreRequestType
tier :: Maybe Tier
selectParameters :: Maybe SelectParameters
outputLocation :: Maybe OutputLocation
glacierJobParameters :: Maybe GlacierJobParameters
description :: Maybe Text
days :: Maybe Int
$sel:type':RestoreRequest' :: RestoreRequest -> Maybe RestoreRequestType
$sel:tier:RestoreRequest' :: RestoreRequest -> Maybe Tier
$sel:selectParameters:RestoreRequest' :: RestoreRequest -> Maybe SelectParameters
$sel:outputLocation:RestoreRequest' :: RestoreRequest -> Maybe OutputLocation
$sel:glacierJobParameters:RestoreRequest' :: RestoreRequest -> Maybe GlacierJobParameters
$sel:description:RestoreRequest' :: RestoreRequest -> Maybe Text
$sel:days:RestoreRequest' :: RestoreRequest -> Maybe Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
days
seq :: forall a b. a -> b -> b
`Prelude.seq` 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 GlacierJobParameters
glacierJobParameters
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe OutputLocation
outputLocation
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SelectParameters
selectParameters
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Tier
tier
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RestoreRequestType
type'
instance Data.ToXML RestoreRequest where
toXML :: RestoreRequest -> XML
toXML RestoreRequest' {Maybe Int
Maybe Text
Maybe RestoreRequestType
Maybe SelectParameters
Maybe Tier
Maybe GlacierJobParameters
Maybe OutputLocation
type' :: Maybe RestoreRequestType
tier :: Maybe Tier
selectParameters :: Maybe SelectParameters
outputLocation :: Maybe OutputLocation
glacierJobParameters :: Maybe GlacierJobParameters
description :: Maybe Text
days :: Maybe Int
$sel:type':RestoreRequest' :: RestoreRequest -> Maybe RestoreRequestType
$sel:tier:RestoreRequest' :: RestoreRequest -> Maybe Tier
$sel:selectParameters:RestoreRequest' :: RestoreRequest -> Maybe SelectParameters
$sel:outputLocation:RestoreRequest' :: RestoreRequest -> Maybe OutputLocation
$sel:glacierJobParameters:RestoreRequest' :: RestoreRequest -> Maybe GlacierJobParameters
$sel:description:RestoreRequest' :: RestoreRequest -> Maybe Text
$sel:days:RestoreRequest' :: RestoreRequest -> Maybe Int
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ Name
"Days" forall a. ToXML a => Name -> a -> XML
Data.@= Maybe Int
days,
Name
"Description" forall a. ToXML a => Name -> a -> XML
Data.@= Maybe Text
description,
Name
"GlacierJobParameters" forall a. ToXML a => Name -> a -> XML
Data.@= Maybe GlacierJobParameters
glacierJobParameters,
Name
"OutputLocation" forall a. ToXML a => Name -> a -> XML
Data.@= Maybe OutputLocation
outputLocation,
Name
"SelectParameters" forall a. ToXML a => Name -> a -> XML
Data.@= Maybe SelectParameters
selectParameters,
Name
"Tier" forall a. ToXML a => Name -> a -> XML
Data.@= Maybe Tier
tier,
Name
"Type" forall a. ToXML a => Name -> a -> XML
Data.@= Maybe RestoreRequestType
type'
]