{-# 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.Pinpoint.Types.ImportJobResource where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Pinpoint.Types.DefinitionFormat
import qualified Amazonka.Prelude as Prelude
data ImportJobResource = ImportJobResource'
{
ImportJobResource -> Maybe Bool
defineSegment :: Prelude.Maybe Prelude.Bool,
ImportJobResource -> Maybe Text
externalId :: Prelude.Maybe Prelude.Text,
ImportJobResource -> Maybe Bool
registerEndpoints :: Prelude.Maybe Prelude.Bool,
ImportJobResource -> Maybe Text
segmentId :: Prelude.Maybe Prelude.Text,
ImportJobResource -> Maybe Text
segmentName :: Prelude.Maybe Prelude.Text,
ImportJobResource -> DefinitionFormat
format :: DefinitionFormat,
ImportJobResource -> Text
s3Url :: Prelude.Text,
ImportJobResource -> Text
roleArn :: Prelude.Text
}
deriving (ImportJobResource -> ImportJobResource -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ImportJobResource -> ImportJobResource -> Bool
$c/= :: ImportJobResource -> ImportJobResource -> Bool
== :: ImportJobResource -> ImportJobResource -> Bool
$c== :: ImportJobResource -> ImportJobResource -> Bool
Prelude.Eq, ReadPrec [ImportJobResource]
ReadPrec ImportJobResource
Int -> ReadS ImportJobResource
ReadS [ImportJobResource]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ImportJobResource]
$creadListPrec :: ReadPrec [ImportJobResource]
readPrec :: ReadPrec ImportJobResource
$creadPrec :: ReadPrec ImportJobResource
readList :: ReadS [ImportJobResource]
$creadList :: ReadS [ImportJobResource]
readsPrec :: Int -> ReadS ImportJobResource
$creadsPrec :: Int -> ReadS ImportJobResource
Prelude.Read, Int -> ImportJobResource -> ShowS
[ImportJobResource] -> ShowS
ImportJobResource -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ImportJobResource] -> ShowS
$cshowList :: [ImportJobResource] -> ShowS
show :: ImportJobResource -> String
$cshow :: ImportJobResource -> String
showsPrec :: Int -> ImportJobResource -> ShowS
$cshowsPrec :: Int -> ImportJobResource -> ShowS
Prelude.Show, forall x. Rep ImportJobResource x -> ImportJobResource
forall x. ImportJobResource -> Rep ImportJobResource x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ImportJobResource x -> ImportJobResource
$cfrom :: forall x. ImportJobResource -> Rep ImportJobResource x
Prelude.Generic)
newImportJobResource ::
DefinitionFormat ->
Prelude.Text ->
Prelude.Text ->
ImportJobResource
newImportJobResource :: DefinitionFormat -> Text -> Text -> ImportJobResource
newImportJobResource DefinitionFormat
pFormat_ Text
pS3Url_ Text
pRoleArn_ =
ImportJobResource'
{ $sel:defineSegment:ImportJobResource' :: Maybe Bool
defineSegment = forall a. Maybe a
Prelude.Nothing,
$sel:externalId:ImportJobResource' :: Maybe Text
externalId = forall a. Maybe a
Prelude.Nothing,
$sel:registerEndpoints:ImportJobResource' :: Maybe Bool
registerEndpoints = forall a. Maybe a
Prelude.Nothing,
$sel:segmentId:ImportJobResource' :: Maybe Text
segmentId = forall a. Maybe a
Prelude.Nothing,
$sel:segmentName:ImportJobResource' :: Maybe Text
segmentName = forall a. Maybe a
Prelude.Nothing,
$sel:format:ImportJobResource' :: DefinitionFormat
format = DefinitionFormat
pFormat_,
$sel:s3Url:ImportJobResource' :: Text
s3Url = Text
pS3Url_,
$sel:roleArn:ImportJobResource' :: Text
roleArn = Text
pRoleArn_
}
importJobResource_defineSegment :: Lens.Lens' ImportJobResource (Prelude.Maybe Prelude.Bool)
importJobResource_defineSegment :: Lens' ImportJobResource (Maybe Bool)
importJobResource_defineSegment = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportJobResource' {Maybe Bool
defineSegment :: Maybe Bool
$sel:defineSegment:ImportJobResource' :: ImportJobResource -> Maybe Bool
defineSegment} -> Maybe Bool
defineSegment) (\s :: ImportJobResource
s@ImportJobResource' {} Maybe Bool
a -> ImportJobResource
s {$sel:defineSegment:ImportJobResource' :: Maybe Bool
defineSegment = Maybe Bool
a} :: ImportJobResource)
importJobResource_externalId :: Lens.Lens' ImportJobResource (Prelude.Maybe Prelude.Text)
importJobResource_externalId :: Lens' ImportJobResource (Maybe Text)
importJobResource_externalId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportJobResource' {Maybe Text
externalId :: Maybe Text
$sel:externalId:ImportJobResource' :: ImportJobResource -> Maybe Text
externalId} -> Maybe Text
externalId) (\s :: ImportJobResource
s@ImportJobResource' {} Maybe Text
a -> ImportJobResource
s {$sel:externalId:ImportJobResource' :: Maybe Text
externalId = Maybe Text
a} :: ImportJobResource)
importJobResource_registerEndpoints :: Lens.Lens' ImportJobResource (Prelude.Maybe Prelude.Bool)
importJobResource_registerEndpoints :: Lens' ImportJobResource (Maybe Bool)
importJobResource_registerEndpoints = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportJobResource' {Maybe Bool
registerEndpoints :: Maybe Bool
$sel:registerEndpoints:ImportJobResource' :: ImportJobResource -> Maybe Bool
registerEndpoints} -> Maybe Bool
registerEndpoints) (\s :: ImportJobResource
s@ImportJobResource' {} Maybe Bool
a -> ImportJobResource
s {$sel:registerEndpoints:ImportJobResource' :: Maybe Bool
registerEndpoints = Maybe Bool
a} :: ImportJobResource)
importJobResource_segmentId :: Lens.Lens' ImportJobResource (Prelude.Maybe Prelude.Text)
importJobResource_segmentId :: Lens' ImportJobResource (Maybe Text)
importJobResource_segmentId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportJobResource' {Maybe Text
segmentId :: Maybe Text
$sel:segmentId:ImportJobResource' :: ImportJobResource -> Maybe Text
segmentId} -> Maybe Text
segmentId) (\s :: ImportJobResource
s@ImportJobResource' {} Maybe Text
a -> ImportJobResource
s {$sel:segmentId:ImportJobResource' :: Maybe Text
segmentId = Maybe Text
a} :: ImportJobResource)
importJobResource_segmentName :: Lens.Lens' ImportJobResource (Prelude.Maybe Prelude.Text)
importJobResource_segmentName :: Lens' ImportJobResource (Maybe Text)
importJobResource_segmentName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportJobResource' {Maybe Text
segmentName :: Maybe Text
$sel:segmentName:ImportJobResource' :: ImportJobResource -> Maybe Text
segmentName} -> Maybe Text
segmentName) (\s :: ImportJobResource
s@ImportJobResource' {} Maybe Text
a -> ImportJobResource
s {$sel:segmentName:ImportJobResource' :: Maybe Text
segmentName = Maybe Text
a} :: ImportJobResource)
importJobResource_format :: Lens.Lens' ImportJobResource DefinitionFormat
importJobResource_format :: Lens' ImportJobResource DefinitionFormat
importJobResource_format = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportJobResource' {DefinitionFormat
format :: DefinitionFormat
$sel:format:ImportJobResource' :: ImportJobResource -> DefinitionFormat
format} -> DefinitionFormat
format) (\s :: ImportJobResource
s@ImportJobResource' {} DefinitionFormat
a -> ImportJobResource
s {$sel:format:ImportJobResource' :: DefinitionFormat
format = DefinitionFormat
a} :: ImportJobResource)
importJobResource_s3Url :: Lens.Lens' ImportJobResource Prelude.Text
importJobResource_s3Url :: Lens' ImportJobResource Text
importJobResource_s3Url = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportJobResource' {Text
s3Url :: Text
$sel:s3Url:ImportJobResource' :: ImportJobResource -> Text
s3Url} -> Text
s3Url) (\s :: ImportJobResource
s@ImportJobResource' {} Text
a -> ImportJobResource
s {$sel:s3Url:ImportJobResource' :: Text
s3Url = Text
a} :: ImportJobResource)
importJobResource_roleArn :: Lens.Lens' ImportJobResource Prelude.Text
importJobResource_roleArn :: Lens' ImportJobResource Text
importJobResource_roleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImportJobResource' {Text
roleArn :: Text
$sel:roleArn:ImportJobResource' :: ImportJobResource -> Text
roleArn} -> Text
roleArn) (\s :: ImportJobResource
s@ImportJobResource' {} Text
a -> ImportJobResource
s {$sel:roleArn:ImportJobResource' :: Text
roleArn = Text
a} :: ImportJobResource)
instance Data.FromJSON ImportJobResource where
parseJSON :: Value -> Parser ImportJobResource
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"ImportJobResource"
( \Object
x ->
Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> DefinitionFormat
-> Text
-> Text
-> ImportJobResource
ImportJobResource'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"DefineSegment")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ExternalId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"RegisterEndpoints")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"SegmentId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"SegmentName")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"Format")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"S3Url")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"RoleArn")
)
instance Prelude.Hashable ImportJobResource where
hashWithSalt :: Int -> ImportJobResource -> Int
hashWithSalt Int
_salt ImportJobResource' {Maybe Bool
Maybe Text
Text
DefinitionFormat
roleArn :: Text
s3Url :: Text
format :: DefinitionFormat
segmentName :: Maybe Text
segmentId :: Maybe Text
registerEndpoints :: Maybe Bool
externalId :: Maybe Text
defineSegment :: Maybe Bool
$sel:roleArn:ImportJobResource' :: ImportJobResource -> Text
$sel:s3Url:ImportJobResource' :: ImportJobResource -> Text
$sel:format:ImportJobResource' :: ImportJobResource -> DefinitionFormat
$sel:segmentName:ImportJobResource' :: ImportJobResource -> Maybe Text
$sel:segmentId:ImportJobResource' :: ImportJobResource -> Maybe Text
$sel:registerEndpoints:ImportJobResource' :: ImportJobResource -> Maybe Bool
$sel:externalId:ImportJobResource' :: ImportJobResource -> Maybe Text
$sel:defineSegment:ImportJobResource' :: ImportJobResource -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
defineSegment
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
externalId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
registerEndpoints
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
segmentId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
segmentName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` DefinitionFormat
format
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
s3Url
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
roleArn
instance Prelude.NFData ImportJobResource where
rnf :: ImportJobResource -> ()
rnf ImportJobResource' {Maybe Bool
Maybe Text
Text
DefinitionFormat
roleArn :: Text
s3Url :: Text
format :: DefinitionFormat
segmentName :: Maybe Text
segmentId :: Maybe Text
registerEndpoints :: Maybe Bool
externalId :: Maybe Text
defineSegment :: Maybe Bool
$sel:roleArn:ImportJobResource' :: ImportJobResource -> Text
$sel:s3Url:ImportJobResource' :: ImportJobResource -> Text
$sel:format:ImportJobResource' :: ImportJobResource -> DefinitionFormat
$sel:segmentName:ImportJobResource' :: ImportJobResource -> Maybe Text
$sel:segmentId:ImportJobResource' :: ImportJobResource -> Maybe Text
$sel:registerEndpoints:ImportJobResource' :: ImportJobResource -> Maybe Bool
$sel:externalId:ImportJobResource' :: ImportJobResource -> Maybe Text
$sel:defineSegment:ImportJobResource' :: ImportJobResource -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
defineSegment
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
externalId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
registerEndpoints
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
segmentId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
segmentName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf DefinitionFormat
format
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
s3Url
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
roleArn