{-# 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.SageMakerEdge.Types.EdgeDeployment 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.SageMakerEdge.Types.Definition
import Amazonka.SageMakerEdge.Types.DeploymentType
import Amazonka.SageMakerEdge.Types.FailureHandlingPolicy
data EdgeDeployment = EdgeDeployment'
{
EdgeDeployment -> Maybe [Definition]
definitions :: Prelude.Maybe [Definition],
EdgeDeployment -> Maybe Text
deploymentName :: Prelude.Maybe Prelude.Text,
EdgeDeployment -> Maybe FailureHandlingPolicy
failureHandlingPolicy :: Prelude.Maybe FailureHandlingPolicy,
EdgeDeployment -> Maybe DeploymentType
type' :: Prelude.Maybe DeploymentType
}
deriving (EdgeDeployment -> EdgeDeployment -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EdgeDeployment -> EdgeDeployment -> Bool
$c/= :: EdgeDeployment -> EdgeDeployment -> Bool
== :: EdgeDeployment -> EdgeDeployment -> Bool
$c== :: EdgeDeployment -> EdgeDeployment -> Bool
Prelude.Eq, ReadPrec [EdgeDeployment]
ReadPrec EdgeDeployment
Int -> ReadS EdgeDeployment
ReadS [EdgeDeployment]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [EdgeDeployment]
$creadListPrec :: ReadPrec [EdgeDeployment]
readPrec :: ReadPrec EdgeDeployment
$creadPrec :: ReadPrec EdgeDeployment
readList :: ReadS [EdgeDeployment]
$creadList :: ReadS [EdgeDeployment]
readsPrec :: Int -> ReadS EdgeDeployment
$creadsPrec :: Int -> ReadS EdgeDeployment
Prelude.Read, Int -> EdgeDeployment -> ShowS
[EdgeDeployment] -> ShowS
EdgeDeployment -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EdgeDeployment] -> ShowS
$cshowList :: [EdgeDeployment] -> ShowS
show :: EdgeDeployment -> String
$cshow :: EdgeDeployment -> String
showsPrec :: Int -> EdgeDeployment -> ShowS
$cshowsPrec :: Int -> EdgeDeployment -> ShowS
Prelude.Show, forall x. Rep EdgeDeployment x -> EdgeDeployment
forall x. EdgeDeployment -> Rep EdgeDeployment x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep EdgeDeployment x -> EdgeDeployment
$cfrom :: forall x. EdgeDeployment -> Rep EdgeDeployment x
Prelude.Generic)
newEdgeDeployment ::
EdgeDeployment
newEdgeDeployment :: EdgeDeployment
newEdgeDeployment =
EdgeDeployment'
{ $sel:definitions:EdgeDeployment' :: Maybe [Definition]
definitions = forall a. Maybe a
Prelude.Nothing,
$sel:deploymentName:EdgeDeployment' :: Maybe Text
deploymentName = forall a. Maybe a
Prelude.Nothing,
$sel:failureHandlingPolicy:EdgeDeployment' :: Maybe FailureHandlingPolicy
failureHandlingPolicy = forall a. Maybe a
Prelude.Nothing,
$sel:type':EdgeDeployment' :: Maybe DeploymentType
type' = forall a. Maybe a
Prelude.Nothing
}
edgeDeployment_definitions :: Lens.Lens' EdgeDeployment (Prelude.Maybe [Definition])
edgeDeployment_definitions :: Lens' EdgeDeployment (Maybe [Definition])
edgeDeployment_definitions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EdgeDeployment' {Maybe [Definition]
definitions :: Maybe [Definition]
$sel:definitions:EdgeDeployment' :: EdgeDeployment -> Maybe [Definition]
definitions} -> Maybe [Definition]
definitions) (\s :: EdgeDeployment
s@EdgeDeployment' {} Maybe [Definition]
a -> EdgeDeployment
s {$sel:definitions:EdgeDeployment' :: Maybe [Definition]
definitions = Maybe [Definition]
a} :: EdgeDeployment) 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
edgeDeployment_deploymentName :: Lens.Lens' EdgeDeployment (Prelude.Maybe Prelude.Text)
edgeDeployment_deploymentName :: Lens' EdgeDeployment (Maybe Text)
edgeDeployment_deploymentName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EdgeDeployment' {Maybe Text
deploymentName :: Maybe Text
$sel:deploymentName:EdgeDeployment' :: EdgeDeployment -> Maybe Text
deploymentName} -> Maybe Text
deploymentName) (\s :: EdgeDeployment
s@EdgeDeployment' {} Maybe Text
a -> EdgeDeployment
s {$sel:deploymentName:EdgeDeployment' :: Maybe Text
deploymentName = Maybe Text
a} :: EdgeDeployment)
edgeDeployment_failureHandlingPolicy :: Lens.Lens' EdgeDeployment (Prelude.Maybe FailureHandlingPolicy)
edgeDeployment_failureHandlingPolicy :: Lens' EdgeDeployment (Maybe FailureHandlingPolicy)
edgeDeployment_failureHandlingPolicy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EdgeDeployment' {Maybe FailureHandlingPolicy
failureHandlingPolicy :: Maybe FailureHandlingPolicy
$sel:failureHandlingPolicy:EdgeDeployment' :: EdgeDeployment -> Maybe FailureHandlingPolicy
failureHandlingPolicy} -> Maybe FailureHandlingPolicy
failureHandlingPolicy) (\s :: EdgeDeployment
s@EdgeDeployment' {} Maybe FailureHandlingPolicy
a -> EdgeDeployment
s {$sel:failureHandlingPolicy:EdgeDeployment' :: Maybe FailureHandlingPolicy
failureHandlingPolicy = Maybe FailureHandlingPolicy
a} :: EdgeDeployment)
edgeDeployment_type :: Lens.Lens' EdgeDeployment (Prelude.Maybe DeploymentType)
edgeDeployment_type :: Lens' EdgeDeployment (Maybe DeploymentType)
edgeDeployment_type = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EdgeDeployment' {Maybe DeploymentType
type' :: Maybe DeploymentType
$sel:type':EdgeDeployment' :: EdgeDeployment -> Maybe DeploymentType
type'} -> Maybe DeploymentType
type') (\s :: EdgeDeployment
s@EdgeDeployment' {} Maybe DeploymentType
a -> EdgeDeployment
s {$sel:type':EdgeDeployment' :: Maybe DeploymentType
type' = Maybe DeploymentType
a} :: EdgeDeployment)
instance Data.FromJSON EdgeDeployment where
parseJSON :: Value -> Parser EdgeDeployment
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"EdgeDeployment"
( \Object
x ->
Maybe [Definition]
-> Maybe Text
-> Maybe FailureHandlingPolicy
-> Maybe DeploymentType
-> EdgeDeployment
EdgeDeployment'
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
"Definitions" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
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
"DeploymentName")
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
"FailureHandlingPolicy")
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
"Type")
)
instance Prelude.Hashable EdgeDeployment where
hashWithSalt :: Int -> EdgeDeployment -> Int
hashWithSalt Int
_salt EdgeDeployment' {Maybe [Definition]
Maybe Text
Maybe DeploymentType
Maybe FailureHandlingPolicy
type' :: Maybe DeploymentType
failureHandlingPolicy :: Maybe FailureHandlingPolicy
deploymentName :: Maybe Text
definitions :: Maybe [Definition]
$sel:type':EdgeDeployment' :: EdgeDeployment -> Maybe DeploymentType
$sel:failureHandlingPolicy:EdgeDeployment' :: EdgeDeployment -> Maybe FailureHandlingPolicy
$sel:deploymentName:EdgeDeployment' :: EdgeDeployment -> Maybe Text
$sel:definitions:EdgeDeployment' :: EdgeDeployment -> Maybe [Definition]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Definition]
definitions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
deploymentName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FailureHandlingPolicy
failureHandlingPolicy
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DeploymentType
type'
instance Prelude.NFData EdgeDeployment where
rnf :: EdgeDeployment -> ()
rnf EdgeDeployment' {Maybe [Definition]
Maybe Text
Maybe DeploymentType
Maybe FailureHandlingPolicy
type' :: Maybe DeploymentType
failureHandlingPolicy :: Maybe FailureHandlingPolicy
deploymentName :: Maybe Text
definitions :: Maybe [Definition]
$sel:type':EdgeDeployment' :: EdgeDeployment -> Maybe DeploymentType
$sel:failureHandlingPolicy:EdgeDeployment' :: EdgeDeployment -> Maybe FailureHandlingPolicy
$sel:deploymentName:EdgeDeployment' :: EdgeDeployment -> Maybe Text
$sel:definitions:EdgeDeployment' :: EdgeDeployment -> Maybe [Definition]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Definition]
definitions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
deploymentName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FailureHandlingPolicy
failureHandlingPolicy
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DeploymentType
type'