/* - Ċ Ġ* Ġ#% L Ċ Ġ* ĠCloud Spec ĠAWS ĠProvider Ċ Ġ* Ġ%% Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 0 ĠE ze qu iel ĠF on cub iert a Ċ Ġ* Ġ%% Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* ĠĊ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* ĠĊ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ġ# L % Ċ Ġ*/ Ċ package Ġcloud spec . aws . ec 2 Ċ Ċ import Ġcloud spec . annotation . Id Definition Ċ import Ġcloud spec . annotation . Property Definition Ċ import Ġcloud spec . annotation . Resource Definition Ċ import Ġcloud spec . aws . AWS Provider Ċ import Ġcloud spec . aws . ec 2 . nested . EC 2 Recurring Charge Ċ import Ġcloud spec . model . KeyValue Ċ import Ġcloud spec . model . Resource Def Ref Ċ import Ġsoftware . amazon . aw ssdk . services . ec 2 . model .* Ċ import Ġjava . time . Instant Ċ Ċ @ Resource Definition ( ĊĠĠĠĠĠĠĠ Ġprovider Ġ= ĠAWS Provider . PROVIDER _ NAME , ĊĠĠĠĠĠĠĠ Ġgroup Ġ= ĠEC 2 Group . GROUP _ NAME , ĊĠĠĠĠĠĠĠ Ġname Ġ= ĠEC 2 Reserved Instances . RESOURCE _ NAME , ĊĠĠĠĠĠĠĠ Ġdescription Ġ= ĠEC 2 Reserved Instances . RESOURCE _ DESCRIPTION Ċ ) Ċ data Ġclass ĠEC 2 Reserved Instances ( ĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ REGION , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ REGION _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġregion : ĠString ?, ĊĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ AVAIL ABILITY _ ZONE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ AVAIL ABILITY _ ZONE _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġavailability Zone : ĠString ?, ĊĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ DURATION , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ DURATION _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġduration : ĠLong ?, ĊĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ END , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ END _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġend : ĠInstant ?, ĊĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ FIXED _ PRICE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ FIXED _ PRICE _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġfixed Price : ĠFloat ?, ĊĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ INSTANCE _ COUNT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ INSTANCE _ COUNT _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġinstance Count : ĠInt ?, ĊĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ INSTANCE _ TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ INSTANCE _ TYPE _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġinstance Type : ĠInstance Type ?, ĊĊĠĠĠĠĠĠĠ Ġ@ property : Id Definition ĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ RESERVED _ INST AN CES _ ID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ RESERVED _ INST AN CES _ ID _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġreserved Instances Id : ĠString , ĊĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ START , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ START _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġstart : ĠInstant ?, ĊĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ STATE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ STATE _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġstate : ĠReserved InstanceState ?, ĊĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ USAGE _ PRICE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ USAGE _ PRICE _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġusage Price : ĠFloat ?, ĊĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ CUR RE NCY _ CODE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ CUR RE NCY _ CODE _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġcurrency Code : ĠCurrency Code Values ?, ĊĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ INSTANCE _ TEN AN CY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ INSTANCE _ TEN AN CY _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġinstance Ten ancy : ĠTen ancy ?, ĊĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ OFF ER ING _ CLASS , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ OFF ER ING _ CLASS _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġoffering Class : ĠOffer ing ClassType ?, ĊĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ OFF ER ING _ TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ OFF ER ING _ TYPE _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġoffering Type : ĠOffer ing Type Values ?, ĊĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ REC UR RING _ CHAR GES , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ REC UR RING _ CHAR GES _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġrecur ring Char ges : ĠList < EC 2 Recurring Charge > ?, ĊĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ SCOPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ SCOPE _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġscope : ĠScope ?, ĊĊĠĠĠĠĠĠĠ Ġ@ property : Property Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= ĠPROP _ TAGS , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠPROP _ TAGS _ D ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġtags : ĠList < KeyValue >? Ċ ) Ġ: ĠEC 2 Resource ( region ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠRESOURCE _ NAME Ġ= Ġ" reserved _ instances " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠRESOURCE _ DESCRIPTION Ġ= Ġ" Reserved ĠInstances " ĊĠĠĠĠĠĠĠ Ġval ĠRESOURCE _ DEF Ġ= ĠResource Def Ref ( AWS Provider . PROVIDER _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEC 2 Group . GROUP _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRESOURCE _ NAME ) ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ REGION Ġ= Ġ" region " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ REGION _ D Ġ= Ġ" The ĠAWS Ġregion " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ AVAIL ABILITY _ ZONE Ġ= Ġ" availability _ zone " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ AVAIL ABILITY _ ZONE _ D Ġ= Ġ" The ĠAvailability ĠZone Ġin Ġwhich Ġthe ĠReserved ĠInstance Ġcan Ġbe Ġused " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ DURATION Ġ= Ġ" duration " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ DURATION _ D Ġ= Ġ" The Ġduration Ġof Ġthe ĠReserved ĠInstance , Ġin Ġseconds " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ END Ġ= Ġ" end " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ END _ D Ġ= Ġ" The Ġtime Ġwhen Ġthe ĠReserved ĠInstance Ġexpires " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ FIXED _ PRICE Ġ= Ġ" fixed _ price " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ FIXED _ PRICE _ D Ġ= Ġ" The Ġpurchase Ġprice Ġof Ġthe ĠReserved ĠInstance " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ INSTANCE _ COUNT Ġ= Ġ" instance _ count " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ INSTANCE _ COUNT _ D Ġ= Ġ" The Ġnumber Ġof Ġre servations Ġpurch ased " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ INSTANCE _ TYPE Ġ= Ġ" instance _ type " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ INSTANCE _ TYPE _ D Ġ= Ġ" The Ġinstance Ġtype Ġon Ġwhich Ġthe ĠReserved ĠInstance Ġcan Ġbe Ġused " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ RESERVED _ INST AN CES _ ID Ġ= Ġ" reserved _ instances _ id " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ RESERVED _ INST AN CES _ ID _ D Ġ= Ġ" The ĠID Ġof Ġthe ĠReserved ĠInstance " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ START Ġ= Ġ" start " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ START _ D Ġ= Ġ" The Ġdate Ġand Ġtime Ġthe ĠReserved ĠInstance Ġstarted " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ STATE Ġ= Ġ" state " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ STATE _ D Ġ= Ġ" The Ġstate Ġof Ġthe ĠReserved ĠInstance Ġpurchase " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ USAGE _ PRICE Ġ= Ġ" usage _ price " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ USAGE _ PRICE _ D Ġ= Ġ" The Ġusage Ġprice Ġof Ġthe ĠReserved ĠInstance , Ġper Ġhour " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ CUR RE NCY _ CODE Ġ= Ġ" currency _ code " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ CUR RE NCY _ CODE _ D Ġ= Ġ" The Ġcurrency Ġof Ġthe ĠReserved ĠInstance " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ INSTANCE _ TEN AN CY Ġ= Ġ" instance _ ten ancy " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ INSTANCE _ TEN AN CY _ D Ġ= Ġ" The Ġten ancy Ġof Ġthe Ġinstance " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ OFF ER ING _ CLASS Ġ= Ġ" offer ing _ class " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ OFF ER ING _ CLASS _ D Ġ= Ġ" The Ġoffering Ġclass Ġof Ġthe ĠReserved ĠInstance " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ OFF ER ING _ TYPE Ġ= Ġ" offer ing _ type " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ OFF ER ING _ TYPE _ D Ġ= Ġ" The ĠReserved ĠInstance Ġoffering Ġtype " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ REC UR RING _ CHAR GES Ġ= Ġ" recurring _ charges " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ REC UR RING _ CHAR GES _ D Ġ= Ġ" The Ġrecur ring Ġcharge Ġtag Ġassigned Ġto Ġthe Ġresource " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ SCOPE Ġ= Ġ" scope " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ SCOPE _ D Ġ= Ġ" The Ġscope Ġof Ġthe ĠReserved ĠInstance " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ TAGS Ġ= Ġ" tags " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPROP _ TAGS _ D Ġ= Ġ" Any Ġtags Ġassigned Ġto Ġthe Ġresource " ĊĠĠĠ Ġ} Ċ } Ċ