{-# 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.EC2.Types.ElasticGpus where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EC2.Internal
import Amazonka.EC2.Types.ElasticGpuHealth
import Amazonka.EC2.Types.ElasticGpuState
import Amazonka.EC2.Types.Tag
import qualified Amazonka.Prelude as Prelude
data ElasticGpus = ElasticGpus'
{
ElasticGpus -> Maybe Text
availabilityZone :: Prelude.Maybe Prelude.Text,
ElasticGpus -> Maybe ElasticGpuHealth
elasticGpuHealth :: Prelude.Maybe ElasticGpuHealth,
ElasticGpus -> Maybe Text
elasticGpuId :: Prelude.Maybe Prelude.Text,
ElasticGpus -> Maybe ElasticGpuState
elasticGpuState :: Prelude.Maybe ElasticGpuState,
ElasticGpus -> Maybe Text
elasticGpuType :: Prelude.Maybe Prelude.Text,
ElasticGpus -> Maybe Text
instanceId :: Prelude.Maybe Prelude.Text,
ElasticGpus -> Maybe [Tag]
tags :: Prelude.Maybe [Tag]
}
deriving (ElasticGpus -> ElasticGpus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ElasticGpus -> ElasticGpus -> Bool
$c/= :: ElasticGpus -> ElasticGpus -> Bool
== :: ElasticGpus -> ElasticGpus -> Bool
$c== :: ElasticGpus -> ElasticGpus -> Bool
Prelude.Eq, ReadPrec [ElasticGpus]
ReadPrec ElasticGpus
Int -> ReadS ElasticGpus
ReadS [ElasticGpus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ElasticGpus]
$creadListPrec :: ReadPrec [ElasticGpus]
readPrec :: ReadPrec ElasticGpus
$creadPrec :: ReadPrec ElasticGpus
readList :: ReadS [ElasticGpus]
$creadList :: ReadS [ElasticGpus]
readsPrec :: Int -> ReadS ElasticGpus
$creadsPrec :: Int -> ReadS ElasticGpus
Prelude.Read, Int -> ElasticGpus -> ShowS
[ElasticGpus] -> ShowS
ElasticGpus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ElasticGpus] -> ShowS
$cshowList :: [ElasticGpus] -> ShowS
show :: ElasticGpus -> String
$cshow :: ElasticGpus -> String
showsPrec :: Int -> ElasticGpus -> ShowS
$cshowsPrec :: Int -> ElasticGpus -> ShowS
Prelude.Show, forall x. Rep ElasticGpus x -> ElasticGpus
forall x. ElasticGpus -> Rep ElasticGpus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ElasticGpus x -> ElasticGpus
$cfrom :: forall x. ElasticGpus -> Rep ElasticGpus x
Prelude.Generic)
newElasticGpus ::
ElasticGpus
newElasticGpus :: ElasticGpus
newElasticGpus =
ElasticGpus'
{ $sel:availabilityZone:ElasticGpus' :: Maybe Text
availabilityZone = forall a. Maybe a
Prelude.Nothing,
$sel:elasticGpuHealth:ElasticGpus' :: Maybe ElasticGpuHealth
elasticGpuHealth = forall a. Maybe a
Prelude.Nothing,
$sel:elasticGpuId:ElasticGpus' :: Maybe Text
elasticGpuId = forall a. Maybe a
Prelude.Nothing,
$sel:elasticGpuState:ElasticGpus' :: Maybe ElasticGpuState
elasticGpuState = forall a. Maybe a
Prelude.Nothing,
$sel:elasticGpuType:ElasticGpus' :: Maybe Text
elasticGpuType = forall a. Maybe a
Prelude.Nothing,
$sel:instanceId:ElasticGpus' :: Maybe Text
instanceId = forall a. Maybe a
Prelude.Nothing,
$sel:tags:ElasticGpus' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing
}
elasticGpus_availabilityZone :: Lens.Lens' ElasticGpus (Prelude.Maybe Prelude.Text)
elasticGpus_availabilityZone :: Lens' ElasticGpus (Maybe Text)
elasticGpus_availabilityZone = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticGpus' {Maybe Text
availabilityZone :: Maybe Text
$sel:availabilityZone:ElasticGpus' :: ElasticGpus -> Maybe Text
availabilityZone} -> Maybe Text
availabilityZone) (\s :: ElasticGpus
s@ElasticGpus' {} Maybe Text
a -> ElasticGpus
s {$sel:availabilityZone:ElasticGpus' :: Maybe Text
availabilityZone = Maybe Text
a} :: ElasticGpus)
elasticGpus_elasticGpuHealth :: Lens.Lens' ElasticGpus (Prelude.Maybe ElasticGpuHealth)
elasticGpus_elasticGpuHealth :: Lens' ElasticGpus (Maybe ElasticGpuHealth)
elasticGpus_elasticGpuHealth = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticGpus' {Maybe ElasticGpuHealth
elasticGpuHealth :: Maybe ElasticGpuHealth
$sel:elasticGpuHealth:ElasticGpus' :: ElasticGpus -> Maybe ElasticGpuHealth
elasticGpuHealth} -> Maybe ElasticGpuHealth
elasticGpuHealth) (\s :: ElasticGpus
s@ElasticGpus' {} Maybe ElasticGpuHealth
a -> ElasticGpus
s {$sel:elasticGpuHealth:ElasticGpus' :: Maybe ElasticGpuHealth
elasticGpuHealth = Maybe ElasticGpuHealth
a} :: ElasticGpus)
elasticGpus_elasticGpuId :: Lens.Lens' ElasticGpus (Prelude.Maybe Prelude.Text)
elasticGpus_elasticGpuId :: Lens' ElasticGpus (Maybe Text)
elasticGpus_elasticGpuId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticGpus' {Maybe Text
elasticGpuId :: Maybe Text
$sel:elasticGpuId:ElasticGpus' :: ElasticGpus -> Maybe Text
elasticGpuId} -> Maybe Text
elasticGpuId) (\s :: ElasticGpus
s@ElasticGpus' {} Maybe Text
a -> ElasticGpus
s {$sel:elasticGpuId:ElasticGpus' :: Maybe Text
elasticGpuId = Maybe Text
a} :: ElasticGpus)
elasticGpus_elasticGpuState :: Lens.Lens' ElasticGpus (Prelude.Maybe ElasticGpuState)
elasticGpus_elasticGpuState :: Lens' ElasticGpus (Maybe ElasticGpuState)
elasticGpus_elasticGpuState = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticGpus' {Maybe ElasticGpuState
elasticGpuState :: Maybe ElasticGpuState
$sel:elasticGpuState:ElasticGpus' :: ElasticGpus -> Maybe ElasticGpuState
elasticGpuState} -> Maybe ElasticGpuState
elasticGpuState) (\s :: ElasticGpus
s@ElasticGpus' {} Maybe ElasticGpuState
a -> ElasticGpus
s {$sel:elasticGpuState:ElasticGpus' :: Maybe ElasticGpuState
elasticGpuState = Maybe ElasticGpuState
a} :: ElasticGpus)
elasticGpus_elasticGpuType :: Lens.Lens' ElasticGpus (Prelude.Maybe Prelude.Text)
elasticGpus_elasticGpuType :: Lens' ElasticGpus (Maybe Text)
elasticGpus_elasticGpuType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticGpus' {Maybe Text
elasticGpuType :: Maybe Text
$sel:elasticGpuType:ElasticGpus' :: ElasticGpus -> Maybe Text
elasticGpuType} -> Maybe Text
elasticGpuType) (\s :: ElasticGpus
s@ElasticGpus' {} Maybe Text
a -> ElasticGpus
s {$sel:elasticGpuType:ElasticGpus' :: Maybe Text
elasticGpuType = Maybe Text
a} :: ElasticGpus)
elasticGpus_instanceId :: Lens.Lens' ElasticGpus (Prelude.Maybe Prelude.Text)
elasticGpus_instanceId :: Lens' ElasticGpus (Maybe Text)
elasticGpus_instanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticGpus' {Maybe Text
instanceId :: Maybe Text
$sel:instanceId:ElasticGpus' :: ElasticGpus -> Maybe Text
instanceId} -> Maybe Text
instanceId) (\s :: ElasticGpus
s@ElasticGpus' {} Maybe Text
a -> ElasticGpus
s {$sel:instanceId:ElasticGpus' :: Maybe Text
instanceId = Maybe Text
a} :: ElasticGpus)
elasticGpus_tags :: Lens.Lens' ElasticGpus (Prelude.Maybe [Tag])
elasticGpus_tags :: Lens' ElasticGpus (Maybe [Tag])
elasticGpus_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticGpus' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:ElasticGpus' :: ElasticGpus -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: ElasticGpus
s@ElasticGpus' {} Maybe [Tag]
a -> ElasticGpus
s {$sel:tags:ElasticGpus' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: ElasticGpus) 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
instance Data.FromXML ElasticGpus where
parseXML :: [Node] -> Either String ElasticGpus
parseXML [Node]
x =
Maybe Text
-> Maybe ElasticGpuHealth
-> Maybe Text
-> Maybe ElasticGpuState
-> Maybe Text
-> Maybe Text
-> Maybe [Tag]
-> ElasticGpus
ElasticGpus'
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
"availabilityZone")
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
"elasticGpuHealth")
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
"elasticGpuId")
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
"elasticGpuState")
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
"elasticGpuType")
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
"instanceId")
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
"tagSet"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"item")
)
instance Prelude.Hashable ElasticGpus where
hashWithSalt :: Int -> ElasticGpus -> Int
hashWithSalt Int
_salt ElasticGpus' {Maybe [Tag]
Maybe Text
Maybe ElasticGpuState
Maybe ElasticGpuHealth
tags :: Maybe [Tag]
instanceId :: Maybe Text
elasticGpuType :: Maybe Text
elasticGpuState :: Maybe ElasticGpuState
elasticGpuId :: Maybe Text
elasticGpuHealth :: Maybe ElasticGpuHealth
availabilityZone :: Maybe Text
$sel:tags:ElasticGpus' :: ElasticGpus -> Maybe [Tag]
$sel:instanceId:ElasticGpus' :: ElasticGpus -> Maybe Text
$sel:elasticGpuType:ElasticGpus' :: ElasticGpus -> Maybe Text
$sel:elasticGpuState:ElasticGpus' :: ElasticGpus -> Maybe ElasticGpuState
$sel:elasticGpuId:ElasticGpus' :: ElasticGpus -> Maybe Text
$sel:elasticGpuHealth:ElasticGpus' :: ElasticGpus -> Maybe ElasticGpuHealth
$sel:availabilityZone:ElasticGpus' :: ElasticGpus -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
availabilityZone
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ElasticGpuHealth
elasticGpuHealth
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
elasticGpuId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ElasticGpuState
elasticGpuState
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
elasticGpuType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
instanceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
instance Prelude.NFData ElasticGpus where
rnf :: ElasticGpus -> ()
rnf ElasticGpus' {Maybe [Tag]
Maybe Text
Maybe ElasticGpuState
Maybe ElasticGpuHealth
tags :: Maybe [Tag]
instanceId :: Maybe Text
elasticGpuType :: Maybe Text
elasticGpuState :: Maybe ElasticGpuState
elasticGpuId :: Maybe Text
elasticGpuHealth :: Maybe ElasticGpuHealth
availabilityZone :: Maybe Text
$sel:tags:ElasticGpus' :: ElasticGpus -> Maybe [Tag]
$sel:instanceId:ElasticGpus' :: ElasticGpus -> Maybe Text
$sel:elasticGpuType:ElasticGpus' :: ElasticGpus -> Maybe Text
$sel:elasticGpuState:ElasticGpus' :: ElasticGpus -> Maybe ElasticGpuState
$sel:elasticGpuId:ElasticGpus' :: ElasticGpus -> Maybe Text
$sel:elasticGpuHealth:ElasticGpus' :: ElasticGpus -> Maybe ElasticGpuHealth
$sel:availabilityZone:ElasticGpus' :: ElasticGpus -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
availabilityZone
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ElasticGpuHealth
elasticGpuHealth
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
elasticGpuId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ElasticGpuState
elasticGpuState
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
elasticGpuType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
instanceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags