{-# 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.ReservedInstancesOffering 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.CurrencyCodeValues
import Amazonka.EC2.Types.InstanceType
import Amazonka.EC2.Types.OfferingClassType
import Amazonka.EC2.Types.OfferingTypeValues
import Amazonka.EC2.Types.PricingDetail
import Amazonka.EC2.Types.RIProductDescription
import Amazonka.EC2.Types.RecurringCharge
import Amazonka.EC2.Types.Scope
import Amazonka.EC2.Types.Tenancy
import qualified Amazonka.Prelude as Prelude
data ReservedInstancesOffering = ReservedInstancesOffering'
{
ReservedInstancesOffering -> Maybe Text
availabilityZone :: Prelude.Maybe Prelude.Text,
ReservedInstancesOffering -> Maybe CurrencyCodeValues
currencyCode :: Prelude.Maybe CurrencyCodeValues,
ReservedInstancesOffering -> Maybe Integer
duration :: Prelude.Maybe Prelude.Integer,
ReservedInstancesOffering -> Maybe Double
fixedPrice :: Prelude.Maybe Prelude.Double,
ReservedInstancesOffering -> Maybe Tenancy
instanceTenancy :: Prelude.Maybe Tenancy,
ReservedInstancesOffering -> Maybe InstanceType
instanceType :: Prelude.Maybe InstanceType,
ReservedInstancesOffering -> Maybe Bool
marketplace :: Prelude.Maybe Prelude.Bool,
ReservedInstancesOffering -> Maybe OfferingClassType
offeringClass :: Prelude.Maybe OfferingClassType,
ReservedInstancesOffering -> Maybe OfferingTypeValues
offeringType :: Prelude.Maybe OfferingTypeValues,
ReservedInstancesOffering -> Maybe [PricingDetail]
pricingDetails :: Prelude.Maybe [PricingDetail],
ReservedInstancesOffering -> Maybe RIProductDescription
productDescription :: Prelude.Maybe RIProductDescription,
ReservedInstancesOffering -> Maybe [RecurringCharge]
recurringCharges :: Prelude.Maybe [RecurringCharge],
ReservedInstancesOffering -> Maybe Text
reservedInstancesOfferingId :: Prelude.Maybe Prelude.Text,
ReservedInstancesOffering -> Maybe Scope
scope :: Prelude.Maybe Scope,
ReservedInstancesOffering -> Maybe Double
usagePrice :: Prelude.Maybe Prelude.Double
}
deriving (ReservedInstancesOffering -> ReservedInstancesOffering -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ReservedInstancesOffering -> ReservedInstancesOffering -> Bool
$c/= :: ReservedInstancesOffering -> ReservedInstancesOffering -> Bool
== :: ReservedInstancesOffering -> ReservedInstancesOffering -> Bool
$c== :: ReservedInstancesOffering -> ReservedInstancesOffering -> Bool
Prelude.Eq, ReadPrec [ReservedInstancesOffering]
ReadPrec ReservedInstancesOffering
Int -> ReadS ReservedInstancesOffering
ReadS [ReservedInstancesOffering]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ReservedInstancesOffering]
$creadListPrec :: ReadPrec [ReservedInstancesOffering]
readPrec :: ReadPrec ReservedInstancesOffering
$creadPrec :: ReadPrec ReservedInstancesOffering
readList :: ReadS [ReservedInstancesOffering]
$creadList :: ReadS [ReservedInstancesOffering]
readsPrec :: Int -> ReadS ReservedInstancesOffering
$creadsPrec :: Int -> ReadS ReservedInstancesOffering
Prelude.Read, Int -> ReservedInstancesOffering -> ShowS
[ReservedInstancesOffering] -> ShowS
ReservedInstancesOffering -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ReservedInstancesOffering] -> ShowS
$cshowList :: [ReservedInstancesOffering] -> ShowS
show :: ReservedInstancesOffering -> String
$cshow :: ReservedInstancesOffering -> String
showsPrec :: Int -> ReservedInstancesOffering -> ShowS
$cshowsPrec :: Int -> ReservedInstancesOffering -> ShowS
Prelude.Show, forall x.
Rep ReservedInstancesOffering x -> ReservedInstancesOffering
forall x.
ReservedInstancesOffering -> Rep ReservedInstancesOffering x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ReservedInstancesOffering x -> ReservedInstancesOffering
$cfrom :: forall x.
ReservedInstancesOffering -> Rep ReservedInstancesOffering x
Prelude.Generic)
newReservedInstancesOffering ::
ReservedInstancesOffering
newReservedInstancesOffering :: ReservedInstancesOffering
newReservedInstancesOffering =
ReservedInstancesOffering'
{ $sel:availabilityZone:ReservedInstancesOffering' :: Maybe Text
availabilityZone =
forall a. Maybe a
Prelude.Nothing,
$sel:currencyCode:ReservedInstancesOffering' :: Maybe CurrencyCodeValues
currencyCode = forall a. Maybe a
Prelude.Nothing,
$sel:duration:ReservedInstancesOffering' :: Maybe Integer
duration = forall a. Maybe a
Prelude.Nothing,
$sel:fixedPrice:ReservedInstancesOffering' :: Maybe Double
fixedPrice = forall a. Maybe a
Prelude.Nothing,
$sel:instanceTenancy:ReservedInstancesOffering' :: Maybe Tenancy
instanceTenancy = forall a. Maybe a
Prelude.Nothing,
$sel:instanceType:ReservedInstancesOffering' :: Maybe InstanceType
instanceType = forall a. Maybe a
Prelude.Nothing,
$sel:marketplace:ReservedInstancesOffering' :: Maybe Bool
marketplace = forall a. Maybe a
Prelude.Nothing,
$sel:offeringClass:ReservedInstancesOffering' :: Maybe OfferingClassType
offeringClass = forall a. Maybe a
Prelude.Nothing,
$sel:offeringType:ReservedInstancesOffering' :: Maybe OfferingTypeValues
offeringType = forall a. Maybe a
Prelude.Nothing,
$sel:pricingDetails:ReservedInstancesOffering' :: Maybe [PricingDetail]
pricingDetails = forall a. Maybe a
Prelude.Nothing,
$sel:productDescription:ReservedInstancesOffering' :: Maybe RIProductDescription
productDescription = forall a. Maybe a
Prelude.Nothing,
$sel:recurringCharges:ReservedInstancesOffering' :: Maybe [RecurringCharge]
recurringCharges = forall a. Maybe a
Prelude.Nothing,
$sel:reservedInstancesOfferingId:ReservedInstancesOffering' :: Maybe Text
reservedInstancesOfferingId = forall a. Maybe a
Prelude.Nothing,
$sel:scope:ReservedInstancesOffering' :: Maybe Scope
scope = forall a. Maybe a
Prelude.Nothing,
$sel:usagePrice:ReservedInstancesOffering' :: Maybe Double
usagePrice = forall a. Maybe a
Prelude.Nothing
}
reservedInstancesOffering_availabilityZone :: Lens.Lens' ReservedInstancesOffering (Prelude.Maybe Prelude.Text)
reservedInstancesOffering_availabilityZone :: Lens' ReservedInstancesOffering (Maybe Text)
reservedInstancesOffering_availabilityZone = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReservedInstancesOffering' {Maybe Text
availabilityZone :: Maybe Text
$sel:availabilityZone:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Text
availabilityZone} -> Maybe Text
availabilityZone) (\s :: ReservedInstancesOffering
s@ReservedInstancesOffering' {} Maybe Text
a -> ReservedInstancesOffering
s {$sel:availabilityZone:ReservedInstancesOffering' :: Maybe Text
availabilityZone = Maybe Text
a} :: ReservedInstancesOffering)
reservedInstancesOffering_currencyCode :: Lens.Lens' ReservedInstancesOffering (Prelude.Maybe CurrencyCodeValues)
reservedInstancesOffering_currencyCode :: Lens' ReservedInstancesOffering (Maybe CurrencyCodeValues)
reservedInstancesOffering_currencyCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReservedInstancesOffering' {Maybe CurrencyCodeValues
currencyCode :: Maybe CurrencyCodeValues
$sel:currencyCode:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe CurrencyCodeValues
currencyCode} -> Maybe CurrencyCodeValues
currencyCode) (\s :: ReservedInstancesOffering
s@ReservedInstancesOffering' {} Maybe CurrencyCodeValues
a -> ReservedInstancesOffering
s {$sel:currencyCode:ReservedInstancesOffering' :: Maybe CurrencyCodeValues
currencyCode = Maybe CurrencyCodeValues
a} :: ReservedInstancesOffering)
reservedInstancesOffering_duration :: Lens.Lens' ReservedInstancesOffering (Prelude.Maybe Prelude.Integer)
reservedInstancesOffering_duration :: Lens' ReservedInstancesOffering (Maybe Integer)
reservedInstancesOffering_duration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReservedInstancesOffering' {Maybe Integer
duration :: Maybe Integer
$sel:duration:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Integer
duration} -> Maybe Integer
duration) (\s :: ReservedInstancesOffering
s@ReservedInstancesOffering' {} Maybe Integer
a -> ReservedInstancesOffering
s {$sel:duration:ReservedInstancesOffering' :: Maybe Integer
duration = Maybe Integer
a} :: ReservedInstancesOffering)
reservedInstancesOffering_fixedPrice :: Lens.Lens' ReservedInstancesOffering (Prelude.Maybe Prelude.Double)
reservedInstancesOffering_fixedPrice :: Lens' ReservedInstancesOffering (Maybe Double)
reservedInstancesOffering_fixedPrice = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReservedInstancesOffering' {Maybe Double
fixedPrice :: Maybe Double
$sel:fixedPrice:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Double
fixedPrice} -> Maybe Double
fixedPrice) (\s :: ReservedInstancesOffering
s@ReservedInstancesOffering' {} Maybe Double
a -> ReservedInstancesOffering
s {$sel:fixedPrice:ReservedInstancesOffering' :: Maybe Double
fixedPrice = Maybe Double
a} :: ReservedInstancesOffering)
reservedInstancesOffering_instanceTenancy :: Lens.Lens' ReservedInstancesOffering (Prelude.Maybe Tenancy)
reservedInstancesOffering_instanceTenancy :: Lens' ReservedInstancesOffering (Maybe Tenancy)
reservedInstancesOffering_instanceTenancy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReservedInstancesOffering' {Maybe Tenancy
instanceTenancy :: Maybe Tenancy
$sel:instanceTenancy:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Tenancy
instanceTenancy} -> Maybe Tenancy
instanceTenancy) (\s :: ReservedInstancesOffering
s@ReservedInstancesOffering' {} Maybe Tenancy
a -> ReservedInstancesOffering
s {$sel:instanceTenancy:ReservedInstancesOffering' :: Maybe Tenancy
instanceTenancy = Maybe Tenancy
a} :: ReservedInstancesOffering)
reservedInstancesOffering_instanceType :: Lens.Lens' ReservedInstancesOffering (Prelude.Maybe InstanceType)
reservedInstancesOffering_instanceType :: Lens' ReservedInstancesOffering (Maybe InstanceType)
reservedInstancesOffering_instanceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReservedInstancesOffering' {Maybe InstanceType
instanceType :: Maybe InstanceType
$sel:instanceType:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe InstanceType
instanceType} -> Maybe InstanceType
instanceType) (\s :: ReservedInstancesOffering
s@ReservedInstancesOffering' {} Maybe InstanceType
a -> ReservedInstancesOffering
s {$sel:instanceType:ReservedInstancesOffering' :: Maybe InstanceType
instanceType = Maybe InstanceType
a} :: ReservedInstancesOffering)
reservedInstancesOffering_marketplace :: Lens.Lens' ReservedInstancesOffering (Prelude.Maybe Prelude.Bool)
reservedInstancesOffering_marketplace :: Lens' ReservedInstancesOffering (Maybe Bool)
reservedInstancesOffering_marketplace = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReservedInstancesOffering' {Maybe Bool
marketplace :: Maybe Bool
$sel:marketplace:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Bool
marketplace} -> Maybe Bool
marketplace) (\s :: ReservedInstancesOffering
s@ReservedInstancesOffering' {} Maybe Bool
a -> ReservedInstancesOffering
s {$sel:marketplace:ReservedInstancesOffering' :: Maybe Bool
marketplace = Maybe Bool
a} :: ReservedInstancesOffering)
reservedInstancesOffering_offeringClass :: Lens.Lens' ReservedInstancesOffering (Prelude.Maybe OfferingClassType)
reservedInstancesOffering_offeringClass :: Lens' ReservedInstancesOffering (Maybe OfferingClassType)
reservedInstancesOffering_offeringClass = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReservedInstancesOffering' {Maybe OfferingClassType
offeringClass :: Maybe OfferingClassType
$sel:offeringClass:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe OfferingClassType
offeringClass} -> Maybe OfferingClassType
offeringClass) (\s :: ReservedInstancesOffering
s@ReservedInstancesOffering' {} Maybe OfferingClassType
a -> ReservedInstancesOffering
s {$sel:offeringClass:ReservedInstancesOffering' :: Maybe OfferingClassType
offeringClass = Maybe OfferingClassType
a} :: ReservedInstancesOffering)
reservedInstancesOffering_offeringType :: Lens.Lens' ReservedInstancesOffering (Prelude.Maybe OfferingTypeValues)
reservedInstancesOffering_offeringType :: Lens' ReservedInstancesOffering (Maybe OfferingTypeValues)
reservedInstancesOffering_offeringType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReservedInstancesOffering' {Maybe OfferingTypeValues
offeringType :: Maybe OfferingTypeValues
$sel:offeringType:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe OfferingTypeValues
offeringType} -> Maybe OfferingTypeValues
offeringType) (\s :: ReservedInstancesOffering
s@ReservedInstancesOffering' {} Maybe OfferingTypeValues
a -> ReservedInstancesOffering
s {$sel:offeringType:ReservedInstancesOffering' :: Maybe OfferingTypeValues
offeringType = Maybe OfferingTypeValues
a} :: ReservedInstancesOffering)
reservedInstancesOffering_pricingDetails :: Lens.Lens' ReservedInstancesOffering (Prelude.Maybe [PricingDetail])
reservedInstancesOffering_pricingDetails :: Lens' ReservedInstancesOffering (Maybe [PricingDetail])
reservedInstancesOffering_pricingDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReservedInstancesOffering' {Maybe [PricingDetail]
pricingDetails :: Maybe [PricingDetail]
$sel:pricingDetails:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe [PricingDetail]
pricingDetails} -> Maybe [PricingDetail]
pricingDetails) (\s :: ReservedInstancesOffering
s@ReservedInstancesOffering' {} Maybe [PricingDetail]
a -> ReservedInstancesOffering
s {$sel:pricingDetails:ReservedInstancesOffering' :: Maybe [PricingDetail]
pricingDetails = Maybe [PricingDetail]
a} :: ReservedInstancesOffering) 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
reservedInstancesOffering_productDescription :: Lens.Lens' ReservedInstancesOffering (Prelude.Maybe RIProductDescription)
reservedInstancesOffering_productDescription :: Lens' ReservedInstancesOffering (Maybe RIProductDescription)
reservedInstancesOffering_productDescription = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReservedInstancesOffering' {Maybe RIProductDescription
productDescription :: Maybe RIProductDescription
$sel:productDescription:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe RIProductDescription
productDescription} -> Maybe RIProductDescription
productDescription) (\s :: ReservedInstancesOffering
s@ReservedInstancesOffering' {} Maybe RIProductDescription
a -> ReservedInstancesOffering
s {$sel:productDescription:ReservedInstancesOffering' :: Maybe RIProductDescription
productDescription = Maybe RIProductDescription
a} :: ReservedInstancesOffering)
reservedInstancesOffering_recurringCharges :: Lens.Lens' ReservedInstancesOffering (Prelude.Maybe [RecurringCharge])
reservedInstancesOffering_recurringCharges :: Lens' ReservedInstancesOffering (Maybe [RecurringCharge])
reservedInstancesOffering_recurringCharges = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReservedInstancesOffering' {Maybe [RecurringCharge]
recurringCharges :: Maybe [RecurringCharge]
$sel:recurringCharges:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe [RecurringCharge]
recurringCharges} -> Maybe [RecurringCharge]
recurringCharges) (\s :: ReservedInstancesOffering
s@ReservedInstancesOffering' {} Maybe [RecurringCharge]
a -> ReservedInstancesOffering
s {$sel:recurringCharges:ReservedInstancesOffering' :: Maybe [RecurringCharge]
recurringCharges = Maybe [RecurringCharge]
a} :: ReservedInstancesOffering) 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
reservedInstancesOffering_reservedInstancesOfferingId :: Lens.Lens' ReservedInstancesOffering (Prelude.Maybe Prelude.Text)
reservedInstancesOffering_reservedInstancesOfferingId :: Lens' ReservedInstancesOffering (Maybe Text)
reservedInstancesOffering_reservedInstancesOfferingId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReservedInstancesOffering' {Maybe Text
reservedInstancesOfferingId :: Maybe Text
$sel:reservedInstancesOfferingId:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Text
reservedInstancesOfferingId} -> Maybe Text
reservedInstancesOfferingId) (\s :: ReservedInstancesOffering
s@ReservedInstancesOffering' {} Maybe Text
a -> ReservedInstancesOffering
s {$sel:reservedInstancesOfferingId:ReservedInstancesOffering' :: Maybe Text
reservedInstancesOfferingId = Maybe Text
a} :: ReservedInstancesOffering)
reservedInstancesOffering_scope :: Lens.Lens' ReservedInstancesOffering (Prelude.Maybe Scope)
reservedInstancesOffering_scope :: Lens' ReservedInstancesOffering (Maybe Scope)
reservedInstancesOffering_scope = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReservedInstancesOffering' {Maybe Scope
scope :: Maybe Scope
$sel:scope:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Scope
scope} -> Maybe Scope
scope) (\s :: ReservedInstancesOffering
s@ReservedInstancesOffering' {} Maybe Scope
a -> ReservedInstancesOffering
s {$sel:scope:ReservedInstancesOffering' :: Maybe Scope
scope = Maybe Scope
a} :: ReservedInstancesOffering)
reservedInstancesOffering_usagePrice :: Lens.Lens' ReservedInstancesOffering (Prelude.Maybe Prelude.Double)
reservedInstancesOffering_usagePrice :: Lens' ReservedInstancesOffering (Maybe Double)
reservedInstancesOffering_usagePrice = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReservedInstancesOffering' {Maybe Double
usagePrice :: Maybe Double
$sel:usagePrice:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Double
usagePrice} -> Maybe Double
usagePrice) (\s :: ReservedInstancesOffering
s@ReservedInstancesOffering' {} Maybe Double
a -> ReservedInstancesOffering
s {$sel:usagePrice:ReservedInstancesOffering' :: Maybe Double
usagePrice = Maybe Double
a} :: ReservedInstancesOffering)
instance Data.FromXML ReservedInstancesOffering where
parseXML :: [Node] -> Either String ReservedInstancesOffering
parseXML [Node]
x =
Maybe Text
-> Maybe CurrencyCodeValues
-> Maybe Integer
-> Maybe Double
-> Maybe Tenancy
-> Maybe InstanceType
-> Maybe Bool
-> Maybe OfferingClassType
-> Maybe OfferingTypeValues
-> Maybe [PricingDetail]
-> Maybe RIProductDescription
-> Maybe [RecurringCharge]
-> Maybe Text
-> Maybe Scope
-> Maybe Double
-> ReservedInstancesOffering
ReservedInstancesOffering'
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
"currencyCode")
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
"duration")
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
"fixedPrice")
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
"instanceTenancy")
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
"instanceType")
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
"marketplace")
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
"offeringClass")
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
"offeringType")
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
"pricingDetailsSet"
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")
)
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
"productDescription")
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
"recurringCharges"
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")
)
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
"reservedInstancesOfferingId")
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
"scope")
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
"usagePrice")
instance Prelude.Hashable ReservedInstancesOffering where
hashWithSalt :: Int -> ReservedInstancesOffering -> Int
hashWithSalt Int
_salt ReservedInstancesOffering' {Maybe Bool
Maybe Double
Maybe Integer
Maybe [PricingDetail]
Maybe [RecurringCharge]
Maybe Text
Maybe CurrencyCodeValues
Maybe InstanceType
Maybe OfferingClassType
Maybe OfferingTypeValues
Maybe RIProductDescription
Maybe Scope
Maybe Tenancy
usagePrice :: Maybe Double
scope :: Maybe Scope
reservedInstancesOfferingId :: Maybe Text
recurringCharges :: Maybe [RecurringCharge]
productDescription :: Maybe RIProductDescription
pricingDetails :: Maybe [PricingDetail]
offeringType :: Maybe OfferingTypeValues
offeringClass :: Maybe OfferingClassType
marketplace :: Maybe Bool
instanceType :: Maybe InstanceType
instanceTenancy :: Maybe Tenancy
fixedPrice :: Maybe Double
duration :: Maybe Integer
currencyCode :: Maybe CurrencyCodeValues
availabilityZone :: Maybe Text
$sel:usagePrice:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Double
$sel:scope:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Scope
$sel:reservedInstancesOfferingId:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Text
$sel:recurringCharges:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe [RecurringCharge]
$sel:productDescription:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe RIProductDescription
$sel:pricingDetails:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe [PricingDetail]
$sel:offeringType:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe OfferingTypeValues
$sel:offeringClass:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe OfferingClassType
$sel:marketplace:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Bool
$sel:instanceType:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe InstanceType
$sel:instanceTenancy:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Tenancy
$sel:fixedPrice:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Double
$sel:duration:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Integer
$sel:currencyCode:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe CurrencyCodeValues
$sel:availabilityZone:ReservedInstancesOffering' :: ReservedInstancesOffering -> 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 CurrencyCodeValues
currencyCode
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
duration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Double
fixedPrice
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Tenancy
instanceTenancy
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe InstanceType
instanceType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
marketplace
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe OfferingClassType
offeringClass
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe OfferingTypeValues
offeringType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [PricingDetail]
pricingDetails
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RIProductDescription
productDescription
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [RecurringCharge]
recurringCharges
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
reservedInstancesOfferingId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Scope
scope
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Double
usagePrice
instance Prelude.NFData ReservedInstancesOffering where
rnf :: ReservedInstancesOffering -> ()
rnf ReservedInstancesOffering' {Maybe Bool
Maybe Double
Maybe Integer
Maybe [PricingDetail]
Maybe [RecurringCharge]
Maybe Text
Maybe CurrencyCodeValues
Maybe InstanceType
Maybe OfferingClassType
Maybe OfferingTypeValues
Maybe RIProductDescription
Maybe Scope
Maybe Tenancy
usagePrice :: Maybe Double
scope :: Maybe Scope
reservedInstancesOfferingId :: Maybe Text
recurringCharges :: Maybe [RecurringCharge]
productDescription :: Maybe RIProductDescription
pricingDetails :: Maybe [PricingDetail]
offeringType :: Maybe OfferingTypeValues
offeringClass :: Maybe OfferingClassType
marketplace :: Maybe Bool
instanceType :: Maybe InstanceType
instanceTenancy :: Maybe Tenancy
fixedPrice :: Maybe Double
duration :: Maybe Integer
currencyCode :: Maybe CurrencyCodeValues
availabilityZone :: Maybe Text
$sel:usagePrice:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Double
$sel:scope:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Scope
$sel:reservedInstancesOfferingId:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Text
$sel:recurringCharges:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe [RecurringCharge]
$sel:productDescription:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe RIProductDescription
$sel:pricingDetails:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe [PricingDetail]
$sel:offeringType:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe OfferingTypeValues
$sel:offeringClass:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe OfferingClassType
$sel:marketplace:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Bool
$sel:instanceType:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe InstanceType
$sel:instanceTenancy:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Tenancy
$sel:fixedPrice:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Double
$sel:duration:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe Integer
$sel:currencyCode:ReservedInstancesOffering' :: ReservedInstancesOffering -> Maybe CurrencyCodeValues
$sel:availabilityZone:ReservedInstancesOffering' :: ReservedInstancesOffering -> 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 CurrencyCodeValues
currencyCode
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
duration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Double
fixedPrice
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Tenancy
instanceTenancy
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe InstanceType
instanceType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
marketplace
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe OfferingClassType
offeringClass
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe OfferingTypeValues
offeringType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [PricingDetail]
pricingDetails
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RIProductDescription
productDescription
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [RecurringCharge]
recurringCharges
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
reservedInstancesOfferingId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Scope
scope
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Double
usagePrice