cdktn-cli 0.24.0-pre.29 → 0.24.0-pre.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -64,11 +64,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
64
64
  see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0002");let{srcStat:r,destStat:i}=cd.checkPathsSync(e,t,"copy",n);return cd.checkParentPathsSync(e,r,t,"copy"),EBe(i,e,t,n)}function EBe(e,t,n,r){if(r.filter&&!r.filter(t,n))return;let i=ad.dirname(n);return lt.existsSync(i)||_Be(i),lU(e,t,n,r)}function HBe(e,t,n,r){if(!(r.filter&&!r.filter(t,n)))return lU(e,t,n,r)}function lU(e,t,n,r){let o=(r.dereference?lt.statSync:lt.lstatSync)(t);if(o.isDirectory())return KBe(o,e,t,n,r);if(o.isFile()||o.isCharacterDevice()||o.isBlockDevice())return wBe(o,e,t,n,r);if(o.isSymbolicLink())return xBe(e,t,n,r);throw o.isSocket()?new Error(`Cannot copy a socket file: ${t}`):o.isFIFO()?new Error(`Cannot copy a FIFO pipe: ${t}`):new Error(`Unknown file: ${t}`)}function wBe(e,t,n,r,i){return t?YBe(e,n,r,i):dU(e,n,r,i)}function YBe(e,t,n,r){if(r.overwrite)return lt.unlinkSync(n),dU(e,t,n,r);if(r.errorOnExist)throw new Error(`'${n}' already exists`)}function dU(e,t,n,r){return lt.copyFileSync(t,n),r.preserveTimestamps&&FBe(e.mode,t,n),CZ(n,e.mode)}function FBe(e,t,n){return TBe(e)&&XBe(n,e),kBe(t,n)}function TBe(e){return(e&128)===0}function XBe(e,t){return CZ(e,t|128)}function CZ(e,t){return lt.chmodSync(e,t)}function kBe(e,t){let n=lt.statSync(e);return NBe(t,n.atime,n.mtime)}function KBe(e,t,n,r,i){return t?gU(n,r,i):LBe(e.mode,n,r,i)}function LBe(e,t,n,r){return lt.mkdirSync(n),gU(t,n,r),CZ(n,e)}function gU(e,t,n){lt.readdirSync(e).forEach(r=>UBe(r,e,t,n))}function UBe(e,t,n,r){let i=ad.join(t,e),o=ad.join(n,e),{destStat:s}=cd.checkPathsSync(i,o,"copy",r);return HBe(s,i,o,r)}function xBe(e,t,n,r){let i=lt.readlinkSync(t);if(r.dereference&&(i=ad.resolve(process.cwd(),i)),e){let o;try{o=lt.readlinkSync(n)}catch(s){if(s.code==="EINVAL"||s.code==="UNKNOWN")return lt.symlinkSync(i,n);throw s}if(r.dereference&&(o=ad.resolve(process.cwd(),o)),cd.isSrcSubdir(i,o))throw new Error(`Cannot copy '${i}' to a subdirectory of itself, '${o}'.`);if(lt.statSync(n).isDirectory()&&cd.isSrcSubdir(o,i))throw new Error(`Cannot overwrite '${o}' with '${i}'.`);return JBe(i,n)}else return lt.symlinkSync(i,n)}function JBe(e,t){return lt.unlinkSync(t),lt.symlinkSync(e,t)}fU.exports=VBe});var Gp=f((iEe,pU)=>{"use strict";var OBe=fe().fromCallback;pU.exports={copy:OBe(uU()),copySync:IU()}});var ZU=f((oEe,GU)=>{"use strict";var mU=ne(),yU=require("path"),be=require("assert"),ud=process.platform==="win32";function AU(e){["unlink","chmod","stat","lstat","rmdir","readdir"].forEach(n=>{e[n]=e[n]||mU[n],n=n+"Sync",e[n]=e[n]||mU[n]}),e.maxBusyTries=e.maxBusyTries||3}function bZ(e,t,n){let r=0;typeof t=="function"&&(n=t,t={}),be(e,"rimraf: missing path"),be.strictEqual(typeof e,"string","rimraf: path should be a string"),be.strictEqual(typeof n,"function","rimraf: callback function required"),be(t,"rimraf: invalid options argument provided"),be.strictEqual(typeof t,"object","rimraf: options should be object"),AU(t),hU(e,t,function i(o){if(o){if((o.code==="EBUSY"||o.code==="ENOTEMPTY"||o.code==="EPERM")&&r<t.maxBusyTries){r++;let s=r*100;return setTimeout(()=>hU(e,t,i),s)}o.code==="ENOENT"&&(o=null)}n(o)})}function hU(e,t,n){be(e),be(t),be(typeof n=="function"),t.lstat(e,(r,i)=>{if(r&&r.code==="ENOENT")return n(null);if(r&&r.code==="EPERM"&&ud)return CU(e,t,r,n);if(i&&i.isDirectory())return Zp(e,t,r,n);t.unlink(e,o=>{if(o){if(o.code==="ENOENT")return n(null);if(o.code==="EPERM")return ud?CU(e,t,o,n):Zp(e,t,o,n);if(o.code==="EISDIR")return Zp(e,t,o,n)}return n(o)})})}function CU(e,t,n,r){be(e),be(t),be(typeof r=="function"),t.chmod(e,438,i=>{i?r(i.code==="ENOENT"?null:n):t.stat(e,(o,s)=>{o?r(o.code==="ENOENT"?null:n):s.isDirectory()?Zp(e,t,n,r):t.unlink(e,r)})})}function bU(e,t,n){let r;be(e),be(t);try{t.chmodSync(e,438)}catch(i){if(i.code==="ENOENT")return;throw n}try{r=t.statSync(e)}catch(i){if(i.code==="ENOENT")return;throw n}r.isDirectory()?vp(e,t,n):t.unlinkSync(e)}function Zp(e,t,n,r){be(e),be(t),be(typeof r=="function"),t.rmdir(e,i=>{i&&(i.code==="ENOTEMPTY"||i.code==="EEXIST"||i.code==="EPERM")?MBe(e,t,r):i&&i.code==="ENOTDIR"?r(n):r(i)})}function MBe(e,t,n){be(e),be(t),be(typeof n=="function"),t.readdir(e,(r,i)=>{if(r)return n(r);let o=i.length,s;if(o===0)return t.rmdir(e,n);i.forEach(a=>{bZ(yU.join(e,a),t,c=>{if(!s){if(c)return n(s=c);--o===0&&t.rmdir(e,n)}})})})}function BU(e,t){let n;t=t||{},AU(t),be(e,"rimraf: missing path"),be.strictEqual(typeof e,"string","rimraf: path should be a string"),be(t,"rimraf: missing options"),be.strictEqual(typeof t,"object","rimraf: options should be object");try{n=t.lstatSync(e)}catch(r){if(r.code==="ENOENT")return;r.code==="EPERM"&&ud&&bU(e,t,r)}try{n&&n.isDirectory()?vp(e,t,null):t.unlinkSync(e)}catch(r){if(r.code==="ENOENT")return;if(r.code==="EPERM")return ud?bU(e,t,r):vp(e,t,r);if(r.code!=="EISDIR")throw r;vp(e,t,r)}}function vp(e,t,n){be(e),be(t);try{t.rmdirSync(e)}catch(r){if(r.code==="ENOTDIR")throw n;if(r.code==="ENOTEMPTY"||r.code==="EEXIST"||r.code==="EPERM")DBe(e,t);else if(r.code!=="ENOENT")throw r}}function DBe(e,t){if(be(e),be(t),t.readdirSync(e).forEach(n=>BU(yU.join(e,n),t)),ud){let n=Date.now();do try{return t.rmdirSync(e,t)}catch{}while(Date.now()-n<500)}else return t.rmdirSync(e,t)}GU.exports=bZ;bZ.sync=BU});var ld=f((sEe,SU)=>{"use strict";var Sp=ne(),zBe=fe().fromCallback,vU=ZU();function qBe(e,t){if(Sp.rm)return Sp.rm(e,{recursive:!0,force:!0},t);vU(e,t)}function PBe(e){if(Sp.rmSync)return Sp.rmSync(e,{recursive:!0,force:!0});vU.sync(e)}SU.exports={remove:zBe(qBe),removeSync:PBe}});var wU=f((aEe,HU)=>{"use strict";var jBe=fe().fromPromise,_U=Ao(),NU=require("path"),VU=vn(),EU=ld(),RU=jBe(async function(t){let n;try{n=await _U.readdir(t)}catch{return VU.mkdirs(t)}return Promise.all(n.map(r=>EU.remove(NU.join(t,r))))});function WU(e){let t;try{t=_U.readdirSync(e)}catch{return VU.mkdirsSync(e)}t.forEach(n=>{n=NU.join(e,n),EU.removeSync(n)})}HU.exports={emptyDirSync:WU,emptydirSync:WU,emptyDir:RU,emptydir:RU}});var XU=f((cEe,TU)=>{"use strict";var QBe=fe().fromCallback,YU=require("path"),mi=ne(),FU=vn();function $Be(e,t){function n(){mi.writeFile(e,"",r=>{if(r)return t(r);t()})}mi.stat(e,(r,i)=>{if(!r&&i.isFile())return t();let o=YU.dirname(e);mi.stat(o,(s,a)=>{if(s)return s.code==="ENOENT"?FU.mkdirs(o,c=>{if(c)return t(c);n()}):t(s);a.isDirectory()?n():mi.readdir(o,c=>{if(c)return t(c)})})})}function eGe(e){let t;try{t=mi.statSync(e)}catch{}if(t&&t.isFile())return;let n=YU.dirname(e);try{mi.statSync(n).isDirectory()||mi.readdirSync(n)}catch(r){if(r&&r.code==="ENOENT")FU.mkdirsSync(n);else throw r}mi.writeFileSync(e,"")}TU.exports={createFile:QBe($Be),createFileSync:eGe}});var xU=f((uEe,UU)=>{"use strict";var tGe=fe().fromCallback,kU=require("path"),hi=ne(),KU=vn(),nGe=pi().pathExists,{areIdentical:LU}=Bo();function rGe(e,t,n){function r(i,o){hi.link(i,o,s=>{if(s)return n(s);n(null)})}hi.lstat(t,(i,o)=>{hi.lstat(e,(s,a)=>{if(s)return s.message=s.message.replace("lstat","ensureLink"),n(s);if(o&&LU(a,o))return n(null);let c=kU.dirname(t);nGe(c,(u,l)=>{if(u)return n(u);if(l)return r(e,t);KU.mkdirs(c,d=>{if(d)return n(d);r(e,t)})})})})}function iGe(e,t){let n;try{n=hi.lstatSync(t)}catch{}try{let o=hi.lstatSync(e);if(n&&LU(o,n))return}catch(o){throw o.message=o.message.replace("lstat","ensureLink"),o}let r=kU.dirname(t);return hi.existsSync(r)||KU.mkdirsSync(r),hi.linkSync(e,t)}UU.exports={createLink:tGe(rGe),createLinkSync:iGe}});var OU=f((lEe,JU)=>{"use strict";var Ci=require("path"),dd=ne(),oGe=pi().pathExists;function sGe(e,t,n){if(Ci.isAbsolute(e))return dd.lstat(e,r=>r?(r.message=r.message.replace("lstat","ensureSymlink"),n(r)):n(null,{toCwd:e,toDst:e}));{let r=Ci.dirname(t),i=Ci.join(r,e);return oGe(i,(o,s)=>o?n(o):s?n(null,{toCwd:i,toDst:e}):dd.lstat(e,a=>a?(a.message=a.message.replace("lstat","ensureSymlink"),n(a)):n(null,{toCwd:e,toDst:Ci.relative(r,e)})))}}function aGe(e,t){let n;if(Ci.isAbsolute(e)){if(n=dd.existsSync(e),!n)throw new Error("absolute srcpath does not exist");return{toCwd:e,toDst:e}}else{let r=Ci.dirname(t),i=Ci.join(r,e);if(n=dd.existsSync(i),n)return{toCwd:i,toDst:e};if(n=dd.existsSync(e),!n)throw new Error("relative srcpath does not exist");return{toCwd:e,toDst:Ci.relative(r,e)}}}JU.exports={symlinkPaths:sGe,symlinkPathsSync:aGe}});var zU=f((dEe,DU)=>{"use strict";var MU=ne();function cGe(e,t,n){if(n=typeof t=="function"?t:n,t=typeof t=="function"?!1:t,t)return n(null,t);MU.lstat(e,(r,i)=>{if(r)return n(null,"file");t=i&&i.isDirectory()?"dir":"file",n(null,t)})}function uGe(e,t){let n;if(t)return t;try{n=MU.lstatSync(e)}catch{return"file"}return n&&n.isDirectory()?"dir":"file"}DU.exports={symlinkType:cGe,symlinkTypeSync:uGe}});var n5=f((gEe,t5)=>{"use strict";var lGe=fe().fromCallback,PU=require("path"),Sn=Ao(),jU=vn(),dGe=jU.mkdirs,gGe=jU.mkdirsSync,QU=OU(),fGe=QU.symlinkPaths,IGe=QU.symlinkPathsSync,$U=zU(),pGe=$U.symlinkType,mGe=$U.symlinkTypeSync,hGe=pi().pathExists,{areIdentical:e5}=Bo();function CGe(e,t,n,r){r=typeof n=="function"?n:r,n=typeof n=="function"?!1:n,Sn.lstat(t,(i,o)=>{!i&&o.isSymbolicLink()?Promise.all([Sn.stat(e),Sn.stat(t)]).then(([s,a])=>{if(e5(s,a))return r(null);qU(e,t,n,r)}):qU(e,t,n,r)})}function qU(e,t,n,r){fGe(e,t,(i,o)=>{if(i)return r(i);e=o.toDst,pGe(o.toCwd,n,(s,a)=>{if(s)return r(s);let c=PU.dirname(t);hGe(c,(u,l)=>{if(u)return r(u);if(l)return Sn.symlink(e,t,a,r);dGe(c,d=>{if(d)return r(d);Sn.symlink(e,t,a,r)})})})})}function bGe(e,t,n){let r;try{r=Sn.lstatSync(t)}catch{}if(r&&r.isSymbolicLink()){let a=Sn.statSync(e),c=Sn.statSync(t);if(e5(a,c))return}let i=IGe(e,t);e=i.toDst,n=mGe(i.toCwd,n);let o=PU.dirname(t);return Sn.existsSync(o)||gGe(o),Sn.symlinkSync(e,t,n)}t5.exports={createSymlink:lGe(CGe),createSymlinkSync:bGe}});var l5=f((fEe,u5)=>{"use strict";var{createFile:r5,createFileSync:i5}=XU(),{createLink:o5,createLinkSync:s5}=xU(),{createSymlink:a5,createSymlinkSync:c5}=n5();u5.exports={createFile:r5,createFileSync:i5,ensureFile:r5,ensureFileSync:i5,createLink:o5,createLinkSync:s5,ensureLink:o5,ensureLinkSync:s5,createSymlink:a5,createSymlinkSync:c5,ensureSymlink:a5,ensureSymlinkSync:c5}});var g5=f((IEe,d5)=>{"use strict";var Rp=eA();d5.exports={readJson:Rp.readFile,readJsonSync:Rp.readFileSync,writeJson:Rp.writeFile,writeJsonSync:Rp.writeFileSync}});var Wp=f((pEe,p5)=>{"use strict";var yGe=fe().fromCallback,gd=ne(),f5=require("path"),I5=vn(),AGe=pi().pathExists;function BGe(e,t,n,r){typeof n=="function"&&(r=n,n="utf8");let i=f5.dirname(e);AGe(i,(o,s)=>{if(o)return r(o);if(s)return gd.writeFile(e,t,n,r);I5.mkdirs(i,a=>{if(a)return r(a);gd.writeFile(e,t,n,r)})})}function GGe(e,...t){let n=f5.dirname(e);if(gd.existsSync(n))return gd.writeFileSync(e,...t);I5.mkdirsSync(n),gd.writeFileSync(e,...t)}p5.exports={outputFile:yGe(BGe),outputFileSync:GGe}});var h5=f((mEe,m5)=>{"use strict";var{stringify:ZGe}=_s(),{outputFile:vGe}=Wp();async function SGe(e,t,n={}){let r=ZGe(t,n);await vGe(e,r,n)}m5.exports=SGe});var b5=f((hEe,C5)=>{"use strict";var{stringify:RGe}=_s(),{outputFileSync:WGe}=Wp();function _Ge(e,t,n){let r=RGe(t,n);WGe(e,r,n)}C5.exports=_Ge});var A5=f((CEe,y5)=>{"use strict";var NGe=fe().fromPromise,At=g5();At.outputJson=NGe(h5());At.outputJsonSync=b5();At.outputJSON=At.outputJson;At.outputJSONSync=At.outputJsonSync;At.writeJSON=At.writeJson;At.writeJSONSync=At.writeJsonSync;At.readJSON=At.readJson;At.readJSONSync=At.readJsonSync;y5.exports=At});var S5=f((bEe,v5)=>{"use strict";var VGe=ne(),AZ=require("path"),EGe=Gp().copy,Z5=ld().remove,HGe=vn().mkdirp,wGe=pi().pathExists,B5=Bo();function YGe(e,t,n,r){typeof n=="function"&&(r=n,n={}),n=n||{};let i=n.overwrite||n.clobber||!1;B5.checkPaths(e,t,"move",n,(o,s)=>{if(o)return r(o);let{srcStat:a,isChangingCase:c=!1}=s;B5.checkParentPaths(e,a,t,"move",u=>{if(u)return r(u);if(FGe(t))return G5(e,t,i,c,r);HGe(AZ.dirname(t),l=>l?r(l):G5(e,t,i,c,r))})})}function FGe(e){let t=AZ.dirname(e);return AZ.parse(t).root===t}function G5(e,t,n,r,i){if(r)return yZ(e,t,n,i);if(n)return Z5(t,o=>o?i(o):yZ(e,t,n,i));wGe(t,(o,s)=>o?i(o):s?i(new Error("dest already exists.")):yZ(e,t,n,i))}function yZ(e,t,n,r){VGe.rename(e,t,i=>i?i.code!=="EXDEV"?r(i):TGe(e,t,n,r):r())}function TGe(e,t,n,r){EGe(e,t,{overwrite:n,errorOnExist:!0},o=>o?r(o):Z5(e,r))}v5.exports=YGe});var V5=f((yEe,N5)=>{"use strict";var W5=ne(),GZ=require("path"),XGe=Gp().copySync,_5=ld().removeSync,kGe=vn().mkdirpSync,R5=Bo();function KGe(e,t,n){n=n||{};let r=n.overwrite||n.clobber||!1,{srcStat:i,isChangingCase:o=!1}=R5.checkPathsSync(e,t,"move",n);return R5.checkParentPathsSync(e,i,t,"move"),LGe(t)||kGe(GZ.dirname(t)),UGe(e,t,r,o)}function LGe(e){let t=GZ.dirname(e);return GZ.parse(t).root===t}function UGe(e,t,n,r){if(r)return BZ(e,t,n);if(n)return _5(t),BZ(e,t,n);if(W5.existsSync(t))throw new Error("dest already exists.");return BZ(e,t,n)}function BZ(e,t,n){try{W5.renameSync(e,t)}catch(r){if(r.code!=="EXDEV")throw r;return xGe(e,t,n)}}function xGe(e,t,n){return XGe(e,t,{overwrite:n,errorOnExist:!0}),_5(e)}N5.exports=KGe});var H5=f((AEe,E5)=>{"use strict";var JGe=fe().fromCallback;E5.exports={move:JGe(S5()),moveSync:V5()}});var Y5=f((BEe,w5)=>{"use strict";w5.exports={...Ao(),...Gp(),...wU(),...l5(),...A5(),...vn(),...H5(),...Wp(),...pi(),...ld()}});var T5=f(vZ=>{"use strict";Object.defineProperty(vZ,"__esModule",{value:!0});var F5=require("path"),ZZ=class{constructor(t){this.buffer="",this.filePath=t}write(t){this.buffer+=t}async save(t){let n=Y5(),r=F5.join(t,this.filePath);return await n.mkdirs(F5.dirname(r)),await n.writeFile(r,this.buffer),r}};vZ.default=ZZ});var X5=f(_p=>{"use strict";Object.defineProperty(_p,"__esModule",{value:!0});_p.CodeMaker=void 0;var OGe=require("util"),SZ=gZ(),MGe=T5(),RZ=class{constructor({indentationLevel:t=4,indentCharacter:n=" "}={}){this.currIndent=0,this.files=new Array,this.excludes=new Array,this.openBlockFormatter=r=>`${r} {`,this.closeBlockFormatter=()=>"}",this.indentation=t,this.indentCharacter=n}get currentIndentLength(){return this.currIndent*this.indentation}async save(t){let n=this.files.filter(r=>!this.excludes.includes(r.filePath)).map(r=>r.save(t));return(await Promise.all(n)).sort()}openFile(t){if(this.currentFile)throw new Error(`Cannot open file ${t} without closing the previous file ${this.currentFile.filePath}`);this.currentFile=new MGe.default(t)}closeFile(t){if(!this.currentFile)throw new Error(`Cannot close file ${t}. It was never opened`);if(this.currentFile.filePath!==t)throw new Error(`Cannot close file ${t}. The currently opened file is ${this.currentFile.filePath}`);this.files.push(this.currentFile),this.currentFile=void 0}line(t,...n){if(!this.currentFile)throw new Error("Cannot emit source lines without opening a file");t&&(t=this.makeIndent()+t,this.currentFile.write(OGe.format(t,...n))),this.currentFile.write(`
65
65
  `)}indent(t){this.open(t)}unindent(t){this.close(t)}open(t){this.line(t),this.currIndent++}close(t){this.currIndent--,t!==!1&&this.line(t)}openBlock(t){this.open(this.openBlockFormatter(t))}closeBlock(t){this.close(this.closeBlockFormatter(t))}exclude(t){this.excludes.push(t)}toCamelCase(...t){return SZ.toCamelCase(...t)}toPascalCase(...t){return SZ.toPascalCase(...t)}toSnakeCase(t,n="_"){return SZ.toSnakeCase(t,n)}getCurrentFilePath(){var t;return(t=this.currentFile)==null?void 0:t.filePath}makeIndent(){let t=this.currentIndentLength;return t<=0?"":this.indentCharacter.repeat(t)}};_p.CodeMaker=RZ});var K5=f(bi=>{"use strict";var DGe=bi&&bi.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),k5=bi&&bi.__exportStar||function(e,t){for(var n in e)n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n)&&DGe(t,e,n)};Object.defineProperty(bi,"__esModule",{value:!0});k5(X5(),bi);k5(gZ(),bi)});var Hp=f(Ie=>{"use strict";var zGe=Ie&&Ie.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),qGe=Ie&&Ie.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),x5=Ie&&Ie.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&zGe(t,e,n);return qGe(t,e),t};Object.defineProperty(Ie,"__esModule",{value:!0});Ie.logTimespan=Ie.shouldCheckCodeMakerOutput=Ie.readConfigSync=Ie.parseConfig=Ie.TerraformProviderConstraint=Ie.TerraformModuleConstraint=Ie.isLocalModule=Ie.CONFIG_DEFAULTS=Ie.LANGUAGES=Ie.Language=void 0;var L5=x5(Co()),J5=x5(require("path")),U5=Zo(),PGe=lZ(),jGe=require("process"),QGe=K5(),Go;(function(e){e.TYPESCRIPT="typescript",e.PYTHON="python",e.CSHARP="csharp",e.JAVA="java",e.GO="go"})(Go||(Ie.Language=Go={}));Ie.LANGUAGES=[Go.TYPESCRIPT,Go.PYTHON,Go.JAVA,Go.CSHARP,Go.GO];var $Ge="CDKTF_CONTEXT_JSON",eZe="cdktf.json";Ie.CONFIG_DEFAULTS={output:"cdktf.out",codeMakerOutput:".gen"};function Np(e){return Array.isArray(e)&&e.length>0}function WZ(e){return e.match(/^(\.\/|\.\.\/|\.\\\\|\.\.\\\\)(.*)/)}function tZe(e){return WZ(e)!==null}Ie.isLocalModule=tZe;var Vp=class{constructor(t){if(typeof t=="string"){let r=this.parseDependencyConstraint(t);this.name=r.name,this.source=r.source,this.fqn=r.fqn,this.version=r.version,this.namespace=r.namespace}else this.source=t.source,this.name=t.name,this.fqn=t.name,this.version=t.version,this.namespace=t.namespace;WZ(this.source)&&(this.localSourceAbsolutePath=J5.join(process.cwd(),this.source))}get className(){return(0,QGe.toPascalCase)(this.name.replace(/[-/.]/g,"_"))}get fileName(){return this.namespace?`${this.namespace}/${this.name}`:this.name}parseDependencyConstraint(t){var n,r,i;let o=WZ(t);if(o){let Y=o[2],j=Y.split("/"),Q=(n=j.pop())!==null&&n!==void 0?n:Y,S=j.pop();return{name:Q,fqn:Y,source:t,namespace:S}}let[s,a]=t.split("@"),c=s.split("//");if((0,PGe.isRegistryModule)(c[0])){let Y=c[0].split("/"),j=Y.pop(),Q=(r=Y.pop())!==null&&r!==void 0?r:s,S=`${Y.pop()}/${j}`;if(c.length>1){let U=c[1].split("/"),O=U.pop();S=`${S}/${Q}/${U.join("/")}`,Q=O??Q}return{name:Q,source:s,version:a,namespace:S,fqn:s.replace("//","/").replace(/\./g,"-")}}let u=t,l=u.match(/^([a-zA-Z0-9]*)::(.*)/);l&&(u=l[2]);let d=u.match(/^([a-zA-Z]*):\/\/(.*)/);d&&(u=d[2]),u=(i=u.split(":").pop())!==null&&i!==void 0?i:u;let I=u.match(/^[\d]*(.*)/);I&&(u=I[1]);let m=u.match(/[^/]*\.[^/]*\/(.*)/);m&&(u=m[1]);let C=u.match(/(.*)\?.*/);C&&(u=C[1]),u=u.replace(/\.git|\.hg|\.zip/,""),c=u.split("//");let b=c[0].split("/"),v=b.pop(),E=b.pop();if(!v)throw new Error(`Module name should be properly set in ${t}`);if(c.length>1){let Y=c[1].split("/"),j=Y.pop();E?E=`${E}/${v}/${Y.join("/")}`:E=`${v}/${Y.join("/")}`,v=j??v}return{name:v,source:t,fqn:u.replace("//","/"),namespace:E}}};Ie.TerraformModuleConstraint=Vp;var Ep=class{constructor(t){if(typeof t=="string"){let n=this.parseDependencyConstraint(t);this.name=n.name,this.fqn=n.fqn,this.source=n.fqn,this.version=n.version,this.namespace=n.namespace}else this.name=t.name,this.fqn=t.name,this.version=t.version,this.source=t.source,this.namespace=t.namespace}parseDependencyConstraint(t){let[n,r]=t.split("@"),i=n.split("/"),o=i.pop(),s=i.pop();if(!o)throw new Error(`Provider name should be properly set in ${t}`);return{name:o,source:n,version:r==="*"?void 0:r,fqn:n,namespace:s}}};Ie.TerraformProviderConstraint=Ep;var nZe=e=>{var t,n;let r={...Ie.CONFIG_DEFAULTS,...JSON.parse(e||"{}")};return Np(r.terraformModules)&&(r.terraformModules=(t=r.terraformModules)===null||t===void 0?void 0:t.map(i=>new Vp(i))),Np(r.terraformProviders)&&(r.terraformProviders=(n=r.terraformProviders)===null||n===void 0?void 0:n.map(i=>new Ep(i))),r.context&&(jGe.env[$Ge]=JSON.stringify(r.context)),r};Ie.parseConfig=nZe;function rZe(e=J5.join(process.cwd(),eZe)){let t;return L5.existsSync(e)&&(t=L5.readFileSync(e).toString()),(0,Ie.parseConfig)(t)}Ie.readConfigSync=rZe;function iZe(e){return Np(e.terraformModules)||Np(e.terraformProviders)}Ie.shouldCheckCodeMakerOutput=iZe;function oZe(e){U5.logger.debug(`Start timer for ${e}...`);let t=Date.now();return function(){let i=Date.now()-t;U5.logger.debug(`${e} took ${i}ms`)}}Ie.logTimespan=oZe});var M5=f((REe,O5)=>{"use strict";O5.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var z5=f((WEe,D5)=>{"use strict";var sZe=M5();D5.exports=e=>typeof e=="string"?e.replace(sZe(),""):e});var Os=f(se=>{"use strict";var aZe=se&&se.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),cZe=se&&se.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),Fp=se&&se.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&aZe(t,e,n);return cZe(t,e),t},uZe=se&&se.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(se,"__esModule",{value:!0});se.hasNoColorFlagOrEnv=se.ensureAllSettledBeforeThrowing=se.downloadFile=se.HttpError=se.downcaseFirst=se.readCDKTFManifest=se.readCDKTFVersion=se.exec=se.mkdtemp=se.withTempDir=se.shell=void 0;var lZe=B9(),Rn=Fp(Co()),q5=_9(),P5=Fp(require("os")),Id=Fp(require("path")),wp=Zo(),dZe=require("cdktn"),gZe=Fp(Hp()),fd=uZe(z5());function fZe(e,t,n){e.stderr=t,e.stdout=n;let r=[t,n].filter(Boolean).join(`
66
66
  `);if(r){let i=e.message;e.toString=()=>`Error: ${i}
