{-# 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.SpotFleetRequestConfig 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.ActivityStatus
import Amazonka.EC2.Types.BatchState
import Amazonka.EC2.Types.SpotFleetRequestConfigData
import Amazonka.EC2.Types.Tag
import qualified Amazonka.Prelude as Prelude
data SpotFleetRequestConfig = SpotFleetRequestConfig'
{
SpotFleetRequestConfig -> Maybe ActivityStatus
activityStatus :: Prelude.Maybe ActivityStatus,
SpotFleetRequestConfig -> Maybe ISO8601
createTime :: Prelude.Maybe Data.ISO8601,
SpotFleetRequestConfig -> Maybe SpotFleetRequestConfigData
spotFleetRequestConfig :: Prelude.Maybe SpotFleetRequestConfigData,
SpotFleetRequestConfig -> Maybe Text
spotFleetRequestId :: Prelude.Maybe Prelude.Text,
SpotFleetRequestConfig -> Maybe BatchState
spotFleetRequestState :: Prelude.Maybe BatchState,
SpotFleetRequestConfig -> Maybe [Tag]
tags :: Prelude.Maybe [Tag]
}
deriving (SpotFleetRequestConfig -> SpotFleetRequestConfig -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SpotFleetRequestConfig -> SpotFleetRequestConfig -> Bool
$c/= :: SpotFleetRequestConfig -> SpotFleetRequestConfig -> Bool
== :: SpotFleetRequestConfig -> SpotFleetRequestConfig -> Bool
$c== :: SpotFleetRequestConfig -> SpotFleetRequestConfig -> Bool
Prelude.Eq, ReadPrec [SpotFleetRequestConfig]
ReadPrec SpotFleetRequestConfig
Int -> ReadS SpotFleetRequestConfig
ReadS [SpotFleetRequestConfig]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SpotFleetRequestConfig]
$creadListPrec :: ReadPrec [SpotFleetRequestConfig]
readPrec :: ReadPrec SpotFleetRequestConfig
$creadPrec :: ReadPrec SpotFleetRequestConfig
readList :: ReadS [SpotFleetRequestConfig]
$creadList :: ReadS [SpotFleetRequestConfig]
readsPrec :: Int -> ReadS SpotFleetRequestConfig
$creadsPrec :: Int -> ReadS SpotFleetRequestConfig
Prelude.Read, Int -> SpotFleetRequestConfig -> ShowS
[SpotFleetRequestConfig] -> ShowS
SpotFleetRequestConfig -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SpotFleetRequestConfig] -> ShowS
$cshowList :: [SpotFleetRequestConfig] -> ShowS
show :: SpotFleetRequestConfig -> String
$cshow :: SpotFleetRequestConfig -> String
showsPrec :: Int -> SpotFleetRequestConfig -> ShowS
$cshowsPrec :: Int -> SpotFleetRequestConfig -> ShowS
Prelude.Show, forall x. Rep SpotFleetRequestConfig x -> SpotFleetRequestConfig
forall x. SpotFleetRequestConfig -> Rep SpotFleetRequestConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SpotFleetRequestConfig x -> SpotFleetRequestConfig
$cfrom :: forall x. SpotFleetRequestConfig -> Rep SpotFleetRequestConfig x
Prelude.Generic)
newSpotFleetRequestConfig ::
SpotFleetRequestConfig
newSpotFleetRequestConfig :: SpotFleetRequestConfig
newSpotFleetRequestConfig =
SpotFleetRequestConfig'
{ $sel:activityStatus:SpotFleetRequestConfig' :: Maybe ActivityStatus
activityStatus =
forall a. Maybe a
Prelude.Nothing,
$sel:createTime:SpotFleetRequestConfig' :: Maybe ISO8601
createTime = forall a. Maybe a
Prelude.Nothing,
$sel:spotFleetRequestConfig:SpotFleetRequestConfig' :: Maybe SpotFleetRequestConfigData
spotFleetRequestConfig = forall a. Maybe a
Prelude.Nothing,
$sel:spotFleetRequestId:SpotFleetRequestConfig' :: Maybe Text
spotFleetRequestId = forall a. Maybe a
Prelude.Nothing,
$sel:spotFleetRequestState:SpotFleetRequestConfig' :: Maybe BatchState
spotFleetRequestState = forall a. Maybe a
Prelude.Nothing,
$sel:tags:SpotFleetRequestConfig' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing
}
spotFleetRequestConfig_activityStatus :: Lens.Lens' SpotFleetRequestConfig (Prelude.Maybe ActivityStatus)
spotFleetRequestConfig_activityStatus :: Lens' SpotFleetRequestConfig (Maybe ActivityStatus)
spotFleetRequestConfig_activityStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SpotFleetRequestConfig' {Maybe ActivityStatus
activityStatus :: Maybe ActivityStatus
$sel:activityStatus:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe ActivityStatus
activityStatus} -> Maybe ActivityStatus
activityStatus) (\s :: SpotFleetRequestConfig
s@SpotFleetRequestConfig' {} Maybe ActivityStatus
a -> SpotFleetRequestConfig
s {$sel:activityStatus:SpotFleetRequestConfig' :: Maybe ActivityStatus
activityStatus = Maybe ActivityStatus
a} :: SpotFleetRequestConfig)
spotFleetRequestConfig_createTime :: Lens.Lens' SpotFleetRequestConfig (Prelude.Maybe Prelude.UTCTime)
spotFleetRequestConfig_createTime :: Lens' SpotFleetRequestConfig (Maybe UTCTime)
spotFleetRequestConfig_createTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SpotFleetRequestConfig' {Maybe ISO8601
createTime :: Maybe ISO8601
$sel:createTime:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe ISO8601
createTime} -> Maybe ISO8601
createTime) (\s :: SpotFleetRequestConfig
s@SpotFleetRequestConfig' {} Maybe ISO8601
a -> SpotFleetRequestConfig
s {$sel:createTime:SpotFleetRequestConfig' :: Maybe ISO8601
createTime = Maybe ISO8601
a} :: SpotFleetRequestConfig) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time
spotFleetRequestConfig_spotFleetRequestConfig :: Lens.Lens' SpotFleetRequestConfig (Prelude.Maybe SpotFleetRequestConfigData)
spotFleetRequestConfig_spotFleetRequestConfig :: Lens' SpotFleetRequestConfig (Maybe SpotFleetRequestConfigData)
spotFleetRequestConfig_spotFleetRequestConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SpotFleetRequestConfig' {Maybe SpotFleetRequestConfigData
spotFleetRequestConfig :: Maybe SpotFleetRequestConfigData
$sel:spotFleetRequestConfig:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe SpotFleetRequestConfigData
spotFleetRequestConfig} -> Maybe SpotFleetRequestConfigData
spotFleetRequestConfig) (\s :: SpotFleetRequestConfig
s@SpotFleetRequestConfig' {} Maybe SpotFleetRequestConfigData
a -> SpotFleetRequestConfig
s {$sel:spotFleetRequestConfig:SpotFleetRequestConfig' :: Maybe SpotFleetRequestConfigData
spotFleetRequestConfig = Maybe SpotFleetRequestConfigData
a} :: SpotFleetRequestConfig)
spotFleetRequestConfig_spotFleetRequestId :: Lens.Lens' SpotFleetRequestConfig (Prelude.Maybe Prelude.Text)
spotFleetRequestConfig_spotFleetRequestId :: Lens' SpotFleetRequestConfig (Maybe Text)
spotFleetRequestConfig_spotFleetRequestId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SpotFleetRequestConfig' {Maybe Text
spotFleetRequestId :: Maybe Text
$sel:spotFleetRequestId:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe Text
spotFleetRequestId} -> Maybe Text
spotFleetRequestId) (\s :: SpotFleetRequestConfig
s@SpotFleetRequestConfig' {} Maybe Text
a -> SpotFleetRequestConfig
s {$sel:spotFleetRequestId:SpotFleetRequestConfig' :: Maybe Text
spotFleetRequestId = Maybe Text
a} :: SpotFleetRequestConfig)
spotFleetRequestConfig_spotFleetRequestState :: Lens.Lens' SpotFleetRequestConfig (Prelude.Maybe BatchState)
spotFleetRequestConfig_spotFleetRequestState :: Lens' SpotFleetRequestConfig (Maybe BatchState)
spotFleetRequestConfig_spotFleetRequestState = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SpotFleetRequestConfig' {Maybe BatchState
spotFleetRequestState :: Maybe BatchState
$sel:spotFleetRequestState:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe BatchState
spotFleetRequestState} -> Maybe BatchState
spotFleetRequestState) (\s :: SpotFleetRequestConfig
s@SpotFleetRequestConfig' {} Maybe BatchState
a -> SpotFleetRequestConfig
s {$sel:spotFleetRequestState:SpotFleetRequestConfig' :: Maybe BatchState
spotFleetRequestState = Maybe BatchState
a} :: SpotFleetRequestConfig)
spotFleetRequestConfig_tags :: Lens.Lens' SpotFleetRequestConfig (Prelude.Maybe [Tag])
spotFleetRequestConfig_tags :: Lens' SpotFleetRequestConfig (Maybe [Tag])
spotFleetRequestConfig_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SpotFleetRequestConfig' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: SpotFleetRequestConfig
s@SpotFleetRequestConfig' {} Maybe [Tag]
a -> SpotFleetRequestConfig
s {$sel:tags:SpotFleetRequestConfig' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: SpotFleetRequestConfig) 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 SpotFleetRequestConfig where
parseXML :: [Node] -> Either String SpotFleetRequestConfig
parseXML [Node]
x =
Maybe ActivityStatus
-> Maybe ISO8601
-> Maybe SpotFleetRequestConfigData
-> Maybe Text
-> Maybe BatchState
-> Maybe [Tag]
-> SpotFleetRequestConfig
SpotFleetRequestConfig'
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
"activityStatus")
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
"createTime")
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
"spotFleetRequestConfig")
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
"spotFleetRequestId")
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
"spotFleetRequestState")
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 SpotFleetRequestConfig where
hashWithSalt :: Int -> SpotFleetRequestConfig -> Int
hashWithSalt Int
_salt SpotFleetRequestConfig' {Maybe [Tag]
Maybe Text
Maybe ISO8601
Maybe ActivityStatus
Maybe BatchState
Maybe SpotFleetRequestConfigData
tags :: Maybe [Tag]
spotFleetRequestState :: Maybe BatchState
spotFleetRequestId :: Maybe Text
spotFleetRequestConfig :: Maybe SpotFleetRequestConfigData
createTime :: Maybe ISO8601
activityStatus :: Maybe ActivityStatus
$sel:tags:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe [Tag]
$sel:spotFleetRequestState:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe BatchState
$sel:spotFleetRequestId:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe Text
$sel:spotFleetRequestConfig:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe SpotFleetRequestConfigData
$sel:createTime:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe ISO8601
$sel:activityStatus:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe ActivityStatus
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ActivityStatus
activityStatus
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
createTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SpotFleetRequestConfigData
spotFleetRequestConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
spotFleetRequestId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe BatchState
spotFleetRequestState
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
instance Prelude.NFData SpotFleetRequestConfig where
rnf :: SpotFleetRequestConfig -> ()
rnf SpotFleetRequestConfig' {Maybe [Tag]
Maybe Text
Maybe ISO8601
Maybe ActivityStatus
Maybe BatchState
Maybe SpotFleetRequestConfigData
tags :: Maybe [Tag]
spotFleetRequestState :: Maybe BatchState
spotFleetRequestId :: Maybe Text
spotFleetRequestConfig :: Maybe SpotFleetRequestConfigData
createTime :: Maybe ISO8601
activityStatus :: Maybe ActivityStatus
$sel:tags:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe [Tag]
$sel:spotFleetRequestState:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe BatchState
$sel:spotFleetRequestId:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe Text
$sel:spotFleetRequestConfig:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe SpotFleetRequestConfigData
$sel:createTime:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe ISO8601
$sel:activityStatus:SpotFleetRequestConfig' :: SpotFleetRequestConfig -> Maybe ActivityStatus
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ActivityStatus
activityStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
createTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SpotFleetRequestConfigData
spotFleetRequestConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
spotFleetRequestId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe BatchState
spotFleetRequestState
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags