{-# 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.InstanceMarketOptionsRequest 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.MarketType
import Amazonka.EC2.Types.SpotMarketOptions
import qualified Amazonka.Prelude as Prelude
data InstanceMarketOptionsRequest = InstanceMarketOptionsRequest'
{
InstanceMarketOptionsRequest -> Maybe MarketType
marketType :: Prelude.Maybe MarketType,
InstanceMarketOptionsRequest -> Maybe SpotMarketOptions
spotOptions :: Prelude.Maybe SpotMarketOptions
}
deriving (InstanceMarketOptionsRequest
-> InstanceMarketOptionsRequest -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: InstanceMarketOptionsRequest
-> InstanceMarketOptionsRequest -> Bool
$c/= :: InstanceMarketOptionsRequest
-> InstanceMarketOptionsRequest -> Bool
== :: InstanceMarketOptionsRequest
-> InstanceMarketOptionsRequest -> Bool
$c== :: InstanceMarketOptionsRequest
-> InstanceMarketOptionsRequest -> Bool
Prelude.Eq, ReadPrec [InstanceMarketOptionsRequest]
ReadPrec InstanceMarketOptionsRequest
Int -> ReadS InstanceMarketOptionsRequest
ReadS [InstanceMarketOptionsRequest]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [InstanceMarketOptionsRequest]
$creadListPrec :: ReadPrec [InstanceMarketOptionsRequest]
readPrec :: ReadPrec InstanceMarketOptionsRequest
$creadPrec :: ReadPrec InstanceMarketOptionsRequest
readList :: ReadS [InstanceMarketOptionsRequest]
$creadList :: ReadS [InstanceMarketOptionsRequest]
readsPrec :: Int -> ReadS InstanceMarketOptionsRequest
$creadsPrec :: Int -> ReadS InstanceMarketOptionsRequest
Prelude.Read, Int -> InstanceMarketOptionsRequest -> ShowS
[InstanceMarketOptionsRequest] -> ShowS
InstanceMarketOptionsRequest -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [InstanceMarketOptionsRequest] -> ShowS
$cshowList :: [InstanceMarketOptionsRequest] -> ShowS
show :: InstanceMarketOptionsRequest -> String
$cshow :: InstanceMarketOptionsRequest -> String
showsPrec :: Int -> InstanceMarketOptionsRequest -> ShowS
$cshowsPrec :: Int -> InstanceMarketOptionsRequest -> ShowS
Prelude.Show, forall x.
Rep InstanceMarketOptionsRequest x -> InstanceMarketOptionsRequest
forall x.
InstanceMarketOptionsRequest -> Rep InstanceMarketOptionsRequest x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep InstanceMarketOptionsRequest x -> InstanceMarketOptionsRequest
$cfrom :: forall x.
InstanceMarketOptionsRequest -> Rep InstanceMarketOptionsRequest x
Prelude.Generic)
newInstanceMarketOptionsRequest ::
InstanceMarketOptionsRequest
newInstanceMarketOptionsRequest :: InstanceMarketOptionsRequest
newInstanceMarketOptionsRequest =
InstanceMarketOptionsRequest'
{ $sel:marketType:InstanceMarketOptionsRequest' :: Maybe MarketType
marketType =
forall a. Maybe a
Prelude.Nothing,
$sel:spotOptions:InstanceMarketOptionsRequest' :: Maybe SpotMarketOptions
spotOptions = forall a. Maybe a
Prelude.Nothing
}
instanceMarketOptionsRequest_marketType :: Lens.Lens' InstanceMarketOptionsRequest (Prelude.Maybe MarketType)
instanceMarketOptionsRequest_marketType :: Lens' InstanceMarketOptionsRequest (Maybe MarketType)
instanceMarketOptionsRequest_marketType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InstanceMarketOptionsRequest' {Maybe MarketType
marketType :: Maybe MarketType
$sel:marketType:InstanceMarketOptionsRequest' :: InstanceMarketOptionsRequest -> Maybe MarketType
marketType} -> Maybe MarketType
marketType) (\s :: InstanceMarketOptionsRequest
s@InstanceMarketOptionsRequest' {} Maybe MarketType
a -> InstanceMarketOptionsRequest
s {$sel:marketType:InstanceMarketOptionsRequest' :: Maybe MarketType
marketType = Maybe MarketType
a} :: InstanceMarketOptionsRequest)
instanceMarketOptionsRequest_spotOptions :: Lens.Lens' InstanceMarketOptionsRequest (Prelude.Maybe SpotMarketOptions)
instanceMarketOptionsRequest_spotOptions :: Lens' InstanceMarketOptionsRequest (Maybe SpotMarketOptions)
instanceMarketOptionsRequest_spotOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\InstanceMarketOptionsRequest' {Maybe SpotMarketOptions
spotOptions :: Maybe SpotMarketOptions
$sel:spotOptions:InstanceMarketOptionsRequest' :: InstanceMarketOptionsRequest -> Maybe SpotMarketOptions
spotOptions} -> Maybe SpotMarketOptions
spotOptions) (\s :: InstanceMarketOptionsRequest
s@InstanceMarketOptionsRequest' {} Maybe SpotMarketOptions
a -> InstanceMarketOptionsRequest
s {$sel:spotOptions:InstanceMarketOptionsRequest' :: Maybe SpotMarketOptions
spotOptions = Maybe SpotMarketOptions
a} :: InstanceMarketOptionsRequest)
instance
Prelude.Hashable
InstanceMarketOptionsRequest
where
hashWithSalt :: Int -> InstanceMarketOptionsRequest -> Int
hashWithSalt Int
_salt InstanceMarketOptionsRequest' {Maybe MarketType
Maybe SpotMarketOptions
spotOptions :: Maybe SpotMarketOptions
marketType :: Maybe MarketType
$sel:spotOptions:InstanceMarketOptionsRequest' :: InstanceMarketOptionsRequest -> Maybe SpotMarketOptions
$sel:marketType:InstanceMarketOptionsRequest' :: InstanceMarketOptionsRequest -> Maybe MarketType
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MarketType
marketType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SpotMarketOptions
spotOptions
instance Prelude.NFData InstanceMarketOptionsRequest where
rnf :: InstanceMarketOptionsRequest -> ()
rnf InstanceMarketOptionsRequest' {Maybe MarketType
Maybe SpotMarketOptions
spotOptions :: Maybe SpotMarketOptions
marketType :: Maybe MarketType
$sel:spotOptions:InstanceMarketOptionsRequest' :: InstanceMarketOptionsRequest -> Maybe SpotMarketOptions
$sel:marketType:InstanceMarketOptionsRequest' :: InstanceMarketOptionsRequest -> Maybe MarketType
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe MarketType
marketType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SpotMarketOptions
spotOptions
instance Data.ToQuery InstanceMarketOptionsRequest where
toQuery :: InstanceMarketOptionsRequest -> QueryString
toQuery InstanceMarketOptionsRequest' {Maybe MarketType
Maybe SpotMarketOptions
spotOptions :: Maybe SpotMarketOptions
marketType :: Maybe MarketType
$sel:spotOptions:InstanceMarketOptionsRequest' :: InstanceMarketOptionsRequest -> Maybe SpotMarketOptions
$sel:marketType:InstanceMarketOptionsRequest' :: InstanceMarketOptionsRequest -> Maybe MarketType
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"MarketType" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe MarketType
marketType,
ByteString
"SpotOptions" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe SpotMarketOptions
spotOptions
]