67
- ${r}`}}async function IZe(e,t=[],n={}){return(0,se.exec)(e,t,n,r=>{let i=n.noColor?(0,fd.default)(r.toLocaleString()):r.toLocaleString();console.log(i)},()=>{})}se.shell=IZe;async function pZe(e,t){let n=process.cwd(),r=await Rn.mkdtemp(Id.join(P5.tmpdir(),"cdktf.")),i=Id.join(r,e);await Rn.mkdirp(i);try{process.chdir(i),await t()}finally{process.chdir(n),await Rn.remove(r)}}se.withTempDir=pZe;async function mZe(e){let t=await Rn.mkdtemp(Id.join(P5.tmpdir(),"cdktf."));try{await e(t)}finally{await Rn.remove(t)}}se.mkdtemp=mZe;var hZe=async(e,t,n,r,i,o=!0)=>(typeof n.noColor!="boolean"&&j5()&&(n.noColor=!0),new Promise((s,a)=>{var c,u,l,d;let g=(0,lZe.spawn)(e,t,n),I=new Array,m=new Array;r!==void 0?(c=g.stdout)===null||c===void 0||c.on("data",C=>{let b=n.noColor?(0,fd.default)(C.toLocaleString()):C.toLocaleString();(0,wp.processLoggerDebug)(b),I.push(b),r(b)}):(u=g.stdout)===null||u===void 0||u.on("data",C=>{let b=n.noColor?(0,fd.default)(C.toLocaleString()):C.toLocaleString();(0,wp.processLoggerDebug)(b),I.push(b)}),i!==void 0?(l=g.stderr)===null||l===void 0||l.on("data",C=>{let b=n.noColor?(0,fd.default)(C.toLocaleString()):C.toLocaleString();(0,wp.processLoggerError)(b),o&&i(b),m.push(b)}):(d=g.stderr)===null||d===void 0||d.on("data",C=>{let b=n.noColor?(0,fd.default)(C.toLocaleString()):C.toLocaleString();(0,wp.processLoggerError)(b),o&&process.stderr.write(b),m.push(b)}),g.once("error",C=>a(C)),g.once("close",C=>{if(C!==0){let b=new Error(`${e} ${t.join(" ")} exited with code ${C}`);return fZe(b,m.join(""),I.join("")),a(b)}return s(I.join(""))})}));se.exec=hZe;async function CZe(e){let t=Id.join(e,"cdk.tf.json");if(Rn.existsSync(t)){let n=Rn.readFileSync(t,"utf8");return JSON.parse(n)["//"].metadata.version}return""}se.readCDKTFVersion=CZe;async function bZe(){let{output:e}=gZe.readConfigSync(),t=await Rn.readFile(Id.join(e,dZe.Manifest.fileName));return JSON.parse(t.toString())}se.readCDKTFManifest=bZe;function yZe(e){return e===""?e:`${e[0].toLocaleLowerCase()}${e.slice(1)}`}se.downcaseFirst=yZe;var Yp=class extends Error{constructor(t,n){super(t),this.statusCode=n,Object.setPrototypeOf(this,new.target.prototype)}};se.HttpError=Yp;async function AZe(e,t){let n=e.startsWith("http://")?q5.http:q5.https,r=Rn.createWriteStream(t);return new Promise((i,o)=>{let s=n.get(e,a=>{if(a.statusCode!==200){o(new Yp(`Failed to get '${e}' (${a.statusCode})`,a.statusCode));return}a.pipe(r)});r.on("finish",()=>i()),s.on("error",a=>{Rn.unlink(t,()=>o(a))}),r.on("error",a=>{Rn.unlink(t,()=>o(a))}),s.end()})}se.downloadFile=AZe;async function BZe(e,t){try{await e}catch(n){throw await Promise.allSettled(t),n}}se.ensureAllSettledBeforeThrowing=BZe;function j5(){return GZe("no-color")||process.env.FORCE_COLOR==="0"}se.hasNoColorFlagOrEnv=j5;function GZe(e){let t=e.startsWith("-")?"":e.length===1?"-":"--",n=process.argv.indexOf(t+e),r=process.argv.indexOf("--");return n!==-1&&(r===-1||n<r)}});var Zo=f(dt=>{"use strict";var ZZe=dt&&dt.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),vZe=dt&&dt.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),NZ=dt&&dt.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&ZZe(t,e,n);return vZe(t,e),t};Object.defineProperty(dt,"__esModule",{value:!0});dt.logFileName=dt.processLoggerError=dt.processLoggerDebug=dt.logger=void 0;var _Z=jT(),Q5=NZ(Co()),SZe=NZ(require("path")),Ms=NZ(SI()),RZe=Os(),Nr=(0,_Z.getLogger)(),VZ={trace(e,...t){Nr.trace(e,...t),Ms.addBreadcrumb({message:e,level:"debug"})},debug(e,...t){Nr.debug(e,...t),Ms.addBreadcrumb({message:e,level:"debug"})},info(e,...t){Nr.info(e,...t),Ms.addBreadcrumb({message:e,level:"info"})},warn(e,...t){Nr.warn(e,...t),Ms.addBreadcrumb({message:e,level:"warning"})},error(e,...t){Nr.error(e,...t),Ms.addBreadcrumb({message:e,level:"error"})},fatal(e,...t){Nr.fatal(e,...t),Ms.addBreadcrumb({message:e,level:"fatal"})},setLevel(e){Nr.level=e},useDefaultLevel(){Nr.level=process.env.CDKTF_LOG_LEVEL||"INFO"}};dt.logger=VZ;Nr.level=process.env.CDKTF_LOG_LEVEL||"INFO";var $5="cdktf.log";dt.logFileName=$5;if(process.env.CDKTF_LOG_FILE_DIRECTORY&&Q5.existsSync(process.env.CDKTF_LOG_FILE_DIRECTORY)&&Q5.statSync(process.env.CDKTF_LOG_FILE_DIRECTORY).isDirectory())(0,_Z.configure)({appenders:{cdktf:{type:"file",filename:SZe.join(process.env.CDKTF_LOG_FILE_DIRECTORY,$5)}},categories:{default:{appenders:["cdktf"],level:"debug"}}});else{let e=(0,RZe.hasNoColorFlagOrEnv)()?"basic":"colored";(0,_Z.configure)({appenders:{out:{type:"stdout",layout:{type:e}}},categories:{default:{appenders:["out"],level:"info"}}})}var WZe=e=>{VZ.debug(e.toString())};dt.processLoggerDebug=WZe;var _Ze=e=>{VZ.error(e.toString())};dt.processLoggerError=_Ze});var ex=f((VEe,NZe)=>{NZe.exports={name:"@cdktn/commons",version:"0.24.0-pre.29",publishConfig:{access:"public"},description:"CDK Terrain Common utilities",scripts:{build:"tsc",watch:"tsc -w","watch-preserve-output":"tsc -w --preserveWatchOutput","test:update":"jest -u",package:"./package.sh","dist-clean":"rm -rf dist","package:js":"./package.sh"},main:"build/index.js",types:"build/index.d.ts",nx:{tags:["unit-test"]},repository:{type:"git",url:"git://github.com/open-constructs/cdk-terrain.git",directory:"packages/@cdktn/commons"},author:{name:"OpenConstructs",url:"https://github.com/open-constructs"},keywords:["cdk","cdktf","cdktn","terraform"],license:"MPL-2.0",dependencies:{"@sentry/node":"7.120.4",cdktn:"0.24.0-pre.29","ci-info":"3.9.0",codemaker:"1.128.0","cross-spawn":"7.0.6","follow-redirects":"1.15.11","fs-extra":"11.3.4",log4js:"6.9.1","strip-ansi":"6.0.1",uuid:"9.0.1",validator:"13.15.35"},devDependencies:{"@types/follow-redirects":"1.14.4","@types/fs-extra":"11.0.4","@types/uuid":"9.0.8","@types/validator":"13.15.10","tsc-files":"1.1.4",typescript:"5.4.5"},"lint-staged":{"src/**/*.{ts,tsx}":"tsc-files ambient.d.ts --noEmit"}}});var pd=f(Tp=>{"use strict";Object.defineProperty(Tp,"__esModule",{value:!0});Tp.DISPLAY_VERSION=void 0;Tp.DISPLAY_VERSION=`${VZe()}`;function VZe(){return ex().version.replace(/\+[0-9a-f]+$/,"")}});var HZ=f(Pe=>{"use strict";var EZe=Pe&&Pe.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),HZe=Pe&&Pe.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),Kp=Pe&&Pe.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&EZe(t,e,n);return HZe(t,e),t},wZe=Pe&&Pe.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Pe,"__esModule",{value:!0});Pe.ReportRequest=Pe.getUserId=Pe.getProjectId=Pe.sendTelemetry=void 0;var YZe=Kp(require("https")),FZe=require("url"),rx=(VY(),OO(NY)),kp=Kp(require("os")),tx=wZe(YY()),EZ=Zo(),md=Kp(require("path")),Xp=Kp(Co()),TZe=pd(),XZe="https://checkpoint-api.hashicorp.com/v1/",kZe=[200,201],nx=8192;function KZe(){var e;return process.env.CDKTF_HOME?md.resolve(process.env.CDKTF_HOME):md.join(((e=kp.userInfo().homedir)!==null&&e!==void 0?e:kp.homedir()).trim()||"/",".cdktf")}async function LZe(e,t){return new Promise((n,r)=>{let i=YZe.request((0,FZe.format)(e),{headers:{Accept:"application/json","Content-Length":t.length,"User-Agent":"OpenConstructs/cdktn-cli"},method:"POST"},o=>{if(o.statusCode){let a=o.statusCode;if(!kZe.includes(a))return r(new Error(o.statusMessage))}let s=new Array;o.on("data",a=>s.push(a)),o.on("error",a=>r(a)),o.on("end",()=>n())});i.setTimeout(1e3,()=>r(new Error("request timeout"))),i.write(t),i.end(),i.on("error",o=>r(o))})}async function UZe(e,t){let n={command:e,product:"cdktn",version:`${TZe.DISPLAY_VERSION}`,dateTime:new Date,language:t.language,payload:t};try{await ax(n)}catch(r){EZ.logger.error(`Could not send telemetry data: ${r}`)}}Pe.sendTelemetry=UZe;function ix(e,t,n=!1,r){let i=(0,rx.v4)(),o;try{o=JSON.parse(Xp.readFileSync(e,"utf-8"))}catch{if(n){let a={};r&&(a["//"]=r.replace(/\n/g," ")),a[t]=i,Xp.ensureDirSync(md.dirname(e)),Xp.writeFileSync(e,JSON.stringify(a,null,2))}return i}return o[t]?o[t]:(Xp.writeFileSync(e,JSON.stringify({...o,[t]:i},null,2)),i)}function ox(e=process.cwd()){return ix(md.resolve(e,"cdktf.json"),"projectId")}Pe.getProjectId=ox;function sx(){return ix(md.resolve(KZe(),"config.json"),"userId",!0,`This signature is a randomly generated UUID used to anonymously differentiate users in telemetry data order to inform product direction.
67
+ ${r}`}}async function IZe(e,t=[],n={}){return(0,se.exec)(e,t,n,r=>{let i=n.noColor?(0,fd.default)(r.toLocaleString()):r.toLocaleString();console.log(i)},()=>{})}se.shell=IZe;async function pZe(e,t){let n=process.cwd(),r=await Rn.mkdtemp(Id.join(P5.tmpdir(),"cdktf.")),i=Id.join(r,e);await Rn.mkdirp(i);try{process.chdir(i),await t()}finally{process.chdir(n),await Rn.remove(r)}}se.withTempDir=pZe;async function mZe(e){let t=await Rn.mkdtemp(Id.join(P5.tmpdir(),"cdktf."));try{await e(t)}finally{await Rn.remove(t)}}se.mkdtemp=mZe;var hZe=async(e,t,n,r,i,o=!0)=>(typeof n.noColor!="boolean"&&j5()&&(n.noColor=!0),new Promise((s,a)=>{var c,u,l,d;let g=(0,lZe.spawn)(e,t,n),I=new Array,m=new Array;r!==void 0?(c=g.stdout)===null||c===void 0||c.on("data",C=>{let b=n.noColor?(0,fd.default)(C.toLocaleString()):C.toLocaleString();(0,wp.processLoggerDebug)(b),I.push(b),r(b)}):(u=g.stdout)===null||u===void 0||u.on("data",C=>{let b=n.noColor?(0,fd.default)(C.toLocaleString()):C.toLocaleString();(0,wp.processLoggerDebug)(b),I.push(b)}),i!==void 0?(l=g.stderr)===null||l===void 0||l.on("data",C=>{let b=n.noColor?(0,fd.default)(C.toLocaleString()):C.toLocaleString();(0,wp.processLoggerError)(b),o&&i(b),m.push(b)}):(d=g.stderr)===null||d===void 0||d.on("data",C=>{let b=n.noColor?(0,fd.default)(C.toLocaleString()):C.toLocaleString();(0,wp.processLoggerError)(b),o&&process.stderr.write(b),m.push(b)}),g.once("error",C=>a(C)),g.once("close",C=>{if(C!==0){let b=new Error(`${e} ${t.join(" ")} exited with code ${C}`);return fZe(b,m.join(""),I.join("")),a(b)}return s(I.join(""))})}));se.exec=hZe;async function CZe(e){let t=Id.join(e,"cdk.tf.json");if(Rn.existsSync(t)){let n=Rn.readFileSync(t,"utf8");return JSON.parse(n)["//"].metadata.version}return""}se.readCDKTFVersion=CZe;async function bZe(){let{output:e}=gZe.readConfigSync(),t=await Rn.readFile(Id.join(e,dZe.Manifest.fileName));return JSON.parse(t.toString())}se.readCDKTFManifest=bZe;function yZe(e){return e===""?e:`${e[0].toLocaleLowerCase()}${e.slice(1)}`}se.downcaseFirst=yZe;var Yp=class extends Error{constructor(t,n){super(t),this.statusCode=n,Object.setPrototypeOf(this,new.target.prototype)}};se.HttpError=Yp;async function AZe(e,t){let n=e.startsWith("http://")?q5.http:q5.https,r=Rn.createWriteStream(t);return new Promise((i,o)=>{let s=n.get(e,a=>{if(a.statusCode!==200){o(new Yp(`Failed to get '${e}' (${a.statusCode})`,a.statusCode));return}a.pipe(r)});r.on("finish",()=>i()),s.on("error",a=>{Rn.unlink(t,()=>o(a))}),r.on("error",a=>{Rn.unlink(t,()=>o(a))}),s.end()})}se.downloadFile=AZe;async function BZe(e,t){try{await e}catch(n){throw await Promise.allSettled(t),n}}se.ensureAllSettledBeforeThrowing=BZe;function j5(){return GZe("no-color")||process.env.FORCE_COLOR==="0"}se.hasNoColorFlagOrEnv=j5;function GZe(e){let t=e.startsWith("-")?"":e.length===1?"-":"--",n=process.argv.indexOf(t+e),r=process.argv.indexOf("--");return n!==-1&&(r===-1||n<r)}});var Zo=f(dt=>{"use strict";var ZZe=dt&&dt.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),vZe=dt&&dt.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),NZ=dt&&dt.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&ZZe(t,e,n);return vZe(t,e),t};Object.defineProperty(dt,"__esModule",{value:!0});dt.logFileName=dt.processLoggerError=dt.processLoggerDebug=dt.logger=void 0;var _Z=jT(),Q5=NZ(Co()),SZe=NZ(require("path")),Ms=NZ(SI()),RZe=Os(),Nr=(0,_Z.getLogger)(),VZ={trace(e,...t){Nr.trace(e,...t),Ms.addBreadcrumb({message:e,level:"debug"})},debug(e,...t){Nr.debug(e,...t),Ms.addBreadcrumb({message:e,level:"debug"})},info(e,...t){Nr.info(e,...t),Ms.addBreadcrumb({message:e,level:"info"})},warn(e,...t){Nr.warn(e,...t),Ms.addBreadcrumb({message:e,level:"warning"})},error(e,...t){Nr.error(e,...t),Ms.addBreadcrumb({message:e,level:"error"})},fatal(e,...t){Nr.fatal(e,...t),Ms.addBreadcrumb({message:e,level:"fatal"})},setLevel(e){Nr.level=e},useDefaultLevel(){Nr.level=process.env.CDKTF_LOG_LEVEL||"INFO"}};dt.logger=VZ;Nr.level=process.env.CDKTF_LOG_LEVEL||"INFO";var $5="cdktf.log";dt.logFileName=$5;if(process.env.CDKTF_LOG_FILE_DIRECTORY&&Q5.existsSync(process.env.CDKTF_LOG_FILE_DIRECTORY)&&Q5.statSync(process.env.CDKTF_LOG_FILE_DIRECTORY).isDirectory())(0,_Z.configure)({appenders:{cdktf:{type:"file",filename:SZe.join(process.env.CDKTF_LOG_FILE_DIRECTORY,$5)}},categories:{default:{appenders:["cdktf"],level:"debug"}}});else{let e=(0,RZe.hasNoColorFlagOrEnv)()?"basic":"colored";(0,_Z.configure)({appenders:{out:{type:"stdout",layout:{type:e}}},categories:{default:{appenders:["out"],level:"info"}}})}var WZe=e=>{VZ.debug(e.toString())};dt.processLoggerDebug=WZe;var _Ze=e=>{VZ.error(e.toString())};dt.processLoggerError=_Ze});var ex=f((VEe,NZe)=>{NZe.exports={name:"@cdktn/commons",version:"0.24.0-pre.30",publishConfig:{access:"public"},description:"CDK Terrain Common utilities",scripts:{build:"tsc",watch:"tsc -w","watch-preserve-output":"tsc -w --preserveWatchOutput","test:update":"jest -u",package:"./package.sh","dist-clean":"rm -rf dist","package:js":"./package.sh"},main:"build/index.js",types:"build/index.d.ts",nx:{tags:["unit-test"]},repository:{type:"git",url:"git://github.com/open-constructs/cdk-terrain.git",directory:"packages/@cdktn/commons"},author:{name:"OpenConstructs",url:"https://github.com/open-constructs"},keywords:["cdk","cdktf","cdktn","terraform"],license:"MPL-2.0",dependencies:{"@sentry/node":"7.120.4",cdktn:"0.24.0-pre.30","ci-info":"3.9.0",codemaker:"1.128.0","cross-spawn":"7.0.6","follow-redirects":"1.15.11","fs-extra":"11.3.4",log4js:"6.9.1","strip-ansi":"6.0.1",uuid:"9.0.1",validator:"13.15.35"},devDependencies:{"@types/follow-redirects":"1.14.4","@types/fs-extra":"11.0.4","@types/uuid":"9.0.8","@types/validator":"13.15.10","tsc-files":"1.1.4",typescript:"5.4.5"},"lint-staged":{"src/**/*.{ts,tsx}":"tsc-files ambient.d.ts --noEmit"}}});var pd=f(Tp=>{"use strict";Object.defineProperty(Tp,"__esModule",{value:!0});Tp.DISPLAY_VERSION=void 0;Tp.DISPLAY_VERSION=`${VZe()}`;function VZe(){return ex().version.replace(/\+[0-9a-f]+$/,"")}});var HZ=f(Pe=>{"use strict";var EZe=Pe&&Pe.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),HZe=Pe&&Pe.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),Kp=Pe&&Pe.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&EZe(t,e,n);return HZe(t,e),t},wZe=Pe&&Pe.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Pe,"__esModule",{value:!0});Pe.ReportRequest=Pe.getUserId=Pe.getProjectId=Pe.sendTelemetry=void 0;var YZe=Kp(require("https")),FZe=require("url"),rx=(VY(),OO(NY)),kp=Kp(require("os")),tx=wZe(YY()),EZ=Zo(),md=Kp(require("path")),Xp=Kp(Co()),TZe=pd(),XZe="https://checkpoint-api.hashicorp.com/v1/",kZe=[200,201],nx=8192;function KZe(){var e;return process.env.CDKTF_HOME?md.resolve(process.env.CDKTF_HOME):md.join(((e=kp.userInfo().homedir)!==null&&e!==void 0?e:kp.homedir()).trim()||"/",".cdktf")}async function LZe(e,t){return new Promise((n,r)=>{let i=YZe.request((0,FZe.format)(e),{headers:{Accept:"application/json","Content-Length":t.length,"User-Agent":"OpenConstructs/cdktn-cli"},method:"POST"},o=>{if(o.statusCode){let a=o.statusCode;if(!kZe.includes(a))return r(new Error(o.statusMessage))}let s=new Array;o.on("data",a=>s.push(a)),o.on("error",a=>r(a)),o.on("end",()=>n())});i.setTimeout(1e3,()=>r(new Error("request timeout"))),i.write(t),i.end(),i.on("error",o=>r(o))})}async function UZe(e,t){let n={command:e,product:"cdktn",version:`${TZe.DISPLAY_VERSION}`,dateTime:new Date,language:t.language,payload:t};try{await ax(n)}catch(r){EZ.logger.error(`Could not send telemetry data: ${r}`)}}Pe.sendTelemetry=UZe;function ix(e,t,n=!1,r){let i=(0,rx.v4)(),o;try{o=JSON.parse(Xp.readFileSync(e,"utf-8"))}catch{if(n){let a={};r&&(a["//"]=r.replace(/\n/g," ")),a[t]=i,Xp.ensureDirSync(md.dirname(e)),Xp.writeFileSync(e,JSON.stringify(a,null,2))}return i}return o[t]?o[t]:(Xp.writeFileSync(e,JSON.stringify({...o,[t]:i},null,2)),i)}function ox(e=process.cwd()){return ix(md.resolve(e,"cdktf.json"),"projectId")}Pe.getProjectId=ox;function sx(){return ix(md.resolve(KZe(),"config.json"),"userId",!0,`This signature is a randomly generated UUID used to anonymously differentiate users in telemetry data order to inform product direction.
68
68
  This signature is random, it is not based on any personally identifiable information.
