package Ġio . kot less . gen . factory . azure . route 5 3 Ċ Ċ import Ġio . kot less . Application Ċ import Ġio . kot less . K ot less Config Ċ import Ġio . kot less . gen . Generation Context Ċ import Ġio . kot less . gen . Generation Factory Ċ import Ġio . kot less . gen . factory . azure . info . Info Factory Ċ import Ġio . terraform kt . az ur erm . data . dns . dns _ zone Ċ import Ġio . terraform kt . h cl . ref Ċ Ċ object ĠZone Factory Ġ: ĠGeneration Factory < Application . Route 5 3 , ĠZone Factory . Output > Ġ{ ĊĠĠĠ Ġdata Ġclass ĠOutput ( val Ġzone _ name : ĠString , Ġval Ġfq dn : ĠString ) ĊĊĠĠĠ Ġoverride Ġfun Ġmay Run ( entity : ĠApplication . Route 5 3 , Ġcontext : ĠGeneration Context ) Ġ= Ġcontext . output . check ( context . webapp , ĠInfo Factory ) ĊĊĠĠĠ Ġoverride Ġfun Ġgenerate ( entity : ĠApplication . Route 5 3 , Ġcontext : ĠGeneration Context ): ĠGeneration Factory . Generation Result < Output > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdns Zone Ġ= Ġdns _ zone ( context . names . tf ( entity . zone )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġentity . zone ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresource _ group _ name Ġ= Ġ( context . schema . config . cloud Config Ġas ĠK ot less Config . Azure Cloud Config ). resource Group ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠGeneration Factory . Generation Result ( Output ( dns Zone :: name . ref , Ġ"${ entity . alias }.${ entity . zone } "), Ġdns Zone ) ĊĠĠĠ Ġ} Ċ } Ċ