package Ġd re ifa . app . terraform . tasks Ċ Ċ import Ġd re ifa . app . registry . Registry Ċ import Ġd re ifa . app . ses . Event Ċ import Ġd re ifa . app . ses . Event Factory Ċ import Ġd re ifa . app . ses . Event Store Ċ import Ġd re ifa . app . sk s . SK S Ċ import Ġd re ifa . app . tasks .* Ċ import Ġd re ifa . app . tasks . executionContext . ExecutionContext Ċ import Ġd re ifa . app . tasks . in built . providers . TP Query Task Ċ import Ġd re ifa . app . types . Key Ċ import Ġd re ifa . app . types . UniqueId Ċ import Ġjava . lang . RuntimeException Ċ Ċ /** Ċ Ġ* ĠThe ĠTask Ġto Ġupload Ġthe ĠTerraform Ġtemplates . ĠMust Ġhave Ġcalled ĠTF Register Module Task Ġbefore Ċ Ġ* Ġhand . Ċ Ġ*/ Ċ data Ġclass ĠTF Register File Bundle Request ( val Ġmodule Id : ĠUnique Id , Ġval Ġbundle Id : ĠUnique Id ) Ċ interface ĠTF Register File Bundle Task Ġ: ĠBlock ing Task < TF Register File Bundle Request , ĠUnit >, ĠIde mpot ent Task Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġtask Name (): ĠString Ġ= ĠTP Query Task :: class . simple Name !! Ċ } Ċ Ċ object ĠFile Bund led Registered Event Factory Ġ: ĠEvent Factory Ġ{ ĊĠĠĠ Ġfun Ġcreate ( params : ĠTF Register File Bundle Request ): ĠEvent Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠEvent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠeventType (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaggregate Id Ġ= Ġparams . module Id . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpayload Ġ= Ġparams ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠeventType (): ĠString Ġ= Ġ" d re ifa . app . terraform . tasks . File Bund led Registered " Ċ } Ċ Ċ class ĠTF Register File Bundle Task Impl ( registry : ĠRegistry ) Ġ: ĠBlock ing Task < TF Register File Bundle Request , ĠUnit >, ĊĠĠĠ ĠTF Register File Bundle Task , ĊĠĠĠ ĠTask Doc < TF Register File Bundle Request , ĠUnit > Ġ{ ĊĠĠĠ Ġprivate Ġval Ġsk s Ġ= Ġregistry . get ( SK S :: class . java ) ĊĠĠĠ Ġprivate Ġval Ġses Ġ= Ġregistry . get ( Event Store :: class . java ) ĊĊĠĠĠ Ġoverride Ġfun Ġexec ( ctx : ĠExecutionContext , Ġinput : ĠTF Register File Bundle Request ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġpersist Ġbundle Ġin Ġthe Ġkey - value Ġstore ĊĊĠĠĠĠĠĠĠ Ġval Ġkey Ġ= ĠKey . from UniqueId ( input . bundle Id ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! sk s . exists ( key )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" Cannot Ġfind Ġa ĠFile Bundle Ġwith Ġ${ input . bundle Id } Ġin Ġthe ĠSimple ĠK V ĠStore .") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġrecord Ġwith Ġevent ĊĠĠĠĠĠĠĠ Ġses . store ( File Bund led Registered Event Factory . create ( input )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdescription (): ĠString Ġ= Ġ" The ĠTask Ġto Ġupload Ġthe ĠTerraform Ġtemplates . ĠMust Ġhave Ġcalled Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" TF Register Module Task Ġbefore hand ĠAND Ġup la od Ġthe ĠFile Bundle Ġwith Ġterraform Ġmodule Ġbu Ġcalling ĠFB Store Task " ĊĊĠĠĠ Ġoverride Ġfun Ġexamples (): ĠList < Task Example < TF Register File Bundle Request , ĠUnit >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠTask Examples Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. example (" Upload Ġa Ġnew Ġtemplate ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. input ( TF Register File Bundle Request ( UniqueId . al phanumeric (), ĠUnique Id . al phanumeric ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. done () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} Ċ } Ċ