69
69
  To create a new signature, you can simply delete this file at any time.
70
- See https://cdk.tf/telemetry for more
71
- information on how to disable it.`)}Pe.getUserId=sx;async function ax(e){if(process.env.CHECKPOINT_DISABLE)return;e.runID||(e.runID=(0,rx.v4)()),e.dateTime||(e.dateTime=new Date),e.arch||(e.arch=kp.arch()),e.os||(e.os=kp.platform());let t=tx.default.isCI?tx.default.name||"unknown":!1;!e.userId&&!t&&(e.userId=sx()),t&&(e.ci=t),e.projectId=e.projectId||ox();let n=JSON.stringify(e);if(n.length>nx){EZ.logger.warn(`Skipped sending telemetry as the request body size was ${n.length} bytes. The limit is ${nx} bytes`);return}try{await LZe(`${XZe}telemetry/${e.product}`,n)}catch(r){(0,EZ.processLoggerError)(r.message)}}Pe.ReportRequest=ax});var cx=f(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.ConstructsMakerProviderTarget=yi.ConstructsMakerModuleTarget=yi.ConstructsMakerTarget=void 0;var nr=Hp(),hd=class{constructor(t,n){this.constraint=t,this.targetLanguage=n,this.constraint instanceof nr.TerraformModuleConstraint?this.fileName=`${this.typesPath(this.constraint.fileName)}.ts`:this.fileName=`${this.typesPath(this.constraint.name)}.ts`}static from(t,n){return t instanceof nr.TerraformModuleConstraint?new Lp(t,n):new Up(t,n)}get version(){return this.constraint.version}get source(){return this.constraint.source}get name(){return this.constraint.name}get fqn(){return this.constraint.fqn}get namespace(){return this.constraint.namespace}get moduleKey(){return this.fqn.replace(/\//gi,"_")}};yi.ConstructsMakerTarget=hd;var Lp=class extends hd{get isModule(){return!0}get isProvider(){return!1}get srcMakName(){switch(this.targetLanguage){case nr.Language.GO:return this.name.replace(/-/gi,"_");case nr.Language.JAVA:case nr.Language.CSHARP:case nr.Language.PYTHON:return this.simplifiedFqn;default:return this.simplifiedName}}get trackingPayload(){return{name:this.name,fullName:this.fqn,version:this.version,type:"module"}}typesPath(t){return`modules/${t}`}get simplifiedName(){var t,n;return(n=(t=this.namespace)===null||t===void 0?void 0:t.replace(/\//gi,".").replace(/-/gi,"_"))!==null&&n!==void 0?n:this.name}get simplifiedFqn(){return this.fqn.replace(/\//gi,".").replace(/-/gi,"_")}};yi.ConstructsMakerModuleTarget=Lp;var Up=class extends hd{get isModule(){return!1}get isProvider(){return!0}get srcMakName(){switch(this.targetLanguage){case nr.Language.JAVA:return this.isNullProvider?"nullprovider":this.simplifiedName;case nr.Language.CSHARP:return this.isNullProvider?"Providers.Null":this.simplifiedName;case nr.Language.PYTHON:return this.simplifiedName;case nr.Language.GO:return this.name.replace(/-/gi,"_");default:return this.constraint.fqn}}get trackingPayload(){return{name:this.name,fullName:this.source,version:this.version,type:"provider"}}typesPath(t){return`providers/${t}/index`}get isNullProvider(){return this.constraint.name==="null"}get simplifiedName(){return this.name.replace(/\//gi,".").replace(/-/gi,"_")}};yi.ConstructsMakerProviderTarget=Up});var YZ=f(fn=>{"use strict";var xZe=fn&&fn.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),JZe=fn&&fn.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),OZe=fn&&fn.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&xZe(t,e,n);return JZe(t,e),t};Object.defineProperty(fn,"__esModule",{value:!0});fn.Errors=fn.IsErrorType=void 0;var MZe=HZ(),DZe=pd(),zZe=OZe(SI());async function qZe(e,t){let n={command:e,product:"cdktn",version:`${DZe.DISPLAY_VERSION}`,dateTime:new Date,payload:t};await(0,MZe.ReportRequest)(n)}function PZe(e,t){return e&&e.__type===t}fn.IsErrorType=PZe;function wZ(e,t){return(n,r=new Error,i)=>{qZe(t,{...i,message:n,type:e});let o=new Error(`${e} Error: ${n}`);return Object.entries(i||{}).forEach(([s,a])=>{o[s]=a}),o.__type=e,o.stack=r.stack,o}}var xp="unknown";fn.Errors={Internal:wZ("Internal",xp),Usage:wZ("Usage",xp),External:wZ("External",xp),setScope(e){xp=e,zZe.configureScope(t=>t.setTransactionName(e))}}});var FZ=f(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.terraformVersion=vo.terraformBinaryName=void 0;var jZe=YZ(),QZe=Os();vo.terraformBinaryName=process.env.TERRAFORM_BINARY_NAME||"terraform";vo.terraformVersion=(0,QZe.exec)(vo.terraformBinaryName,["version","-json"],{}).then(e=>JSON.parse(e).terraform_version).catch(e=>jZe.Errors.Usage(`Unknown: Error loading terraform version ${e}`,e))});var TZ=f(Xt=>{"use strict";var ux=Xt&&Xt.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Xt,"__esModule",{value:!0});Xt.getGradlePackageVersionFromBuild=Xt.getGradlePackageVersion=Xt.getDependencyInformationFromLine=Xt.getGradleDependencies=Xt.isGradleProject=void 0;var lx=ux(require("path")),Jp=ux(Co()),Ai=Zo(),$Ze=Os();function eve(e){let t=lx.default.join(e,"build.gradle");try{return Jp.default.accessSync(t,Jp.default.constants.R_OK|Jp.default.constants.W_OK),!0}catch{return Ai.logger.debug(`No build.gradle found at ${t}`),!1}}Xt.isGradleProject=eve;async function dx(){let e;try{e=await(0,$Ze.exec)("gradle",["dependencies","--console=plain"],{env:process.env})}catch(I){Ai.logger.debug(`Unable to run 'gradle dependencies': ${I}`);return}let t=e.split(/\r\n|\r|\n/),n=t.findIndex(I=>I.includes("implementation - "));if(n===-1){Ai.logger.debug(`Unable to find implementation section in output of 'gradle dependencies': ${e}`);return}let r=/^\s*$/,i=t.slice(n+1),o=i.findIndex(I=>r.test(I)),s=i.slice(0,o),a=t.findIndex(I=>I.includes("api - "));if(a===-1){Ai.logger.debug(`Unable to find api section in output of 'gradle dependencies': ${e}`);return}let c=t.slice(a+1),u=c.findIndex(I=>r.test(I)),l=c.slice(0,u),d=/^\s*[+\\-]+\s*/,g=/\s+\([nc*]\)\s*$/;return[...s,...l].filter(I=>I!=="No dependencies").map(I=>I.replace(d,"").replace(g,""))}Xt.getGradleDependencies=dx;function gx(e){let t=/^\s*([^:]+):([^:]+)(?::([^\s]+))?/,n=e.match(t);if(!n){Ai.logger.debug("Unexpected format for gradle build. Please file an issue at https://cdk.tf/bug");return}return n[3]===void 0?{group:"",name:n[1],version:n[2]}:{group:n[1],name:n[2],version:n[3]}}Xt.getDependencyInformationFromLine=gx;async function tve(e){let n={jsii:"jsii-runtime"}[e]||e;Ai.logger.debug("Running 'gradle dependencies' to find package version",n);let r=await dx();if(!r||r.length===0)return;for(let o of r)if(o.includes(`:${n}:`)){let s=gx(o);return s?s.version:void 0}let i=await fx(e);if(i)return i.version}Xt.getGradlePackageVersion=tve;async function fx(e){let t=lx.default.join(process.cwd(),"build.gradle"),r=(await Jp.default.readFile(t,"utf-8")).split(/\r\n|\r|\n/),i=/^\s*dependencies\s*\{/i;if(r.findIndex(g=>i.test(g))===-1){Ai.logger.debug("Unable to find dependencies section in output build.gradle");return}let s=r.findIndex(g=>g.includes(e));if(s===-1){Ai.logger.debug(`Unable to find package ${e} in output build.gradle`);return}let a=r[s],u=new RegExp(`([^:]+):${e}(?::([^\\s]+))?`,"i").exec(a);if(u)return{group:u[1],name:e,version:u[2]||""};let d=new RegExp(`java/(.*)/${e}/([^/]+)/.*\\.jar`,"i").exec(a);if(d)return{group:d[1].replace(/\//g,"."),name:e,version:d[2]}}Xt.getGradlePackageVersionFromBuild=fx});var Rx=f(ue=>{"use strict";var nve=ue&&ue.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),rve=ue&&ue.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),px=ue&&ue.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&nve(t,e,n);return rve(t,e),t};Object.defineProperty(ue,"__esModule",{value:!0});ue.collectDebugInformation=ue.getPackageVersion=ue.getNodeVersion=ue.getGoVersion=ue.getPipenvVersion=ue.getPipVersion=ue.getPythonVersion=ue.getGradleVersion=ue.getMavenVersion=ue.getJavaVersion=ue.getDotnetVersion=ue.getLanguage=void 0;var ive=px(require("path")),XZ=px(require("os")),Ue=Zo(),rr=Os(),ove=FZ(),sve=pd(),mx=Co(),Ix=TZ();function hx(e=process.cwd()){try{return JSON.parse((0,mx.readFileSync)(ive.resolve(e,"cdktf.json"),"utf-8")).language}catch{Ue.logger.debug(`Unable to detect language in ${e}`);return}}ue.getLanguage=hx;async function ir(e,t){let n=()=>{};try{return(await(0,rr.exec)(e,[t],{env:process.env,stdio:[void 0,void 0,"ignore"]},n,n)).trim().replace(/\r?\n|\r/g,"")}catch(r){Ue.logger.debug(`Failed to run ${e} ${t}: ${r}`);return}}function Cx(){return ir("dotnet","--version")}ue.getDotnetVersion=Cx;function bx(){return ir("java","-version")}ue.getJavaVersion=bx;function yx(){return ir("mvn","--version")}ue.getMavenVersion=yx;function Ax(){return ir("gradle","--version")}ue.getGradleVersion=Ax;async function Bx(){return await ir("python3","--version")||await ir("python","--version")}ue.getPythonVersion=Bx;function Gx(){return ir("pip","--version")}ue.getPipVersion=Gx;function Zx(){return ir("pipenv","--version")}ue.getPipenvVersion=Zx;function vx(){return ir("go","version")}ue.getGoVersion=vx;function Sx(){return ir("node","--version")}ue.getNodeVersion=Sx;async function ave(e){return await(0,mx.pathExists)("pnpm-lock.yaml")?cve(e):uve(e)}async function cve(e){var t,n,r;let i;try{i=await(0,rr.exec)("pnpm",["list",e,"--json"],{env:{...process.env}})}catch(s){Ue.logger.debug(`Unable to run 'pnpm list ${e} --json': ${s}`);return}let o;try{o=JSON.parse(i)}catch(s){Ue.logger.debug(`Unable to parse output of 'pnpm list ${e} --json': ${s}`);return}if(!o||!Array.isArray(o)||o.length===0||!(!((r=(n=(t=o[0])===null||t===void 0?void 0:t.dependencies)===null||n===void 0?void 0:n[e])===null||r===void 0)&&r.version)){Ue.logger.debug(`Unable to find '${e}' in 'pnpm list ${e} --json': ${i}`);return}return o[0].dependencies[e].version}async function uve(e){let t;try{t=await(0,rr.exec)("npm",["list",e,"--json"],{env:{...process.env}})}catch(r){Ue.logger.debug(`Unable to run 'npm list ${e} --json': ${r}`);return}let n;try{n=JSON.parse(t)}catch(r){Ue.logger.debug(`Unable to parse output of 'npm list ${e} --json': ${r}`);return}if(!n.dependencies||!n.dependencies[e]||!n.dependencies[e].version){Ue.logger.debug(`Unable to find '${e}' in 'npm list ${e} --json': ${t}`);return}return n.dependencies[e].version}async function lve(e){let t;try{t=await(0,rr.exec)("pipenv",["run","pip","show","-qq",e],{env:process.env}),t=await(0,rr.exec)("pipenv",["run","pip","show",e],{env:process.env})}catch(i){Ue.logger.debug(`Unable to run 'pipenv run pip show ${e}': ${i}`)}if(!t)try{t=await(0,rr.exec)("pip",["show","-qq",e],{env:process.env}),t=await(0,rr.exec)("pip",["show",e],{env:process.env})}catch(i){Ue.logger.debug(`Unable to run 'pip show ${e}': ${i}`)}if(!t)return;let n=t.split(/\r\n|\r|\n/).find(i=>i.startsWith("Version:"));if(!n){Ue.logger.debug(`Unable to find version in output of 'pipenv run pip show ${e}' / 'pip show ${e}': ${t}`);return}return n.split(":")[1].trim()}async function dve(e){let n={jsii:"Amazon.JSII.Runtime",constructs:"Constructs",cdktf:"HashiCorp.Cdktf",cdktn:"Io.Cdktn"}[e]||e,r;try{r=await(0,rr.exec)("dotnet",["list","package","--include-transitive"],{env:process.env})}catch(o){Ue.logger.debug(`Unable to run 'dotnet list package --include-transitive': ${o}`);return}let i=r.split(/\r\n|\r|\n/).find(o=>o.includes(`> ${n}`));if(!i){Ue.logger.debug(`Unable to find version for '${n}' in output of 'dotnet list package --include-transitive': ${r}`);return}return i.split(" ").reverse().find(o=>o!=="")}async function gve(e){var t;let r={jsii:"jsii-runtime-go",cdktf:"github.com/hashicorp/terraform-cdk-go",cdktn:"github.com/open-constructs/cdk-terrain-go"}[e]||e,i;try{i=await(0,rr.exec)("go",["list","-m","all"],{env:process.env})}catch(s){Ue.logger.debug(`Unable to run 'go list -m all': ${s}`);return}let o=i.split(/\r\n|\r|\n/).find(s=>s.includes(r));if(!o){Ue.logger.debug(`Unable to find version for '${r}' in output of 'go list -m all': ${i}`);return}return o.includes("=>")&&(Ue.logger.debug(`Found local version for '${r}': ${o}`),o=o.split("=>")[0].trim()),(t=o.split(" ").pop())===null||t===void 0?void 0:t.replace("v","")}async function fve(e){let n={jsii:"jsii-runtime"}[e]||e,r;try{r=await(0,rr.exec)("mvn",["dependency:list"],{env:process.env})}catch(l){Ue.logger.debug(`Unable to run 'mvn dependency:list': ${l}`);return}let i=r.split("The following files have been resolved")[1];if(!i){Ue.logger.debug(`Unable to find resolution passage in output of 'mvn dependency:list': ${r}`);return}let o=i.split(/\r\n|\r|\n/).find(l=>l.includes(`${n}:`));if(!o){Ue.logger.debug(`Unable to find version for '${n}' in output of 'mvn dependency:list': ${r}`);return}let s=`${n}:jar:`,a=o.indexOf(s)+s.length,u=o.indexOf(":compile");return o.substring(a,u)}async function Ive(e){return(0,Ix.isGradleProject)("./")?(0,Ix.getGradlePackageVersion)(e):fve(e)}async function Cd(e,t){let n=async()=>{},i=await({typescript:ave,python:lve,go:gve,csharp:dve,java:Ive}[e]||n)(t);return i??void 0}ue.getPackageVersion=Cd;async function pve(){var e,t,n,r,i,o,s,a,c,u,l,d,g;let I={},m=hx();I.language=m??null,I["cdktn-cli"]=sve.DISPLAY_VERSION;let C=Sx();if(I.node=(e=await C)!==null&&e!==void 0?e:null,m){let b=Cd(m,"cdktn"),v=Cd(m,"cdktf"),E=Cd(m,"constructs"),Y=Cd(m,"jsii");I.cdktn=(t=await b)!==null&&t!==void 0?t:null,I.cdktf=(n=await v)!==null&&n!==void 0?n:null,I.constructs=(r=await E)!==null&&r!==void 0?r:null,I.jsii=(i=await Y)!==null&&i!==void 0?i:null}switch(I.terraform=await ove.terraformVersion,I.arch=XZ.arch(),I.os=`${XZ.platform()} ${XZ.release()}`,m){case"python":{let b=Bx(),v=Gx(),E=Zx();I.python=(o=await b)!==null&&o!==void 0?o:null,I.pip=(s=await v)!==null&&s!==void 0?s:null,I.pipenv=(a=await E)!==null&&a!==void 0?a:null}break;case"java":{let b=bx(),v=yx(),E=Ax();I.java=(c=await b)!==null&&c!==void 0?c:null,I.maven=(u=await v)!==null&&u!==void 0?u:null,I.gradle=(l=await E)!==null&&l!==void 0?l:null}break;case"csharp":I.dotnet=(d=await Cx())!==null&&d!==void 0?d:null;break;case"go":I.go=(g=await vx())!==null&&g!==void 0?g:null;break}return I}ue.collectDebugInformation=pve});var _x=f(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.CDKTF_DISABLE_PLUGIN_CACHE_ENV=Bi.CHECKPOINT_DISABLE=Bi.DISABLE_VERSION_CHECK=void 0;function Wx(e){return e==="true"||e==="1"}Bi.DISABLE_VERSION_CHECK=Wx(process.env.DISABLE_VERSION_CHECK);Bi.CHECKPOINT_DISABLE=!!process.env.CHECKPOINT_DISABLE;Bi.CDKTF_DISABLE_PLUGIN_CACHE_ENV=Wx(process.env.CDKTF_DISABLE_PLUGIN_CACHE_ENV)});var Vx=f(Nx=>{"use strict";Object.defineProperty(Nx,"__esModule",{value:!0})});var Hx=f(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.isNestedTypeAttribute=Ds.isAttributeNestedType=void 0;function Ex(e){return typeof e=="object"&&!Array.isArray(e)&&typeof e.nesting_mode=="string"&&(typeof e.attributes=="object"||typeof e.attributes>"u")}Ds.isAttributeNestedType=Ex;function mve(e){return typeof e.nested_type<"u"&&Ex(e.nested_type)}Ds.isNestedTypeAttribute=mve});var We=f(Xe=>{"use strict";var hve=Xe&&Xe.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),kt=Xe&&Xe.__exportStar||function(e,t){for(var n in e)n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n)&&hve(t,e,n)};Object.defineProperty(Xe,"__esModule",{value:!0});kt(HZ(),Xe);kt(cx(),Xe);kt(Hp(),Xe);kt(Rx(),Xe);kt(_x(),Xe);kt(YZ(),Xe);kt(TZ(),Xe);kt(Zo(),Xe);kt(Vx(),Xe);kt(Hx(),Xe);kt(lZ(),Xe);kt(FZ(),Xe);kt(Os(),Xe);kt(pd(),Xe)});var Yx=f((xEe,kZ)=>{"use strict";var wx=require("fs");kZ.exports=e=>new Promise(t=>{wx.access(e,n=>{t(!n)})});kZ.exports.sync=e=>{try{return wx.accessSync(e),!0}catch{return!1}}});var Tx=f((JEe,KZ)=>{"use strict";var Fx=(e,...t)=>new Promise(n=>{n(e(...t))});KZ.exports=Fx;KZ.exports.default=Fx});var kx=f((OEe,LZ)=>{"use strict";var Cve=Tx(),Xx=e=>{if(!((Number.isInteger(e)||e===1/0)&&e>0))return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up"));let t=[],n=0,r=()=>{n--,t.length>0&&t.shift()()},i=(a,c,...u)=>{n++;let l=Cve(a,...u);c(l),l.then(r,r)},o=(a,c,...u)=>{n<e?i(a,c,...u):t.push(i.bind(null,a,c,...u))},s=(a,...c)=>new Promise(u=>o(a,u,...c));return Object.defineProperties(s,{activeCount:{get:()=>n},pendingCount:{get:()=>t.length},clearQueue:{value:()=>{t.length=0}}}),s};LZ.exports=Xx;LZ.exports.default=Xx});var Ux=f((MEe,Lx)=>{"use strict";var Kx=kx(),Op=class extends Error{constructor(t){super(),this.value=t}},bve=(e,t)=>Promise.resolve(e).then(t),yve=e=>Promise.all(e).then(t=>t[1]===!0&&Promise.reject(new Op(t[0])));Lx.exports=(e,t,n)=>{n=Object.assign({concurrency:1/0,preserveOrder:!0},n);let r=Kx(n.concurrency),i=[...e].map(s=>[s,r(bve,s,t)]),o=Kx(n.preserveOrder?1:1/0);return Promise.all(i.map(s=>o(yve,s))).then(()=>{}).catch(s=>s instanceof Op?s.value:Promise.reject(s))}});var Ox=f((DEe,UZ)=>{"use strict";var xx=require("path"),Jx=Yx(),Ave=Ux();UZ.exports=(e,t)=>(t=Object.assign({cwd:process.cwd()},t),Ave(e,n=>Jx(xx.resolve(t.cwd,n)),t));UZ.exports.sync=(e,t)=>{t=Object.assign({cwd:process.cwd()},t);for(let n of e)if(Jx.sync(xx.resolve(t.cwd,n)))return n}});var Dx=f((zEe,xZ)=>{"use strict";var Gi=require("path"),Mx=Ox();xZ.exports=(e,t={})=>{let n=Gi.resolve(t.cwd||""),{root:r}=Gi.parse(n),i=[].concat(e);return new Promise(o=>{(function s(a){Mx(i,{cwd:a}).then(c=>{c?o(Gi.join(a,c)):a===r?o(null):s(Gi.dirname(a))})})(n)})};xZ.exports.sync=(e,t={})=>{let n=Gi.resolve(t.cwd||""),{root:r}=Gi.parse(n),i=[].concat(e);for(;;){let o=Mx.sync(i,{cwd:n});if(o)return Gi.join(n,o);if(n===r)return null;n=Gi.dirname(n)}}});var qx=f((qEe,JZ)=>{"use strict";var zx=Dx();JZ.exports=async({cwd:e}={})=>zx("package.json",{cwd:e});JZ.exports.sync=({cwd:e}={})=>zx.sync("package.json",{cwd:e})});var Zi=re(require("yargs")),KJ=re(require("path")),LJ=re(require("os")),Qp=re(No()),UJ=re(SI()),Vr=re(We());var Dp=re(No()),jx=require("module"),Mp=re(require("path")),OZ=re(qx()),Px=(0,jx.createRequire)(__filename),Qx=()=>{let e=OZ.sync({cwd:__dirname});if(!e)throw new Error("unable to find package.json");return JSON.parse(Dp.readFileSync(e,"utf-8"))},Bve=()=>{let e=OZ.sync({cwd:__dirname});if(!e)throw new Error("unable to find package.json");return Mp.default.dirname(e)},pe=()=>{let e=Mp.default.join(__dirname,"..","handlers.js");return Dp.existsSync(e)?Px(e):Px(Mp.default.join(Bve(),"bundle","bin","cmds","handlers.js"))};var $x=re(We());var le=class{constructor(){this.handler=async t=>{t.getYargsCompletions||await this.handleCommand(t)}}};var Gve=Qx(),MZ=class extends le{constructor(){super(...arguments);this.command="init";this.describe="Create a new cdktn project from a template.";this.builder=n=>n.showHelpOnFail(!0).option("template",{type:"string",desc:"The template to be used to create a new project. Either URL to zip file or one of the built-in templates."}).option("project-name",{type:"string",desc:"The name of the project."}).option("project-description",{type:"string",desc:"The description of the project."}).option("dist",{type:"string",desc:'Install dependencies from a "dist" directory (for development)'}).option("local",{type:"boolean",desc:"Use local state storage for generated Terraform.",default:!1}).option("cdktf-version",{type:"string",desc:"The cdktn version to use while creating a new project.",default:Gve.version}).option("from-terraform-project",{type:"string",desc:"Use a terraform project as the basis, CDK constructs will be generated based on the .tf files in the path"}).option("enable-crash-reporting",{type:"boolean",desc:"Enable crash reporting for the CLI, refer to https://cdk.tf/crash-reporting for more details"}).option("providers",{describe:"Providers to add to your project",type:"array",default:[]}).option("providers-force-local",{type:"boolean",desc:"Force local installation of provider specified in init"}).option("tfe-hostname",{type:"string",desc:"The hostname of the Terraform Enterprise instance to use for remote state storage"}).strict()}async handleCommand(n){$x.Errors.setScope("init"),await pe().init(n)}},eJ=new MZ;var zp=re(We());var nJ=re(We());var tJ=(0,zp.readConfigSync)(),DZ=class extends le{constructor(){super(...arguments);this.command="get";this.describe="Generate CDK Constructs for Terraform providers and modules.";this.builder=n=>n.showHelpOnFail(!0).option("output",{default:tJ.codeMakerOutput,type:"string",desc:"Output directory for generated Constructs",alias:"o"}).option("language",{default:tJ.language,required:!0,type:"string",desc:"Output programming language",alias:"l",choices:zp.LANGUAGES}).option("force",{default:!1,type:"boolean",desc:"Regenerates all generated constructs"}).option("parallelism",{type:"number",required:!1,desc:"Number of concurrently generated provider / module bindings. Only applies for languages that are not Typescript (translated by JSII). Defaults to infinity, denoted by -1",default:-1}).option("show-performance-info",{type:"boolean",required:!1,desc:"Shows performance information after generation"})}async handleCommand(n){nJ.Errors.setScope("get"),await pe().get(n)}},qp=new DZ;var rJ=re(We());var iJ=re(require("path")),oJ=re(No());function Zve(e=process.cwd()){try{let t=iJ.join(e,"cdktf.json");return oJ.readJsonSync(t)}catch{return}}var zZ=class extends le{constructor(){super(...arguments);this.command="convert";this.describe="Converts a single file of HCL configuration to CDK Terrain. Takes the file to be converted on stdin.";this.builder=n=>{var r;return n.example("cat main.tf | cdktn convert --provider integrations/github","Takes the HCL content of main.tf and converts it to CDK Terrain content and prints it").example("cat main.tf | cdktn convert --provider hashicorp/aws > imported.ts","Takes the HCL content of main.tf and converts it to CDK Terrain content in imported.ts").example("cat main.tf | cdktn convert --provider 'hashicorp/aws@ ~>3.62.0' 'integrations/github@ ~>4.16.0' --language python > imported.py","Takes the HCL content of main.tf and converts it to CDK Terrain content in imported.py").option("language",{choices:["typescript","python","csharp","java","go"],default:((r=Zve())==null?void 0:r.language)||"typescript"}).option("provider",{describe:"The conversion needs to know which providers are used in addition to the ones in your cdktf.json file. We search for a cdktf.json below your current working directory.",type:"array",default:[]}).option("stack",{describe:"Wrap the generated code within a stack class",type:"boolean",default:!1}).showHelpOnFail(!0)}}async handleCommand(n){rJ.Errors.setScope("convert");let r=pe();n.withProject!==void 0&&(n.language==="typescript"?n.withProject=!1:n.withProject=!0),await r.convert(n)}},sJ=new zZ;var cJ=re(We());var uJ=re(We());var aJ=(0,cJ.readConfigSync)(),qZ=class extends le{constructor(){super(...arguments);this.command="deploy [stacks...]";this.describe="Deploy the given stacks";this.aliases=["apply"];this.builder=n=>n.positional("stacks",{desc:"Deploy stacks matching the given ids. Required when more than one stack is present in the app",type:"string"}).option("app",{default:aJ.app,required:!0,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:aJ.output,required:!0,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("auto-approve",{type:"boolean",default:!1,required:!1,desc:"Auto approve"}).option("outputs-file",{type:"string",required:!1,desc:"Path to file where stack outputs will be written as JSON",requiresArg:!0}).option("outputs-file-include-sensitive-outputs",{type:"boolean",required:!1,desc:"Whether to include sensitive outputs in the output file",default:!1}).option("ignore-missing-stack-dependencies",{type:"boolean",required:!1,desc:"Don't check if all stacks specified in the command have their dependencies included as well",default:!1}).option("parallelism",{type:"number",required:!1,desc:"Number of concurrent CDKTN stacks to run. Defaults to infinity, denoted by -1",default:-1}).option("refresh-only",{default:!1,required:!1,boolean:!0,desc:'Select the "refresh only" planning mode, which checks whether remote objects still match the outcome of the most recent Terraform apply but does not propose any actions to undo any changes made outside of Terraform.'}).option("terraform-parallelism",{type:"number",required:!1,desc:"Forwards value as the `-parallelism` flag to Terraform. By default, the this flag is not forwarded to Terraform. Note: This flag is not supported by remote / cloud backend",default:-1}).option("no-color",{type:"boolean",default:process.env.FORCE_COLOR==="0",required:!1,desc:"Disables terminal formatting sequences in the output."}).option("migrate-state",{type:"boolean",default:!1,required:!1,desc:"Pass this flag after switching state backends to approve a state migration for all targeted stacks"}).option("var",{type:"array",default:[],required:!1,desc:"Set a value for one of the input variables in the stack or stacks to apply. Use this option more than once to set more than one variable."}).option("var-file",{type:"array",default:[],required:!1,desc:"Load variable values from the given file, in addition to the default files terraform.tfvars and *.auto.tfvars. Use this option more than once to include more than one variables file."}).option("skip-synth",{type:"boolean",default:!1,required:!1,desc:"Skip synthesis of the application, assume the synthesized Terraform code is already present and up to date"}).option("skip-provider-lock",{type:"boolean",default:!1,required:!1,desc:"Block `terraform provider lock` from being run for any reason. Warning: This may cause issues when used with HCP Terraform"}).showHelpOnFail(!0)}async handleCommand(n){uJ.Errors.setScope("deploy"),await pe().deploy(n)}},lJ=new qZ;var gJ=re(We());var fJ=re(We());var dJ=(0,gJ.readConfigSync)(),PZ=class extends le{constructor(){super(...arguments);this.command="destroy [stacks..]";this.describe="Destroy the given stacks";this.builder=n=>n.positional("stacks",{desc:"Destroy stacks matching the given ids. Required when more than one stack is present in the app",type:"string"}).option("app",{default:dJ.app,required:!0,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:dJ.output,required:!0,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("auto-approve",{type:"boolean",default:!1,required:!1,desc:"Auto approve"}).option("ignore-missing-stack-dependencies",{type:"boolean",required:!1,desc:"Don't check if all stacks specified in the command have their dependencies included as well",default:!1}).option("parallelism",{type:"number",required:!1,desc:"Number of concurrent CDKTN stacks to run. Defaults to infinity, denoted by -1",default:-1}).option("terraform-parallelism",{type:"number",required:!1,desc:"Forwards value as the `-parallelism` flag to Terraform. By default, the this flag is not forwarded to Terraform. Note: This flag is not supported by remote / cloud backend",default:-1}).option("var",{type:"array",default:[],required:!1,desc:"Set a value for one of the input variables in the stack or stacks to apply. Use this option more than once to set more than one variable."}).option("var-file",{type:"array",default:[],required:!1,desc:"Load variable values from the given file, in addition to the default files terraform.tfvars and *.auto.tfvars. Use this option more than once to include more than one variables file."}).option("no-color",{type:"boolean",default:process.env.FORCE_COLOR==="0",required:!1,desc:"Disables terminal formatting sequences in the output."}).option("migrate-state",{type:"boolean",default:!1,required:!1,desc:"Pass this flag after switching state backends to approve a state migration for all targeted stacks"}).option("skip-synth",{type:"boolean",default:!1,required:!1,desc:"Skip synthesis of the application, assume the synthesized Terraform code is already present and up to date"}).option("skip-provider-lock",{type:"boolean",default:!1,required:!1,desc:"Block `terraform provider lock` from being run for any reason. Warning: This may cause issues when used with HCP Terraform"}).showHelpOnFail(!0)}async handleCommand(n){fJ.Errors.setScope("destroy"),await pe().destroy(n)}},IJ=new PZ;var mJ=re(We());var hJ=re(We());var pJ=(0,mJ.readConfigSync)(),jZ=class extends le{constructor(){super(...arguments);this.command="diff [stack]";this.describe="Perform a diff (terraform plan) for the given stack";this.aliases=["plan"];this.builder=n=>n.positional("stack",{desc:"Diff stack which matches the given id only. Required when more than one stack is present in the app",type:"string"}).option("app",{default:pJ.app,required:!0,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:pJ.output,required:!0,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("refresh-only",{default:!1,required:!1,boolean:!0,desc:'Select the "refresh only" planning mode, which checks whether remote objects still match the outcome of the most recent Terraform apply but does not propose any actions to undo any changes made outside of Terraform.'}).option("terraform-parallelism",{type:"number",required:!1,desc:"Forwards value as the `-parallelism` flag to Terraform. By default, the this flag is not forwarded to Terraform. Note: This flag is not supported by remote / cloud backend",default:-1}).option("var",{type:"array",default:[],required:!1,desc:"Set a value for one of the input variables in the stack. Use this option more than once to set more than one variable."}).option("var-file",{type:"array",default:[],required:!1,desc:"Load variable values from the given file, in addition to the default files terraform.tfvars and *.auto.tfvars. Use this option more than once to include more than one variables file."}).option("no-color",{type:"boolean",default:process.env.FORCE_COLOR==="0",required:!1,desc:"Disables terminal formatting sequences in the output."}).option("migrate-state",{type:"boolean",default:!1,required:!1,desc:"Pass this flag after switching state backends to approve a state migration for the targeted stack"}).option("skip-synth",{type:"boolean",default:!1,required:!1,desc:"Skip synthesis of the application, assume the synthesized Terraform code is already present and up to date"}).option("skip-provider-lock",{type:"boolean",default:!1,required:!1,desc:"Block `terraform provider lock` from being run for any reason. Warning: This may cause issues when used with HCP Terraform"}).showHelpOnFail(!0)}async handleCommand(n){hJ.Errors.setScope("diff"),await pe().diff(n)}},CJ=new jZ;var Pp=re(We());var bJ=(0,Pp.readConfigSync)(),QZ=class extends le{constructor(){super(...arguments);this.command="list";this.describe="List stacks in app.";this.builder=n=>n.option("app",{default:bJ.app,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:bJ.output,desc:"Output directory for the synthesized Terraform config",alias:"o"}).showHelpOnFail(!0)}async handleCommand(n){Pp.Errors.setScope("list"),await pe().list(n)}},yJ=new QZ;var AJ=re(We());var $Z=class extends le{constructor(){super(...arguments);this.command="login";this.describe="Retrieves an API token to connect to Terraform Cloud or Terraform Enterprise.";this.builder=n=>n.showHelpOnFail(!0).option("tfe-hostname",{string:!0,requiresArg:!0,describe:"The Terraform Enterprise hostname to authenticate against. If you use Terraform Cloud you can leave this on the default.",default:"app.terraform.io"}).example("cdktn login","Takes you through the interactive login process").example("cdktn login --tfe-hostname tfe.my-company.com","Takes you through the interactive login process on your companies Terraform Enterprise instance.").example("cat my-token.txt | cdktn login","Uses a locally stored token directly, instead of going through the interactive login process").strict()}async handleCommand(n){AJ.Errors.setScope("login"),await pe().login(n)}},BJ=new $Z;var zs=re(We());var ev=(0,zs.readConfigSync)(),tv=class extends le{constructor(){super(...arguments);this.command="synth";this.describe="Synthesizes Terraform code for the given app in a directory.";this.aliases=["synthesize"];this.builder=n=>n.option("app",{default:ev.app,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:ev.output,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("check-code-maker-output",{type:"boolean",desc:"Should `codeMakerOutput` existence check be performed? By default it will be checked if providers or modules are configured.",default:(0,zs.shouldCheckCodeMakerOutput)(ev)}).option("hcl",{type:"boolean",desc:"Should the output be in HCL format?",default:!1}).showHelpOnFail(!0)}async handleCommand(n){zs.Errors.setScope("synth"),await pe().synth(n)}},GJ=new tv;var vJ=re(We());var SJ=re(We());var ZJ=(0,vJ.readConfigSync)(),nv=class extends le{constructor(){super(...arguments);this.command="watch [stacks..]";this.describe="[experimental] Watch for file changes and automatically trigger a deploy";this.builder=n=>n.positional("stacks",{desc:"Deploy stacks matching the given ids. Required when more than one stack is present in the app",type:"string"}).option("app",{default:ZJ.app,required:!0,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:ZJ.output,required:!0,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("auto-approve",{type:"boolean",default:!1,required:!1,desc:"Auto approve"}).option("parallelism",{type:"number",required:!1,desc:"Number of concurrent CDKTN stacks to run. Defaults to infinity, denoted by -1",default:-1}).option("terraform-parallelism",{type:"number",required:!1,desc:"Forwards value as the `-parallelism` flag to Terraform. By default, the this flag is not forwarded to Terraform. Note: This flag is not supported by remote / cloud backend",default:-1}).showHelpOnFail(!0)}async handleCommand(n){SJ.Errors.setScope("watch"),await pe().watch(n)}},RJ=new nv;var jp=re(We());var WJ=(0,jp.readConfigSync)(),rv=class extends le{constructor(){super(...arguments);this.command="output [stacks..]";this.describe="Prints the output of stacks";this.aliases=["outputs"];this.builder=n=>n.positional("stacks",{desc:"Get outputs of the stacks matching the given ids. Required when more than one stack is present in the app",type:"string"}).option("app",{default:WJ.app,required:!0,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:WJ.output,required:!0,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("outputs-file",{type:"string",required:!1,desc:"Path to file where stack outputs will be written as JSON",requiresArg:!0}).option("outputs-file-include-sensitive-outputs",{type:"boolean",required:!1,desc:"Whether to include sensitive outputs in the output file",default:!1}).option("skip-synth",{type:"boolean",default:!1,required:!1,desc:"Skip synthesis of the application, assume the synthesized Terraform code is already present and up to date"}).option("skip-provider-lock",{type:"boolean",default:!1,required:!1,desc:"Block `terraform provider lock` from being run for any reason. Warning: This may cause issues when used with HCP Terraform"}).showHelpOnFail(!0)}async handleCommand(n){jp.Errors.setScope("output"),await pe().output(n)}},_J=new rv;var NJ=re(We());var iv=class extends le{constructor(){super(...arguments);this.command="debug";this.describe="Get debug information about the current project and environment";this.builder=n=>n.showHelpOnFail(!0).option("json",{default:!1,type:"boolean",desc:"If set, output will be in JSON format."})}async handleCommand(n){NJ.Errors.setScope("debug"),await pe().debug(n)}},VJ=new iv;var XJ=re(require("yargs"));var EJ=re(We());var ov=class extends le{constructor(){super(...arguments);this.command="add <provider...>";this.describe="Add one or more Terraform providers to your project.";this.builder=n=>n.showHelpOnFail(!0).positional("provider",{type:"string",desc:"Name of the provider to add. Can include a version constraint (e.g. aws@~>4.0).",required:!0}).option("force-local",{type:"boolean",desc:"force local provider installation, even if pre-built provider exists"})}async handleCommand(n){EJ.Errors.setScope("provider add"),await pe().providerAdd(n)}},HJ=new ov;var wJ=re(We());var sv=class extends le{constructor(){super(...arguments);this.command="upgrade <provider...>";this.describe=`Upgrade one or more Terraform providers in your project to the newest version compatible with your CDKTN version.
70
+ See https://cdktn.io/docs/telemetry for more
71
+ information on how to disable it.`)}Pe.getUserId=sx;async function ax(e){if(process.env.CHECKPOINT_DISABLE)return;e.runID||(e.runID=(0,rx.v4)()),e.dateTime||(e.dateTime=new Date),e.arch||(e.arch=kp.arch()),e.os||(e.os=kp.platform());let t=tx.default.isCI?tx.default.name||"unknown":!1;!e.userId&&!t&&(e.userId=sx()),t&&(e.ci=t),e.projectId=e.projectId||ox();let n=JSON.stringify(e);if(n.length>nx){EZ.logger.warn(`Skipped sending telemetry as the request body size was ${n.length} bytes. The limit is ${nx} bytes`);return}try{await LZe(`${XZe}telemetry/${e.product}`,n)}catch(r){(0,EZ.processLoggerError)(r.message)}}Pe.ReportRequest=ax});var cx=f(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.ConstructsMakerProviderTarget=yi.ConstructsMakerModuleTarget=yi.ConstructsMakerTarget=void 0;var nr=Hp(),hd=class{constructor(t,n){this.constraint=t,this.targetLanguage=n,this.constraint instanceof nr.TerraformModuleConstraint?this.fileName=`${this.typesPath(this.constraint.fileName)}.ts`:this.fileName=`${this.typesPath(this.constraint.name)}.ts`}static from(t,n){return t instanceof nr.TerraformModuleConstraint?new Lp(t,n):new Up(t,n)}get version(){return this.constraint.version}get source(){return this.constraint.source}get name(){return this.constraint.name}get fqn(){return this.constraint.fqn}get namespace(){return this.constraint.namespace}get moduleKey(){return this.fqn.replace(/\//gi,"_")}};yi.ConstructsMakerTarget=hd;var Lp=class extends hd{get isModule(){return!0}get isProvider(){return!1}get srcMakName(){switch(this.targetLanguage){case nr.Language.GO:return this.name.replace(/-/gi,"_");case nr.Language.JAVA:case nr.Language.CSHARP:case nr.Language.PYTHON:return this.simplifiedFqn;default:return this.simplifiedName}}get trackingPayload(){return{name:this.name,fullName:this.fqn,version:this.version,type:"module"}}typesPath(t){return`modules/${t}`}get simplifiedName(){var t,n;return(n=(t=this.namespace)===null||t===void 0?void 0:t.replace(/\//gi,".").replace(/-/gi,"_"))!==null&&n!==void 0?n:this.name}get simplifiedFqn(){return this.fqn.replace(/\//gi,".").replace(/-/gi,"_")}};yi.ConstructsMakerModuleTarget=Lp;var Up=class extends hd{get isModule(){return!1}get isProvider(){return!0}get srcMakName(){switch(this.targetLanguage){case nr.Language.JAVA:return this.isNullProvider?"nullprovider":this.simplifiedName;case nr.Language.CSHARP:return this.isNullProvider?"Providers.Null":this.simplifiedName;case nr.Language.PYTHON:return this.simplifiedName;case nr.Language.GO:return this.name.replace(/-/gi,"_");default:return this.constraint.fqn}}get trackingPayload(){return{name:this.name,fullName:this.source,version:this.version,type:"provider"}}typesPath(t){return`providers/${t}/index`}get isNullProvider(){return this.constraint.name==="null"}get simplifiedName(){return this.name.replace(/\//gi,".").replace(/-/gi,"_")}};yi.ConstructsMakerProviderTarget=Up});var YZ=f(fn=>{"use strict";var xZe=fn&&fn.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),JZe=fn&&fn.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),OZe=fn&&fn.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&xZe(t,e,n);return JZe(t,e),t};Object.defineProperty(fn,"__esModule",{value:!0});fn.Errors=fn.IsErrorType=void 0;var MZe=HZ(),DZe=pd(),zZe=OZe(SI());async function qZe(e,t){let n={command:e,product:"cdktn",version:`${DZe.DISPLAY_VERSION}`,dateTime:new Date,payload:t};await(0,MZe.ReportRequest)(n)}function PZe(e,t){return e&&e.__type===t}fn.IsErrorType=PZe;function wZ(e,t){return(n,r=new Error,i)=>{qZe(t,{...i,message:n,type:e});let o=new Error(`${e} Error: ${n}`);return Object.entries(i||{}).forEach(([s,a])=>{o[s]=a}),o.__type=e,o.stack=r.stack,o}}var xp="unknown";fn.Errors={Internal:wZ("Internal",xp),Usage:wZ("Usage",xp),External:wZ("External",xp),setScope(e){xp=e,zZe.configureScope(t=>t.setTransactionName(e))}}});var FZ=f(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.terraformVersion=vo.terraformBinaryName=void 0;var jZe=YZ(),QZe=Os();vo.terraformBinaryName=process.env.TERRAFORM_BINARY_NAME||"terraform";vo.terraformVersion=(0,QZe.exec)(vo.terraformBinaryName,["version","-json"],{}).then(e=>JSON.parse(e).terraform_version).catch(e=>jZe.Errors.Usage(`Unknown: Error loading terraform version ${e}`,e))});var TZ=f(Xt=>{"use strict";var ux=Xt&&Xt.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Xt,"__esModule",{value:!0});Xt.getGradlePackageVersionFromBuild=Xt.getGradlePackageVersion=Xt.getDependencyInformationFromLine=Xt.getGradleDependencies=Xt.isGradleProject=void 0;var lx=ux(require("path")),Jp=ux(Co()),Ai=Zo(),$Ze=Os();function eve(e){let t=lx.default.join(e,"build.gradle");try{return Jp.default.accessSync(t,Jp.default.constants.R_OK|Jp.default.constants.W_OK),!0}catch{return Ai.logger.debug(`No build.gradle found at ${t}`),!1}}Xt.isGradleProject=eve;async function dx(){let e;try{e=await(0,$Ze.exec)("gradle",["dependencies","--console=plain"],{env:process.env})}catch(I){Ai.logger.debug(`Unable to run 'gradle dependencies': ${I}`);return}let t=e.split(/\r\n|\r|\n/),n=t.findIndex(I=>I.includes("implementation - "));if(n===-1){Ai.logger.debug(`Unable to find implementation section in output of 'gradle dependencies': ${e}`);return}let r=/^\s*$/,i=t.slice(n+1),o=i.findIndex(I=>r.test(I)),s=i.slice(0,o),a=t.findIndex(I=>I.includes("api - "));if(a===-1){Ai.logger.debug(`Unable to find api section in output of 'gradle dependencies': ${e}`);return}let c=t.slice(a+1),u=c.findIndex(I=>r.test(I)),l=c.slice(0,u),d=/^\s*[+\\-]+\s*/,g=/\s+\([nc*]\)\s*$/;return[...s,...l].filter(I=>I!=="No dependencies").map(I=>I.replace(d,"").replace(g,""))}Xt.getGradleDependencies=dx;function gx(e){let t=/^\s*([^:]+):([^:]+)(?::([^\s]+))?/,n=e.match(t);if(!n){Ai.logger.debug("Unexpected format for gradle build. Please file an issue at https://github.com/open-constructs/cdk-terrain/issues/new?assignees=&labels=bug%2Cnew&template=bug-report.yml&title=");return}return n[3]===void 0?{group:"",name:n[1],version:n[2]}:{group:n[1],name:n[2],version:n[3]}}Xt.getDependencyInformationFromLine=gx;async function tve(e){let n={jsii:"jsii-runtime"}[e]||e;Ai.logger.debug("Running 'gradle dependencies' to find package version",n);let r=await dx();if(!r||r.length===0)return;for(let o of r)if(o.includes(`:${n}:`)){let s=gx(o);return s?s.version:void 0}let i=await fx(e);if(i)return i.version}Xt.getGradlePackageVersion=tve;async function fx(e){let t=lx.default.join(process.cwd(),"build.gradle"),r=(await Jp.default.readFile(t,"utf-8")).split(/\r\n|\r|\n/),i=/^\s*dependencies\s*\{/i;if(r.findIndex(g=>i.test(g))===-1){Ai.logger.debug("Unable to find dependencies section in output build.gradle");return}let s=r.findIndex(g=>g.includes(e));if(s===-1){Ai.logger.debug(`Unable to find package ${e} in output build.gradle`);return}let a=r[s],u=new RegExp(`([^:]+):${e}(?::([^\\s]+))?`,"i").exec(a);if(u)return{group:u[1],name:e,version:u[2]||""};let d=new RegExp(`java/(.*)/${e}/([^/]+)/.*\\.jar`,"i").exec(a);if(d)return{group:d[1].replace(/\//g,"."),name:e,version:d[2]}}Xt.getGradlePackageVersionFromBuild=fx});var Rx=f(ue=>{"use strict";var nve=ue&&ue.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),rve=ue&&ue.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),px=ue&&ue.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&nve(t,e,n);return rve(t,e),t};Object.defineProperty(ue,"__esModule",{value:!0});ue.collectDebugInformation=ue.getPackageVersion=ue.getNodeVersion=ue.getGoVersion=ue.getPipenvVersion=ue.getPipVersion=ue.getPythonVersion=ue.getGradleVersion=ue.getMavenVersion=ue.getJavaVersion=ue.getDotnetVersion=ue.getLanguage=void 0;var ive=px(require("path")),XZ=px(require("os")),Ue=Zo(),rr=Os(),ove=FZ(),sve=pd(),mx=Co(),Ix=TZ();function hx(e=process.cwd()){try{return JSON.parse((0,mx.readFileSync)(ive.resolve(e,"cdktf.json"),"utf-8")).language}catch{Ue.logger.debug(`Unable to detect language in ${e}`);return}}ue.getLanguage=hx;async function ir(e,t){let n=()=>{};try{return(await(0,rr.exec)(e,[t],{env:process.env,stdio:[void 0,void 0,"ignore"]},n,n)).trim().replace(/\r?\n|\r/g,"")}catch(r){Ue.logger.debug(`Failed to run ${e} ${t}: ${r}`);return}}function Cx(){return ir("dotnet","--version")}ue.getDotnetVersion=Cx;function bx(){return ir("java","-version")}ue.getJavaVersion=bx;function yx(){return ir("mvn","--version")}ue.getMavenVersion=yx;function Ax(){return ir("gradle","--version")}ue.getGradleVersion=Ax;async function Bx(){return await ir("python3","--version")||await ir("python","--version")}ue.getPythonVersion=Bx;function Gx(){return ir("pip","--version")}ue.getPipVersion=Gx;function Zx(){return ir("pipenv","--version")}ue.getPipenvVersion=Zx;function vx(){return ir("go","version")}ue.getGoVersion=vx;function Sx(){return ir("node","--version")}ue.getNodeVersion=Sx;async function ave(e){return await(0,mx.pathExists)("pnpm-lock.yaml")?cve(e):uve(e)}async function cve(e){var t,n,r;let i;try{i=await(0,rr.exec)("pnpm",["list",e,"--json"],{env:{...process.env}})}catch(s){Ue.logger.debug(`Unable to run 'pnpm list ${e} --json': ${s}`);return}let o;try{o=JSON.parse(i)}catch(s){Ue.logger.debug(`Unable to parse output of 'pnpm list ${e} --json': ${s}`);return}if(!o||!Array.isArray(o)||o.length===0||!(!((r=(n=(t=o[0])===null||t===void 0?void 0:t.dependencies)===null||n===void 0?void 0:n[e])===null||r===void 0)&&r.version)){Ue.logger.debug(`Unable to find '${e}' in 'pnpm list ${e} --json': ${i}`);return}return o[0].dependencies[e].version}async function uve(e){let t;try{t=await(0,rr.exec)("npm",["list",e,"--json"],{env:{...process.env}})}catch(r){Ue.logger.debug(`Unable to run 'npm list ${e} --json': ${r}`);return}let n;try{n=JSON.parse(t)}catch(r){Ue.logger.debug(`Unable to parse output of 'npm list ${e} --json': ${r}`);return}if(!n.dependencies||!n.dependencies[e]||!n.dependencies[e].version){Ue.logger.debug(`Unable to find '${e}' in 'npm list ${e} --json': ${t}`);return}return n.dependencies[e].version}async function lve(e){let t;try{t=await(0,rr.exec)("pipenv",["run","pip","show","-qq",e],{env:process.env}),t=await(0,rr.exec)("pipenv",["run","pip","show",e],{env:process.env})}catch(i){Ue.logger.debug(`Unable to run 'pipenv run pip show ${e}': ${i}`)}if(!t)try{t=await(0,rr.exec)("pip",["show","-qq",e],{env:process.env}),t=await(0,rr.exec)("pip",["show",e],{env:process.env})}catch(i){Ue.logger.debug(`Unable to run 'pip show ${e}': ${i}`)}if(!t)return;let n=t.split(/\r\n|\r|\n/).find(i=>i.startsWith("Version:"));if(!n){Ue.logger.debug(`Unable to find version in output of 'pipenv run pip show ${e}' / 'pip show ${e}': ${t}`);return}return n.split(":")[1].trim()}async function dve(e){let n={jsii:"Amazon.JSII.Runtime",constructs:"Constructs",cdktf:"HashiCorp.Cdktf",cdktn:"Io.Cdktn"}[e]||e,r;try{r=await(0,rr.exec)("dotnet",["list","package","--include-transitive"],{env:process.env})}catch(o){Ue.logger.debug(`Unable to run 'dotnet list package --include-transitive': ${o}`);return}let i=r.split(/\r\n|\r|\n/).find(o=>o.includes(`> ${n}`));if(!i){Ue.logger.debug(`Unable to find version for '${n}' in output of 'dotnet list package --include-transitive': ${r}`);return}return i.split(" ").reverse().find(o=>o!=="")}async function gve(e){var t;let r={jsii:"jsii-runtime-go",cdktf:"github.com/hashicorp/terraform-cdk-go",cdktn:"github.com/open-constructs/cdk-terrain-go"}[e]||e,i;try{i=await(0,rr.exec)("go",["list","-m","all"],{env:process.env})}catch(s){Ue.logger.debug(`Unable to run 'go list -m all': ${s}`);return}let o=i.split(/\r\n|\r|\n/).find(s=>s.includes(r));if(!o){Ue.logger.debug(`Unable to find version for '${r}' in output of 'go list -m all': ${i}`);return}return o.includes("=>")&&(Ue.logger.debug(`Found local version for '${r}': ${o}`),o=o.split("=>")[0].trim()),(t=o.split(" ").pop())===null||t===void 0?void 0:t.replace("v","")}async function fve(e){let n={jsii:"jsii-runtime"}[e]||e,r;try{r=await(0,rr.exec)("mvn",["dependency:list"],{env:process.env})}catch(l){Ue.logger.debug(`Unable to run 'mvn dependency:list': ${l}`);return}let i=r.split("The following files have been resolved")[1];if(!i){Ue.logger.debug(`Unable to find resolution passage in output of 'mvn dependency:list': ${r}`);return}let o=i.split(/\r\n|\r|\n/).find(l=>l.includes(`${n}:`));if(!o){Ue.logger.debug(`Unable to find version for '${n}' in output of 'mvn dependency:list': ${r}`);return}let s=`${n}:jar:`,a=o.indexOf(s)+s.length,u=o.indexOf(":compile");return o.substring(a,u)}async function Ive(e){return(0,Ix.isGradleProject)("./")?(0,Ix.getGradlePackageVersion)(e):fve(e)}async function Cd(e,t){let n=async()=>{},i=await({typescript:ave,python:lve,go:gve,csharp:dve,java:Ive}[e]||n)(t);return i??void 0}ue.getPackageVersion=Cd;async function pve(){var e,t,n,r,i,o,s,a,c,u,l,d,g;let I={},m=hx();I.language=m??null,I["cdktn-cli"]=sve.DISPLAY_VERSION;let C=Sx();if(I.node=(e=await C)!==null&&e!==void 0?e:null,m){let b=Cd(m,"cdktn"),v=Cd(m,"cdktf"),E=Cd(m,"constructs"),Y=Cd(m,"jsii");I.cdktn=(t=await b)!==null&&t!==void 0?t:null,I.cdktf=(n=await v)!==null&&n!==void 0?n:null,I.constructs=(r=await E)!==null&&r!==void 0?r:null,I.jsii=(i=await Y)!==null&&i!==void 0?i:null}switch(I.terraform=await ove.terraformVersion,I.arch=XZ.arch(),I.os=`${XZ.platform()} ${XZ.release()}`,m){case"python":{let b=Bx(),v=Gx(),E=Zx();I.python=(o=await b)!==null&&o!==void 0?o:null,I.pip=(s=await v)!==null&&s!==void 0?s:null,I.pipenv=(a=await E)!==null&&a!==void 0?a:null}break;case"java":{let b=bx(),v=yx(),E=Ax();I.java=(c=await b)!==null&&c!==void 0?c:null,I.maven=(u=await v)!==null&&u!==void 0?u:null,I.gradle=(l=await E)!==null&&l!==void 0?l:null}break;case"csharp":I.dotnet=(d=await Cx())!==null&&d!==void 0?d:null;break;case"go":I.go=(g=await vx())!==null&&g!==void 0?g:null;break}return I}ue.collectDebugInformation=pve});var _x=f(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.CDKTF_DISABLE_PLUGIN_CACHE_ENV=Bi.CHECKPOINT_DISABLE=Bi.DISABLE_VERSION_CHECK=void 0;function Wx(e){return e==="true"||e==="1"}Bi.DISABLE_VERSION_CHECK=Wx(process.env.DISABLE_VERSION_CHECK);Bi.CHECKPOINT_DISABLE=!!process.env.CHECKPOINT_DISABLE;Bi.CDKTF_DISABLE_PLUGIN_CACHE_ENV=Wx(process.env.CDKTF_DISABLE_PLUGIN_CACHE_ENV)});var Vx=f(Nx=>{"use strict";Object.defineProperty(Nx,"__esModule",{value:!0})});var Hx=f(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.isNestedTypeAttribute=Ds.isAttributeNestedType=void 0;function Ex(e){return typeof e=="object"&&!Array.isArray(e)&&typeof e.nesting_mode=="string"&&(typeof e.attributes=="object"||typeof e.attributes>"u")}Ds.isAttributeNestedType=Ex;function mve(e){return typeof e.nested_type<"u"&&Ex(e.nested_type)}Ds.isNestedTypeAttribute=mve});var We=f(Xe=>{"use strict";var hve=Xe&&Xe.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),kt=Xe&&Xe.__exportStar||function(e,t){for(var n in e)n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n)&&hve(t,e,n)};Object.defineProperty(Xe,"__esModule",{value:!0});kt(HZ(),Xe);kt(cx(),Xe);kt(Hp(),Xe);kt(Rx(),Xe);kt(_x(),Xe);kt(YZ(),Xe);kt(TZ(),Xe);kt(Zo(),Xe);kt(Vx(),Xe);kt(Hx(),Xe);kt(lZ(),Xe);kt(FZ(),Xe);kt(Os(),Xe);kt(pd(),Xe)});var Yx=f((xEe,kZ)=>{"use strict";var wx=require("fs");kZ.exports=e=>new Promise(t=>{wx.access(e,n=>{t(!n)})});kZ.exports.sync=e=>{try{return wx.accessSync(e),!0}catch{return!1}}});var Tx=f((JEe,KZ)=>{"use strict";var Fx=(e,...t)=>new Promise(n=>{n(e(...t))});KZ.exports=Fx;KZ.exports.default=Fx});var kx=f((OEe,LZ)=>{"use strict";var Cve=Tx(),Xx=e=>{if(!((Number.isInteger(e)||e===1/0)&&e>0))return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up"));let t=[],n=0,r=()=>{n--,t.length>0&&t.shift()()},i=(a,c,...u)=>{n++;let l=Cve(a,...u);c(l),l.then(r,r)},o=(a,c,...u)=>{n<e?i(a,c,...u):t.push(i.bind(null,a,c,...u))},s=(a,...c)=>new Promise(u=>o(a,u,...c));return Object.defineProperties(s,{activeCount:{get:()=>n},pendingCount:{get:()=>t.length},clearQueue:{value:()=>{t.length=0}}}),s};LZ.exports=Xx;LZ.exports.default=Xx});var Ux=f((MEe,Lx)=>{"use strict";var Kx=kx(),Op=class extends Error{constructor(t){super(),this.value=t}},bve=(e,t)=>Promise.resolve(e).then(t),yve=e=>Promise.all(e).then(t=>t[1]===!0&&Promise.reject(new Op(t[0])));Lx.exports=(e,t,n)=>{n=Object.assign({concurrency:1/0,preserveOrder:!0},n);let r=Kx(n.concurrency),i=[...e].map(s=>[s,r(bve,s,t)]),o=Kx(n.preserveOrder?1:1/0);return Promise.all(i.map(s=>o(yve,s))).then(()=>{}).catch(s=>s instanceof Op?s.value:Promise.reject(s))}});var Ox=f((DEe,UZ)=>{"use strict";var xx=require("path"),Jx=Yx(),Ave=Ux();UZ.exports=(e,t)=>(t=Object.assign({cwd:process.cwd()},t),Ave(e,n=>Jx(xx.resolve(t.cwd,n)),t));UZ.exports.sync=(e,t)=>{t=Object.assign({cwd:process.cwd()},t);for(let n of e)if(Jx.sync(xx.resolve(t.cwd,n)))return n}});var Dx=f((zEe,xZ)=>{"use strict";var Gi=require("path"),Mx=Ox();xZ.exports=(e,t={})=>{let n=Gi.resolve(t.cwd||""),{root:r}=Gi.parse(n),i=[].concat(e);return new Promise(o=>{(function s(a){Mx(i,{cwd:a}).then(c=>{c?o(Gi.join(a,c)):a===r?o(null):s(Gi.dirname(a))})})(n)})};xZ.exports.sync=(e,t={})=>{let n=Gi.resolve(t.cwd||""),{root:r}=Gi.parse(n),i=[].concat(e);for(;;){let o=Mx.sync(i,{cwd:n});if(o)return Gi.join(n,o);if(n===r)return null;n=Gi.dirname(n)}}});var qx=f((qEe,JZ)=>{"use strict";var zx=Dx();JZ.exports=async({cwd:e}={})=>zx("package.json",{cwd:e});JZ.exports.sync=({cwd:e}={})=>zx.sync("package.json",{cwd:e})});var Zi=re(require("yargs")),KJ=re(require("path")),LJ=re(require("os")),Qp=re(No()),UJ=re(SI()),Vr=re(We());var Dp=re(No()),jx=require("module"),Mp=re(require("path")),OZ=re(qx()),Px=(0,jx.createRequire)(__filename),Qx=()=>{let e=OZ.sync({cwd:__dirname});if(!e)throw new Error("unable to find package.json");return JSON.parse(Dp.readFileSync(e,"utf-8"))},Bve=()=>{let e=OZ.sync({cwd:__dirname});if(!e)throw new Error("unable to find package.json");return Mp.default.dirname(e)},pe=()=>{let e=Mp.default.join(__dirname,"..","handlers.js");return Dp.existsSync(e)?Px(e):Px(Mp.default.join(Bve(),"bundle","bin","cmds","handlers.js"))};var $x=re(We());var le=class{constructor(){this.handler=async t=>{t.getYargsCompletions||await this.handleCommand(t)}}};var Gve=Qx(),MZ=class extends le{constructor(){super(...arguments);this.command="init";this.describe="Create a new cdktn project from a template.";this.builder=n=>n.showHelpOnFail(!0).option("template",{type:"string",desc:"The template to be used to create a new project. Either URL to zip file or one of the built-in templates."}).option("project-name",{type:"string",desc:"The name of the project."}).option("project-description",{type:"string",desc:"The description of the project."}).option("dist",{type:"string",desc:'Install dependencies from a "dist" directory (for development)'}).option("local",{type:"boolean",desc:"Use local state storage for generated Terraform.",default:!1}).option("cdktf-version",{type:"string",desc:"The cdktn version to use while creating a new project.",default:Gve.version}).option("from-terraform-project",{type:"string",desc:"Use a terraform project as the basis, CDK constructs will be generated based on the .tf files in the path"}).option("enable-crash-reporting",{type:"boolean",desc:"Enable crash reporting for the CLI, refer to https://cdktn.io/docs/telemetry#crash-reporting for more details"}).option("providers",{describe:"Providers to add to your project",type:"array",default:[]}).option("providers-force-local",{type:"boolean",desc:"Force local installation of provider specified in init"}).option("tfe-hostname",{type:"string",desc:"The hostname of the Terraform Enterprise instance to use for remote state storage"}).strict()}async handleCommand(n){$x.Errors.setScope("init"),await pe().init(n)}},eJ=new MZ;var zp=re(We());var nJ=re(We());var tJ=(0,zp.readConfigSync)(),DZ=class extends le{constructor(){super(...arguments);this.command="get";this.describe="Generate CDK Constructs for Terraform providers and modules.";this.builder=n=>n.showHelpOnFail(!0).option("output",{default:tJ.codeMakerOutput,type:"string",desc:"Output directory for generated Constructs",alias:"o"}).option("language",{default:tJ.language,required:!0,type:"string",desc:"Output programming language",alias:"l",choices:zp.LANGUAGES}).option("force",{default:!1,type:"boolean",desc:"Regenerates all generated constructs"}).option("parallelism",{type:"number",required:!1,desc:"Number of concurrently generated provider / module bindings. Only applies for languages that are not Typescript (translated by JSII). Defaults to infinity, denoted by -1",default:-1}).option("show-performance-info",{type:"boolean",required:!1,desc:"Shows performance information after generation"})}async handleCommand(n){nJ.Errors.setScope("get"),await pe().get(n)}},qp=new DZ;var rJ=re(We());var iJ=re(require("path")),oJ=re(No());function Zve(e=process.cwd()){try{let t=iJ.join(e,"cdktf.json");return oJ.readJsonSync(t)}catch{return}}var zZ=class extends le{constructor(){super(...arguments);this.command="convert";this.describe="Converts a single file of HCL configuration to CDK Terrain. Takes the file to be converted on stdin.";this.builder=n=>{var r;return n.example("cat main.tf | cdktn convert --provider integrations/github","Takes the HCL content of main.tf and converts it to CDK Terrain content and prints it").example("cat main.tf | cdktn convert --provider hashicorp/aws > imported.ts","Takes the HCL content of main.tf and converts it to CDK Terrain content in imported.ts").example("cat main.tf | cdktn convert --provider 'hashicorp/aws@ ~>3.62.0' 'integrations/github@ ~>4.16.0' --language python > imported.py","Takes the HCL content of main.tf and converts it to CDK Terrain content in imported.py").option("language",{choices:["typescript","python","csharp","java","go"],default:((r=Zve())==null?void 0:r.language)||"typescript"}).option("provider",{describe:"The conversion needs to know which providers are used in addition to the ones in your cdktf.json file. We search for a cdktf.json below your current working directory.",type:"array",default:[]}).option("stack",{describe:"Wrap the generated code within a stack class",type:"boolean",default:!1}).showHelpOnFail(!0)}}async handleCommand(n){rJ.Errors.setScope("convert");let r=pe();n.withProject!==void 0&&(n.language==="typescript"?n.withProject=!1:n.withProject=!0),await r.convert(n)}},sJ=new zZ;var cJ=re(We());var uJ=re(We());var aJ=(0,cJ.readConfigSync)(),qZ=class extends le{constructor(){super(...arguments);this.command="deploy [stacks...]";this.describe="Deploy the given stacks";this.aliases=["apply"];this.builder=n=>n.positional("stacks",{desc:"Deploy stacks matching the given ids. Required when more than one stack is present in the app",type:"string"}).option("app",{default:aJ.app,required:!0,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:aJ.output,required:!0,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("auto-approve",{type:"boolean",default:!1,required:!1,desc:"Auto approve"}).option("outputs-file",{type:"string",required:!1,desc:"Path to file where stack outputs will be written as JSON",requiresArg:!0}).option("outputs-file-include-sensitive-outputs",{type:"boolean",required:!1,desc:"Whether to include sensitive outputs in the output file",default:!1}).option("ignore-missing-stack-dependencies",{type:"boolean",required:!1,desc:"Don't check if all stacks specified in the command have their dependencies included as well",default:!1}).option("parallelism",{type:"number",required:!1,desc:"Number of concurrent CDKTN stacks to run. Defaults to infinity, denoted by -1",default:-1}).option("refresh-only",{default:!1,required:!1,boolean:!0,desc:'Select the "refresh only" planning mode, which checks whether remote objects still match the outcome of the most recent Terraform apply but does not propose any actions to undo any changes made outside of Terraform.'}).option("terraform-parallelism",{type:"number",required:!1,desc:"Forwards value as the `-parallelism` flag to Terraform. By default, the this flag is not forwarded to Terraform. Note: This flag is not supported by remote / cloud backend",default:-1}).option("no-color",{type:"boolean",default:process.env.FORCE_COLOR==="0",required:!1,desc:"Disables terminal formatting sequences in the output."}).option("migrate-state",{type:"boolean",default:!1,required:!1,desc:"Pass this flag after switching state backends to approve a state migration for all targeted stacks"}).option("var",{type:"array",default:[],required:!1,desc:"Set a value for one of the input variables in the stack or stacks to apply. Use this option more than once to set more than one variable."}).option("var-file",{type:"array",default:[],required:!1,desc:"Load variable values from the given file, in addition to the default files terraform.tfvars and *.auto.tfvars. Use this option more than once to include more than one variables file."}).option("skip-synth",{type:"boolean",default:!1,required:!1,desc:"Skip synthesis of the application, assume the synthesized Terraform code is already present and up to date"}).option("skip-provider-lock",{type:"boolean",default:!1,required:!1,desc:"Block `terraform provider lock` from being run for any reason. Warning: This may cause issues when used with HCP Terraform"}).showHelpOnFail(!0)}async handleCommand(n){uJ.Errors.setScope("deploy"),await pe().deploy(n)}},lJ=new qZ;var gJ=re(We());var fJ=re(We());var dJ=(0,gJ.readConfigSync)(),PZ=class extends le{constructor(){super(...arguments);this.command="destroy [stacks..]";this.describe="Destroy the given stacks";this.builder=n=>n.positional("stacks",{desc:"Destroy stacks matching the given ids. Required when more than one stack is present in the app",type:"string"}).option("app",{default:dJ.app,required:!0,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:dJ.output,required:!0,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("auto-approve",{type:"boolean",default:!1,required:!1,desc:"Auto approve"}).option("ignore-missing-stack-dependencies",{type:"boolean",required:!1,desc:"Don't check if all stacks specified in the command have their dependencies included as well",default:!1}).option("parallelism",{type:"number",required:!1,desc:"Number of concurrent CDKTN stacks to run. Defaults to infinity, denoted by -1",default:-1}).option("terraform-parallelism",{type:"number",required:!1,desc:"Forwards value as the `-parallelism` flag to Terraform. By default, the this flag is not forwarded to Terraform. Note: This flag is not supported by remote / cloud backend",default:-1}).option("var",{type:"array",default:[],required:!1,desc:"Set a value for one of the input variables in the stack or stacks to apply. Use this option more than once to set more than one variable."}).option("var-file",{type:"array",default:[],required:!1,desc:"Load variable values from the given file, in addition to the default files terraform.tfvars and *.auto.tfvars. Use this option more than once to include more than one variables file."}).option("no-color",{type:"boolean",default:process.env.FORCE_COLOR==="0",required:!1,desc:"Disables terminal formatting sequences in the output."}).option("migrate-state",{type:"boolean",default:!1,required:!1,desc:"Pass this flag after switching state backends to approve a state migration for all targeted stacks"}).option("skip-synth",{type:"boolean",default:!1,required:!1,desc:"Skip synthesis of the application, assume the synthesized Terraform code is already present and up to date"}).option("skip-provider-lock",{type:"boolean",default:!1,required:!1,desc:"Block `terraform provider lock` from being run for any reason. Warning: This may cause issues when used with HCP Terraform"}).showHelpOnFail(!0)}async handleCommand(n){fJ.Errors.setScope("destroy"),await pe().destroy(n)}},IJ=new PZ;var mJ=re(We());var hJ=re(We());var pJ=(0,mJ.readConfigSync)(),jZ=class extends le{constructor(){super(...arguments);this.command="diff [stack]";this.describe="Perform a diff (terraform plan) for the given stack";this.aliases=["plan"];this.builder=n=>n.positional("stack",{desc:"Diff stack which matches the given id only. Required when more than one stack is present in the app",type:"string"}).option("app",{default:pJ.app,required:!0,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:pJ.output,required:!0,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("refresh-only",{default:!1,required:!1,boolean:!0,desc:'Select the "refresh only" planning mode, which checks whether remote objects still match the outcome of the most recent Terraform apply but does not propose any actions to undo any changes made outside of Terraform.'}).option("terraform-parallelism",{type:"number",required:!1,desc:"Forwards value as the `-parallelism` flag to Terraform. By default, the this flag is not forwarded to Terraform. Note: This flag is not supported by remote / cloud backend",default:-1}).option("var",{type:"array",default:[],required:!1,desc:"Set a value for one of the input variables in the stack. Use this option more than once to set more than one variable."}).option("var-file",{type:"array",default:[],required:!1,desc:"Load variable values from the given file, in addition to the default files terraform.tfvars and *.auto.tfvars. Use this option more than once to include more than one variables file."}).option("no-color",{type:"boolean",default:process.env.FORCE_COLOR==="0",required:!1,desc:"Disables terminal formatting sequences in the output."}).option("migrate-state",{type:"boolean",default:!1,required:!1,desc:"Pass this flag after switching state backends to approve a state migration for the targeted stack"}).option("skip-synth",{type:"boolean",default:!1,required:!1,desc:"Skip synthesis of the application, assume the synthesized Terraform code is already present and up to date"}).option("skip-provider-lock",{type:"boolean",default:!1,required:!1,desc:"Block `terraform provider lock` from being run for any reason. Warning: This may cause issues when used with HCP Terraform"}).showHelpOnFail(!0)}async handleCommand(n){hJ.Errors.setScope("diff"),await pe().diff(n)}},CJ=new jZ;var Pp=re(We());var bJ=(0,Pp.readConfigSync)(),QZ=class extends le{constructor(){super(...arguments);this.command="list";this.describe="List stacks in app.";this.builder=n=>n.option("app",{default:bJ.app,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:bJ.output,desc:"Output directory for the synthesized Terraform config",alias:"o"}).showHelpOnFail(!0)}async handleCommand(n){Pp.Errors.setScope("list"),await pe().list(n)}},yJ=new QZ;var AJ=re(We());var $Z=class extends le{constructor(){super(...arguments);this.command="login";this.describe="Retrieves an API token to connect to Terraform Cloud or Terraform Enterprise.";this.builder=n=>n.showHelpOnFail(!0).option("tfe-hostname",{string:!0,requiresArg:!0,describe:"The Terraform Enterprise hostname to authenticate against. If you use Terraform Cloud you can leave this on the default.",default:"app.terraform.io"}).example("cdktn login","Takes you through the interactive login process").example("cdktn login --tfe-hostname tfe.my-company.com","Takes you through the interactive login process on your companies Terraform Enterprise instance.").example("cat my-token.txt | cdktn login","Uses a locally stored token directly, instead of going through the interactive login process").strict()}async handleCommand(n){AJ.Errors.setScope("login"),await pe().login(n)}},BJ=new $Z;var zs=re(We());var ev=(0,zs.readConfigSync)(),tv=class extends le{constructor(){super(...arguments);this.command="synth";this.describe="Synthesizes Terraform code for the given app in a directory.";this.aliases=["synthesize"];this.builder=n=>n.option("app",{default:ev.app,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:ev.output,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("check-code-maker-output",{type:"boolean",desc:"Should `codeMakerOutput` existence check be performed? By default it will be checked if providers or modules are configured.",default:(0,zs.shouldCheckCodeMakerOutput)(ev)}).option("hcl",{type:"boolean",desc:"Should the output be in HCL format?",default:!1}).showHelpOnFail(!0)}async handleCommand(n){zs.Errors.setScope("synth"),await pe().synth(n)}},GJ=new tv;var vJ=re(We());var SJ=re(We());var ZJ=(0,vJ.readConfigSync)(),nv=class extends le{constructor(){super(...arguments);this.command="watch [stacks..]";this.describe="[experimental] Watch for file changes and automatically trigger a deploy";this.builder=n=>n.positional("stacks",{desc:"Deploy stacks matching the given ids. Required when more than one stack is present in the app",type:"string"}).option("app",{default:ZJ.app,required:!0,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:ZJ.output,required:!0,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("auto-approve",{type:"boolean",default:!1,required:!1,desc:"Auto approve"}).option("parallelism",{type:"number",required:!1,desc:"Number of concurrent CDKTN stacks to run. Defaults to infinity, denoted by -1",default:-1}).option("terraform-parallelism",{type:"number",required:!1,desc:"Forwards value as the `-parallelism` flag to Terraform. By default, the this flag is not forwarded to Terraform. Note: This flag is not supported by remote / cloud backend",default:-1}).showHelpOnFail(!0)}async handleCommand(n){SJ.Errors.setScope("watch"),await pe().watch(n)}},RJ=new nv;var jp=re(We());var WJ=(0,jp.readConfigSync)(),rv=class extends le{constructor(){super(...arguments);this.command="output [stacks..]";this.describe="Prints the output of stacks";this.aliases=["outputs"];this.builder=n=>n.positional("stacks",{desc:"Get outputs of the stacks matching the given ids. Required when more than one stack is present in the app",type:"string"}).option("app",{default:WJ.app,required:!0,desc:"Command to use in order to execute cdktn app",alias:"a"}).option("output",{default:WJ.output,required:!0,desc:"Output directory for the synthesized Terraform config",alias:"o"}).option("outputs-file",{type:"string",required:!1,desc:"Path to file where stack outputs will be written as JSON",requiresArg:!0}).option("outputs-file-include-sensitive-outputs",{type:"boolean",required:!1,desc:"Whether to include sensitive outputs in the output file",default:!1}).option("skip-synth",{type:"boolean",default:!1,required:!1,desc:"Skip synthesis of the application, assume the synthesized Terraform code is already present and up to date"}).option("skip-provider-lock",{type:"boolean",default:!1,required:!1,desc:"Block `terraform provider lock` from being run for any reason. Warning: This may cause issues when used with HCP Terraform"}).showHelpOnFail(!0)}async handleCommand(n){jp.Errors.setScope("output"),await pe().output(n)}},_J=new rv;var NJ=re(We());var iv=class extends le{constructor(){super(...arguments);this.command="debug";this.describe="Get debug information about the current project and environment";this.builder=n=>n.showHelpOnFail(!0).option("json",{default:!1,type:"boolean",desc:"If set, output will be in JSON format."})}async handleCommand(n){NJ.Errors.setScope("debug"),await pe().debug(n)}},VJ=new iv;var XJ=re(require("yargs"));var EJ=re(We());var ov=class extends le{constructor(){super(...arguments);this.command="add <provider...>";this.describe="Add one or more Terraform providers to your project.";this.builder=n=>n.showHelpOnFail(!0).positional("provider",{type:"string",desc:"Name of the provider to add. Can include a version constraint (e.g. aws@~>4.0).",required:!0}).option("force-local",{type:"boolean",desc:"force local provider installation, even if pre-built provider exists"})}async handleCommand(n){EJ.Errors.setScope("provider add"),await pe().providerAdd(n)}},HJ=new ov;var wJ=re(We());var sv=class extends le{constructor(){super(...arguments);this.command="upgrade <provider...>";this.describe=`Upgrade one or more Terraform providers in your project to the newest version compatible with your CDKTN version.
72
72
  If your project has the associated pre-built provider already installed, CDKTN updates the pre-built provider. Otherwise, CDKTN adds the specified provider to the cdktf.json configuration file and generates local provider bindings.`;this.builder=n=>n.showHelpOnFail(!0).positional("provider",{type:"string",desc:"Name of the provider to upgrade. Can include a version constraint (e.g. aws@~>4.0).",required:!0})}async handleCommand(n){wJ.Errors.setScope("provider upgrade"),await pe().providerUpgrade(n)}},YJ=new sv;var FJ=re(We());var av=class extends le{constructor(){super(...arguments);this.command="list [flags]";this.describe="List installed providers";this.builder=n=>n.showHelpOnFail(!0).option("json",{type:"boolean",default:!1,desc:"get providers list as json"})}async handleCommand(n){FJ.Errors.setScope("provider list"),await pe().providerList(n)}},TJ=new av;var cv=class{constructor(){this.command="provider";this.describe="A set of subcommands that facilitates provider management";this.builder=t=>t.command(qp).command(HJ).command(YJ).command(TJ);this.handler=()=>{XJ.default.showHelp()}}},kJ=new cv;process.env.NODE_ENV=process.env.NODE_ENV||"production";var vve=()=>{let e=process.env.TF_PLUGIN_CACHE_DIR||KJ.join(LJ.homedir(),".terraform.d","plugin-cache");return Qp.existsSync(e)||Qp.mkdirpSync(e),e};Vr.CDKTF_DISABLE_PLUGIN_CACHE_ENV||(process.env.TF_PLUGIN_CACHE_DIR=vve());var Sve=function(e,t,n,r){t._.includes("diff")||t._.includes("deploy")||t._.includes("plan")||t._.includes("apply")?n(async(i,o)=>{let s=[];try{let a=await(0,Vr.readCDKTFManifest)();s.push(...Object.values(a.stacks).map(c=>`${c.name}:target stack "${c.name}"`))}finally{r([...o,...s])}}):n()};Zi.command(eJ).command(qp).command(sJ).command(lJ).command(IJ).command(CJ).command(yJ).command(BJ).command(GJ).command(RJ).command(_J).command(VJ).command(kJ).recommendCommands().exitProcess(!1).wrap(Zi.terminalWidth()).showHelpOnFail(!1).env("CDKTF").epilogue('Options can be specified via environment variables with the "CDKTF_" prefix (e.g. "CDKTF_OUTPUT")').help().alias("h","help").option("experimental-provider-schema-cache-path",{type:"string",default:!1,required:!1,desc:"An experimental schema cache that can be used to improve the speed of cdktn get and convert. Supported using the env CDKTF_EXPERIMENTAL_PROVIDER_SCHEMA_CACHE_PATH."}).option("disable-plugin-cache-env",{type:"boolean",default:!1,required:!1,desc:"Dont set TF_PLUGIN_CACHE_DIR automatically. This is useful when the plugin cache is configured differently. Supported using the env CDKTF_DISABLE_PLUGIN_CACHE_ENV."}).option("log-level",{type:"string",required:!1,desc:"Which log level should be written. Only supported via setting the env CDKTF_LOG_LEVEL"}).option("log-file-directory",{require:!1,desc:"The directory path where CDKTN should create `cdktf.log` and print logs at the `debug` level. If not set, CDKTF writes logs to standard out at the level specified in `CDKTF_LOG_LEVEL`. Only supported via setting the env CDKTF_LOG_FILE_DIRECTORY"}).option("context-json",{required:!1,hidden:!0,desc:"Used internally for env variable"}).completion("completion",Sve).parserConfiguration({"boolean-negation":!1}).command({command:"*",handler:e=>{let t=e._[0];t!=="completion"&&(console.error(t?`Could not find command "${t}", here are all available ones:`:"Please pass a command to cdktn, here are all available ones:"),Zi.showHelp(),process.exit(1))}}).fail(async(e,t)=>{if(Zi.exit(1,t),e&&console.log(e),(0,Vr.IsErrorType)(t,"Usage")||(0,Vr.IsErrorType)(t,"External"))console.error(t.message);else if(t){console.error(t.message),console.error(t.stack),console.error("Collecting Debug Information...");let n=await(0,Vr.collectDebugInformation)();console.error("Debug Information:"),Object.entries(n).forEach(([r,i])=>{console.log(`${r}: ${i===null?"null":i}`)})}await UJ.close(4e3),process.exit(1)}).argv;
73
73
  /*! Bundled license information:
74
74