{-# 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.Glacier.Types.JobParameters where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Glacier.Types.InventoryRetrievalJobInput
import Amazonka.Glacier.Types.OutputLocation
import Amazonka.Glacier.Types.SelectParameters
import qualified Amazonka.Prelude as Prelude
data JobParameters = JobParameters'
{
JobParameters -> Maybe Text
archiveId :: Prelude.Maybe Prelude.Text,
JobParameters -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
JobParameters -> Maybe Text
format :: Prelude.Maybe Prelude.Text,
JobParameters -> Maybe InventoryRetrievalJobInput
inventoryRetrievalParameters :: Prelude.Maybe InventoryRetrievalJobInput,
JobParameters -> Maybe OutputLocation
outputLocation :: Prelude.Maybe OutputLocation,
JobParameters -> Maybe Text
retrievalByteRange :: Prelude.Maybe Prelude.Text,
JobParameters -> Maybe Text
sNSTopic :: Prelude.Maybe Prelude.Text,
JobParameters -> Maybe SelectParameters
selectParameters :: Prelude.Maybe SelectParameters,
JobParameters -> Maybe Text
tier :: Prelude.Maybe Prelude.Text,
JobParameters -> Maybe Text
type' :: Prelude.Maybe Prelude.Text
}
deriving (JobParameters -> JobParameters -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JobParameters -> JobParameters -> Bool
$c/= :: JobParameters -> JobParameters -> Bool
== :: JobParameters -> JobParameters -> Bool
$c== :: JobParameters -> JobParameters -> Bool
Prelude.Eq, ReadPrec [JobParameters]
ReadPrec JobParameters
Int -> ReadS JobParameters
ReadS [JobParameters]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [JobParameters]
$creadListPrec :: ReadPrec [JobParameters]
readPrec :: ReadPrec JobParameters
$creadPrec :: ReadPrec JobParameters
readList :: ReadS [JobParameters]
$creadList :: ReadS [JobParameters]
readsPrec :: Int -> ReadS JobParameters
$creadsPrec :: Int -> ReadS JobParameters
Prelude.Read, Int -> JobParameters -> ShowS
[JobParameters] -> ShowS
JobParameters -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JobParameters] -> ShowS
$cshowList :: [JobParameters] -> ShowS
show :: JobParameters -> String
$cshow :: JobParameters -> String
showsPrec :: Int -> JobParameters -> ShowS
$cshowsPrec :: Int -> JobParameters -> ShowS
Prelude.Show, forall x. Rep JobParameters x -> JobParameters
forall x. JobParameters -> Rep JobParameters x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep JobParameters x -> JobParameters
$cfrom :: forall x. JobParameters -> Rep JobParameters x
Prelude.Generic)
newJobParameters ::
JobParameters
newJobParameters :: JobParameters
newJobParameters =
JobParameters'
{ $sel:archiveId:JobParameters' :: Maybe Text
archiveId = forall a. Maybe a
Prelude.Nothing,
$sel:description:JobParameters' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:format:JobParameters' :: Maybe Text
format = forall a. Maybe a
Prelude.Nothing,
$sel:inventoryRetrievalParameters:JobParameters' :: Maybe InventoryRetrievalJobInput
inventoryRetrievalParameters = forall a. Maybe a
Prelude.Nothing,
$sel:outputLocation:JobParameters' :: Maybe OutputLocation
outputLocation = forall a. Maybe a
Prelude.Nothing,
$sel:retrievalByteRange:JobParameters' :: Maybe Text
retrievalByteRange = forall a. Maybe a
Prelude.Nothing,
$sel:sNSTopic:JobParameters' :: Maybe Text
sNSTopic = forall a. Maybe a
Prelude.Nothing,
$sel:selectParameters:JobParameters' :: Maybe SelectParameters
selectParameters = forall a. Maybe a
Prelude.Nothing,
$sel:tier:JobParameters' :: Maybe Text
tier = forall a. Maybe a
Prelude.Nothing,
$sel:type':JobParameters' :: Maybe Text
type' = forall a. Maybe a
Prelude.Nothing
}
jobParameters_archiveId :: Lens.Lens' JobParameters (Prelude.Maybe Prelude.Text)
jobParameters_archiveId :: Lens' JobParameters (Maybe Text)
jobParameters_archiveId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobParameters' {Maybe Text
archiveId :: Maybe Text
$sel:archiveId:JobParameters' :: JobParameters -> Maybe Text
archiveId} -> Maybe Text
archiveId) (\s :: JobParameters
s@JobParameters' {} Maybe Text
a -> JobParameters
s {$sel:archiveId:JobParameters' :: Maybe Text
archiveId = Maybe Text
a} :: JobParameters)
jobParameters_description :: Lens.Lens' JobParameters (Prelude.Maybe Prelude.Text)
jobParameters_description :: Lens' JobParameters (Maybe Text)
jobParameters_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobParameters' {Maybe Text
description :: Maybe Text
$sel:description:JobParameters' :: JobParameters -> Maybe Text
description} -> Maybe Text
description) (\s :: JobParameters
s@JobParameters' {} Maybe Text
a -> JobParameters
s {$sel:description:JobParameters' :: Maybe Text
description = Maybe Text
a} :: JobParameters)
jobParameters_format :: Lens.Lens' JobParameters (Prelude.Maybe Prelude.Text)
jobParameters_format :: Lens' JobParameters (Maybe Text)
jobParameters_format = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobParameters' {Maybe Text
format :: Maybe Text
$sel:format:JobParameters' :: JobParameters -> Maybe Text
format} -> Maybe Text
format) (\s :: JobParameters
s@JobParameters' {} Maybe Text
a -> JobParameters
s {$sel:format:JobParameters' :: Maybe Text
format = Maybe Text
a} :: JobParameters)
jobParameters_inventoryRetrievalParameters :: Lens.Lens' JobParameters (Prelude.Maybe InventoryRetrievalJobInput)
jobParameters_inventoryRetrievalParameters :: Lens' JobParameters (Maybe InventoryRetrievalJobInput)
jobParameters_inventoryRetrievalParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobParameters' {Maybe InventoryRetrievalJobInput
inventoryRetrievalParameters :: Maybe InventoryRetrievalJobInput
$sel:inventoryRetrievalParameters:JobParameters' :: JobParameters -> Maybe InventoryRetrievalJobInput
inventoryRetrievalParameters} -> Maybe InventoryRetrievalJobInput
inventoryRetrievalParameters) (\s :: JobParameters
s@JobParameters' {} Maybe InventoryRetrievalJobInput
a -> JobParameters
s {$sel:inventoryRetrievalParameters:JobParameters' :: Maybe InventoryRetrievalJobInput
inventoryRetrievalParameters = Maybe InventoryRetrievalJobInput
a} :: JobParameters)
jobParameters_outputLocation :: Lens.Lens' JobParameters (Prelude.Maybe OutputLocation)
jobParameters_outputLocation :: Lens' JobParameters (Maybe OutputLocation)
jobParameters_outputLocation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobParameters' {Maybe OutputLocation
outputLocation :: Maybe OutputLocation
$sel:outputLocation:JobParameters' :: JobParameters -> Maybe OutputLocation
outputLocation} -> Maybe OutputLocation
outputLocation) (\s :: JobParameters
s@JobParameters' {} Maybe OutputLocation
a -> JobParameters
s {$sel:outputLocation:JobParameters' :: Maybe OutputLocation
outputLocation = Maybe OutputLocation
a} :: JobParameters)
jobParameters_retrievalByteRange :: Lens.Lens' JobParameters (Prelude.Maybe Prelude.Text)
jobParameters_retrievalByteRange :: Lens' JobParameters (Maybe Text)
jobParameters_retrievalByteRange = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobParameters' {Maybe Text
retrievalByteRange :: Maybe Text
$sel:retrievalByteRange:JobParameters' :: JobParameters -> Maybe Text
retrievalByteRange} -> Maybe Text
retrievalByteRange) (\s :: JobParameters
s@JobParameters' {} Maybe Text
a -> JobParameters
s {$sel:retrievalByteRange:JobParameters' :: Maybe Text
retrievalByteRange = Maybe Text
a} :: JobParameters)
jobParameters_sNSTopic :: Lens.Lens' JobParameters (Prelude.Maybe Prelude.Text)
jobParameters_sNSTopic :: Lens' JobParameters (Maybe Text)
jobParameters_sNSTopic = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobParameters' {Maybe Text
sNSTopic :: Maybe Text
$sel:sNSTopic:JobParameters' :: JobParameters -> Maybe Text
sNSTopic} -> Maybe Text
sNSTopic) (\s :: JobParameters
s@JobParameters' {} Maybe Text
a -> JobParameters
s {$sel:sNSTopic:JobParameters' :: Maybe Text
sNSTopic = Maybe Text
a} :: JobParameters)
jobParameters_selectParameters :: Lens.Lens' JobParameters (Prelude.Maybe SelectParameters)
jobParameters_selectParameters :: Lens' JobParameters (Maybe SelectParameters)
jobParameters_selectParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobParameters' {Maybe SelectParameters
selectParameters :: Maybe SelectParameters
$sel:selectParameters:JobParameters' :: JobParameters -> Maybe SelectParameters
selectParameters} -> Maybe SelectParameters
selectParameters) (\s :: JobParameters
s@JobParameters' {} Maybe SelectParameters
a -> JobParameters
s {$sel:selectParameters:JobParameters' :: Maybe SelectParameters
selectParameters = Maybe SelectParameters
a} :: JobParameters)
jobParameters_tier :: Lens.Lens' JobParameters (Prelude.Maybe Prelude.Text)
jobParameters_tier :: Lens' JobParameters (Maybe Text)
jobParameters_tier = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobParameters' {Maybe Text
tier :: Maybe Text
$sel:tier:JobParameters' :: JobParameters -> Maybe Text
tier} -> Maybe Text
tier) (\s :: JobParameters
s@JobParameters' {} Maybe Text
a -> JobParameters
s {$sel:tier:JobParameters' :: Maybe Text
tier = Maybe Text
a} :: JobParameters)
jobParameters_type :: Lens.Lens' JobParameters (Prelude.Maybe Prelude.Text)
jobParameters_type :: Lens' JobParameters (Maybe Text)
jobParameters_type = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobParameters' {Maybe Text
type' :: Maybe Text
$sel:type':JobParameters' :: JobParameters -> Maybe Text
type'} -> Maybe Text
type') (\s :: JobParameters
s@JobParameters' {} Maybe Text
a -> JobParameters
s {$sel:type':JobParameters' :: Maybe Text
type' = Maybe Text
a} :: JobParameters)
instance Prelude.Hashable JobParameters where
hashWithSalt :: Int -> JobParameters -> Int
hashWithSalt Int
_salt JobParameters' {Maybe Text
Maybe InventoryRetrievalJobInput
Maybe SelectParameters
Maybe OutputLocation
type' :: Maybe Text
tier :: Maybe Text
selectParameters :: Maybe SelectParameters
sNSTopic :: Maybe Text
retrievalByteRange :: Maybe Text
outputLocation :: Maybe OutputLocation
inventoryRetrievalParameters :: Maybe InventoryRetrievalJobInput
format :: Maybe Text
description :: Maybe Text
archiveId :: Maybe Text
$sel:type':JobParameters' :: JobParameters -> Maybe Text
$sel:tier:JobParameters' :: JobParameters -> Maybe Text
$sel:selectParameters:JobParameters' :: JobParameters -> Maybe SelectParameters
$sel:sNSTopic:JobParameters' :: JobParameters -> Maybe Text
$sel:retrievalByteRange:JobParameters' :: JobParameters -> Maybe Text
$sel:outputLocation:JobParameters' :: JobParameters -> Maybe OutputLocation
$sel:inventoryRetrievalParameters:JobParameters' :: JobParameters -> Maybe InventoryRetrievalJobInput
$sel:format:JobParameters' :: JobParameters -> Maybe Text
$sel:description:JobParameters' :: JobParameters -> Maybe Text
$sel:archiveId:JobParameters' :: JobParameters -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
archiveId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
format
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe InventoryRetrievalJobInput
inventoryRetrievalParameters
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe OutputLocation
outputLocation
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
retrievalByteRange
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
sNSTopic
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SelectParameters
selectParameters
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
tier
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
type'
instance Prelude.NFData JobParameters where
rnf :: JobParameters -> ()
rnf JobParameters' {Maybe Text
Maybe InventoryRetrievalJobInput
Maybe SelectParameters
Maybe OutputLocation
type' :: Maybe Text
tier :: Maybe Text
selectParameters :: Maybe SelectParameters
sNSTopic :: Maybe Text
retrievalByteRange :: Maybe Text
outputLocation :: Maybe OutputLocation
inventoryRetrievalParameters :: Maybe InventoryRetrievalJobInput
format :: Maybe Text
description :: Maybe Text
archiveId :: Maybe Text
$sel:type':JobParameters' :: JobParameters -> Maybe Text
$sel:tier:JobParameters' :: JobParameters -> Maybe Text
$sel:selectParameters:JobParameters' :: JobParameters -> Maybe SelectParameters
$sel:sNSTopic:JobParameters' :: JobParameters -> Maybe Text
$sel:retrievalByteRange:JobParameters' :: JobParameters -> Maybe Text
$sel:outputLocation:JobParameters' :: JobParameters -> Maybe OutputLocation
$sel:inventoryRetrievalParameters:JobParameters' :: JobParameters -> Maybe InventoryRetrievalJobInput
$sel:format:JobParameters' :: JobParameters -> Maybe Text
$sel:description:JobParameters' :: JobParameters -> Maybe Text
$sel:archiveId:JobParameters' :: JobParameters -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
archiveId
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 Text
format
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe InventoryRetrievalJobInput
inventoryRetrievalParameters
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 Text
retrievalByteRange
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sNSTopic
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 Text
tier
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
type'
instance Data.ToJSON JobParameters where
toJSON :: JobParameters -> Value
toJSON JobParameters' {Maybe Text
Maybe InventoryRetrievalJobInput
Maybe SelectParameters
Maybe OutputLocation
type' :: Maybe Text
tier :: Maybe Text
selectParameters :: Maybe SelectParameters
sNSTopic :: Maybe Text
retrievalByteRange :: Maybe Text
outputLocation :: Maybe OutputLocation
inventoryRetrievalParameters :: Maybe InventoryRetrievalJobInput
format :: Maybe Text
description :: Maybe Text
archiveId :: Maybe Text
$sel:type':JobParameters' :: JobParameters -> Maybe Text
$sel:tier:JobParameters' :: JobParameters -> Maybe Text
$sel:selectParameters:JobParameters' :: JobParameters -> Maybe SelectParameters
$sel:sNSTopic:JobParameters' :: JobParameters -> Maybe Text
$sel:retrievalByteRange:JobParameters' :: JobParameters -> Maybe Text
$sel:outputLocation:JobParameters' :: JobParameters -> Maybe OutputLocation
$sel:inventoryRetrievalParameters:JobParameters' :: JobParameters -> Maybe InventoryRetrievalJobInput
$sel:format:JobParameters' :: JobParameters -> Maybe Text
$sel:description:JobParameters' :: JobParameters -> Maybe Text
$sel:archiveId:JobParameters' :: JobParameters -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ArchiveId" 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
archiveId,
(Key
"Description" 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
description,
(Key
"Format" 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
format,
(Key
"InventoryRetrievalParameters" 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 InventoryRetrievalJobInput
inventoryRetrievalParameters,
(Key
"OutputLocation" 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 OutputLocation
outputLocation,
(Key
"RetrievalByteRange" 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
retrievalByteRange,
(Key
"SNSTopic" 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
sNSTopic,
(Key
"SelectParameters" 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 SelectParameters
selectParameters,
(Key
"Tier" 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
tier,
(Key
"Type" 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
type'
]
)