cdktn-cli 0.25.0-pre.17 → 0.25.0-pre.20
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.
|
@@ -71,12 +71,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
71
71
|
${i.join(`
|
|
72
72
|
`)}`);let s={...n.context,...n.targetVersions?{[b9.TARGET_VERSIONS_CONTEXT_KEY]:n.targetVersions}:{}};return Object.keys(s).length>0&&(xwt.env[Dwt]=JSON.stringify(s)),n};nr.parseConfig=Nwt;function Twt(t=Jye.join(process.cwd(),Xye)){let e;return zye.existsSync(t)&&(e=zye.readFileSync(t).toString()),(0,nr.parseConfig)(e)}function kwt(t){return KR(t.terraformModules)||KR(t.terraformProviders)}function Fwt(t){qye.logger.debug(`Start timer for ${t}...`);let e=Date.now();return function(){let i=Date.now()-e;qye.logger.debug(`${t} took ${i}ms`)}}});var tCe=p((fCr,eCe)=>{"use strict";eCe.exports=({onlyFirst:t=!1}={})=>{let e=["[\\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(e,t?void 0:"g")}});var Rf=p((ACr,rCe)=>{"use strict";var Gwt=tCe();rCe.exports=t=>typeof t=="string"?t.replace(Gwt(),""):t});var W0=p(wr=>{"use strict";var Zwt=wr&&wr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Owt=wr&&wr.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),sD=wr&&wr.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&Zwt(r,e,n[i]);return Owt(r,e),r}})(),Uwt=wr&&wr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(wr,"__esModule",{value:!0});wr.HttpError=wr.exec=void 0;wr.shell=Hwt;wr.withTempDir=Pwt;wr.mkdtemp=Ywt;wr.readCDKTFVersion=jwt;wr.readCDKTFManifest=zwt;wr.downcaseFirst=qwt;wr.downloadFile=Jwt;wr.ensureAllSettledBeforeThrowing=Xwt;wr.hasNoColorFlagOrEnv=sCe;var Mwt=KW(),La=sD(Cr()),nCe=rpe(),iCe=sD(require("os")),BB=sD(require("path")),nD=Tg(),Lwt=require("cdktn"),Wwt=sD(rD()),EB=Uwt(Rf());function Vwt(t,e,r){t.stderr=e,t.stdout=r;let n=[e,r].filter(Boolean).join(`
|
|
73
73
|
`);if(n){let i=t.message;t.toString=()=>`Error: ${i}
|
|
74
|
-
${n}`}}async function Hwt(t,e=[],r={}){return(0,wr.exec)(t,e,r,n=>{let i=r.noColor?(0,EB.default)(n.toLocaleString()):n.toLocaleString();console.log(i)},()=>{})}async function Pwt(t,e){let r=process.cwd(),n=await La.mkdtemp(BB.join(iCe.tmpdir(),"cdktf.")),i=BB.join(n,t);await La.mkdirp(i);try{process.chdir(i),await e()}finally{process.chdir(r),await La.remove(n)}}async function Ywt(t){let e=await La.mkdtemp(BB.join(iCe.tmpdir(),"cdktf."));try{await t(e)}finally{await La.remove(e)}}var $wt=async(t,e,r,n,i,s=!0)=>{typeof r.noColor!="boolean"&&sCe()&&(r.noColor=!0);let{signal:o,logStderrAsDebug:a,...c}=r,u=a?nD.processLoggerDebug:nD.processLoggerError;return new Promise((l,d)=>{var f,A,g,h;let m=(0,Mwt.spawn)(t,e,c),I=new Array,C=new Array;n!==void 0?(f=m.stdout)===null||f===void 0||f.on("data",b=>{let S=r.noColor?(0,EB.default)(b.toLocaleString()):b.toLocaleString();(0,nD.processLoggerDebug)(S),I.push(S),n(S)}):(A=m.stdout)===null||A===void 0||A.on("data",b=>{let S=r.noColor?(0,EB.default)(b.toLocaleString()):b.toLocaleString();(0,nD.processLoggerDebug)(S),I.push(S)}),i!==void 0?(g=m.stderr)===null||g===void 0||g.on("data",b=>{let S=r.noColor?(0,EB.default)(b.toLocaleString()):b.toLocaleString();u(S),s&&i(S),C.push(S)}):(h=m.stderr)===null||h===void 0||h.on("data",b=>{let S=r.noColor?(0,EB.default)(b.toLocaleString()):b.toLocaleString();u(S),s&&process.stderr.write(S),C.push(S)}),m.once("error",b=>d(b)),m.once("close",b=>{if(b!==0){let S=new Error(`${t} ${e.join(" ")} exited with code ${b}`);return Vwt(S,C.join(""),I.join("")),d(S)}return l(I.join(""))})})};wr.exec=$wt;async function jwt(t){let e=BB.join(t,"cdk.tf.json");if(La.existsSync(e)){let r=La.readFileSync(e,"utf8");return JSON.parse(r)["//"].metadata.version}return""}async function zwt(){let{output:t}=Wwt.readConfigSync(),e=await La.readFile(BB.join(t,Lwt.Manifest.fileName));return JSON.parse(e.toString())}function qwt(t){return t===""?t:`${t[0].toLocaleLowerCase()}${t.slice(1)}`}var iD=class extends Error{constructor(e,r){super(e),this.statusCode=r,Object.setPrototypeOf(this,new.target.prototype)}};wr.HttpError=iD;async function Jwt(t,e){let r=t.startsWith("http://")?nCe.http:nCe.https,n=La.createWriteStream(e);return new Promise((i,s)=>{let o=r.get(t,a=>{if(a.statusCode!==200){s(new iD(`Failed to get '${t}' (${a.statusCode})`,a.statusCode));return}a.pipe(n)});n.on("finish",()=>i()),o.on("error",a=>{La.unlink(e,()=>s(a))}),n.on("error",a=>{La.unlink(e,()=>s(a))}),o.end()})}async function Xwt(t,e){try{await t}catch(r){throw await Promise.allSettled(e),r}}function sCe(){return Kwt("no-color")||process.env.FORCE_COLOR==="0"}function Kwt(t){let e=t.startsWith("-")?"":t.length===1?"-":"--",r=process.argv.indexOf(e+t),n=process.argv.indexOf("--");return r!==-1&&(n===-1||r<n)}});var Tg=p(gi=>{"use strict";var e_t=gi&&gi.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),t_t=gi&&gi.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),B9=gi&&gi.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&e_t(r,e,n[i]);return t_t(r,e),r}})();Object.defineProperty(gi,"__esModule",{value:!0});gi.logFileName=gi.processLoggerError=gi.processLoggerDebug=gi.logger=void 0;var E9=Poe(),oCe=B9(Cr()),r_t=B9(require("path")),V0=B9(BR()),n_t=W0(),Jl=(0,E9.getLogger)(),v9={trace(t,...e){Jl.trace(t,...e),V0.addBreadcrumb({message:t,level:"debug"})},debug(t,...e){Jl.debug(t,...e),V0.addBreadcrumb({message:t,level:"debug"})},info(t,...e){Jl.info(t,...e),V0.addBreadcrumb({message:t,level:"info"})},warn(t,...e){Jl.warn(t,...e),V0.addBreadcrumb({message:t,level:"warning"})},error(t,...e){Jl.error(t,...e),V0.addBreadcrumb({message:t,level:"error"})},fatal(t,...e){Jl.fatal(t,...e),V0.addBreadcrumb({message:t,level:"fatal"})},setLevel(t){Jl.level=t},useDefaultLevel(){Jl.level=process.env.CDKTF_LOG_LEVEL||"INFO"}};gi.logger=v9;Jl.level=process.env.CDKTF_LOG_LEVEL||"INFO";var aCe="cdktf.log";gi.logFileName=aCe;if(process.env.CDKTF_LOG_FILE_DIRECTORY&&oCe.existsSync(process.env.CDKTF_LOG_FILE_DIRECTORY)&&oCe.statSync(process.env.CDKTF_LOG_FILE_DIRECTORY).isDirectory())(0,E9.configure)({appenders:{cdktf:{type:"file",filename:r_t.join(process.env.CDKTF_LOG_FILE_DIRECTORY,aCe)}},categories:{default:{appenders:["cdktf"],level:"debug"}}});else{let t=(0,n_t.hasNoColorFlagOrEnv)()?"basic":"colored";(0,E9.configure)({appenders:{out:{type:"stdout",layout:{type:t}}},categories:{default:{appenders:["out"],level:"info"}}})}var i_t=t=>{v9.debug(t.toString())};gi.processLoggerDebug=i_t;var s_t=t=>{v9.error(t.toString())};gi.processLoggerError=s_t});var cCe=p((pCr,o_t)=>{o_t.exports={name:"@cdktn/commons",version:"0.25.0-pre.
|
|
74
|
+
${n}`}}async function Hwt(t,e=[],r={}){return(0,wr.exec)(t,e,r,n=>{let i=r.noColor?(0,EB.default)(n.toLocaleString()):n.toLocaleString();console.log(i)},()=>{})}async function Pwt(t,e){let r=process.cwd(),n=await La.mkdtemp(BB.join(iCe.tmpdir(),"cdktf.")),i=BB.join(n,t);await La.mkdirp(i);try{process.chdir(i),await e()}finally{process.chdir(r),await La.remove(n)}}async function Ywt(t){let e=await La.mkdtemp(BB.join(iCe.tmpdir(),"cdktf."));try{await t(e)}finally{await La.remove(e)}}var $wt=async(t,e,r,n,i,s=!0)=>{typeof r.noColor!="boolean"&&sCe()&&(r.noColor=!0);let{signal:o,logStderrAsDebug:a,...c}=r,u=a?nD.processLoggerDebug:nD.processLoggerError;return new Promise((l,d)=>{var f,A,g,h;let m=(0,Mwt.spawn)(t,e,c),I=new Array,C=new Array;n!==void 0?(f=m.stdout)===null||f===void 0||f.on("data",b=>{let S=r.noColor?(0,EB.default)(b.toLocaleString()):b.toLocaleString();(0,nD.processLoggerDebug)(S),I.push(S),n(S)}):(A=m.stdout)===null||A===void 0||A.on("data",b=>{let S=r.noColor?(0,EB.default)(b.toLocaleString()):b.toLocaleString();(0,nD.processLoggerDebug)(S),I.push(S)}),i!==void 0?(g=m.stderr)===null||g===void 0||g.on("data",b=>{let S=r.noColor?(0,EB.default)(b.toLocaleString()):b.toLocaleString();u(S),s&&i(S),C.push(S)}):(h=m.stderr)===null||h===void 0||h.on("data",b=>{let S=r.noColor?(0,EB.default)(b.toLocaleString()):b.toLocaleString();u(S),s&&process.stderr.write(S),C.push(S)}),m.once("error",b=>d(b)),m.once("close",b=>{if(b!==0){let S=new Error(`${t} ${e.join(" ")} exited with code ${b}`);return Vwt(S,C.join(""),I.join("")),d(S)}return l(I.join(""))})})};wr.exec=$wt;async function jwt(t){let e=BB.join(t,"cdk.tf.json");if(La.existsSync(e)){let r=La.readFileSync(e,"utf8");return JSON.parse(r)["//"].metadata.version}return""}async function zwt(){let{output:t}=Wwt.readConfigSync(),e=await La.readFile(BB.join(t,Lwt.Manifest.fileName));return JSON.parse(e.toString())}function qwt(t){return t===""?t:`${t[0].toLocaleLowerCase()}${t.slice(1)}`}var iD=class extends Error{constructor(e,r){super(e),this.statusCode=r,Object.setPrototypeOf(this,new.target.prototype)}};wr.HttpError=iD;async function Jwt(t,e){let r=t.startsWith("http://")?nCe.http:nCe.https,n=La.createWriteStream(e);return new Promise((i,s)=>{let o=r.get(t,a=>{if(a.statusCode!==200){s(new iD(`Failed to get '${t}' (${a.statusCode})`,a.statusCode));return}a.pipe(n)});n.on("finish",()=>i()),o.on("error",a=>{La.unlink(e,()=>s(a))}),n.on("error",a=>{La.unlink(e,()=>s(a))}),o.end()})}async function Xwt(t,e){try{await t}catch(r){throw await Promise.allSettled(e),r}}function sCe(){return Kwt("no-color")||process.env.FORCE_COLOR==="0"}function Kwt(t){let e=t.startsWith("-")?"":t.length===1?"-":"--",r=process.argv.indexOf(e+t),n=process.argv.indexOf("--");return r!==-1&&(n===-1||r<n)}});var Tg=p(gi=>{"use strict";var e_t=gi&&gi.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),t_t=gi&&gi.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),B9=gi&&gi.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&e_t(r,e,n[i]);return t_t(r,e),r}})();Object.defineProperty(gi,"__esModule",{value:!0});gi.logFileName=gi.processLoggerError=gi.processLoggerDebug=gi.logger=void 0;var E9=Poe(),oCe=B9(Cr()),r_t=B9(require("path")),V0=B9(BR()),n_t=W0(),Jl=(0,E9.getLogger)(),v9={trace(t,...e){Jl.trace(t,...e),V0.addBreadcrumb({message:t,level:"debug"})},debug(t,...e){Jl.debug(t,...e),V0.addBreadcrumb({message:t,level:"debug"})},info(t,...e){Jl.info(t,...e),V0.addBreadcrumb({message:t,level:"info"})},warn(t,...e){Jl.warn(t,...e),V0.addBreadcrumb({message:t,level:"warning"})},error(t,...e){Jl.error(t,...e),V0.addBreadcrumb({message:t,level:"error"})},fatal(t,...e){Jl.fatal(t,...e),V0.addBreadcrumb({message:t,level:"fatal"})},setLevel(t){Jl.level=t},useDefaultLevel(){Jl.level=process.env.CDKTF_LOG_LEVEL||"INFO"}};gi.logger=v9;Jl.level=process.env.CDKTF_LOG_LEVEL||"INFO";var aCe="cdktf.log";gi.logFileName=aCe;if(process.env.CDKTF_LOG_FILE_DIRECTORY&&oCe.existsSync(process.env.CDKTF_LOG_FILE_DIRECTORY)&&oCe.statSync(process.env.CDKTF_LOG_FILE_DIRECTORY).isDirectory())(0,E9.configure)({appenders:{cdktf:{type:"file",filename:r_t.join(process.env.CDKTF_LOG_FILE_DIRECTORY,aCe)}},categories:{default:{appenders:["cdktf"],level:"debug"}}});else{let t=(0,n_t.hasNoColorFlagOrEnv)()?"basic":"colored";(0,E9.configure)({appenders:{out:{type:"stdout",layout:{type:t}}},categories:{default:{appenders:["out"],level:"info"}}})}var i_t=t=>{v9.debug(t.toString())};gi.processLoggerDebug=i_t;var s_t=t=>{v9.error(t.toString())};gi.processLoggerError=s_t});var cCe=p((pCr,o_t)=>{o_t.exports={name:"@cdktn/commons",version:"0.25.0-pre.20",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:"bash package.sh","dist-clean":"rm -rf dist","package:js":"bash 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:"workspace:*","ci-info":"4.4.0",codemaker:"1.140.0","cross-spawn":"7.0.6","follow-redirects":"1.16.0","fs-extra":"11.3.6",log4js:"6.9.1",semver:"7.8.5","strip-ansi":"6.0.1",validator:"13.15.35"},devDependencies:{"@types/node":"22.20.1","@types/cross-spawn":"6.0.6","@types/follow-redirects":"1.14.4","@types/fs-extra":"11.0.4","@types/semver":"7.7.1","@types/validator":"13.15.10","tsc-files":"1.1.4",typescript:"~6.0.0"},"lint-staged":{"src/**/*.{ts,tsx}":"tsc-files ambient.d.ts --noEmit"}}});var vB=p(oD=>{"use strict";Object.defineProperty(oD,"__esModule",{value:!0});oD.DISPLAY_VERSION=void 0;oD.DISPLAY_VERSION=`${a_t()}`;function a_t(){return cCe().version.replace(/\+[0-9a-f]+$/,"")}});var w9=p(bs=>{"use strict";var c_t=bs&&bs.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),u_t=bs&&bs.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),uD=bs&&bs.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&c_t(r,e,n[i]);return u_t(r,e),r}})(),l_t=bs&&bs.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(bs,"__esModule",{value:!0});bs.sendTelemetry=I_t;bs.getProjectId=ACe;bs.getUserId=gCe;bs.ReportRequest=hCe;var d_t=uD(require("https")),f_t=require("url"),dCe=require("node:crypto"),cD=uD(require("os")),uCe=l_t(r_()),S9=Tg(),SB=uD(require("path")),aD=uD(Cr()),A_t=vB(),g_t="https://checkpoint-api.hashicorp.com/v1/",h_t=[200,201],lCe=8192;function p_t(){var t;return process.env.CDKTF_HOME?SB.resolve(process.env.CDKTF_HOME):SB.join(((t=cD.userInfo().homedir)!==null&&t!==void 0?t:cD.homedir()).trim()||"/",".cdktf")}async function m_t(t,e){return new Promise((r,n)=>{let i=d_t.request((0,f_t.format)(t),{headers:{Accept:"application/json","Content-Length":e.length,"User-Agent":"OpenConstructs/cdktn-cli"},method:"POST"},s=>{if(s.statusCode){let a=s.statusCode;if(!h_t.includes(a))return n(new Error(s.statusMessage))}let o=new Array;s.on("data",a=>o.push(a)),s.on("error",a=>n(a)),s.on("end",()=>r())});i.setTimeout(1e3,()=>n(new Error("request timeout"))),i.write(e),i.end(),i.on("error",s=>n(s))})}async function I_t(t,e){let r={command:t,product:"cdktn",version:`${A_t.DISPLAY_VERSION}`,dateTime:new Date,language:e.language,payload:e};try{await hCe(r)}catch(n){S9.logger.error(`Could not send telemetry data: ${n}`)}}function fCe(t,e,r=!1,n){let i=(0,dCe.randomUUID)(),s;try{s=JSON.parse(aD.readFileSync(t,"utf-8"))}catch{if(r){let a={};n&&(a["//"]=n.replace(/\n/g," ")),a[e]=i,aD.ensureDirSync(SB.dirname(t)),aD.writeFileSync(t,JSON.stringify(a,null,2))}return i}return s[e]?s[e]:(aD.writeFileSync(t,JSON.stringify({...s,[e]:i},null,2)),i)}function ACe(t=process.cwd()){return fCe(SB.resolve(t,"cdktf.json"),"projectId")}function gCe(){return fCe(SB.resolve(p_t(),"config.json"),"userId",!0,`This signature is a randomly generated UUID used to anonymously differentiate users in telemetry data order to inform product direction.
|
|
75
75
|
This signature is random, it is not based on any personally identifiable information.
|
|
76
76
|
To create a new signature, you can simply delete this file at any time.
|
|
77
77
|
See https://cdktn.io/docs/telemetry for more
|
|
78
78
|
information on how to disable it.`)}async function hCe(t){if(process.env.CHECKPOINT_DISABLE)return;t.runID||(t.runID=(0,dCe.randomUUID)()),t.dateTime||(t.dateTime=new Date),t.arch||(t.arch=cD.arch()),t.os||(t.os=cD.platform());let e=uCe.default.isCI?uCe.default.name||"unknown":!1;!t.userId&&!e&&(t.userId=gCe()),e&&(t.ci=e),t.projectId=t.projectId||ACe();let r=JSON.stringify(t);if(r.length>lCe){S9.logger.warn(`Skipped sending telemetry as the request body size was ${r.length} bytes. The limit is ${lCe} bytes`);return}try{await m_t(`${g_t}telemetry/${t.product}`,r)}catch(n){(0,S9.processLoggerError)(n.message)}}});var pCe=p(Df=>{"use strict";Object.defineProperty(Df,"__esModule",{value:!0});Df.ConstructsMakerProviderTarget=Df.ConstructsMakerModuleTarget=Df.ConstructsMakerTarget=void 0;var Uc=rD(),wB=class{constructor(e,r){this.constraint=e,this.targetLanguage=r,this.constraint instanceof Uc.TerraformModuleConstraint?this.fileName=`${this.typesPath(this.constraint.fileName)}.ts`:this.fileName=`${this.typesPath(this.constraint.name)}.ts`}static from(e,r){return e instanceof Uc.TerraformModuleConstraint?new lD(e,r):new dD(e,r)}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,"_")}};Df.ConstructsMakerTarget=wB;var lD=class extends wB{get isModule(){return!0}get isProvider(){return!1}get srcMakName(){switch(this.targetLanguage){case Uc.Language.GO:return this.name.replace(/-/gi,"_");case Uc.Language.JAVA:case Uc.Language.CSHARP:case Uc.Language.PYTHON:return this.simplifiedFqn;default:return this.simplifiedName}}get trackingPayload(){return{name:this.name,fullName:this.fqn,version:this.version,type:"module"}}typesPath(e){return`modules/${e}`}get simplifiedName(){var e,r;return(r=(e=this.namespace)===null||e===void 0?void 0:e.replace(/\//gi,".").replace(/-/gi,"_"))!==null&&r!==void 0?r:this.name}get simplifiedFqn(){return this.fqn.replace(/\//gi,".").replace(/-/gi,"_")}};Df.ConstructsMakerModuleTarget=lD;var dD=class extends wB{get isModule(){return!1}get isProvider(){return!0}get srcMakName(){switch(this.targetLanguage){case Uc.Language.JAVA:return this.isNullProvider?"nullprovider":this.simplifiedName;case Uc.Language.CSHARP:return this.isNullProvider?"Providers.Null":this.simplifiedName;case Uc.Language.PYTHON:return this.simplifiedName;case Uc.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(e){return`providers/${e}/index`}get isNullProvider(){return this.constraint.name==="null"}get simplifiedName(){return this.name.replace(/\//gi,".").replace(/-/gi,"_")}};Df.ConstructsMakerProviderTarget=dD});var x9=p(Wa=>{"use strict";var y_t=Wa&&Wa.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),C_t=Wa&&Wa.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),b_t=Wa&&Wa.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&y_t(r,e,n[i]);return C_t(r,e),r}})();Object.defineProperty(Wa,"__esModule",{value:!0});Wa.Errors=void 0;Wa.IsErrorType=w_t;var E_t=w9(),B_t=vB(),v_t=b_t(BR());async function S_t(t,e){let r={command:t,product:"cdktn",version:`${B_t.DISPLAY_VERSION}`,dateTime:new Date,payload:e};await(0,E_t.ReportRequest)(r)}function w_t(t,e){return t&&t.__type===e}function _9(t,e){return(r,n=new Error,i)=>{S_t(e,{...i,message:r,type:t});let s=new Error(`${t} Error: ${r}`);return Object.entries(i||{}).forEach(([o,a])=>{s[o]=a}),s.__type=t,s.stack=n.stack,s}}var fD="unknown";Wa.Errors={Internal:_9("Internal",fD),Usage:_9("Usage",fD),External:_9("External",fD),setScope(t){fD=t,v_t.configureScope(e=>e.setTransactionName(t))}}});var R9=p(Xl=>{"use strict";Object.defineProperty(Xl,"__esModule",{value:!0});Xl.terraformVersion=Xl.parseTerraformCliVersion=Xl.terraformBinaryName=void 0;var __t=x9(),x_t=W0();Xl.terraformBinaryName=process.env.TERRAFORM_BINARY_NAME||"terraform";var R_t=require("cdktn/lib/validations");Object.defineProperty(Xl,"parseTerraformCliVersion",{enumerable:!0,get:function(){return R_t.parseTerraformCliVersion}});Xl.terraformVersion=(0,x_t.exec)(Xl.terraformBinaryName,["version","-json"],{}).then(t=>JSON.parse(t).terraform_version).catch(t=>__t.Errors.Usage(`Unknown: Error loading terraform version ${t}`,t))});var D9=p(Kl=>{"use strict";var mCe=Kl&&Kl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Kl,"__esModule",{value:!0});Kl.isGradleProject=Q_t;Kl.getGradleDependencies=yCe;Kl.getDependencyInformationFromLine=CCe;Kl.getGradlePackageVersion=N_t;Kl.getGradlePackageVersionFromBuild=bCe;var ICe=mCe(require("path")),AD=mCe(Cr()),Qf=Tg(),D_t=W0();function Q_t(t){let e=ICe.default.join(t,"build.gradle");try{return AD.default.accessSync(e,AD.default.constants.R_OK|AD.default.constants.W_OK),!0}catch{return Qf.logger.debug(`No build.gradle found at ${e}`),!1}}async function yCe(){let t;try{t=await(0,D_t.exec)("gradle",["dependencies","--console=plain"],{env:process.env})}catch(A){Qf.logger.debug(`Unable to run 'gradle dependencies': ${A}`);return}let e=t.split(/\r\n|\r|\n/),r=e.findIndex(A=>A.includes("implementation - "));if(r===-1){Qf.logger.debug(`Unable to find implementation section in output of 'gradle dependencies': ${t}`);return}let n=/^\s*$/,i=e.slice(r+1),s=i.findIndex(A=>n.test(A)),o=i.slice(0,s),a=e.findIndex(A=>A.includes("api - "));if(a===-1){Qf.logger.debug(`Unable to find api section in output of 'gradle dependencies': ${t}`);return}let c=e.slice(a+1),u=c.findIndex(A=>n.test(A)),l=c.slice(0,u),d=/^\s*[+\\-]+\s*/,f=/\s+\([nc*]\)\s*$/;return[...o,...l].filter(A=>A!=="No dependencies").map(A=>A.replace(d,"").replace(f,""))}function CCe(t){let e=/^\s*([^:]+):([^:]+)(?::([^\s]+))?/,r=t.match(e);if(!r){Qf.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 r[3]===void 0?{group:r[1],name:r[2],version:""}:{group:r[1],name:r[2],version:r[3]}}async function N_t(t){let r={jsii:"jsii-runtime"}[t]||t;Qf.logger.debug("Running 'gradle dependencies' to find package version",r);let n=await yCe();if(!n||n.length===0)return;for(let s of n)if(s.includes(`:${r}:`)){let o=CCe(s);return o?o.version:void 0}let i=await bCe(t);if(i)return i.version}async function bCe(t){let e=ICe.default.join(process.cwd(),"build.gradle"),n=(await AD.default.readFile(e,"utf-8")).split(/\r\n|\r|\n/),i=/^\s*dependencies\s*\{/i;if(n.findIndex(f=>i.test(f))===-1){Qf.logger.debug("Unable to find dependencies section in output build.gradle");return}let o=n.findIndex(f=>f.includes(t));if(o===-1){Qf.logger.debug(`Unable to find package ${t} in output build.gradle`);return}let a=n[o],u=new RegExp(`([^:]+):${t}(?::([^\\s]+))?`,"i").exec(a);if(u)return{group:u[1],name:t,version:u[2]||""};let d=new RegExp(`java/(.*)/${t}/([^/]+)/.*\\.jar`,"i").exec(a);if(d)return{group:d[1].replace(/\//g,"."),name:t,version:d[2]}}});var FCe=p(An=>{"use strict";var T_t=An&&An.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),k_t=An&&An.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),BCe=An&&An.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&T_t(r,e,n[i]);return k_t(r,e),r}})();Object.defineProperty(An,"__esModule",{value:!0});An.getLanguage=SCe;An.getDotnetVersion=wCe;An.getJavaVersion=_Ce;An.getMavenVersion=xCe;An.getGradleVersion=RCe;An.getPythonVersion=DCe;An.getPipVersion=QCe;An.getPipenvVersion=NCe;An.getGoVersion=TCe;An.getNodeVersion=kCe;An.getPackageVersion=_B;An.collectDebugInformation=Y_t;var F_t=BCe(require("path")),Q9=BCe(require("os")),vn=Tg(),Mc=W0(),G_t=R9(),Z_t=vB(),vCe=Cr(),ECe=D9();function SCe(t=process.cwd()){try{return JSON.parse((0,vCe.readFileSync)(F_t.resolve(t,"cdktf.json"),"utf-8")).language}catch{vn.logger.debug(`Unable to detect language in ${t}`);return}}async function Lc(t,e){let r=()=>{};try{return(await(0,Mc.exec)(t,[e],{env:process.env,stdio:[void 0,void 0,"ignore"]},r,r)).trim().replace(/\r?\n|\r/g,"")}catch(n){vn.logger.debug(`Failed to run ${t} ${e}: ${n}`);return}}function wCe(){return Lc("dotnet","--version")}function _Ce(){return Lc("java","-version")}function xCe(){return Lc("mvn","--version")}function RCe(){return Lc("gradle","--version")}async function DCe(){return await Lc("python3","--version")||await Lc("python","--version")}function QCe(){return Lc("pip","--version")}function NCe(){return Lc("pipenv","--version")}function TCe(){return Lc("go","version")}function kCe(){return Lc("node","--version")}async function O_t(t){return await(0,vCe.pathExists)("pnpm-lock.yaml")?U_t(t):M_t(t)}async function U_t(t){var e,r,n;let i;try{i=await(0,Mc.exec)("pnpm",["list",t,"--json"],{env:{...process.env}})}catch(o){vn.logger.debug(`Unable to run 'pnpm list ${t} --json': ${o}`);return}let s;try{s=JSON.parse(i)}catch(o){vn.logger.debug(`Unable to parse output of 'pnpm list ${t} --json': ${o}`);return}if(!s||!Array.isArray(s)||s.length===0||!(!((n=(r=(e=s[0])===null||e===void 0?void 0:e.dependencies)===null||r===void 0?void 0:r[t])===null||n===void 0)&&n.version)){vn.logger.debug(`Unable to find '${t}' in 'pnpm list ${t} --json': ${i}`);return}return s[0].dependencies[t].version}async function M_t(t){let e;try{e=await(0,Mc.exec)("npm",["list",t,"--json","--include=dev"],{env:{...process.env}})}catch(n){vn.logger.debug(`Unable to run 'npm list ${t} --json': ${n}`);return}let r;try{r=JSON.parse(e)}catch(n){vn.logger.debug(`Unable to parse output of 'npm list ${t} --json': ${n}`);return}if(!r.dependencies||!r.dependencies[t]||!r.dependencies[t].version){vn.logger.debug(`Unable to find '${t}' in 'npm list ${t} --json': ${e}`);return}return r.dependencies[t].version}async function L_t(t){let e;try{e=await(0,Mc.exec)("pipenv",["run","pip","show","-qq",t],{env:process.env}),e=await(0,Mc.exec)("pipenv",["run","pip","show",t],{env:process.env})}catch(i){vn.logger.debug(`Unable to run 'pipenv run pip show ${t}': ${i}`)}if(!e)try{e=await(0,Mc.exec)("pip",["show","-qq",t],{env:process.env}),e=await(0,Mc.exec)("pip",["show",t],{env:process.env})}catch(i){vn.logger.debug(`Unable to run 'pip show ${t}': ${i}`)}if(!e)return;let r=e.split(/\r\n|\r|\n/).find(i=>i.startsWith("Version:"));if(!r){vn.logger.debug(`Unable to find version in output of 'pipenv run pip show ${t}' / 'pip show ${t}': ${e}`);return}return r.split(":")[1].trim()}async function W_t(t){let r={jsii:"Amazon.JSII.Runtime",constructs:"Constructs",cdktf:"HashiCorp.Cdktf",cdktn:"Io.Cdktn"}[t]||t,n;try{n=await(0,Mc.exec)("dotnet",["list","package","--include-transitive"],{env:process.env})}catch(s){vn.logger.debug(`Unable to run 'dotnet list package --include-transitive': ${s}`);return}let i=n.split(/\r\n|\r|\n/).find(s=>s.includes(`> ${r}`));if(!i){vn.logger.debug(`Unable to find version for '${r}' in output of 'dotnet list package --include-transitive': ${n}`);return}return i.split(" ").reverse().find(s=>s!=="")}async function V_t(t){var e;let n={jsii:"jsii-runtime-go",cdktf:"github.com/hashicorp/terraform-cdk-go",cdktn:"github.com/open-constructs/cdk-terrain-go"}[t]||t,i;try{i=await(0,Mc.exec)("go",["list","-m","all"],{env:process.env})}catch(o){vn.logger.debug(`Unable to run 'go list -m all': ${o}`);return}let s=i.split(/\r\n|\r|\n/).find(o=>o.includes(n));if(!s){vn.logger.debug(`Unable to find version for '${n}' in output of 'go list -m all': ${i}`);return}return s.includes("=>")&&(vn.logger.debug(`Found local version for '${n}': ${s}`),s=s.split("=>")[0].trim()),(e=s.split(" ").pop())===null||e===void 0?void 0:e.replace("v","")}async function H_t(t){let r={jsii:"jsii-runtime"}[t]||t,n;try{n=await(0,Mc.exec)("mvn",["dependency:list"],{env:process.env})}catch(l){vn.logger.debug(`Unable to run 'mvn dependency:list': ${l}`);return}let i=n.split("The following files have been resolved")[1];if(!i){vn.logger.debug(`Unable to find resolution passage in output of 'mvn dependency:list': ${n}`);return}let s=i.split(/\r\n|\r|\n/).find(l=>l.includes(`${r}:`));if(!s){vn.logger.debug(`Unable to find version for '${r}' in output of 'mvn dependency:list': ${n}`);return}let o=`${r}:jar:`,a=s.indexOf(o)+o.length,u=s.indexOf(":compile");return s.substring(a,u)}async function P_t(t){return(0,ECe.isGradleProject)("./")?(0,ECe.getGradlePackageVersion)(t):H_t(t)}async function _B(t,e){let r=async()=>{},i=await({typescript:O_t,python:L_t,go:V_t,csharp:W_t,java:P_t}[t]||r)(e);return i??void 0}async function Y_t(){var t,e,r,n,i,s,o,a,c,u,l,d,f;let A={},g=SCe();A.language=g??null,A["cdktn-cli"]=Z_t.DISPLAY_VERSION;let h=kCe();if(A.node=(t=await h)!==null&&t!==void 0?t:null,g){let m=_B(g,"cdktn"),I=_B(g,"cdktf"),C=_B(g,"constructs"),b=_B(g,"jsii");A.cdktn=(e=await m)!==null&&e!==void 0?e:null,A.cdktf=(r=await I)!==null&&r!==void 0?r:null,A.constructs=(n=await C)!==null&&n!==void 0?n:null,A.jsii=(i=await b)!==null&&i!==void 0?i:null}switch(A.terraform=await G_t.terraformVersion,A.arch=Q9.arch(),A.os=`${Q9.platform()} ${Q9.release()}`,g){case"python":{let m=DCe(),I=QCe(),C=NCe();A.python=(s=await m)!==null&&s!==void 0?s:null,A.pip=(o=await I)!==null&&o!==void 0?o:null,A.pipenv=(a=await C)!==null&&a!==void 0?a:null}break;case"java":{let m=_Ce(),I=xCe(),C=RCe();A.java=(c=await m)!==null&&c!==void 0?c:null,A.maven=(u=await I)!==null&&u!==void 0?u:null,A.gradle=(l=await C)!==null&&l!==void 0?l:null}break;case"csharp":A.dotnet=(d=await wCe())!==null&&d!==void 0?d:null;break;case"go":A.go=(f=await TCe())!==null&&f!==void 0?f:null;break}return A}});var ZCe=p(Nf=>{"use strict";Object.defineProperty(Nf,"__esModule",{value:!0});Nf.CDKTF_DISABLE_PLUGIN_CACHE_ENV=Nf.CHECKPOINT_DISABLE=Nf.DISABLE_VERSION_CHECK=void 0;function GCe(t){return t==="true"||t==="1"}Nf.DISABLE_VERSION_CHECK=GCe(process.env.DISABLE_VERSION_CHECK);Nf.CHECKPOINT_DISABLE=!!process.env.CHECKPOINT_DISABLE;Nf.CDKTF_DISABLE_PLUGIN_CACHE_ENV=GCe(process.env.CDKTF_DISABLE_PLUGIN_CACHE_ENV)});var UCe=p(OCe=>{"use strict";Object.defineProperty(OCe,"__esModule",{value:!0})});var LCe=p(gD=>{"use strict";Object.defineProperty(gD,"__esModule",{value:!0});gD.isAttributeNestedType=MCe;gD.isNestedTypeAttribute=$_t;function MCe(t){return typeof t=="object"&&!Array.isArray(t)&&typeof t.nesting_mode=="string"&&(typeof t.attributes=="object"||typeof t.attributes>"u")}function $_t(t){return typeof t.nested_type<"u"&&MCe(t.nested_type)}});var tt=p(gn=>{"use strict";var j_t=gn&&gn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Es=gn&&gn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&j_t(e,t,r)};Object.defineProperty(gn,"__esModule",{value:!0});Es(w9(),gn);Es(pCe(),gn);Es(rD(),gn);Es(FCe(),gn);Es(ZCe(),gn);Es(x9(),gn);Es(D9(),gn);Es(Tg(),gn);Es(UCe(),gn);Es(LCe(),gn);Es(I9(),gn);Es(R9(),gn);Es(W0(),gn);Es(vB(),gn)});var PCe=p((xCr,HCe)=>{"use strict";var z_t=function(e){return q_t(e)&&!J_t(e)};function q_t(t){return!!t&&typeof t=="object"}function J_t(t){var e=Object.prototype.toString.call(t);return e==="[object RegExp]"||e==="[object Date]"||ext(t)}var X_t=typeof Symbol=="function"&&Symbol.for,K_t=X_t?Symbol.for("react.element"):60103;function ext(t){return t.$$typeof===K_t}function txt(t){return Array.isArray(t)?[]:{}}function xB(t,e){return e.clone!==!1&&e.isMergeableObject(t)?H0(txt(t),t,e):t}function rxt(t,e,r){return t.concat(e).map(function(n){return xB(n,r)})}function nxt(t,e){if(!e.customMerge)return H0;var r=e.customMerge(t);return typeof r=="function"?r:H0}function ixt(t){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[]}function WCe(t){return Object.keys(t).concat(ixt(t))}function VCe(t,e){try{return e in t}catch{return!1}}function sxt(t,e){return VCe(t,e)&&!(Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e))}function oxt(t,e,r){var n={};return r.isMergeableObject(t)&&WCe(t).forEach(function(i){n[i]=xB(t[i],r)}),WCe(e).forEach(function(i){sxt(t,i)||(VCe(t,i)&&r.isMergeableObject(e[i])?n[i]=nxt(i,r)(t[i],e[i],r):n[i]=xB(e[i],r))}),n}function H0(t,e,r){r=r||{},r.arrayMerge=r.arrayMerge||rxt,r.isMergeableObject=r.isMergeableObject||z_t,r.cloneUnlessOtherwiseSpecified=xB;var n=Array.isArray(e),i=Array.isArray(t),s=n===i;return s?n?r.arrayMerge(t,e,r):oxt(t,e,r):xB(e,r)}H0.all=function(e,r){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(n,i){return H0(n,i,r)},{})};var axt=H0;HCe.exports=axt});var jCe=p(Sn=>{"use strict";var cxt=Sn&&Sn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),uxt=Sn&&Sn.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),lxt=Sn&&Sn.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&cxt(r,e,n[i]);return uxt(r,e),r}})();Object.defineProperty(Sn,"__esModule",{value:!0});Sn.SCHEMA_EMISSION_FAMILY_LABELS=Sn.SCHEMA_EMISSION_BOUNDARIES=void 0;Sn.checkSchemaEmissionGaps=dxt;Sn.checkSchemaEmissionGapFamilies=$Ce;Sn.suggestedEmittingCliVersions=fxt;var hD=lxt(eo()),YCe=["terraform","opentofu"];Sn.SCHEMA_EMISSION_BOUNDARIES={functions:{terraform:"1.8.0",opentofu:"1.8.0"},ephemeral_resource_schemas:{terraform:"1.10.0",opentofu:"1.11.0"},write_only:{terraform:"1.11.0",opentofu:"1.11.0"},resource_identity_schemas:{terraform:"1.12.0",opentofu:"1.12.0"}};Sn.SCHEMA_EMISSION_FAMILY_LABELS={functions:"provider functions",ephemeral_resource_schemas:"ephemeral resources",write_only:"write-only attributes",resource_identity_schemas:"resource identity"};function dxt(t,e){return $Ce(t,e).map(r=>Sn.SCHEMA_EMISSION_FAMILY_LABELS[r])}function $Ce(t,e){if(t.name==="unknown"||!t.version)return[];let r=t.name,n=[];for(let i of Object.keys(Sn.SCHEMA_EMISSION_BOUNDARIES)){let s=Sn.SCHEMA_EMISSION_BOUNDARIES[i],o=s[r];if(!o||!hD.lt(t.version,o))continue;YCe.some(c=>{let u=e[c];if(!u||hD.validRange(u)===null)return!1;let l=`>=${s[c]}`;try{return hD.intersects(u,l)}catch{return!1}})&&n.push(i)}return n}function fxt(t){return YCe.map(e=>{let r=t.map(n=>Sn.SCHEMA_EMISSION_BOUNDARIES[n][e]).sort(hD.compare).pop();return r?`${e} >=${r}`:void 0}).filter(e=>e!==void 0).join(" / ")}});var G9=p(hn=>{"use strict";var Axt=hn&&hn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),gxt=hn&&hn.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),qCe=hn&&hn.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&Axt(r,e,n[i]);return gxt(r,e),r}})();Object.defineProperty(hn,"__esModule",{value:!0});hn.parseFQPN=void 0;hn.getFetchingCliVersion=k9;hn.terraformInitWithRetry=XCe;hn.readProviderSchema=bxt;hn.warnIfSchemaEmissionGaps=Ext;hn.sanitizeProviderSchema=KCe;hn.collectModuleProviderAliases=tbe;hn.applyModuleProviderAliases=rbe;hn.packageSubdir=nbe;hn.fetchedModuleDir=ibe;hn.readModuleSchema=wxt;var Tf=qCe(Cr()),kf=qCe(require("path")),JCe=require("@cdktn/hcl2json"),Bs=tt(),N9=jCe(),P0=process.env.TERRAFORM_BINARY_NAME||"terraform",T9;function k9(){return T9||(T9=(0,Bs.exec)(P0,["version"],{cwd:process.cwd()}).then(Bs.parseTerraformCliVersion)),T9}var hxt=[/\b50[234]\b/,/Bad Gateway/i,/Service Unavailable/i,/Gateway Timeout/i,/ECONNRESET/i,/ETIMEDOUT/i,/EAI_AGAIN/i,/unexpected EOF/i];async function XCe(t,e=5,r=5e3,n=2){var i;for(let s=1;s<=e;s++)try{return await(0,Bs.exec)(P0,["init"],t)}catch(o){let a=(i=o?.stderr)!==null&&i!==void 0?i:"";if(!hxt.some(l=>l.test(a))||s===e)throw o;let u=r*n**(s-1);console.log(`terraform init failed with a transient error, retrying in ${u}ms (attempt ${s}/${e-1})`),await new Promise(l=>setTimeout(l,u))}throw new Error("unreachable")}var pxt=t=>{let[e,r,n]=t.split("/");if(!n)throw new Error(`can't handle ${t}`);return{hostname:e,namespace:r,name:n}};hn.parseFQPN=pxt;var F9=t=>Array.isArray(t)?t[0]:t,mxt=t=>{let e=[];if(!t)return e;for(let r of Object.keys(t)){let n=F9(t[r]),i;if(n.hasOwnProperty("type")==!1&&n.hasOwnProperty("default")==!0)switch(typeof n.default){case"boolean":i="bool";break;case"number":i="number";break;default:i="any"}else{let o=n.type;typeof o=="string"&&o.startsWith("${")&&o.endsWith("}")&&!o.includes(`
|
|
79
|
-
`)?i=o.slice(2,-1):i="any"}let s={name:r,type:i,description:n.description,required:n.hasOwnProperty("default")==!1};s.required||(s.default=n.default),e.push(s)}return e},Ixt=t=>{let e=[];if(t)for(let r of Object.keys(t)){let n=F9(t[r]),i={name:r,description:n.description};e.push(i)}return e},yxt=async(t,e)=>{let r=kf.join(t,".terraform","modules","modules.json"),n={};if(!Tf.existsSync(r))throw new Error(`Modules were not generated properly - couldn't find ${r}`);let i=JSON.parse(Tf.readFileSync(r,"utf-8"));for(let s of e){let o=i.Modules.find(u=>s===u.Key);if(!o)throw new Error(`Couldn't find ${o}`);let a=await(0,JCe.convertFiles)(kf.join(t,o.Dir));if(!a)throw new Error(`Modules were not generated properly - couldn't parse ${o.Dir}`);let c={inputs:mxt(a.variable),outputs:Ixt(a.output),name:s};n[s]=c}return n};function Cxt(t){return t.length<=1?t.join(""):`${t.slice(0,-1).join(", ")} and ${t[t.length-1]}`}async function bxt(t){let e={provider:{},terraform:{required_providers:{}}};e.provider[t.name]={},e.terraform.required_providers[t.name]={version:t.version,source:t.source};let r={format_version:"0.1"};await(0,Bs.withTempDir)("fetchProviderSchema",async()=>{let n=process.cwd(),i=kf.join(n,"main.tf.json");await Tf.writeFile(i,JSON.stringify(e)),await XCe({cwd:n}),r=JSON.parse(await(0,Bs.exec)(P0,["providers","schema","-json"],{cwd:n}));let s=JSON.parse(await(0,Bs.exec)(P0,["version","-json"],{cwd:n}));r.provider_versions=s.provider_selections});try{let n=await k9();r.cli_name=n.name,r.cli_version=n.version}catch(n){Bs.logger.debug(`Could not determine fetching CLI version to stamp provider schema: ${n}`)}return KCe(r)}async function Ext(t,e){if(!e)return;let r;if(t.cli_name&&t.cli_version){if(t.cli_name!=="terraform"&&t.cli_name!=="opentofu")return;r={name:t.cli_name,version:t.cli_version}}else try{r=await k9()}catch(i){Bs.logger.debug(`Could not determine fetching CLI version to check for schema emission gaps: ${i}`);return}let n=(0,N9.checkSchemaEmissionGapFamilies)(r,e);n.length>0&&r.version&&Bs.logger.warn(`provider schema fetched with ${r.name} ${r.version} \u2014 ${Cxt(n.map(i=>N9.SCHEMA_EMISSION_FAMILY_LABELS[i]))} will not be generated; run cdktn get with ${(0,N9.suggestedEmittingCliVersions)(n)}`)}function KCe(t){function e(n){if((0,Bs.isNestedTypeAttribute)(n)||!Array.isArray(n.type))return n;let i=n.type.length===2?n.type:n.type.slice(0,2);return n.type=i,n}function r(n){Object.values(n.attributes||{}).forEach(e),Object.values(n.block_types||{}).forEach(i=>{r(i.block)})}return Object.values(t.provider_schemas||{}).forEach(n=>{[n.provider,...Object.values(n.resource_schemas||{}),...Object.values(n.data_source_schemas||{}),...Object.values(n.ephemeral_resource_schemas||{})].forEach(s=>{r(s.block)})}),t}var Bxt=/^([\w-]+)\.([\w-]+)$/,vxt=t=>t.startsWith("${")&&t.endsWith("}")?t.slice(2,-1):t,ebe=t=>t==null?[]:Array.isArray(t)?t:[t],zCe=t=>{if(t==null)return[];if(!Array.isArray(t))return[t];let e=Object.fromEntries(Object.entries(t).filter(([r])=>!/^\d+$/.test(r)));return Object.keys(e).length>0?[...t,e]:[...t]};function tbe(t){let e=[],r=new Set;for(let n of zCe(t?.terraform))for(let i of zCe(n?.required_providers))for(let s of Object.values(i||{})){let o=F9(s);for(let a of ebe(o?.configuration_aliases)){let c=Bxt.exec(vxt(String(a)));if(!c)continue;let[,u,l]=c,d=`${u}.${l}`;r.has(d)||(r.add(d),e.push({localName:u,alias:l,source:o?.source}))}}return e}function rbe(t,e,r){var n;let i=(n=t.module)===null||n===void 0?void 0:n[e];if(!i||r.length===0)return t;for(let{localName:s,alias:o,source:a}of r){a&&(t.terraform.required_providers={...t.terraform.required_providers,[s]:{source:a}}),t.provider=t.provider||{};let c=ebe(t.provider[s]);c.some(u=>u.alias===o)||c.push({alias:o}),t.provider[s]=c,i.providers={...i.providers,[`${s}.${o}`]:`${s}.${o}`}}return t}function nbe(t){let[e]=t.split("?"),n=e.replace(/^[A-Za-z0-9]+::/,"").replace(/^[A-Za-z][A-Za-z0-9+.-]*:\/\/+/,""),[,...i]=n.split("//");return i.join("//").replace(/^\/+|\/+$/g,"")||void 0}function ibe(t,e,r,n){let i=kf.join(t,".terraform","modules","modules.json");if(Tf.existsSync(i)){let o=JSON.parse(Tf.readFileSync(i,"utf-8")).Modules.find(a=>a.Key===e);if(o)return kf.resolve(t,o.Dir)}return n||kf.join(t,".terraform","modules",e,nbe(r)||"")}async function Sxt(t){try{await(0,Bs.exec)(P0,["get"],{cwd:t,logStderrAsDebug:!0},void 0,void 0,!1);return}catch(e){return e}}async function wxt(t){let e={};return await(0,Bs.withTempDir)("fetchSchema",async()=>{let r={terraform:{}};r.module||(r.module={});let n=t.source,i=t.constraint.localSourceAbsolutePath;i&&(n=kf.relative(process.cwd(),i)),r.module[t.moduleKey]={source:n},t.version&&(r.module[t.moduleKey].version=t.version);let s=process.cwd(),o=kf.join(s,"main.tf.json");await Tf.writeFile(o,JSON.stringify(r));let a=await Sxt(s),c=ibe(s,t.moduleKey,n,i),u=Tf.existsSync(c)?tbe(await(0,JCe.convertFiles)(c)):[];if(u.length>0)rbe(r,t.moduleKey,u),await Tf.writeFile(o,JSON.stringify(r)),await(0,Bs.exec)(P0,["get"],{cwd:s});else if(a)throw Bs.logger.error(a.stderr||String(a)),a;r.module&&(e=await yxt(s,Object.keys(r.module)))}),e}});var obe=p(ed=>{"use strict";var _xt=ed&&ed.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),xxt=ed&&ed.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),sbe=ed&&ed.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&_xt(r,e,n[i]);return xxt(r,e),r}})();Object.defineProperty(ed,"__esModule",{value:!0});ed.cachedAccess=Qxt;var Y0=tt(),pD=sbe(Cr()),Rxt=sbe(require("path"));function Dxt(t,e){let r=`${encodeURIComponent(t.fqn)}@${encodeURIComponent(t.version||"")}`;return e?`${r}@${encodeURIComponent(e)}`:r}function Qxt(t,e,r){let n=typeof e=="string"&&e.length>0;if(n&&!pD.lstatSync(e).isDirectory())throw Y0.Errors.Usage(`Provider Schema Cache directory '${e}' is not a directory`);return n?(Y0.logger.debug(`Provider Schema Cache enabled, caching at ${e}`),async i=>{let s=Dxt(i,r),o=Rxt.join(e,`${s}.json`);if(pD.existsSync(o))return Y0.logger.debug(`Cache hit for ${s}`),JSON.parse(await pD.readFile(o,"utf-8"));Y0.logger.debug(`Cache miss for ${s}, generating schema`);let a=await t(i);return await pD.writeFile(o,JSON.stringify(a)),Y0.logger.debug(`Write cache for ${s}`),a}):(Y0.logger.debug("Provider Schema Cache disabled"),i=>t(i))}});var abe=p(ro=>{"use strict";var Nxt=ro&&ro.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ro,"__esModule",{value:!0});ro.isLocalModule=ro.TerraformProviderConstraint=ro.TerraformModuleConstraint=ro.isRegistryModule=void 0;ro.readSchema=Gxt;var ID=tt();Object.defineProperty(ro,"isRegistryModule",{enumerable:!0,get:function(){return ID.isRegistryModule}});Object.defineProperty(ro,"TerraformModuleConstraint",{enumerable:!0,get:function(){return ID.TerraformModuleConstraint}});Object.defineProperty(ro,"TerraformProviderConstraint",{enumerable:!0,get:function(){return ID.TerraformProviderConstraint}});Object.defineProperty(ro,"isLocalModule",{enumerable:!0,get:function(){return ID.isLocalModule}});var RB=tt(),Txt=Nxt(PCe()),mD=G9(),kxt=obe();async function Fxt(t){if(t)try{let e=await(0,mD.getFetchingCliVersion)();if(e.name==="unknown"||!e.version)return RB.logger.debug("Could not determine fetching CLI name/version for the schema cache key, falling back to 'unknown-cli'"),"unknown-cli";let[r,n]=e.version.split(".");return`${e.name}-${r}.${n}`}catch(e){return RB.logger.debug(`Could not determine fetching CLI version for the schema cache key: ${e}`),"unknown-cli"}}async function Gxt(t,e,r){let n=await Fxt(e),i=(0,kxt.cachedAccess)(mD.readProviderSchema,e,n),s=t.map(a=>RB.ConstructsMakerProviderTarget.from(a,RB.LANGUAGES[0]));Zxt(s);let o=await Promise.all(s.map(a=>a.isModule?(0,mD.readModuleSchema)(a).then(c=>({moduleSchema:c})):i(a).then(async c=>(await(0,mD.warnIfSchemaEmissionGaps)(c,r),{providerSchema:c}))));return o.unshift({providerSchema:{format_version:"0.1"},moduleSchema:{}}),Txt.default.all(o)}function Zxt(t){let e=t.filter(r=>r.isModule);e.forEach(r=>{e.forEach(n=>{if(r!==n&&r.name===n.name)throw RB.Errors.Usage(`Found two modules with the same name "${r.name}" which is not supported. Please rename one of the modules in your cdktf.json config. For more information on how to set the name refer to https://cdktn.io/docs/concepts/modules#add-module-to-cdktf-json`)})})}});var Ff=p($0=>{"use strict";Object.defineProperty($0,"__esModule",{value:!0});$0.parseFQPN=$0.readSchema=void 0;var Oxt=abe();Object.defineProperty($0,"readSchema",{enumerable:!0,get:function(){return Oxt.readSchema}});var Uxt=G9();Object.defineProperty($0,"parseFQPN",{enumerable:!0,get:function(){return Uxt.parseFQPN}})});var ube=p(DB=>{"use strict";Object.defineProperty(DB,"__esModule",{value:!0});DB.AttributeModel=void 0;DB.escapeAttributeName=cbe;var Mxt=tt();function cbe(t){return t==="self"||t==="build"?`${t}Attribute`:t.match(/^get[A-Za-z]+/)?t.replace("get","fetch"):t==="equals"?"equalTo":t==="node"?"nodeAttribute":t==="system"?"systemAttribute":t==="tfResourceType"?`${t}Attribute`:t==="importFrom"?`${t}Attribute`:t==="moveTo"?`${t}Attribute`:t==="software"?`${t}Attribute`:t}var Z9=class t{constructor(e){this.loggedStoredClassUnavailable=!1,this.storageName=e.storageName,this._name=e.name,this.type=e.type,this.optional=e.optional,this.computed=e.computed,this.terraformName=e.terraformName,this.terraformFullName=e.terraformFullName,this._description=e.description,this.provider=e.provider,this.required=e.required,this.forcePlainGetterType=e.forcePlainGetterType,this.isWriteOnly=!!e.isWriteOnly}get typeDefinition(){let e=this.optional?"?":"";return`${this.name}${e}: ${this.type.inputTypeDefinition}`}get isAssignable(){return this.required||this.optional}get isOptional(){return this.optional}get isRequired(){return this.required}get isProvider(){return this.provider}get getterType(){let e={_type:"plain"};return this.forcePlainGetterType||this.isProvider||(this.type.hasReferenceClass?e={_type:"stored_class"}:this.computed&&!this.isAssignable&&(!this.type.isTokenizable||this.type.typeModelType==="map")&&(this.type.isStoredClassUnavailable?this.loggedStoredClassUnavailable||(this.loggedStoredClassUnavailable=!0,Mxt.logger.debug(`No stored class (not even a collapsed nearest-Any wrapper) is available for computed attribute "${this.terraformFullName}" (composed storedClassType: "${this.type.storedClassType}"). Falling back to a plain, untyped getter.`)):e={_type:"stored_class"})),e}get storedClassBoundaryKind(){if(!(this.forcePlainGetterType||this.isProvider)&&!this.type.hasReferenceClass&&this.computed&&!this.isAssignable&&(!this.type.isTokenizable||this.type.typeModelType==="map")){if(this.type.isStoredClassUnavailable)return"fallback";let e=this.type.resolvedStoredClass;if(e?.collapsed)return"collapsed"}}get isStored(){return this.isAssignable}get setterType(){return this.isStored?this.getterType._type==="stored_class"?{_type:"stored_class",type:this.type.inputTypeDefinition}:{_type:"set",type:`${this.type.inputTypeDefinition}${this.isProvider?" | undefined":""}`}:{_type:"none"}}get name(){return t.escapeName(this._name)}static escapeName(e){return cbe(e)}get description(){var e;return(e=this._description)===null||e===void 0?void 0:e.replace(/'''/gi,"```")}getReferencedTypes(e){let r=this.type.struct;if(!r)return;let n=[];return this.isAssignable&&(n.push(r.name),n.push(r.mapperName),n.push(r.hclMapperName)),!r.isSingleItem&&(r.nestingMode==="list"||r.nestingMode==="set")?n.push(r.listName):r.nestingMode==="map"?n.push(r.mapName):r.nestingMode==="maplist"||r.nestingMode==="mapset"?n.push(r.mapListName):r.nestingMode==="listmap"||r.nestingMode==="setmap"?n.push(r.listMapName):r.nestingMode==="listlist"||r.nestingMode==="listset"||r.nestingMode==="setlist"||r.nestingMode=="setset"?n.push(r.listListName):e||n.push(r.outputReferenceName),n}};DB.AttributeModel=Z9});var QB=p(yD=>{"use strict";Object.defineProperty(yD,"__esModule",{value:!0});yD.downcaseFirst=Lxt;yD.uppercaseFirst=Wxt;function Lxt(t){return t===""?t:`${t[0].toLocaleLowerCase()}${t.slice(1)}`}function Wxt(t){return t===""?t:`${t[0].toLocaleUpperCase()}${t.slice(1)}`}});var dbe=p(O9=>{"use strict";Object.defineProperty(O9,"__esModule",{value:!0});O9.resolveStoredClassName=Hxt;var Vxt=QB(),lbe=new Set(["StringMap","NumberMap","BooleanMap","AnyMap","StringMapMap","NumberMapMap","BooleanMapMap","AnyMapMap","BooleanList","StringListList","NumberListList","BooleanListList","AnyListList","StringMapList","NumberMapList","BooleanMapList","AnyMapList","StringListMap","NumberListMap","BooleanListMap","AnyListMap"]);function Hxt(t,e){let r=(0,Vxt.uppercaseFirst)(t);if(lbe.has(r))return{name:r,collapsed:!1};let n;if(t.endsWith("List")?n="List":t.endsWith("Map")&&(n="Map"),!n)return;let i;if(e==="list"||e==="set"?i="List":e==="map"&&(i="Map"),!i)return;let s=`Any${i}${n}`;if(lbe.has(s))return{name:s,collapsed:!0}}});var fbe=p(Li=>{"use strict";Object.defineProperty(Li,"__esModule",{value:!0});Li.MapAttributeTypeModel=Li.SetAttributeTypeModel=Li.ListAttributeTypeModel=Li.StructAttributeTypeModel=Li.SimpleAttributeTypeModel=Li.SkippedAttributeTypeModel=void 0;Li.describeTerraformType=CD;var bD=QB(),P9=dbe();function CD(t){switch(t.typeModelType){case"list":return`list(${CD(t.elementType)})`;case"set":return`set(${CD(t.elementType)})`;case"map":return`map(${CD(t.elementType)})`;case"struct":return"object";default:return t.storedClassType==="boolean"?"bool":t.storedClassType}}var U9=class{constructor(){}get typeModelType(){return"simple"}get struct(){}get isComplex(){return!1}getStoredClassInitializer(e){return""}get storedClassType(){return"any"}get inputTypeDefinition(){return"any"}getAttributeAccessFunction(e){return`this.interpolationForAttribute('${e}')`}get toTerraformFunction(){return"cdktn.anyToTerraform"}get toHclTerraformFunction(){return"cdktn.anyToHclTerraform"}get hasReferenceClass(){return!1}get isTokenizable(){return!1}get isStoredClassUnavailable(){return!1}};Li.SkippedAttributeTypeModel=U9;var M9=class{constructor(e){this.type=e}get typeModelType(){return"simple"}get struct(){}get isComplex(){return!1}getStoredClassInitializer(e){return""}get storedClassType(){return this.type}get inputTypeDefinition(){return this.type==="boolean"?"boolean | cdktn.IResolvable":this.type}getAttributeAccessFunction(e){return`this.get${(0,bD.uppercaseFirst)(this.type)}Attribute('${e}')`}get toTerraformFunction(){return`cdktn.${this.type}ToTerraform`}get toHclTerraformFunction(){return`cdktn.${this.type}ToHclTerraform`}get hasReferenceClass(){return!1}get isTokenizable(){return!0}get isStoredClassUnavailable(){return!1}};Li.SimpleAttributeTypeModel=M9;var L9=class{constructor(e){this.struct=e}get typeModelType(){return"struct"}get isComplex(){return!0}getStoredClassInitializer(e){return`new ${this.struct.outputReferenceName}(this, "${e}")`}get storedClassType(){return this.struct.name}get inputTypeDefinition(){return this.struct.name}getAttributeAccessFunction(e){return`this.interpolationForAttribute('${e}')`}get toTerraformFunction(){return`${(0,bD.downcaseFirst)(this.struct.name)}ToTerraform`}get toHclTerraformFunction(){return`${(0,bD.downcaseFirst)(this.struct.name)}ToHclTerraform`}get hasReferenceClass(){return!0}get isTokenizable(){return!1}get isStoredClassUnavailable(){return!1}};Li.StructAttributeTypeModel=L9;var W9=class{constructor(e,r,n){this.elementType=e,this.isSingleItem=r,this.isBlock=n,this.struct&&(this.struct.isSingleItem=this.isSingleItem||!1)}get typeModelType(){return"list"}get struct(){return this.elementType.struct}get isComplex(){return this.elementType.isComplex}getStoredClassInitializer(e){return this.isSingleItem?`new ${this.elementType.storedClassType}OutputReference(this, "${e}")`:this.isComplex?`new ${this.storedClassType}(this, "${e}", false)`:`new cdktn.${this.resolvedStoredClass.name}(this, "${e}", false)`}get storedClassType(){return`${this.elementType.storedClassType}List`}get resolvedStoredClass(){return(0,P9.resolveStoredClassName)(this.storedClassType,this.elementType.typeModelType)}get inputTypeDefinition(){return this.isSingleItem?this.elementType.inputTypeDefinition:this.elementType.storedClassType==="boolean"?"Array<boolean | cdktn.IResolvable> | cdktn.IResolvable":this.isComplex?`${this.elementType.storedClassType}[] | cdktn.IResolvable`:this.elementType.typeModelType!=="simple"?`${this.elementType.inputTypeDefinition}[] | cdktn.IResolvable`:`${this.elementType.inputTypeDefinition}[]`}getAttributeAccessFunction(e){switch(this.elementType.storedClassType){case"string":return`this.getListAttribute('${e}')`;case"number":return`this.getNumberListAttribute('${e}')`}return`this.interpolationForAttribute('${e}')`}get toTerraformFunction(){return this.isSingleItem?this.elementType.toTerraformFunction:`cdktn.listMapper(${this.elementType.toTerraformFunction}, ${this.isBlock})`}get toHclTerraformFunction(){return this.isSingleItem?this.elementType.toHclTerraformFunction:`cdktn.listMapperHcl(${this.elementType.toHclTerraformFunction}, ${this.isBlock})`}get hasReferenceClass(){return this.isSingleItem||this.isComplex}get isTokenizable(){switch(this.elementType.storedClassType){case"string":return!0;case"number":return!0;default:return!1}}get isStoredClassUnavailable(){return this.isComplex?!1:this.resolvedStoredClass===void 0}};Li.ListAttributeTypeModel=W9;var V9=class{constructor(e,r,n){this.elementType=e,this.isSingleItem=r,this.isBlock=n,this.struct&&(this.struct.isSingleItem=this.isSingleItem||!1)}get typeModelType(){return"set"}get struct(){return this.elementType.struct}get isComplex(){return this.elementType.isComplex}getStoredClassInitializer(e){return this.isSingleItem?`new ${this.elementType.storedClassType}OutputReference(this, "${e}")`:this.isComplex?`new ${this.storedClassType}(this, "${e}", true)`:`new cdktn.${this.resolvedStoredClass.name}(this, "${e}", true)`}get storedClassType(){return`${this.elementType.storedClassType}List`}get resolvedStoredClass(){return(0,P9.resolveStoredClassName)(this.storedClassType,this.elementType.typeModelType)}get inputTypeDefinition(){return this.isSingleItem?this.elementType.inputTypeDefinition:this.elementType.storedClassType==="boolean"?"Array<boolean | cdktn.IResolvable> | cdktn.IResolvable":this.isComplex?`${this.elementType.storedClassType}[] | cdktn.IResolvable`:this.elementType.typeModelType!=="simple"?`${this.elementType.inputTypeDefinition}[] | cdktn.IResolvable`:`${this.elementType.inputTypeDefinition}[]`}getAttributeAccessFunction(e){switch(this.elementType.storedClassType){case"string":return`cdktn.Fn.tolist(this.getListAttribute('${e}'))`;case"number":return`cdktn.Token.asNumberList(cdktn.Fn.tolist(this.getNumberListAttribute('${e}')))`}return`cdktn.Token.asAny(cdktn.Fn.tolist(this.interpolationForAttribute('${e}')))`}get toTerraformFunction(){return this.isSingleItem?this.elementType.toTerraformFunction:`cdktn.listMapper(${this.elementType.toTerraformFunction}, ${this.isBlock})`}get toHclTerraformFunction(){return this.isSingleItem?this.elementType.toHclTerraformFunction:`cdktn.listMapperHcl(${this.elementType.toHclTerraformFunction}, ${this.isBlock})`}get hasReferenceClass(){return this.isSingleItem||this.isComplex}get isTokenizable(){switch(this.elementType.storedClassType){case"string":return!0;case"number":return!0;default:return!1}}get isStoredClassUnavailable(){return this.isComplex?!1:this.resolvedStoredClass===void 0}};Li.SetAttributeTypeModel=V9;var H9=class{constructor(e){this.elementType=e}get typeModelType(){return"map"}get struct(){return this.elementType.struct}get isComplex(){return this.elementType.isComplex}getStoredClassInitializer(e){return this.isComplex?`new ${this.storedClassType}(this, "${e}")`:`new cdktn.${this.resolvedStoredClass.name}(this, "${e}")`}get storedClassType(){return`${this.elementType.storedClassType}Map`}get resolvedStoredClass(){return(0,P9.resolveStoredClassName)(this.storedClassType,this.elementType.typeModelType)}get inputTypeDefinition(){return this.elementType.storedClassType==="boolean"?`{ [key: string]: (${this.elementType.storedClassType} | cdktn.IResolvable) }`:this.isComplex?`{ [key: string]: ${this.elementType.storedClassType} } | cdktn.IResolvable`:this.elementType.typeModelType!=="simple"?`{ [key: string]: ${this.elementType.inputTypeDefinition} } | cdktn.IResolvable`:`{ [key: string]: ${this.elementType.storedClassType} }`}getAttributeAccessFunction(e){return!this.isComplex&&this.elementType.typeModelType!=="simple"?`this.interpolationForAttribute('${e}')`:`this.get${(0,bD.uppercaseFirst)(this.storedClassType)}Attribute('${e}')`}get toTerraformFunction(){return`cdktn.hashMapper(${this.elementType.toTerraformFunction})`}get toHclTerraformFunction(){return`cdktn.hashMapperHcl(${this.elementType.toHclTerraformFunction})`}get hasReferenceClass(){return this.isComplex}get isTokenizable(){switch(this.elementType.storedClassType){case"string":return!0;case"number":return!0;case"boolean":return!0;case"any":return!0;default:return!1}}get isStoredClassUnavailable(){return this.isComplex?!1:this.resolvedStoredClass===void 0}};Li.MapAttributeTypeModel=H9});var pbe=p(ED=>{"use strict";Object.defineProperty(ED,"__esModule",{value:!0});ED.assertNoFunctionsGetterCollision=n2t;ED.buildProviderFunctionsModel=i2t;var Y9=lc(),Pxt={default:"defaultValue",string:"str"};function Yxt(t){var e;let r=(0,Y9.toCamelCase)(t);return(e=Pxt[r])!==null&&e!==void 0?e:r}function $xt(t){return t==="length"?"lengthOf":(0,Y9.toCamelCase)(t)}var jxt=new Set(["constructor","providerLocalName"]);function gbe(t){if(t==="string")return{tsType:"string",docstringType:"string"};if(t==="number")return{tsType:"number",docstringType:"number"};if(Array.isArray(t)&&(t[0]==="list"||t[0]==="set")){let e=gbe(t[1]);return e?{tsType:`${e.tsType}[]`,docstringType:`${t[0]==="set"?"Set":"Array"}<${e.docstringType}>`}:void 0}}function zxt(t,e){let r=t==="set"?"Set":"Array",n=t==="set"?"Terraform set; ordering is not guaranteed and duplicate values are removed.":void 0;if(e==="string")return{tsType:"string[]",docstringType:`${r}<string>`,docstringNote:n,acceptsResolvableAlready:!1};if(e==="number")return{tsType:"number[]",docstringType:`${r}<number>`,docstringNote:n,acceptsResolvableAlready:!1};if(e==="bool")return{tsType:"Array<boolean | cdktn.IResolvable> | cdktn.IResolvable",docstringType:`${r}<boolean | IResolvable>`,docstringNote:n,acceptsResolvableAlready:!0};let i=gbe(e);if(i)return{tsType:`${i.tsType}[] | cdktn.IResolvable`,docstringType:`${r}<${i.docstringType}>`,docstringNote:n,acceptsResolvableAlready:!0};let s=$9(e).docstringType;return{tsType:"any[] | cdktn.IResolvable",docstringType:`${r}<${s}>`,docstringNote:n,acceptsResolvableAlready:!0}}function qxt(t){return t==="string"?{tsType:"{ [key: string]: string }",docstringType:"{ [key: string]: string }",acceptsResolvableAlready:!1}:t==="number"?{tsType:"{ [key: string]: number }",docstringType:"{ [key: string]: number }",acceptsResolvableAlready:!1}:t==="bool"?{tsType:"{ [key: string]: (boolean | cdktn.IResolvable) }",docstringType:"{ [key: string]: (boolean | IResolvable) }",acceptsResolvableAlready:!1}:{tsType:"any",docstringType:"any",acceptsResolvableAlready:!0}}function $9(t){return t==="string"?{tsType:"string",docstringType:"string",acceptsResolvableAlready:!1}:t==="number"?{tsType:"number",docstringType:"number",acceptsResolvableAlready:!1}:t==="bool"?{tsType:"boolean | cdktn.IResolvable",docstringType:"boolean | IResolvable",acceptsResolvableAlready:!0}:t==="dynamic"?{tsType:"any",docstringType:"any",acceptsResolvableAlready:!0}:Array.isArray(t)&&(t[0]==="list"||t[0]==="set")?zxt(t[0],t[1]):Array.isArray(t)&&t[0]==="map"?qxt(t[1]):{tsType:"any",docstringType:"object",acceptsResolvableAlready:!0}}function Abe(t,e){var r;let n=(r=t.name)!==null&&r!==void 0?r:e,{tsType:i,docstringType:s,docstringNote:o,acceptsResolvableAlready:a}=$9(t.type);return{terraformName:n,name:Yxt(n),tsType:i,docstringType:s,docstringNote:o,description:t.description,acceptsResolvableAlready:a}}function hbe(t){return t.acceptsResolvableAlready?{tsType:t.tsType,docstringType:t.docstringType}:{tsType:`${t.tsType} | cdktn.IResolvable`,docstringType:`${t.docstringType} | IResolvable`}}function Jxt(t,e){let r=new Array(t.length).fill(!1),n=!0;for(let i=t.length-1;i>=0;i--)n=n&&t[i].is_nullable===!0,r[i]=n;return e.map((i,s)=>{if(!t[s].is_nullable)return i;let{tsType:a,docstringType:c}=hbe(i),u=r[s]?"Omit or pass cdktn.Token.nullValue() to render the Terraform null keyword.":"Pass cdktn.Token.nullValue() for an explicit Terraform null.";return{...i,...r[s]?{optional:!0}:{},tsType:a,docstringType:c,docstringNote:[i.docstringNote,u].filter(Boolean).join(" ")}})}function Xxt(t){if(t==="string")return{tsType:"string",docstringType:"string",wrapReturn:e=>`cdktn.Token.asString(${e})`};if(t==="number")return{tsType:"number",docstringType:"number",wrapReturn:e=>`cdktn.Token.asNumber(${e})`};if(t==="bool")return{tsType:"cdktn.IResolvable",docstringType:"boolean | IResolvable",wrapReturn:e=>e};if(t==="dynamic")return{tsType:"cdktn.IResolvable",docstringType:"any",wrapReturn:e=>e};if(Array.isArray(t)&&(t[0]==="list"||t[0]==="set")){let e=t[0]==="set"?"Set":"Array",r=t[0]==="set"?"Terraform set; ordering is not guaranteed and duplicate values are removed.":void 0,n=t[1];return n==="string"?{tsType:"string[]",docstringType:`${e}<string>`,docstringNote:r,wrapReturn:i=>`cdktn.Token.asList(${i})`}:n==="number"?{tsType:"number[]",docstringType:`${e}<number>`,docstringNote:r,wrapReturn:i=>`cdktn.Token.asNumberList(${i})`}:{tsType:"cdktn.IResolvable",docstringType:`${e}<${$9(n).docstringType}>`,docstringNote:r,wrapReturn:i=>i}}if(Array.isArray(t)&&t[0]==="map"){let e=t[1];return e==="string"?{tsType:"{ [key: string]: string }",docstringType:"{ [key: string]: string }",wrapReturn:r=>`cdktn.Token.asStringMap(${r})`}:e==="number"?{tsType:"{ [key: string]: number }",docstringType:"{ [key: string]: number }",wrapReturn:r=>`cdktn.Token.asNumberMap(${r})`}:e==="bool"?{tsType:"{ [key: string]: boolean }",docstringType:"{ [key: string]: boolean }",wrapReturn:r=>`cdktn.Token.asBooleanMap(${r})`}:{tsType:"{ [key: string]: any }",docstringType:"{ [key: string]: any }",wrapReturn:r=>`cdktn.Token.asAnyMap(${r})`}}return{tsType:"cdktn.IResolvable",docstringType:"object",wrapReturn:e=>e}}function Kxt(t,e){var r;let{tsType:n,docstringType:i,docstringNote:s,wrapReturn:o}=Xxt(e.return_type),a=(r=e.parameters)!==null&&r!==void 0?r:[],c=Jxt(a,a.map((l,d)=>Abe(l,`arg${d}`))),u;if(e.variadic_parameter){let l=Abe(e.variadic_parameter,"values");if(e.variadic_parameter.is_nullable){let{tsType:d,docstringType:f}=hbe(l);u={...l,tsType:d,docstringType:`Array<${f}>`,docstringNote:[l.docstringNote,"Pass cdktn.Token.nullValue() for an explicit Terraform null."].filter(Boolean).join(" ")}}else u={...l,docstringType:`Array<${l.docstringType}>`}}return{terraformName:t,methodName:$xt(t),description:e.description,summary:e.summary,deprecationMessage:e.deprecation_message,returnTsType:n,returnDocstringType:i,returnDocstringNote:s,wrapReturn:o,parameters:c,variadicParameter:u}}function e2t(t,e){let r=new Map;for(let n of e){let i=r.get(n.methodName);if(i!==void 0)throw new Error(`Provider "${t}" declares two provider-defined functions, "${i}" and "${n.terraformName}", that both sanitize to the generated method name "${n.methodName}". Generation aborted to avoid silently overwriting one method with the other - please report this as an issue.`);r.set(n.methodName,n.terraformName)}}function t2t(t,e){for(let r of e)if(jxt.has(r.methodName))throw new Error(`Provider "${t}" declares a provider-defined function "${r.terraformName}" that sanitizes to the generated method name "${r.methodName}", which collides with a member that ProviderFunctionsEmitter already puts on every "<Provider>ProviderFunctions" wrapper class (the class constructor, or its "providerLocalName" field). Generation aborted to avoid emitting invalid TypeScript or silently shadowing that member - please report this as an issue.`)}function r2t(t,e){let r=new Map,n=e.variadicParameter?[...e.parameters,e.variadicParameter]:e.parameters;for(let i of n){let s=r.get(i.name);if(s!==void 0)throw new Error(`Provider "${t}" function "${e.terraformName}" declares two parameters, "${s}" and "${i.terraformName}", that both sanitize to the generated parameter name "${i.name}". Generation aborted to avoid silently dropping one parameter - please report this as an issue.`);r.set(i.name,i.terraformName)}}function n2t(t,e){if(e.includes("functions"))throw new Error(`Provider "${t}" declares provider-defined functions and its own config schema also has an attribute that generates the property name "functions" on the provider class. This collides with the generated "functions" getter used to invoke provider-defined functions. Generation aborted to avoid silently shadowing one with the other - please report this as an issue.`)}function i2t(t,e){let r=Object.entries(e??{});if(r.length===0)return;let n=r.sort(([i],[s])=>i.localeCompare(s)).map(([i,s])=>Kxt(i,s));e2t(t,n),t2t(t,n);for(let i of n)r2t(t,i);return{providerName:t,className:`${(0,Y9.toPascalCase)(t)}ProviderFunctions`,functions:n}}});var z9=p(j0=>{"use strict";Object.defineProperty(j0,"__esModule",{value:!0});j0.ConfigStruct=j0.Struct=void 0;var mbe=QB(),BD=class{constructor(e,r,n=!1,i=!1,s=!1,o=""){this.name=e,this.attributes=r,this.isClass=n,this.isAnonymous=i,this.isSingleItem=s,this.nestingMode=o}get assignableAttributes(){return this.attributes.filter(e=>e.isAssignable)}get optionalAttributes(){return this.attributes.filter(e=>e.optional)}get allOptional(){return this.attributes.filter(e=>!e.optional&&!e.computed).length==0}get attributeType(){return`${this.name}${this.allOptional?" = {}":""}`}get assignable(){return!this.isClass||this.assignableAttributes.length>0}get extends(){return""}get mapperName(){return`${(0,mbe.downcaseFirst)(this.name)}ToTerraform`}get hclMapperName(){return`${(0,mbe.downcaseFirst)(this.name)}ToHclTerraform`}get outputReferenceName(){return`${this.name}OutputReference`}get listName(){return`${this.name}List`}get mapName(){return`${this.name}Map`}get mapListName(){return`${this.name}MapList`}get listMapName(){return`${this.name}ListMap`}get listListName(){return`${this.name}ListList`}get isProvider(){return this.attributes.some(e=>e.isProvider)}get referencedTypes(){let e=[];return this.attributes.forEach(r=>{let n=r.getReferencedTypes(!1);n&&e.push(...n)}),e}get exportCount(){let e=1;return e+=1,(this.nestingMode==="list"||this.nestingMode==="set"||this.nestingMode==="map")&&(e+=1,this.isSingleItem||(e+=1)),e}};j0.Struct=BD;var j9=class extends BD{constructor(e,r,n="TerraformMetaArguments"){super(e,r),this.extendsClass=n}get extends(){return` extends cdktn.${this.extendsClass}`}};j0.ConfigStruct=j9});var J9=p(td=>{"use strict";var s2t=td&&td.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(td,"__esModule",{value:!0});td.ResourceModel=td.STRUCT_SHARDING_THRESHOLD=void 0;var o2t=lc(),Ibe=s2t(require("path")),ybe=Ff(),a2t=z9();td.STRUCT_SHARDING_THRESHOLD=400;var q9=class{constructor(e){this.recursiveAttributePaths={},this.className=e.className,this.filePath=e.filePath,this.terraformType=e.terraformType,this.baseName=e.baseName,this.attributes=e.attributes,this.schema=e.schema,this.fqpn=e.fqpn,this.provider=(0,ybe.parseFQPN)(e.fqpn).name,this.terraformProviderName=this.provider,this.fileName=e.fileName,this._structs=e.structs,this.terraformSchemaType=e.terraformSchemaType,this.configStructName=e.configStructName,this.dependencies=["import { Construct } from 'constructs';","import * as cdktn from 'cdktn';"],this.structsRequireSharding=this._structs.reduce((r,n)=>r+n.exportCount,0)>td.STRUCT_SHARDING_THRESHOLD}get structs(){return[this.configStruct,...this._structs]}get configStruct(){return new a2t.ConfigStruct(this.configStructName,this.attributes,this.isEphemeralResource?"TerraformEphemeralMetaArguments":void 0)}get synthesizableAttributes(){return this.configStruct.assignableAttributes}get importStatements(){return this.dependencies}get schemaAsJson(){return this.escapeSchema(JSON.stringify(this.schema,void 0,2))}get linkToDocs(){let{hostname:e,namespace:r,name:n}=(0,ybe.parseFQPN)(this.fqpn),i=this.providerVersion||"latest",s=`https://${e}/providers/${r}/${n}/${i}/docs`;return this.isProvider?s:this.isDataSource?`${s}/data-sources/${this.terraformDocName}`:this.isEphemeralResource?`${s}/ephemeral-resources/${this.terraformDocName}`:`${s}/resources/${this.terraformDocName}`}get isProvider(){return this.terraformSchemaType==="provider"}get isDataSource(){return this.terraformSchemaType==="data_source"}get isEphemeralResource(){return this.terraformSchemaType==="ephemeral_resource"}get parentClassName(){return this.isProvider?"TerraformProvider":this.isDataSource?"TerraformDataSource":this.isEphemeralResource?"TerraformEphemeralResource":"TerraformResource"}get terraformResourceType(){return this.isProvider?this.terraformProviderName:this.isDataSource?this.terraformType.replace(/^data_/,""):this.isEphemeralResource?this.terraformType.replace(/^ephemeral_/,""):this.terraformType}get terraformDocName(){return(0,o2t.toSnakeCase)(this.terraformResourceType.replace(new RegExp(`^${this.provider}_`,"i"),""))}get referencedTypes(){return this.configStruct.referencedTypes}get structsFolderName(){return`${Ibe.default.basename(this.fileName,".ts")}-structs`}get structsFolderPath(){return Ibe.default.join(this.namespaceFolderPath,this.structsFolderName)}get namespaceFolderPath(){return this.filePath.split("/").slice(0,-1).join("/")}escapeSchema(e){return e.replace(/(\*\/)/gi,"*\\/")}};td.ResourceModel=q9});var Cbe=p(vD=>{"use strict";Object.defineProperty(vD,"__esModule",{value:!0});vD.Scope=void 0;var X9=class{constructor(e){var r,n,i,s,o;this.name=e.name,this.parent=e.parent,this.isProvider=e.isProvider,this.isComputed=(r=e.isComputed)!==null&&r!==void 0?r:!1,this.isOptional=(n=e.isOptional)!==null&&n!==void 0?n:!0,this.isRequired=(i=e.isRequired)!==null&&i!==void 0?i:!1,this.inBlockType=(s=e.inBlockType)!==null&&s!==void 0?s:!1,this.isNestedType=(o=e.isNestedType)!==null&&o!==void 0?o:!1}fullName(e){return`${this.baseName}.${e}`}get baseName(){let e=this,r="";for(;e;)r===""?r=e.name:r=`${e.name}.${r}`,e=e.parent;return r}};vD.Scope=X9});var kg=p(Po=>{"use strict";var c2t=Po&&Po.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),z0=Po&&Po.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&c2t(e,t,r)};Object.defineProperty(Po,"__esModule",{value:!0});z0(ube(),Po);z0(fbe(),Po);z0(pbe(),Po);z0(J9(),Po);z0(Cbe(),Po);z0(z9(),Po)});var bbe=p(K9=>{"use strict";Object.defineProperty(K9,"__esModule",{value:!0});K9.detectAttributeLoops=f2t;var u2t=(t,e)=>t[0]===e[0]&&t[1].size===e[1].size&&[...t[1]].every(r=>e[1].has(r));function l2t(t){var e;return t.type.isComplex?`<complex:{${(e=t.type.struct)===null||e===void 0?void 0:e.attributes.map(r=>r.name).sort()}}${t.type.typeModelType}>`:t.type.storedClassType}function d2t(t){return[t.terraformName,new Set(t.type.struct.attributes.map(e=>`${e.name}:${l2t(e)}`))]}function f2t(t){let e={};function r(n,i=[],s={}){let o=n.terraformName,a=n.type.struct;if(!a)return;let c=d2t(n),u=Object.entries(s).find(([,l])=>u2t(c,l));if(u){let l=u[0],d=[...i,o].join(".");e[d]=l}else a.attributes.forEach(l=>r(l,[...i,o],{...s,[[...i,o].join(".")]:c}))}return t.forEach(n=>r(n)),e}});var Ebe=p(eY=>{"use strict";Object.defineProperty(eY,"__esModule",{value:!0});eY.shouldSkipAttribute=g2t;var A2t=["aws.quicksight_template.definition","aws.quicksight_dashboard.definition","aws.quicksight_analysis.definition","aws.data_aws_quicksight_analysis.definition","aws.wafv2_web_acl.wafv2_web_acl_rule.statement","aws.wafv2_rule_group.wafv2_rule_group_rule.statement","oci.data_oci_objectstorage_private_endpoint.fqdns","oci.data_oci_objectstorage_private_endpoint_summaries.private_endpoint_summaries.fqdns"];function g2t(t){return A2t.includes(t)}});var sY=p(NB=>{"use strict";Object.defineProperty(NB,"__esModule",{value:!0});NB.ResourceParser=void 0;NB.sanitizeClassOrNamespaceName=vbe;var Wc=lc(),Bbe=tt(),h2t=Ff(),It=kg(),p2t=bbe(),tY=Ebe(),m2t=["implements","interface","let","package","private","protected","public","static","yield","await"],I2t=["license","version"],y2t=t=>["string","object","function",...m2t,...I2t].includes(t.toLowerCase()),C2t=t=>t.toLowerCase().endsWith("list"),b2t=(t,e)=>e==="index"?"index-resource/index.ts":e===`${t}_provider`?"provider/index.ts":`${(0,Wc.toSnakeCase)(e).replace(/_/g,"-")}/index.ts`;function vbe(t,e=!1){let r=!e&&t==="provider";return y2t(t)||r?`${t}_resource`:t}function rY(t){return t.filter((e,r)=>!t.slice(r+1).some(i=>i.name===e.name&&i!==e))}var nY=class{constructor(e,r){this.classNames=e,this.usedBaseNames=r,this.structs=new Array}uniqueClassName(e){return this.classNames.includes(e)&&(e=`${e}A`),this.classNames.push(e),e}uniqueBaseName(e){let r=(0,Wc.toPascalCase)(e),n=r.toLowerCase(),i=this.usedBaseNames.get(n);return i!==void 0&&i!==r?(e=`${e}A`,this.uniqueBaseName(e)):(this.usedBaseNames.set(n,r),e)}resourceFrom(e,r,n,i,s){let o=r,a=s?s.name:void 0,c=(0,h2t.parseFQPN)(e).name;o.startsWith(`${c}_`)&&(o=o.substr(c.length+1));let u=a||c,l=i==="provider";l&&(o=`${u}_${o}`,"attributes"in n.block||(n.block={attributes:{},block_types:n.block.block_types||{}}),n.block.attributes.alias={type:"string",description:"Alias name",optional:!0,computed:!1}),o=vbe(o,l),o=this.uniqueBaseName(o);let d=this.uniqueClassName((0,Wc.toPascalCase)(o)),f=this.uniqueClassName(`${d}Config`),A=b2t(u,o),g=`providers/${(0,Wc.toSnakeCase)(u)}/${A}`,h=this.renderAttributesForBlock(new It.Scope({name:o,isProvider:l,parent:l?void 0:new It.Scope({name:u,isProvider:!0})}),n.block);function m(b,S){let[R,...Q]=S.split("."),k=b.find(v=>v.terraformName===R);if(!k)throw new Error(`Expected to find recursive attribute at path: ${S}`);if(!k.type.struct)throw new Error(`Expected to find struct type attribute at path: ${S} but got ${k.type.storedClassType}`);return Q.length===0?k:m(k.type.struct.attributes,Q.join("."))}let I=(0,p2t.detectAttributeLoops)(h);return Object.entries(I).forEach(([b,S])=>{let R=m(h,S),Q=b.split("."),k=Q.pop(),v=m(h,Q.join(".")),T=v.type.struct.attributes.findIndex(Y=>Y.terraformName===k);if(T===-1)throw new Error("Can't find attribute at path "+b);let H=v.type.struct.attributes[T];v.type.struct.attributes[T]=R;let N=Y=>{Y.type.struct&&(Y.type.struct.attributes.forEach(N),this.structs=this.structs.filter(K=>K!==Y.type.struct))};N(H)}),h=rY(h),new It.ResourceModel({terraformType:r,baseName:o,fileName:A,filePath:g,className:d,schema:n,fqpn:e,attributes:h,terraformSchemaType:i,structs:this.structs,configStructName:f})}renderAttributeType(e,r,n){let i=e[e.length-1];if((0,tY.shouldSkipAttribute)(i.baseName))return new It.MapAttributeTypeModel(new It.SimpleAttributeTypeModel("any"));if(typeof r=="string")switch(r){case"bool":return new It.SimpleAttributeTypeModel("boolean");case"string":return new It.SimpleAttributeTypeModel("string");case"number":return new It.SimpleAttributeTypeModel("number");case"dynamic":return new It.MapAttributeTypeModel(new It.SimpleAttributeTypeModel("any"));default:throw new Error(`invalid primitive type ${r}`)}if(Array.isArray(r)){if(r.length!==2)throw new Error("unexpected array");let[s,o]=r;if(s==="set"||s==="list"){let a=this.renderAttributeType(e,o,[s,n].join(""));return s==="list"?new It.ListAttributeTypeModel(a,!1,!1):new It.SetAttributeTypeModel(a,!1,!1)}if(s==="map"){let a=this.renderAttributeType(e,o,[s,n].join(""));return new It.MapAttributeTypeModel(a)}if(s==="object"){let a=o,c={};for(let[l,d]of Object.entries(a))c[l]={type:d};let u=this.addAnonymousStruct(e,c,n??s);return new It.StructAttributeTypeModel(u)}}if((0,Bbe.isAttributeNestedType)(r)){let s,o;switch(r.nesting_mode){case"list":s=this.addAnonymousStruct(e,r.attributes,r.nesting_mode),o=new It.ListAttributeTypeModel(new It.StructAttributeTypeModel(s),!1,!1);break;case"set":s=this.addAnonymousStruct(e,r.attributes,r.nesting_mode),o=new It.SetAttributeTypeModel(new It.StructAttributeTypeModel(s),!1,!1);break;case"map":s=this.addAnonymousStruct(e,r.attributes,r.nesting_mode),o=new It.MapAttributeTypeModel(new It.StructAttributeTypeModel(s));break;case"single":s=this.addAnonymousStruct(e,r.attributes,r.nesting_mode),o=new It.StructAttributeTypeModel(s);break;default:throw new Error(`nested_type with nesting_mode "${r.nesting_mode}" not supported (attribute scope: ${e.map(a=>a.fullName).join(",")}`)}return o}throw new Error(`unknown type ${JSON.stringify(r)}`)}renderAttributesForBlock(e,r){let n=new Array;for(let[s,o]of Object.entries(r.attributes||{})){let a,c=!1;(0,tY.shouldSkipAttribute)(e.fullName(s))?(a=new It.SkippedAttributeTypeModel,c=!0):a=this.renderAttributeType([e,new It.Scope({name:s,parent:e,isProvider:e.isProvider,isComputed:!!o.computed,isOptional:!!o.optional,isRequired:!!o.required,isNestedType:(0,Bbe.isNestedTypeAttribute)(o)})],o.type||o.nested_type);let u=(0,Wc.toCamelCase)(s);n.push(new It.AttributeModel({terraformFullName:e.fullName(s),description:o.description,name:u,storageName:`_${u}`,computed:!!o.computed,optional:!!o.optional,terraformName:s,type:a,provider:e.isProvider,required:!!o.required,forcePlainGetterType:c,isWriteOnly:!!o.write_only}))}for(let[s,o]of Object.entries(r.block_types||{})){if((0,tY.shouldSkipAttribute)(e.fullName(s))){let u=(0,Wc.toCamelCase)(s),l=new It.Scope({name:s,parent:e,isProvider:e.isProvider});n.push(new It.AttributeModel({name:u,terraformName:s,terraformFullName:l.fullName(s),type:new It.SkippedAttributeTypeModel,description:`${s} block`,storageName:`_${u}`,optional:!0,computed:!1,provider:e.isProvider,required:!1}));continue}let a=this.renderAttributesForBlock(new It.Scope({name:`${e.name}_${s}`,parent:e,isProvider:e.isProvider,inBlockType:!0}),o.block);a=rY(a);let c=this.addStruct([e,new It.Scope({name:s,parent:e,isProvider:e.isProvider})],a,o.nesting_mode,(o.nesting_mode==="list"||o.nesting_mode==="set")&&o.max_items===1);n.push(i(s,o,c,e.isProvider,e))}return n;function i(s,o,a,c,u){let l=(0,Wc.toCamelCase)(s),d,f;switch(o.nesting_mode){case"single":return d=!a.attributes.some(A=>!A.optional),f=!a.attributes.some(A=>!A.required),!d&&!f&&(d=a.attributes.some(A=>A.optional||A.required)),new It.AttributeModel({name:l,terraformName:s,terraformFullName:u.fullName(s),type:new It.StructAttributeTypeModel(a),description:`${s} block`,storageName:`_${l}`,optional:d,computed:!1,provider:c,required:f});case"map":return new It.AttributeModel({name:l,terraformName:s,terraformFullName:u.fullName(s),type:new It.MapAttributeTypeModel(new It.StructAttributeTypeModel(a)),description:`${s} block`,storageName:`_${l}`,optional:!1,computed:!1,provider:c,required:!1});case"list":case"set":return d=o.min_items===void 0?!0:o.min_items<1,f=o.min_items===void 0?!1:o.min_items>0,new It.AttributeModel({name:l,terraformName:s,terraformFullName:u.fullName(s),type:o.nesting_mode==="list"?new It.ListAttributeTypeModel(new It.StructAttributeTypeModel(a),o.max_items===1,!0):new It.SetAttributeTypeModel(new It.StructAttributeTypeModel(a),o.max_items===1,!0),description:`${s} block`,storageName:`_${l}`,optional:d,computed:!1,provider:c,required:f})}}}addAnonymousStruct(e,r,n){let i=new Array,s=e[e.length-1];if(r)for(let[o,a]of Object.entries(r||{})){let c=!!s.isComputed||s.isNestedType&&!!a.computed,u=s.isNestedType?!!a.optional:!!s.isOptional,l=s.isNestedType?!!a.required:!!s.isRequired,d=(0,Wc.toCamelCase)(o),f=this.renderAttributeType([...e,new It.Scope({name:o,parent:s,isProvider:s.isProvider,isComputed:c,isOptional:u,isRequired:l,isNestedType:s.isNestedType})],a.type||a.nested_type);i.push(new It.AttributeModel({name:d,storageName:`_${d}`,computed:c,description:a.description,optional:u,terraformName:o,terraformFullName:s.fullName(o),type:f,provider:s.isProvider,required:l,isWriteOnly:!!a.write_only}))}return i=rY(i),this.addStruct(e,i,n)}addStruct(e,r,n,i=!1){let s=(0,Wc.toPascalCase)(e.map(d=>(0,Wc.toSnakeCase)(d.name)).join("_")),o=this.uniqueClassName(C2t(s)?`${s}Struct`:s),a=e[e.length-1],c=a.isComputed&&!a.isOptional||i,u=!0,l=new It.Struct(o,r,c,u,i,n);return this.structs.push(l),l}},iY=class{constructor(){this.uniqueClassnames=[],this.uniqueBaseNames=new Map,this.resources={}}parse(e,r,n,i,s){if(this.resources[r])return this.resources[r];let a=new nY(this.uniqueClassnames,this.uniqueBaseNames).resourceFrom(e,r,n,i,s);return this.resources[r]=a,a}getClassNameForResource(e){let r=this.resources[e];return r?r.className:""}getNamespaceNameForResource(e){e==="data_external_"&&(e="data_external");let r=this.resources[e];if(!r)return"";let n=`providers/${r.provider}`;return r.filePath.replace(`${n}/`,"").replace("/index.ts","")}};NB.ResourceParser=iY});var Sbe=p(SD=>{"use strict";Object.defineProperty(SD,"__esModule",{value:!0});SD.CUSTOM_DEFAULTS=void 0;SD.CUSTOM_DEFAULTS={"aws.security_group.ingress.cidr_blocks":null,"aws.security_group.ingress.description":null,"aws.security_group.ingress.from_port":null,"aws.security_group.ingress.ipv6_cidr_blocks":null,"aws.security_group.ingress.prefix_list_ids":null,"aws.security_group.ingress.protocol":null,"aws.security_group.ingress.security_groups":null,"aws.security_group.ingress.self":null,"aws.security_group.ingress.to_port":null,"aws.security_group.egress.cidr_blocks":null,"aws.security_group.egress.description":null,"aws.security_group.egress.from_port":null,"aws.security_group.egress.ipv6_cidr_blocks":null,"aws.security_group.egress.prefix_list_ids":null,"aws.security_group.egress.protocol":null,"aws.security_group.egress.security_groups":null,"aws.security_group.egress.self":null,"aws.security_group.egress.to_port":null,"aws.default_route_table.route.cidr_block":null,"aws.default_route_table.route.ipv6_cidr_block":null,"aws.default_route_table.route.egress_only_gateway_id":null,"aws.default_route_table.route.gateway_id":null,"aws.default_route_table.route.instance_id":null,"aws.default_route_table.route.nat_gateway_id":null,"aws.default_route_table.route.network_interface_id":null,"aws.default_route_table.route.transit_gateway_id":null,"aws.default_route_table.route.vpc_endpoint_id":null,"aws.default_route_table.route.vpc_peering_connection_id":null,"aws.default_route_table.route.destination_prefix_list_id":null,"aws.default_route_table.route.core_network_arn":null,"aws.emr_cluster.step.action_on_failure":null,"aws.emr_cluster.step.hadoop_jar_step":null,"aws.emr_cluster.step.name":null,"aws.emr_cluster.step.hadoop_jar_step.args":null,"aws.emr_cluster.step.hadoop_jar_step.jar":null,"aws.emr_cluster.step.hadoop_jar_step.main_class":null,"aws.emr_cluster.step.hadoop_jar_step.properties":null,"aws.network_acl.ingress.from_port":null,"aws.network_acl.ingress.to_port":null,"aws.network_acl.ingress.rule_no":null,"aws.network_acl.ingress.action":null,"aws.network_acl.ingress.protocol":null,"aws.network_acl.ingress.cidr_block":null,"aws.network_acl.ingress.ipv6_cidr_block":null,"aws.network_acl.ingress.icmp_type":null,"aws.network_acl.ingress.icmp_code":null,"aws.network_acl.egress.from_port":null,"aws.network_acl.egress.to_port":null,"aws.network_acl.egress.rule_no":null,"aws.network_acl.egress.action":null,"aws.network_acl.egress.protocol":null,"aws.network_acl.egress.cidr_block":null,"aws.network_acl.egress.ipv6_cidr_block":null,"aws.network_acl.egress.icmp_type":null,"aws.network_acl.egress.icmp_code":null,"aws.route_table.route.cidr_block":null,"aws.route_table.route.ipv6_cidr_block":null,"aws.route_table.route.egress_only_gateway_id":null,"aws.route_table.route.gateway_id":null,"aws.route_table.route.instance_id":null,"aws.route_table.route.nat_gateway_id":null,"aws.route_table.route.local_gateway_id":null,"aws.route_table.route.network_interface_id":null,"aws.route_table.route.transit_gateway_id":null,"aws.route_table.route.vpc_endpoint_id":null,"aws.route_table.route.vpc_peering_connection_id":null,"aws.route_table.route.destination_prefix_list_id":null,"aws.route_table.route.carrier_gateway_id":null,"aws.route_table.route.core_network_arn":null,"aws.default_security_group.ingress.cidr_blocks":null,"aws.default_security_group.ingress.description":null,"aws.default_security_group.ingress.from_port":null,"aws.default_security_group.ingress.ipv6_cidr_blocks":null,"aws.default_security_group.ingress.prefix_list_ids":null,"aws.default_security_group.ingress.protocol":null,"aws.default_security_group.ingress.security_groups":null,"aws.default_security_group.ingress.self":null,"aws.default_security_group.ingress.to_port":null,"aws.default_security_group.egress.cidr_blocks":null,"aws.default_security_group.egress.description":null,"aws.default_security_group.egress.from_port":null,"aws.default_security_group.egress.ipv6_cidr_blocks":null,"aws.default_security_group.egress.prefix_list_ids":null,"aws.default_security_group.egress.protocol":null,"aws.default_security_group.egress.security_groups":null,"aws.default_security_group.egress.self":null,"aws.default_security_group.egress.to_port":null,"azuread.application.app_role.id":null,"azuread.application.app_role.allowed_member_types":null,"azuread.application.app_role.description":null,"azuread.application.app_role.display_name":null,"azuread.application.app_role.is_enabled":null,"azuread.application.app_role.value":null,"azuread.application.oauth2_permissions.id":null,"azuread.application.oauth2_permissions.admin_consent_description":null,"azuread.application.oauth2_permissions.admin_consent_display_name":null,"azuread.application.oauth2_permissions.value":null,"azuread.application.oauth2_permissions.type":null,"azuread.application.oauth2_permissions.is_enabled":null,"azuread.application.oauth2_permissions.user_consent_description":null,"azuread.application.oauth2_permissions.user_consent_display_name":null,"azurestack.route_table.route.name":null,"azurestack.route_table.route.address_prefix":null,"azurestack.route_table.route.next_hop_type":null,"azurestack.route_table.route.next_hop_in_ip_address":null,"azurestack.network_security_group.security_rule.name":null,"azurestack.network_security_group.security_rule.description":null,"azurestack.network_security_group.security_rule.protocol":null,"azurestack.network_security_group.security_rule.source_port_range":null,"azurestack.network_security_group.security_rule.source_port_ranges":null,"azurestack.network_security_group.security_rule.destination_port_range":null,"azurestack.network_security_group.security_rule.destination_port_ranges":null,"azurestack.network_security_group.security_rule.source_address_prefix":null,"azurestack.network_security_group.security_rule.source_address_prefixes":null,"azurestack.network_security_group.security_rule.destination_address_prefix":null,"azurestack.network_security_group.security_rule.destination_address_prefixes":null,"azurestack.network_security_group.security_rule.destination_application_security_group_ids":null,"azurestack.network_security_group.security_rule.source_application_security_group_ids":null,"azurestack.network_security_group.security_rule.access":null,"azurestack.network_security_group.security_rule.priority":null,"azurestack.network_security_group.security_rule.direction":null,"azurestack.virtual_network.subnet.name":null,"azurestack.virtual_network.subnet.address_prefix":null,"azurestack.virtual_network.subnet.security_group":null,"azurestack.virtual_network.subnet.id":null,"azurestack.key_vault.access_policy.tenant_id":null,"azurestack.key_vault.access_policy.object_id":null,"azurestack.key_vault.access_policy.application_id":null,"azurestack.key_vault.access_policy.certificate_permissions":null,"azurestack.key_vault.access_policy.key_permissions":null,"azurestack.key_vault.access_policy.secret_permissions":null,"azurestack.key_vault.access_policy.storage_permissions":null,"vault.auth_backend.tune.default_lease_ttl":null,"vault.auth_backend.tune.max_lease_ttl":null,"vault.auth_backend.tune.audit_non_hmac_request_keys":null,"vault.auth_backend.tune.audit_non_hmac_response_keys":null,"vault.auth_backend.tune.listing_visibility":null,"vault.auth_backend.tune.passthrough_request_headers":null,"vault.auth_backend.tune.allowed_response_headers":null,"vault.auth_backend.tune.token_type":null,"vault.github_auth_backend.tune.default_lease_ttl":null,"vault.github_auth_backend.tune.max_lease_ttl":null,"vault.github_auth_backend.tune.audit_non_hmac_request_keys":null,"vault.github_auth_backend.tune.audit_non_hmac_response_keys":null,"vault.github_auth_backend.tune.listing_visibility":null,"vault.github_auth_backend.tune.passthrough_request_headers":null,"vault.github_auth_backend.tune.allowed_response_headers":null,"vault.github_auth_backend.tune.token_type":null,"vault.jwt_auth_backend.tune.default_lease_ttl":null,"vault.jwt_auth_backend.tune.max_lease_ttl":null,"vault.jwt_auth_backend.tune.audit_non_hmac_request_keys":null,"vault.jwt_auth_backend.tune.audit_non_hmac_response_keys":null,"vault.jwt_auth_backend.tune.listing_visibility":null,"vault.jwt_auth_backend.tune.passthrough_request_headers":null,"vault.jwt_auth_backend.tune.allowed_response_headers":null,"vault.jwt_auth_backend.tune.token_type":null,"vault.okta_auth_backend.group.group_name":null,"vault.okta_auth_backend.group.policies":null,"vault.okta_auth_backend.user.username":null,"vault.okta_auth_backend.user.groups":null,"vault.okta_auth_backend.user.policies":null,"google.compute_instance.guest_accelerator.count":null,"google.compute_instance.guest_accelerator.type":null,"google.compute_instance_from_template.attached_disk.source":null,"google.compute_instance_from_template.attached_disk.device_name":null,"google.compute_instance_from_template.attached_disk.mode":null,"google.compute_instance_from_template.attached_disk.disk_encryption_key_raw":null,"google.compute_instance_from_template.attached_disk.kms_key_self_link":null,"google.compute_instance_from_template.guest_accelerator.count":null,"google.compute_instance_from_template.guest_accelerator.type":null,"google.compute_instance_from_template.service_account.email":null,"google.compute_instance_from_template.service_account.scopes":null,"google.compute_instance_from_template.scratch_disk.interface":null,"google.compute_instance_from_template.network_interface.alias_ip_range.ip_cidr_range":null,"google.compute_instance_from_template.network_interface.alias_ip_range.subnetwork_range_name":null,"google.compute_instance_from_template.network_interface.access_config.nat_ip":null,"google.compute_instance_from_template.network_interface.access_config.public_ptr_domain_name":null,"google.compute_instance_from_template.network_interface.access_config.network_tier":null,"google.compute_subnetwork.secondary_ip_range.range_name":null,"google.compute_subnetwork.secondary_ip_range.ip_cidr_range":null,"google.container_cluster.node_config.guest_accelerator.count":null,"google.container_cluster.node_config.guest_accelerator.type":null,"google.container_cluster.node_config.guest_accelerator.gpu_partition_size":null,"google.container_cluster.node_config.guest_accelerator.gpu_sharing_config":null,"google.container_cluster.node_config.guest_accelerator.gpu_sharing_config.gpu_sharing_strategy":null,"google.container_cluster.node_config.guest_accelerator.gpu_sharing_config.max_shared_clients_per_gpu":null,"google.container_cluster.node_config.taint.key":null,"google.container_cluster.node_config.taint.value":null,"google.container_cluster.node_config.taint.effect":null,"google.container_node_pool.node_config.guest_accelerator.count":null,"google.container_node_pool.node_config.guest_accelerator.type":null,"google.container_node_pool.node_config.guest_accelerator.gpu_partition_size":null,"google.container_node_pool.node_config.guest_accelerator.gpu_sharing_config":null,"google.container_node_pool.node_config.guest_accelerator.gpu_sharing_config.gpu_sharing_strategy":null,"google.container_node_pool.node_config.guest_accelerator.gpu_sharing_config.max_shared_clients_per_gpu":null,"google.container_node_pool.node_config.taint.key":null,"google.container_node_pool.node_config.taint.value":null,"google.container_node_pool.node_config.taint.effect":null,"google.composer_environment.ip_allocation_policy.use_ip_aliases":null,"google.composer_environment.ip_allocation_policy.cluster_secondary_range_name":null,"google.composer_environment.ip_allocation_policy.services_secondary_range_name":null,"google.composer_environment.ip_allocation_policy.cluster_ipv4_cidr_block":null,"google.composer_environment.ip_allocation_policy.services_ipv4_cidr_block":null,"azurerm.eventgrid_topic.inbound_ip_rule.ip_mask":null,"azurerm.eventgrid_topic.inbound_ip_rule.action":null,"azurerm.eventgrid_domain.inbound_ip_rule.ip_mask":null,"azurerm.eventgrid_domain.inbound_ip_rule.action":null,"azurerm.container_registry.network_rule_set.default_action":null,"azurerm.container_registry.network_rule_set.ip_rule":null,"azurerm.container_registry.network_rule_set.virtual_network":null,"azurerm.container_registry.network_rule_set.ip_rule.action":null,"azurerm.container_registry.network_rule_set.ip_rule.ip_range":null,"azurerm.container_registry.network_rule_set.virtual_network.action":null,"azurerm.container_registry.network_rule_set.virtual_network.subnet_id":null,"azurerm.container_registry.retention_policy.days":null,"azurerm.container_registry.retention_policy.enabled":null,"azurerm.container_registry.trust_policy.enabled":null,"azurerm.container_registry.encryption.enabled":null,"azurerm.container_registry.encryption.identity_client_id":null,"azurerm.container_registry.encryption.key_vault_key_id":null,"azurerm.eventhub_namespace.network_rulesets.default_action":null,"azurerm.eventhub_namespace.network_rulesets.public_network_access_enabled":null,"azurerm.eventhub_namespace.network_rulesets.trusted_service_access_enabled":null,"azurerm.eventhub_namespace.network_rulesets.virtual_network_rule":null,"azurerm.eventhub_namespace.network_rulesets.virtual_network_rule.subnet_id":null,"azurerm.eventhub_namespace.network_rulesets.virtual_network_rule.ignore_missing_virtual_network_service_endpoint":null,"azurerm.eventhub_namespace.network_rulesets.ip_rule":null,"azurerm.eventhub_namespace.network_rulesets.ip_rule.ip_mask":null,"azurerm.eventhub_namespace.network_rulesets.ip_rule.action":null,"azurerm.automation_runbook.job_schedule.schedule_name":null,"azurerm.automation_runbook.job_schedule.parameters":null,"azurerm.automation_runbook.job_schedule.run_on":null,"azurerm.automation_runbook.job_schedule.job_schedule_id":null,"azurerm.mssql_database.extended_auditing_policy.storage_account_access_key":null,"azurerm.mssql_database.extended_auditing_policy.storage_endpoint":null,"azurerm.mssql_database.extended_auditing_policy.storage_account_access_key_is_secondary":null,"azurerm.mssql_database.extended_auditing_policy.retention_in_days":null,"azurerm.mssql_database.extended_auditing_policy.log_monitoring_enabled":null,"azurerm.mssql_server.extended_auditing_policy.storage_account_access_key":null,"azurerm.mssql_server.extended_auditing_policy.storage_endpoint":null,"azurerm.mssql_server.extended_auditing_policy.storage_account_access_key_is_secondary":null,"azurerm.mssql_server.extended_auditing_policy.retention_in_days":null,"azurerm.mssql_server.extended_auditing_policy.log_monitoring_enabled":null,"azurerm.route_filter.rule.access":null,"azurerm.route_filter.rule.communities":null,"azurerm.route_filter.rule.name":null,"azurerm.route_filter.rule.rule_type":null,"azurerm.route_table.route.name":null,"azurerm.route_table.route.address_prefix":null,"azurerm.route_table.route.next_hop_type":null,"azurerm.route_table.route.next_hop_in_ip_address":null,"azurerm.site_recovery_replicated_vm.managed_disk.disk_id":null,"azurerm.site_recovery_replicated_vm.managed_disk.staging_storage_account_id":null,"azurerm.site_recovery_replicated_vm.managed_disk.target_resource_group_id":null,"azurerm.site_recovery_replicated_vm.managed_disk.target_disk_type":null,"azurerm.site_recovery_replicated_vm.managed_disk.target_replica_disk_type":null,"azurerm.site_recovery_replicated_vm.managed_disk.target_disk_encryption_set_id":null,"azurerm.site_recovery_replicated_vm.managed_disk.target_disk_encryption":null,"azurerm.site_recovery_replicated_vm.network_interface.source_network_interface_id":null,"azurerm.site_recovery_replicated_vm.network_interface.target_static_ip":null,"azurerm.site_recovery_replicated_vm.network_interface.target_subnet_name":null,"azurerm.site_recovery_replicated_vm.network_interface.recovery_public_ip_address_id":null,"azurerm.iothub.endpoint.type":null,"azurerm.iothub.endpoint.authentication_type":null,"azurerm.iothub.endpoint.identity_id":null,"azurerm.iothub.endpoint.endpoint_uri":null,"azurerm.iothub.endpoint.entity_path":null,"azurerm.iothub.endpoint.connection_string":null,"azurerm.iothub.endpoint.name":null,"azurerm.iothub.endpoint.batch_frequency_in_seconds":null,"azurerm.iothub.endpoint.max_chunk_size_in_bytes":null,"azurerm.iothub.endpoint.container_name":null,"azurerm.iothub.endpoint.encoding":null,"azurerm.iothub.endpoint.file_name_format":null,"azurerm.iothub.endpoint.resource_group_name":null,"azurerm.iothub.route.name":null,"azurerm.iothub.route.source":null,"azurerm.iothub.route.condition":null,"azurerm.iothub.route.endpoint_names":null,"azurerm.iothub.route.enabled":null,"azurerm.iothub.enrichment.key":null,"azurerm.iothub.enrichment.value":null,"azurerm.iothub.enrichment.endpoint_names":null,"azurerm.virtual_network.subnet.name":null,"azurerm.virtual_network.subnet.address_prefix":null,"azurerm.virtual_network.subnet.security_group":null,"azurerm.virtual_network.subnet.id":null,"azurerm.network_security_group.security_rule.name":null,"azurerm.network_security_group.security_rule.description":null,"azurerm.network_security_group.security_rule.protocol":null,"azurerm.network_security_group.security_rule.source_port_range":null,"azurerm.network_security_group.security_rule.source_port_ranges":null,"azurerm.network_security_group.security_rule.destination_port_range":null,"azurerm.network_security_group.security_rule.destination_port_ranges":null,"azurerm.network_security_group.security_rule.source_address_prefix":null,"azurerm.network_security_group.security_rule.source_address_prefixes":null,"azurerm.network_security_group.security_rule.destination_address_prefix":null,"azurerm.network_security_group.security_rule.destination_address_prefixes":null,"azurerm.network_security_group.security_rule.destination_application_security_group_ids":null,"azurerm.network_security_group.security_rule.source_application_security_group_ids":null,"azurerm.network_security_group.security_rule.access":null,"azurerm.network_security_group.security_rule.priority":null,"azurerm.network_security_group.security_rule.direction":null,"azurerm.synapse_workspace.aad_admin.login":null,"azurerm.synapse_workspace.aad_admin.object_id":null,"azurerm.synapse_workspace.aad_admin.tenant_id":null,"azurerm.synapse_workspace.sql_aad_admin.login":null,"azurerm.synapse_workspace.sql_aad_admin.object_id":null,"azurerm.synapse_workspace.sql_aad_admin.tenant_id":null,"azurerm.batch_pool.container_configuration.container_registries.registry_server":null,"azurerm.batch_pool.container_configuration.container_registries.user_name":null,"azurerm.batch_pool.container_configuration.container_registries.password":null,"azurerm.key_vault.access_policy.tenant_id":null,"azurerm.key_vault.access_policy.object_id":null,"azurerm.key_vault.access_policy.application_id":null,"azurerm.key_vault.access_policy.certificate_permissions":null,"azurerm.key_vault.access_policy.key_permissions":null,"azurerm.key_vault.access_policy.secret_permissions":null,"azurerm.key_vault.access_policy.storage_permissions":null,"azurerm.app_service.ip_restriction.ip_address":null,"azurerm.app_service.ip_restriction.service_tag":null,"azurerm.app_service.ip_restriction.subnet_id":null,"azurerm.app_service.ip_restriction.virtual_network_subnet_id":null,"azurerm.app_service.ip_restriction.name":null,"azurerm.app_service.ip_restriction.priority":null,"azurerm.app_service.ip_restriction.action":null,"azurerm.app_service.ip_restriction.headers":null,"azurerm.app_service.ip_restriction.headers.x_forwarded_host":null,"azurerm.app_service.ip_restriction.headers.x_forwarded_for":null,"azurerm.app_service.ip_restriction.headers.x_azure_fdid":null,"azurerm.app_service.ip_restriction.headers.x_fd_health_probe":null,"azurerm.app_service.scm_ip_restriction.ip_address":null,"azurerm.app_service.scm_ip_restriction.service_tag":null,"azurerm.app_service.scm_ip_restriction.subnet_id":null,"azurerm.app_service.scm_ip_restriction.virtual_network_subnet_id":null,"azurerm.app_service.scm_ip_restriction.name":null,"azurerm.app_service.scm_ip_restriction.priority":null,"azurerm.app_service.scm_ip_restriction.action":null,"azurerm.app_service.scm_ip_restriction.headers":null,"azurerm.app_service.scm_ip_restriction.headers.x_forwarded_host":null,"azurerm.app_service.scm_ip_restriction.headers.x_forwarded_for":null,"azurerm.app_service.scm_ip_restriction.headers.x_azure_fdid":null,"azurerm.app_service.scm_ip_restriction.headers.x_fd_health_probe":null,"azurerm.function_app.ip_restriction.ip_address":null,"azurerm.function_app.ip_restriction.service_tag":null,"azurerm.function_app.ip_restriction.subnet_id":null,"azurerm.function_app.ip_restriction.virtual_network_subnet_id":null,"azurerm.function_app.ip_restriction.name":null,"azurerm.function_app.ip_restriction.priority":null,"azurerm.function_app.ip_restriction.action":null,"azurerm.function_app.ip_restriction.headers":null,"azurerm.function_app.ip_restriction.headers.x_forwarded_host":null,"azurerm.function_app.ip_restriction.headers.x_forwarded_for":null,"azurerm.function_app.ip_restriction.headers.x_azure_fdid":null,"azurerm.function_app.ip_restriction.headers.x_fd_health_probe":null,"azurerm.function_app.scm_ip_restriction.ip_address":null,"azurerm.function_app.scm_ip_restriction.service_tag":null,"azurerm.function_app.scm_ip_restriction.subnet_id":null,"azurerm.function_app.scm_ip_restriction.virtual_network_subnet_id":null,"azurerm.function_app.scm_ip_restriction.name":null,"azurerm.function_app.scm_ip_restriction.priority":null,"azurerm.function_app.scm_ip_restriction.action":null,"azurerm.function_app.scm_ip_restriction.headers":null,"azurerm.function_app.scm_ip_restriction.headers.x_forwarded_host":null,"azurerm.function_app.scm_ip_restriction.headers.x_forwarded_for":null,"azurerm.function_app.scm_ip_restriction.headers.x_azure_fdid":null,"azurerm.function_app.scm_ip_restriction.headers.x_fd_health_probe":null,"azurerm.logic_app_standard.ip_restriction.ip_address":null,"azurerm.logic_app_standard.ip_restriction.service_tag":null,"azurerm.logic_app_standard.ip_restriction.subnet_id":null,"azurerm.logic_app_standard.ip_restriction.virtual_network_subnet_id":null,"azurerm.logic_app_standard.ip_restriction.name":null,"azurerm.logic_app_standard.ip_restriction.priority":null,"azurerm.logic_app_standard.ip_restriction.action":null,"azurerm.logic_app_standard.ip_restriction.headers":null,"azurerm.logic_app_standard.ip_restriction.headers.x_forwarded_host":null,"azurerm.logic_app_standard.ip_restriction.headers.x_forwarded_for":null,"azurerm.logic_app_standard.ip_restriction.headers.x_azure_fdid":null,"azurerm.logic_app_standard.ip_restriction.headers.x_fd_health_probe":null,"azurerm.logic_app_standard.scm_ip_restriction.ip_address":null,"azurerm.logic_app_standard.scm_ip_restriction.service_tag":null,"azurerm.logic_app_standard.scm_ip_restriction.subnet_id":null,"azurerm.logic_app_standard.scm_ip_restriction.virtual_network_subnet_id":null,"azurerm.logic_app_standard.scm_ip_restriction.name":null,"azurerm.logic_app_standard.scm_ip_restriction.priority":null,"azurerm.logic_app_standard.scm_ip_restriction.action":null,"azurerm.logic_app_standard.scm_ip_restriction.headers":null,"azurerm.logic_app_standard.scm_ip_restriction.headers.x_forwarded_host":null,"azurerm.logic_app_standard.scm_ip_restriction.headers.x_forwarded_for":null,"azurerm.logic_app_standard.scm_ip_restriction.headers.x_azure_fdid":null,"azurerm.logic_app_standard.scm_ip_restriction.headers.x_fd_health_probe":null,"azurerm.api_management.policy.xml_content":null,"azurerm.api_management.policy.xml_link":null,"azurerm.container_group.exposed_port.port":null,"azurerm.container_group.exposed_port.protocol":null}});var q0=p(oY=>{"use strict";Object.defineProperty(oY,"__esModule",{value:!0});oY.sanitizedComment=E2t;function E2t(t){let e=!1;return t.line("/**"),{line:r=>{if(typeof r=="object"&&!Array.isArray(r))return;let n=Array.isArray(r)?r.join(`
|
|
79
|
+
`)?i=o.slice(2,-1):i="any"}let s={name:r,type:i,description:n.description,required:n.hasOwnProperty("default")==!1};s.required||(s.default=n.default),e.push(s)}return e},Ixt=t=>{let e=[];if(t)for(let r of Object.keys(t)){let n=F9(t[r]),i={name:r,description:n.description};e.push(i)}return e},yxt=async(t,e)=>{let r=kf.join(t,".terraform","modules","modules.json"),n={};if(!Tf.existsSync(r))throw new Error(`Modules were not generated properly - couldn't find ${r}`);let i=JSON.parse(Tf.readFileSync(r,"utf-8"));for(let s of e){let o=i.Modules.find(u=>s===u.Key);if(!o)throw new Error(`Couldn't find ${o}`);let a=await(0,JCe.convertFiles)(kf.join(t,o.Dir));if(!a)throw new Error(`Modules were not generated properly - couldn't parse ${o.Dir}`);let c={inputs:mxt(a.variable),outputs:Ixt(a.output),name:s};n[s]=c}return n};function Cxt(t){return t.length<=1?t.join(""):`${t.slice(0,-1).join(", ")} and ${t[t.length-1]}`}async function bxt(t){let e={provider:{},terraform:{required_providers:{}}};e.provider[t.name]={},e.terraform.required_providers[t.name]={version:t.version,source:t.source};let r={format_version:"0.1"};await(0,Bs.withTempDir)("fetchProviderSchema",async()=>{let n=process.cwd(),i=kf.join(n,"main.tf.json");await Tf.writeFile(i,JSON.stringify(e)),await XCe({cwd:n}),r=JSON.parse(await(0,Bs.exec)(P0,["providers","schema","-json"],{cwd:n}));let s=JSON.parse(await(0,Bs.exec)(P0,["version","-json"],{cwd:n}));r.provider_versions=s.provider_selections});try{let n=await k9();r.cli_name=n.name,r.cli_version=n.version}catch(n){Bs.logger.debug(`Could not determine fetching CLI version to stamp provider schema: ${n}`)}return KCe(r)}async function Ext(t,e){if(!e)return;let r;if(t.cli_name&&t.cli_version){if(t.cli_name!=="terraform"&&t.cli_name!=="opentofu")return;r={name:t.cli_name,version:t.cli_version}}else try{r=await k9()}catch(i){Bs.logger.debug(`Could not determine fetching CLI version to check for schema emission gaps: ${i}`);return}let n=(0,N9.checkSchemaEmissionGapFamilies)(r,e);n.length>0&&r.version&&Bs.logger.warn(`provider schema fetched with ${r.name} ${r.version} \u2014 ${Cxt(n.map(i=>N9.SCHEMA_EMISSION_FAMILY_LABELS[i]))} will not be generated; run cdktn get with ${(0,N9.suggestedEmittingCliVersions)(n)}`)}function KCe(t){function e(n){if((0,Bs.isNestedTypeAttribute)(n)||!Array.isArray(n.type))return n;let i=n.type.length===2?n.type:n.type.slice(0,2);return n.type=i,n}function r(n){Object.values(n.attributes||{}).forEach(e),Object.values(n.block_types||{}).forEach(i=>{r(i.block)})}return Object.values(t.provider_schemas||{}).forEach(n=>{[n.provider,...Object.values(n.resource_schemas||{}),...Object.values(n.data_source_schemas||{}),...Object.values(n.ephemeral_resource_schemas||{})].forEach(s=>{r(s.block)})}),t}var Bxt=/^([\w-]+)\.([\w-]+)$/,vxt=t=>t.startsWith("${")&&t.endsWith("}")?t.slice(2,-1):t,ebe=t=>t==null?[]:Array.isArray(t)?t:[t],zCe=t=>{if(t==null)return[];if(!Array.isArray(t))return[t];let e=Object.fromEntries(Object.entries(t).filter(([r])=>!/^\d+$/.test(r)));return Object.keys(e).length>0?[...t,e]:[...t]};function tbe(t){let e=[],r=new Set;for(let n of zCe(t?.terraform))for(let i of zCe(n?.required_providers))for(let s of Object.values(i||{})){let o=F9(s);for(let a of ebe(o?.configuration_aliases)){let c=Bxt.exec(vxt(String(a)));if(!c)continue;let[,u,l]=c,d=`${u}.${l}`;r.has(d)||(r.add(d),e.push({localName:u,alias:l,source:o?.source}))}}return e}function rbe(t,e,r){var n;let i=(n=t.module)===null||n===void 0?void 0:n[e];if(!i||r.length===0)return t;for(let{localName:s,alias:o,source:a}of r){a&&(t.terraform.required_providers={...t.terraform.required_providers,[s]:{source:a}}),t.provider=t.provider||{};let c=ebe(t.provider[s]);c.some(u=>u.alias===o)||c.push({alias:o}),t.provider[s]=c,i.providers={...i.providers,[`${s}.${o}`]:`${s}.${o}`}}return t}function nbe(t){let[e]=t.split("?"),n=e.replace(/^[A-Za-z0-9]+::/,"").replace(/^[A-Za-z][A-Za-z0-9+.-]*:\/\/+/,""),[,...i]=n.split("//");return i.join("//").replace(/^\/+|\/+$/g,"")||void 0}function ibe(t,e,r,n){let i=kf.join(t,".terraform","modules","modules.json");if(Tf.existsSync(i)){let o=JSON.parse(Tf.readFileSync(i,"utf-8")).Modules.find(a=>a.Key===e);if(o)return kf.resolve(t,o.Dir)}return n||kf.join(t,".terraform","modules",e,nbe(r)||"")}async function Sxt(t){try{await(0,Bs.exec)(P0,["get"],{cwd:t,logStderrAsDebug:!0},void 0,void 0,!1);return}catch(e){return e}}async function wxt(t){let e={};return await(0,Bs.withTempDir)("fetchSchema",async()=>{let r={terraform:{}};r.module||(r.module={});let n=t.source,i=t.constraint.localSourceAbsolutePath;i&&(n=kf.relative(process.cwd(),i)),r.module[t.moduleKey]={source:n},t.version&&(r.module[t.moduleKey].version=t.version);let s=process.cwd(),o=kf.join(s,"main.tf.json");await Tf.writeFile(o,JSON.stringify(r));let a=await Sxt(s),c=ibe(s,t.moduleKey,n,i),u=Tf.existsSync(c)?tbe(await(0,JCe.convertFiles)(c)):[];if(u.length>0)rbe(r,t.moduleKey,u),await Tf.writeFile(o,JSON.stringify(r)),await(0,Bs.exec)(P0,["get"],{cwd:s});else if(a)throw Bs.logger.error(a.stderr||String(a)),a;r.module&&(e=await yxt(s,Object.keys(r.module)))}),e}});var obe=p(ed=>{"use strict";var _xt=ed&&ed.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),xxt=ed&&ed.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),sbe=ed&&ed.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&_xt(r,e,n[i]);return xxt(r,e),r}})();Object.defineProperty(ed,"__esModule",{value:!0});ed.cachedAccess=Qxt;var Y0=tt(),pD=sbe(Cr()),Rxt=sbe(require("path"));function Dxt(t,e){let r=`${encodeURIComponent(t.fqn)}@${encodeURIComponent(t.version||"")}`;return e?`${r}@${encodeURIComponent(e)}`:r}function Qxt(t,e,r){let n=typeof e=="string"&&e.length>0;if(n&&!pD.lstatSync(e).isDirectory())throw Y0.Errors.Usage(`Provider Schema Cache directory '${e}' is not a directory`);return n?(Y0.logger.debug(`Provider Schema Cache enabled, caching at ${e}`),async i=>{let s=Dxt(i,r),o=Rxt.join(e,`${s}.json`);if(pD.existsSync(o))return Y0.logger.debug(`Cache hit for ${s}`),JSON.parse(await pD.readFile(o,"utf-8"));Y0.logger.debug(`Cache miss for ${s}, generating schema`);let a=await t(i);return await pD.writeFile(o,JSON.stringify(a)),Y0.logger.debug(`Write cache for ${s}`),a}):(Y0.logger.debug("Provider Schema Cache disabled"),i=>t(i))}});var abe=p(ro=>{"use strict";var Nxt=ro&&ro.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ro,"__esModule",{value:!0});ro.isLocalModule=ro.TerraformProviderConstraint=ro.TerraformModuleConstraint=ro.isRegistryModule=void 0;ro.readSchema=Gxt;var ID=tt();Object.defineProperty(ro,"isRegistryModule",{enumerable:!0,get:function(){return ID.isRegistryModule}});Object.defineProperty(ro,"TerraformModuleConstraint",{enumerable:!0,get:function(){return ID.TerraformModuleConstraint}});Object.defineProperty(ro,"TerraformProviderConstraint",{enumerable:!0,get:function(){return ID.TerraformProviderConstraint}});Object.defineProperty(ro,"isLocalModule",{enumerable:!0,get:function(){return ID.isLocalModule}});var RB=tt(),Txt=Nxt(PCe()),mD=G9(),kxt=obe();async function Fxt(t){if(t)try{let e=await(0,mD.getFetchingCliVersion)();if(e.name==="unknown"||!e.version)return RB.logger.debug("Could not determine fetching CLI name/version for the schema cache key, falling back to 'unknown-cli'"),"unknown-cli";let[r,n]=e.version.split(".");return`${e.name}-${r}.${n}`}catch(e){return RB.logger.debug(`Could not determine fetching CLI version for the schema cache key: ${e}`),"unknown-cli"}}async function Gxt(t,e,r){let n=await Fxt(e),i=(0,kxt.cachedAccess)(mD.readProviderSchema,e,n),s=t.map(a=>RB.ConstructsMakerProviderTarget.from(a,RB.LANGUAGES[0]));Zxt(s);let o=await Promise.all(s.map(a=>a.isModule?(0,mD.readModuleSchema)(a).then(c=>({moduleSchema:c})):i(a).then(async c=>(await(0,mD.warnIfSchemaEmissionGaps)(c,r),{providerSchema:c}))));return o.unshift({providerSchema:{format_version:"0.1"},moduleSchema:{}}),Txt.default.all(o)}function Zxt(t){let e=t.filter(r=>r.isModule);e.forEach(r=>{e.forEach(n=>{if(r!==n&&r.name===n.name)throw RB.Errors.Usage(`Found two modules with the same name "${r.name}" which is not supported. Please rename one of the modules in your cdktf.json config. For more information on how to set the name refer to https://cdktn.io/docs/concepts/modules#add-module-to-cdktf-json`)})})}});var Ff=p($0=>{"use strict";Object.defineProperty($0,"__esModule",{value:!0});$0.parseFQPN=$0.readSchema=void 0;var Oxt=abe();Object.defineProperty($0,"readSchema",{enumerable:!0,get:function(){return Oxt.readSchema}});var Uxt=G9();Object.defineProperty($0,"parseFQPN",{enumerable:!0,get:function(){return Uxt.parseFQPN}})});var ube=p(DB=>{"use strict";Object.defineProperty(DB,"__esModule",{value:!0});DB.AttributeModel=void 0;DB.escapeAttributeName=cbe;var Mxt=tt();function cbe(t){return t==="self"||t==="build"?`${t}Attribute`:t.match(/^get[A-Za-z]+/)?t.replace("get","fetch"):t==="equals"?"equalTo":t==="node"?"nodeAttribute":t==="system"?"systemAttribute":t==="tfResourceType"?`${t}Attribute`:t==="importFrom"?`${t}Attribute`:t==="moveTo"?`${t}Attribute`:t==="software"?`${t}Attribute`:t}var Z9=class t{constructor(e){this.loggedStoredClassUnavailable=!1,this.storageName=e.storageName,this._name=e.name,this.type=e.type,this.optional=e.optional,this.computed=e.computed,this.terraformName=e.terraformName,this.terraformFullName=e.terraformFullName,this._description=e.description,this.provider=e.provider,this.required=e.required,this.forcePlainGetterType=e.forcePlainGetterType,this.isWriteOnly=!!e.isWriteOnly}get typeDefinition(){let e=this.optional?"?":"";return`${this.name}${e}: ${this.type.inputTypeDefinition}`}get isAssignable(){return this.required||this.optional}get isOptional(){return this.optional}get isRequired(){return this.required}get isProvider(){return this.provider}get getterType(){let e={_type:"plain"};return this.forcePlainGetterType||this.isProvider||(this.type.hasReferenceClass?e={_type:"stored_class"}:this.computed&&!this.isAssignable&&(!this.type.isTokenizable||this.type.typeModelType==="map")&&(this.type.isStoredClassUnavailable?this.loggedStoredClassUnavailable||(this.loggedStoredClassUnavailable=!0,Mxt.logger.debug(`No stored class (not even a collapsed nearest-Any wrapper) is available for computed attribute "${this.terraformFullName}" (composed storedClassType: "${this.type.storedClassType}"). Falling back to a plain, untyped getter.`)):e={_type:"stored_class"})),e}get storedClassBoundaryKind(){if(!(this.forcePlainGetterType||this.isProvider)&&!this.type.hasReferenceClass&&this.computed&&!this.isAssignable&&(!this.type.isTokenizable||this.type.typeModelType==="map")){if(this.type.isStoredClassUnavailable)return"fallback";let e=this.type.resolvedStoredClass;if(e?.collapsed)return"collapsed"}}get isStored(){return this.isAssignable}get setterType(){return this.isStored?this.getterType._type==="stored_class"?{_type:"stored_class",type:this.type.inputTypeDefinition}:{_type:"set",type:`${this.type.inputTypeDefinition}${this.isProvider?" | undefined":""}`}:{_type:"none"}}get name(){return t.escapeName(this._name)}static escapeName(e){return cbe(e)}get description(){var e;return(e=this._description)===null||e===void 0?void 0:e.replace(/'''/gi,"```")}getReferencedTypes(e){let r=this.type.struct;if(!r)return;let n=[];return this.isAssignable&&(n.push(r.name),n.push(r.mapperName),n.push(r.hclMapperName)),!r.isSingleItem&&(r.nestingMode==="list"||r.nestingMode==="set")?n.push(r.listName):r.nestingMode==="map"?n.push(r.mapName):r.nestingMode==="maplist"||r.nestingMode==="mapset"?n.push(r.mapListName):r.nestingMode==="listmap"||r.nestingMode==="setmap"?n.push(r.listMapName):r.nestingMode==="listlist"||r.nestingMode==="listset"||r.nestingMode==="setlist"||r.nestingMode=="setset"?n.push(r.listListName):e||n.push(r.outputReferenceName),n}};DB.AttributeModel=Z9});var QB=p(yD=>{"use strict";Object.defineProperty(yD,"__esModule",{value:!0});yD.downcaseFirst=Lxt;yD.uppercaseFirst=Wxt;function Lxt(t){return t===""?t:`${t[0].toLocaleLowerCase()}${t.slice(1)}`}function Wxt(t){return t===""?t:`${t[0].toLocaleUpperCase()}${t.slice(1)}`}});var dbe=p(O9=>{"use strict";Object.defineProperty(O9,"__esModule",{value:!0});O9.resolveStoredClassName=Hxt;var Vxt=QB(),lbe=new Set(["StringMap","NumberMap","BooleanMap","AnyMap","StringMapMap","NumberMapMap","BooleanMapMap","AnyMapMap","BooleanList","StringListList","NumberListList","BooleanListList","AnyListList","StringMapList","NumberMapList","BooleanMapList","AnyMapList","StringListMap","NumberListMap","BooleanListMap","AnyListMap"]);function Hxt(t,e){let r=(0,Vxt.uppercaseFirst)(t);if(lbe.has(r))return{name:r,collapsed:!1};let n;if(t.endsWith("List")?n="List":t.endsWith("Map")&&(n="Map"),!n)return;let i;if(e==="list"||e==="set"?i="List":e==="map"&&(i="Map"),!i)return;let s=`Any${i}${n}`;if(lbe.has(s))return{name:s,collapsed:!0}}});var fbe=p(Li=>{"use strict";Object.defineProperty(Li,"__esModule",{value:!0});Li.MapAttributeTypeModel=Li.SetAttributeTypeModel=Li.ListAttributeTypeModel=Li.StructAttributeTypeModel=Li.SimpleAttributeTypeModel=Li.SkippedAttributeTypeModel=void 0;Li.describeTerraformType=CD;var bD=QB(),P9=dbe();function CD(t){switch(t.typeModelType){case"list":return`list(${CD(t.elementType)})`;case"set":return`set(${CD(t.elementType)})`;case"map":return`map(${CD(t.elementType)})`;case"struct":return"object";default:return t.storedClassType==="boolean"?"bool":t.storedClassType}}var U9=class{constructor(){}get typeModelType(){return"simple"}get struct(){}get isComplex(){return!1}getStoredClassInitializer(e){return""}get storedClassType(){return"any"}get inputTypeDefinition(){return"any"}getAttributeAccessFunction(e){return`this.interpolationForAttribute('${e}')`}get toTerraformFunction(){return"cdktn.anyToTerraform"}get toHclTerraformFunction(){return"cdktn.anyToHclTerraform"}get hasReferenceClass(){return!1}get isTokenizable(){return!1}get isStoredClassUnavailable(){return!1}};Li.SkippedAttributeTypeModel=U9;var M9=class{constructor(e){this.type=e}get typeModelType(){return"simple"}get struct(){}get isComplex(){return!1}getStoredClassInitializer(e){return""}get storedClassType(){return this.type}get inputTypeDefinition(){return this.type==="boolean"?"boolean | cdktn.IResolvable":this.type}getAttributeAccessFunction(e){return`this.get${(0,bD.uppercaseFirst)(this.type)}Attribute('${e}')`}get toTerraformFunction(){return`cdktn.${this.type}ToTerraform`}get toHclTerraformFunction(){return`cdktn.${this.type}ToHclTerraform`}get hasReferenceClass(){return!1}get isTokenizable(){return!0}get isStoredClassUnavailable(){return!1}};Li.SimpleAttributeTypeModel=M9;var L9=class{constructor(e){this.struct=e}get typeModelType(){return"struct"}get isComplex(){return!0}getStoredClassInitializer(e){return`new ${this.struct.outputReferenceName}(this, "${e}")`}get storedClassType(){return this.struct.name}get inputTypeDefinition(){return this.struct.name}getAttributeAccessFunction(e){return`this.interpolationForAttribute('${e}')`}get toTerraformFunction(){return`${(0,bD.downcaseFirst)(this.struct.name)}ToTerraform`}get toHclTerraformFunction(){return`${(0,bD.downcaseFirst)(this.struct.name)}ToHclTerraform`}get hasReferenceClass(){return!0}get isTokenizable(){return!1}get isStoredClassUnavailable(){return!1}};Li.StructAttributeTypeModel=L9;var W9=class{constructor(e,r,n){this.elementType=e,this.isSingleItem=r,this.isBlock=n,this.struct&&(this.struct.isSingleItem=this.isSingleItem||!1)}get typeModelType(){return"list"}get struct(){return this.elementType.struct}get isComplex(){return this.elementType.isComplex}getStoredClassInitializer(e){return this.isSingleItem?`new ${this.elementType.storedClassType}OutputReference(this, "${e}")`:this.isComplex?`new ${this.storedClassType}(this, "${e}", false)`:`new cdktn.${this.resolvedStoredClass.name}(this, "${e}", false)`}get storedClassType(){return`${this.elementType.storedClassType}List`}get resolvedStoredClass(){return(0,P9.resolveStoredClassName)(this.storedClassType,this.elementType.typeModelType)}get inputTypeDefinition(){return this.isSingleItem?this.elementType.inputTypeDefinition:this.elementType.storedClassType==="boolean"?"Array<boolean | cdktn.IResolvable> | cdktn.IResolvable":this.isComplex?`${this.elementType.storedClassType}[] | cdktn.IResolvable`:this.elementType.typeModelType!=="simple"?`${this.elementType.inputTypeDefinition}[] | cdktn.IResolvable`:`${this.elementType.inputTypeDefinition}[]`}getAttributeAccessFunction(e){switch(this.elementType.storedClassType){case"string":return`this.getListAttribute('${e}')`;case"number":return`this.getNumberListAttribute('${e}')`}return`this.interpolationForAttribute('${e}')`}get toTerraformFunction(){return this.isSingleItem?this.elementType.toTerraformFunction:`cdktn.listMapper(${this.elementType.toTerraformFunction}, ${this.isBlock})`}get toHclTerraformFunction(){return this.isSingleItem?this.elementType.toHclTerraformFunction:`cdktn.listMapperHcl(${this.elementType.toHclTerraformFunction}, ${this.isBlock})`}get hasReferenceClass(){return this.isSingleItem||this.isComplex}get isTokenizable(){switch(this.elementType.storedClassType){case"string":return!0;case"number":return!0;default:return!1}}get isStoredClassUnavailable(){return this.isComplex?!1:this.resolvedStoredClass===void 0}};Li.ListAttributeTypeModel=W9;var V9=class{constructor(e,r,n){this.elementType=e,this.isSingleItem=r,this.isBlock=n,this.struct&&(this.struct.isSingleItem=this.isSingleItem||!1)}get typeModelType(){return"set"}get struct(){return this.elementType.struct}get isComplex(){return this.elementType.isComplex}getStoredClassInitializer(e){return this.isSingleItem?`new ${this.elementType.storedClassType}OutputReference(this, "${e}")`:this.isComplex?`new ${this.storedClassType}(this, "${e}", true)`:`new cdktn.${this.resolvedStoredClass.name}(this, "${e}", true)`}get storedClassType(){return`${this.elementType.storedClassType}List`}get resolvedStoredClass(){return(0,P9.resolveStoredClassName)(this.storedClassType,this.elementType.typeModelType)}get inputTypeDefinition(){return this.isSingleItem?this.elementType.inputTypeDefinition:this.elementType.storedClassType==="boolean"?"Array<boolean | cdktn.IResolvable> | cdktn.IResolvable":this.isComplex?`${this.elementType.storedClassType}[] | cdktn.IResolvable`:this.elementType.typeModelType!=="simple"?`${this.elementType.inputTypeDefinition}[] | cdktn.IResolvable`:`${this.elementType.inputTypeDefinition}[]`}getAttributeAccessFunction(e){switch(this.elementType.storedClassType){case"string":return`cdktn.Fn.tolist(this.getListAttribute('${e}'))`;case"number":return`cdktn.Token.asNumberList(cdktn.Fn.tolist(this.getNumberListAttribute('${e}')))`}return`cdktn.Token.asAny(cdktn.Fn.tolist(this.interpolationForAttribute('${e}')))`}get toTerraformFunction(){return this.isSingleItem?this.elementType.toTerraformFunction:`cdktn.listMapper(${this.elementType.toTerraformFunction}, ${this.isBlock})`}get toHclTerraformFunction(){return this.isSingleItem?this.elementType.toHclTerraformFunction:`cdktn.listMapperHcl(${this.elementType.toHclTerraformFunction}, ${this.isBlock})`}get hasReferenceClass(){return this.isSingleItem||this.isComplex}get isTokenizable(){switch(this.elementType.storedClassType){case"string":return!0;case"number":return!0;default:return!1}}get isStoredClassUnavailable(){return this.isComplex?!1:this.resolvedStoredClass===void 0}};Li.SetAttributeTypeModel=V9;var H9=class{constructor(e){this.elementType=e}get typeModelType(){return"map"}get struct(){return this.elementType.struct}get isComplex(){return this.elementType.isComplex}getStoredClassInitializer(e){return this.isComplex?`new ${this.storedClassType}(this, "${e}")`:`new cdktn.${this.resolvedStoredClass.name}(this, "${e}")`}get storedClassType(){return`${this.elementType.storedClassType}Map`}get resolvedStoredClass(){return(0,P9.resolveStoredClassName)(this.storedClassType,this.elementType.typeModelType)}get inputTypeDefinition(){return this.elementType.storedClassType==="boolean"?`{ [key: string]: (${this.elementType.storedClassType} | cdktn.IResolvable) }`:this.isComplex?`{ [key: string]: ${this.elementType.storedClassType} } | cdktn.IResolvable`:this.elementType.typeModelType!=="simple"?`{ [key: string]: ${this.elementType.inputTypeDefinition} } | cdktn.IResolvable`:`{ [key: string]: ${this.elementType.storedClassType} }`}getAttributeAccessFunction(e){return!this.isComplex&&this.elementType.typeModelType!=="simple"?`this.interpolationForAttribute('${e}')`:`this.get${(0,bD.uppercaseFirst)(this.storedClassType)}Attribute('${e}')`}get toTerraformFunction(){return`cdktn.hashMapper(${this.elementType.toTerraformFunction})`}get toHclTerraformFunction(){return`cdktn.hashMapperHcl(${this.elementType.toHclTerraformFunction})`}get hasReferenceClass(){return this.isComplex}get isTokenizable(){switch(this.elementType.storedClassType){case"string":return!0;case"number":return!0;case"boolean":return!0;case"any":return!0;default:return!1}}get isStoredClassUnavailable(){return this.isComplex?!1:this.resolvedStoredClass===void 0}};Li.MapAttributeTypeModel=H9});var pbe=p(ED=>{"use strict";Object.defineProperty(ED,"__esModule",{value:!0});ED.assertNoFunctionsGetterCollision=n2t;ED.buildProviderFunctionsModel=i2t;var Y9=lc(),Pxt={default:"defaultValue",string:"str"};function Yxt(t){var e;let r=(0,Y9.toCamelCase)(t);return(e=Pxt[r])!==null&&e!==void 0?e:r}function $xt(t){return t==="length"?"lengthOf":(0,Y9.toCamelCase)(t)}var jxt=new Set(["constructor","providerLocalName"]);function gbe(t){if(t==="string")return{tsType:"string",docstringType:"string"};if(t==="number")return{tsType:"number",docstringType:"number"};if(Array.isArray(t)&&(t[0]==="list"||t[0]==="set")){let e=gbe(t[1]);return e?{tsType:`${e.tsType}[]`,docstringType:`${t[0]==="set"?"Set":"Array"}<${e.docstringType}>`}:void 0}}function zxt(t,e){let r=t==="set"?"Set":"Array",n=t==="set"?"Terraform set; ordering is not guaranteed and duplicate values are removed.":void 0;if(e==="string")return{tsType:"string[]",docstringType:`${r}<string>`,docstringNote:n,acceptsResolvableAlready:!1};if(e==="number")return{tsType:"number[]",docstringType:`${r}<number>`,docstringNote:n,acceptsResolvableAlready:!1};if(e==="bool")return{tsType:"Array<boolean | cdktn.IResolvable> | cdktn.IResolvable",docstringType:`${r}<boolean | IResolvable>`,docstringNote:n,acceptsResolvableAlready:!0};let i=gbe(e);if(i)return{tsType:`${i.tsType}[] | cdktn.IResolvable`,docstringType:`${r}<${i.docstringType}>`,docstringNote:n,acceptsResolvableAlready:!0};let s=$9(e).docstringType;return{tsType:"any[] | cdktn.IResolvable",docstringType:`${r}<${s}>`,docstringNote:n,acceptsResolvableAlready:!0}}function qxt(t){return t==="string"?{tsType:"{ [key: string]: string }",docstringType:"{ [key: string]: string }",acceptsResolvableAlready:!1}:t==="number"?{tsType:"{ [key: string]: number }",docstringType:"{ [key: string]: number }",acceptsResolvableAlready:!1}:t==="bool"?{tsType:"{ [key: string]: (boolean | cdktn.IResolvable) }",docstringType:"{ [key: string]: (boolean | IResolvable) }",acceptsResolvableAlready:!1}:{tsType:"any",docstringType:"any",acceptsResolvableAlready:!0}}function $9(t){return t==="string"?{tsType:"string",docstringType:"string",acceptsResolvableAlready:!1}:t==="number"?{tsType:"number",docstringType:"number",acceptsResolvableAlready:!1}:t==="bool"?{tsType:"boolean | cdktn.IResolvable",docstringType:"boolean | IResolvable",acceptsResolvableAlready:!0}:t==="dynamic"?{tsType:"any",docstringType:"any",acceptsResolvableAlready:!0}:Array.isArray(t)&&(t[0]==="list"||t[0]==="set")?zxt(t[0],t[1]):Array.isArray(t)&&t[0]==="map"?qxt(t[1]):{tsType:"any",docstringType:"object",acceptsResolvableAlready:!0}}function Abe(t,e){var r;let n=(r=t.name)!==null&&r!==void 0?r:e,{tsType:i,docstringType:s,docstringNote:o,acceptsResolvableAlready:a}=$9(t.type);return{terraformName:n,name:Yxt(n),tsType:i,docstringType:s,docstringNote:o,description:t.description,acceptsResolvableAlready:a}}function hbe(t){return t.acceptsResolvableAlready?{tsType:t.tsType,docstringType:t.docstringType}:{tsType:`${t.tsType} | cdktn.IResolvable`,docstringType:`${t.docstringType} | IResolvable`}}function Jxt(t,e){let r=new Array(t.length).fill(!1),n=!0;for(let i=t.length-1;i>=0;i--)n=n&&t[i].is_nullable===!0,r[i]=n;return e.map((i,s)=>{if(!t[s].is_nullable)return i;let{tsType:a,docstringType:c}=hbe(i),u=r[s]?"Omit or pass cdktn.Token.nullValue() to render the Terraform null keyword.":"Pass cdktn.Token.nullValue() for an explicit Terraform null.";return{...i,...r[s]?{optional:!0}:{},tsType:a,docstringType:c,docstringNote:[i.docstringNote,u].filter(Boolean).join(" ")}})}function Xxt(t){if(t==="string")return{tsType:"string",docstringType:"string",wrapReturn:e=>`cdktn.Token.asString(${e})`};if(t==="number")return{tsType:"number",docstringType:"number",wrapReturn:e=>`cdktn.Token.asNumber(${e})`};if(t==="bool")return{tsType:"cdktn.IResolvable",docstringType:"boolean | IResolvable",wrapReturn:e=>e};if(t==="dynamic")return{tsType:"cdktn.IResolvable",docstringType:"any",wrapReturn:e=>e};if(Array.isArray(t)&&(t[0]==="list"||t[0]==="set")){let e=t[0]==="set"?"Set":"Array",r=t[0]==="set"?"Terraform set; ordering is not guaranteed and duplicate values are removed.":void 0,n=t[1];return n==="string"?{tsType:"string[]",docstringType:`${e}<string>`,docstringNote:r,wrapReturn:i=>`cdktn.Token.asList(${i})`}:n==="number"?{tsType:"number[]",docstringType:`${e}<number>`,docstringNote:r,wrapReturn:i=>`cdktn.Token.asNumberList(${i})`}:{tsType:"cdktn.IResolvable",docstringType:`${e}<${$9(n).docstringType}>`,docstringNote:r,wrapReturn:i=>i}}if(Array.isArray(t)&&t[0]==="map"){let e=t[1];return e==="string"?{tsType:"{ [key: string]: string }",docstringType:"{ [key: string]: string }",wrapReturn:r=>`cdktn.Token.asStringMap(${r})`}:e==="number"?{tsType:"{ [key: string]: number }",docstringType:"{ [key: string]: number }",wrapReturn:r=>`cdktn.Token.asNumberMap(${r})`}:e==="bool"?{tsType:"{ [key: string]: boolean }",docstringType:"{ [key: string]: boolean }",wrapReturn:r=>`cdktn.Token.asBooleanMap(${r})`}:{tsType:"{ [key: string]: any }",docstringType:"{ [key: string]: any }",wrapReturn:r=>`cdktn.Token.asAnyMap(${r})`}}return{tsType:"cdktn.IResolvable",docstringType:"object",wrapReturn:e=>e}}function Kxt(t,e){var r;let{tsType:n,docstringType:i,docstringNote:s,wrapReturn:o}=Xxt(e.return_type),a=(r=e.parameters)!==null&&r!==void 0?r:[],c=Jxt(a,a.map((l,d)=>Abe(l,`arg${d}`))),u;if(e.variadic_parameter){let l=Abe(e.variadic_parameter,"values");if(e.variadic_parameter.is_nullable){let{tsType:d,docstringType:f}=hbe(l);u={...l,tsType:d,docstringType:`Array<${f}>`,docstringNote:[l.docstringNote,"Pass cdktn.Token.nullValue() for an explicit Terraform null."].filter(Boolean).join(" ")}}else u={...l,docstringType:`Array<${l.docstringType}>`}}return{terraformName:t,methodName:$xt(t),description:e.description,summary:e.summary,deprecationMessage:e.deprecation_message,returnTsType:n,returnDocstringType:i,returnDocstringNote:s,wrapReturn:o,parameters:c,variadicParameter:u}}function e2t(t,e){let r=new Map;for(let n of e){let i=r.get(n.methodName);if(i!==void 0)throw new Error(`Provider "${t}" declares two provider-defined functions, "${i}" and "${n.terraformName}", that both sanitize to the generated method name "${n.methodName}". Generation aborted to avoid silently overwriting one method with the other - please report this as an issue.`);r.set(n.methodName,n.terraformName)}}function t2t(t,e){for(let r of e)if(jxt.has(r.methodName))throw new Error(`Provider "${t}" declares a provider-defined function "${r.terraformName}" that sanitizes to the generated method name "${r.methodName}", which collides with a member that ProviderFunctionsEmitter already puts on every "<Provider>ProviderFunctions" wrapper class (the class constructor, or its "providerLocalName" field). Generation aborted to avoid emitting invalid TypeScript or silently shadowing that member - please report this as an issue.`)}function r2t(t,e){let r=new Map,n=e.variadicParameter?[...e.parameters,e.variadicParameter]:e.parameters;for(let i of n){let s=r.get(i.name);if(s!==void 0)throw new Error(`Provider "${t}" function "${e.terraformName}" declares two parameters, "${s}" and "${i.terraformName}", that both sanitize to the generated parameter name "${i.name}". Generation aborted to avoid silently dropping one parameter - please report this as an issue.`);r.set(i.name,i.terraformName)}}function n2t(t,e){if(e.includes("functions"))throw new Error(`Provider "${t}" declares provider-defined functions and its own config schema also has an attribute that generates the property name "functions" on the provider class. This collides with the generated "functions" getter used to invoke provider-defined functions. Generation aborted to avoid silently shadowing one with the other - please report this as an issue.`)}function i2t(t,e){let r=Object.entries(e??{});if(r.length===0)return;let n=r.sort(([i],[s])=>i.localeCompare(s)).map(([i,s])=>Kxt(i,s));e2t(t,n),t2t(t,n);for(let i of n)r2t(t,i);return{providerName:t,className:`${(0,Y9.toPascalCase)(t)}ProviderFunctions`,functions:n}}});var z9=p(j0=>{"use strict";Object.defineProperty(j0,"__esModule",{value:!0});j0.ConfigStruct=j0.Struct=void 0;var mbe=QB(),BD=class{constructor(e,r,n=!1,i=!1,s=!1,o=""){this.name=e,this.attributes=r,this.isClass=n,this.isAnonymous=i,this.isSingleItem=s,this.nestingMode=o}get assignableAttributes(){return this.attributes.filter(e=>e.isAssignable)}get optionalAttributes(){return this.attributes.filter(e=>e.optional)}get allOptional(){return this.attributes.filter(e=>!e.optional&&!e.computed).length==0}get attributeType(){return`${this.name}${this.allOptional?" = {}":""}`}get assignable(){return!this.isClass||this.assignableAttributes.length>0}get extends(){return""}get mapperName(){return`${(0,mbe.downcaseFirst)(this.name)}ToTerraform`}get hclMapperName(){return`${(0,mbe.downcaseFirst)(this.name)}ToHclTerraform`}get outputReferenceName(){return`${this.name}OutputReference`}get listName(){return`${this.name}List`}get mapName(){return`${this.name}Map`}get mapListName(){return`${this.name}MapList`}get listMapName(){return`${this.name}ListMap`}get listListName(){return`${this.name}ListList`}get isProvider(){return this.attributes.some(e=>e.isProvider)}get referencedTypes(){let e=[];return this.attributes.forEach(r=>{let n=r.getReferencedTypes(!1);n&&e.push(...n)}),e}get exportCount(){let e=1;return e+=1,(this.nestingMode==="list"||this.nestingMode==="set"||this.nestingMode==="map")&&(e+=1,this.isSingleItem||(e+=1)),e}};j0.Struct=BD;var j9=class extends BD{constructor(e,r,n="TerraformMetaArguments"){super(e,r),this.extendsClass=n}get extends(){return` extends cdktn.${this.extendsClass}`}};j0.ConfigStruct=j9});var J9=p(td=>{"use strict";var s2t=td&&td.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(td,"__esModule",{value:!0});td.ResourceModel=td.STRUCT_SHARDING_THRESHOLD=void 0;var o2t=lc(),Ibe=s2t(require("path")),ybe=Ff(),a2t=z9();td.STRUCT_SHARDING_THRESHOLD=400;var q9=class{constructor(e){this.recursiveAttributePaths={},this.className=e.className,this.filePath=e.filePath,this.terraformType=e.terraformType,this.baseName=e.baseName,this.attributes=e.attributes,this.schema=e.schema,this.fqpn=e.fqpn,this.provider=(0,ybe.parseFQPN)(e.fqpn).name,this.terraformProviderName=this.provider,this.fileName=e.fileName,this._structs=e.structs,this.terraformSchemaType=e.terraformSchemaType,this.configStructName=e.configStructName,this.dependencies=["import { Construct } from 'constructs';","import * as cdktn from 'cdktn';"],this.structsRequireSharding=this._structs.reduce((r,n)=>r+n.exportCount,0)>td.STRUCT_SHARDING_THRESHOLD}get structs(){return[this.configStruct,...this._structs]}get configStruct(){return new a2t.ConfigStruct(this.configStructName,this.attributes,this.isEphemeralResource?"TerraformEphemeralMetaArguments":void 0)}get synthesizableAttributes(){return this.configStruct.assignableAttributes}get importStatements(){return this.dependencies}get schemaAsJson(){return this.escapeSchema(JSON.stringify(this.schema,void 0,2))}get linkToDocs(){let{hostname:e,namespace:r,name:n}=(0,ybe.parseFQPN)(this.fqpn),i=this.providerVersion||"latest",s=`https://${e}/providers/${r}/${n}/${i}/docs`;return this.isProvider?s:this.isDataSource?`${s}/data-sources/${this.terraformDocName}`:this.isEphemeralResource?`${s}/ephemeral-resources/${this.terraformDocName}`:`${s}/resources/${this.terraformDocName}`}get isProvider(){return this.terraformSchemaType==="provider"}get isDataSource(){return this.terraformSchemaType==="data_source"}get isEphemeralResource(){return this.terraformSchemaType==="ephemeral_resource"}get parentClassName(){return this.isProvider?"TerraformProvider":this.isDataSource?"TerraformDataSource":this.isEphemeralResource?"TerraformEphemeralResource":"TerraformResource"}get terraformResourceType(){return this.isProvider?this.terraformProviderName:this.isDataSource?this.terraformType.replace(/^data_/,""):this.isEphemeralResource?this.terraformType.replace(/^ephemeral_/,""):this.terraformType}get terraformDocName(){return(0,o2t.toSnakeCase)(this.terraformResourceType.replace(new RegExp(`^${this.provider}_`,"i"),""))}get referencedTypes(){return this.configStruct.referencedTypes}get structsFolderName(){return`${Ibe.default.basename(this.fileName,".ts")}-structs`}get structsFolderPath(){return Ibe.default.join(this.namespaceFolderPath,this.structsFolderName)}get namespaceFolderPath(){return this.filePath.split("/").slice(0,-1).join("/")}escapeSchema(e){return e.replace(/(\*\/)/gi,"*\\/")}};td.ResourceModel=q9});var Cbe=p(vD=>{"use strict";Object.defineProperty(vD,"__esModule",{value:!0});vD.Scope=void 0;var X9=class{constructor(e){var r,n,i,s,o;this.name=e.name,this.parent=e.parent,this.isProvider=e.isProvider,this.isComputed=(r=e.isComputed)!==null&&r!==void 0?r:!1,this.isOptional=(n=e.isOptional)!==null&&n!==void 0?n:!0,this.isRequired=(i=e.isRequired)!==null&&i!==void 0?i:!1,this.inBlockType=(s=e.inBlockType)!==null&&s!==void 0?s:!1,this.isNestedType=(o=e.isNestedType)!==null&&o!==void 0?o:!1}fullName(e){return`${this.baseName}.${e}`}get baseName(){let e=this,r="";for(;e;)r===""?r=e.name:r=`${e.name}.${r}`,e=e.parent;return r}};vD.Scope=X9});var kg=p(Po=>{"use strict";var c2t=Po&&Po.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),z0=Po&&Po.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&c2t(e,t,r)};Object.defineProperty(Po,"__esModule",{value:!0});z0(ube(),Po);z0(fbe(),Po);z0(pbe(),Po);z0(J9(),Po);z0(Cbe(),Po);z0(z9(),Po)});var bbe=p(K9=>{"use strict";Object.defineProperty(K9,"__esModule",{value:!0});K9.detectAttributeLoops=f2t;var u2t=(t,e)=>t[0]===e[0]&&t[1].size===e[1].size&&[...t[1]].every(r=>e[1].has(r));function l2t(t){var e;return t.type.isComplex?`<complex:{${(e=t.type.struct)===null||e===void 0?void 0:e.attributes.map(r=>r.name).sort()}}${t.type.typeModelType}>`:t.type.storedClassType}function d2t(t){return[t.terraformName,new Set(t.type.struct.attributes.map(e=>`${e.name}:${l2t(e)}`))]}function f2t(t){let e={};function r(n,i=[],s={}){let o=n.terraformName,a=n.type.struct;if(!a)return;let c=d2t(n),u=Object.entries(s).find(([,l])=>u2t(c,l));if(u){let l=u[0],d=[...i,o].join(".");e[d]=l}else a.attributes.forEach(l=>r(l,[...i,o],{...s,[[...i,o].join(".")]:c}))}return t.forEach(n=>r(n)),e}});var Ebe=p(eY=>{"use strict";Object.defineProperty(eY,"__esModule",{value:!0});eY.shouldSkipAttribute=g2t;var A2t=["aws.quicksight_template.definition","aws.quicksight_dashboard.definition","aws.quicksight_analysis.definition","aws.data_aws_quicksight_analysis.definition","aws.wafv2_web_acl.wafv2_web_acl_rule.statement","aws.wafv2_rule_group.wafv2_rule_group_rule.statement","oci.data_oci_objectstorage_private_endpoint.fqdns","oci.data_oci_objectstorage_private_endpoint_summaries.private_endpoint_summaries.fqdns"];function g2t(t){return A2t.includes(t)}});var sY=p(NB=>{"use strict";Object.defineProperty(NB,"__esModule",{value:!0});NB.ResourceParser=void 0;NB.sanitizeClassOrNamespaceName=vbe;var Wc=lc(),Bbe=tt(),h2t=Ff(),It=kg(),p2t=bbe(),tY=Ebe(),m2t=["implements","interface","let","package","private","protected","public","static","yield","await"],I2t=["license","version"],y2t=t=>["string","object","function",...m2t,...I2t].includes(t.toLowerCase()),C2t=t=>t.toLowerCase().endsWith("list"),b2t=(t,e)=>e==="index"?"index-resource/index.ts":e===`${t}_provider`?"provider/index.ts":`${(0,Wc.toSnakeCase)(e).replace(/_/g,"-")}/index.ts`;function vbe(t,e=!1){let r=!e&&t==="provider",n=!e&&t==="provider_functions";return y2t(t)||r||n?`${t}_resource`:t}function rY(t){return t.filter((e,r)=>!t.slice(r+1).some(i=>i.name===e.name&&i!==e))}var nY=class{constructor(e,r){this.classNames=e,this.usedBaseNames=r,this.structs=new Array}uniqueClassName(e){return this.classNames.includes(e)&&(e=`${e}A`),this.classNames.push(e),e}uniqueBaseName(e){let r=(0,Wc.toPascalCase)(e),n=r.toLowerCase(),i=this.usedBaseNames.get(n);return i!==void 0&&i!==r?(e=`${e}A`,this.uniqueBaseName(e)):(this.usedBaseNames.set(n,r),e)}resourceFrom(e,r,n,i,s){let o=r,a=s?s.name:void 0,c=(0,h2t.parseFQPN)(e).name;o.startsWith(`${c}_`)&&(o=o.substr(c.length+1));let u=a||c,l=i==="provider";l&&(o=`${u}_${o}`,"attributes"in n.block||(n.block={attributes:{},block_types:n.block.block_types||{}}),n.block.attributes.alias={type:"string",description:"Alias name",optional:!0,computed:!1}),o=vbe(o,l),o=this.uniqueBaseName(o);let d=this.uniqueClassName((0,Wc.toPascalCase)(o)),f=this.uniqueClassName(`${d}Config`),A=b2t(u,o),g=`providers/${(0,Wc.toSnakeCase)(u)}/${A}`,h=this.renderAttributesForBlock(new It.Scope({name:o,isProvider:l,parent:l?void 0:new It.Scope({name:u,isProvider:!0})}),n.block);function m(b,S){let[R,...Q]=S.split("."),k=b.find(v=>v.terraformName===R);if(!k)throw new Error(`Expected to find recursive attribute at path: ${S}`);if(!k.type.struct)throw new Error(`Expected to find struct type attribute at path: ${S} but got ${k.type.storedClassType}`);return Q.length===0?k:m(k.type.struct.attributes,Q.join("."))}let I=(0,p2t.detectAttributeLoops)(h);return Object.entries(I).forEach(([b,S])=>{let R=m(h,S),Q=b.split("."),k=Q.pop(),v=m(h,Q.join(".")),T=v.type.struct.attributes.findIndex(Y=>Y.terraformName===k);if(T===-1)throw new Error("Can't find attribute at path "+b);let H=v.type.struct.attributes[T];v.type.struct.attributes[T]=R;let N=Y=>{Y.type.struct&&(Y.type.struct.attributes.forEach(N),this.structs=this.structs.filter(K=>K!==Y.type.struct))};N(H)}),h=rY(h),new It.ResourceModel({terraformType:r,baseName:o,fileName:A,filePath:g,className:d,schema:n,fqpn:e,attributes:h,terraformSchemaType:i,structs:this.structs,configStructName:f})}renderAttributeType(e,r,n){let i=e[e.length-1];if((0,tY.shouldSkipAttribute)(i.baseName))return new It.MapAttributeTypeModel(new It.SimpleAttributeTypeModel("any"));if(typeof r=="string")switch(r){case"bool":return new It.SimpleAttributeTypeModel("boolean");case"string":return new It.SimpleAttributeTypeModel("string");case"number":return new It.SimpleAttributeTypeModel("number");case"dynamic":return new It.MapAttributeTypeModel(new It.SimpleAttributeTypeModel("any"));default:throw new Error(`invalid primitive type ${r}`)}if(Array.isArray(r)){if(r.length!==2)throw new Error("unexpected array");let[s,o]=r;if(s==="set"||s==="list"){let a=this.renderAttributeType(e,o,[s,n].join(""));return s==="list"?new It.ListAttributeTypeModel(a,!1,!1):new It.SetAttributeTypeModel(a,!1,!1)}if(s==="map"){let a=this.renderAttributeType(e,o,[s,n].join(""));return new It.MapAttributeTypeModel(a)}if(s==="object"){let a=o,c={};for(let[l,d]of Object.entries(a))c[l]={type:d};let u=this.addAnonymousStruct(e,c,n??s);return new It.StructAttributeTypeModel(u)}}if((0,Bbe.isAttributeNestedType)(r)){let s,o;switch(r.nesting_mode){case"list":s=this.addAnonymousStruct(e,r.attributes,r.nesting_mode),o=new It.ListAttributeTypeModel(new It.StructAttributeTypeModel(s),!1,!1);break;case"set":s=this.addAnonymousStruct(e,r.attributes,r.nesting_mode),o=new It.SetAttributeTypeModel(new It.StructAttributeTypeModel(s),!1,!1);break;case"map":s=this.addAnonymousStruct(e,r.attributes,r.nesting_mode),o=new It.MapAttributeTypeModel(new It.StructAttributeTypeModel(s));break;case"single":s=this.addAnonymousStruct(e,r.attributes,r.nesting_mode),o=new It.StructAttributeTypeModel(s);break;default:throw new Error(`nested_type with nesting_mode "${r.nesting_mode}" not supported (attribute scope: ${e.map(a=>a.fullName).join(",")}`)}return o}throw new Error(`unknown type ${JSON.stringify(r)}`)}renderAttributesForBlock(e,r){let n=new Array;for(let[s,o]of Object.entries(r.attributes||{})){let a,c=!1;(0,tY.shouldSkipAttribute)(e.fullName(s))?(a=new It.SkippedAttributeTypeModel,c=!0):a=this.renderAttributeType([e,new It.Scope({name:s,parent:e,isProvider:e.isProvider,isComputed:!!o.computed,isOptional:!!o.optional,isRequired:!!o.required,isNestedType:(0,Bbe.isNestedTypeAttribute)(o)})],o.type||o.nested_type);let u=(0,Wc.toCamelCase)(s);n.push(new It.AttributeModel({terraformFullName:e.fullName(s),description:o.description,name:u,storageName:`_${u}`,computed:!!o.computed,optional:!!o.optional,terraformName:s,type:a,provider:e.isProvider,required:!!o.required,forcePlainGetterType:c,isWriteOnly:!!o.write_only}))}for(let[s,o]of Object.entries(r.block_types||{})){if((0,tY.shouldSkipAttribute)(e.fullName(s))){let u=(0,Wc.toCamelCase)(s),l=new It.Scope({name:s,parent:e,isProvider:e.isProvider});n.push(new It.AttributeModel({name:u,terraformName:s,terraformFullName:l.fullName(s),type:new It.SkippedAttributeTypeModel,description:`${s} block`,storageName:`_${u}`,optional:!0,computed:!1,provider:e.isProvider,required:!1}));continue}let a=this.renderAttributesForBlock(new It.Scope({name:`${e.name}_${s}`,parent:e,isProvider:e.isProvider,inBlockType:!0}),o.block);a=rY(a);let c=this.addStruct([e,new It.Scope({name:s,parent:e,isProvider:e.isProvider})],a,o.nesting_mode,(o.nesting_mode==="list"||o.nesting_mode==="set")&&o.max_items===1);n.push(i(s,o,c,e.isProvider,e))}return n;function i(s,o,a,c,u){let l=(0,Wc.toCamelCase)(s),d,f;switch(o.nesting_mode){case"single":return d=!a.attributes.some(A=>!A.optional),f=!a.attributes.some(A=>!A.required),!d&&!f&&(d=a.attributes.some(A=>A.optional||A.required)),new It.AttributeModel({name:l,terraformName:s,terraformFullName:u.fullName(s),type:new It.StructAttributeTypeModel(a),description:`${s} block`,storageName:`_${l}`,optional:d,computed:!1,provider:c,required:f});case"map":return new It.AttributeModel({name:l,terraformName:s,terraformFullName:u.fullName(s),type:new It.MapAttributeTypeModel(new It.StructAttributeTypeModel(a)),description:`${s} block`,storageName:`_${l}`,optional:!1,computed:!1,provider:c,required:!1});case"list":case"set":return d=o.min_items===void 0?!0:o.min_items<1,f=o.min_items===void 0?!1:o.min_items>0,new It.AttributeModel({name:l,terraformName:s,terraformFullName:u.fullName(s),type:o.nesting_mode==="list"?new It.ListAttributeTypeModel(new It.StructAttributeTypeModel(a),o.max_items===1,!0):new It.SetAttributeTypeModel(new It.StructAttributeTypeModel(a),o.max_items===1,!0),description:`${s} block`,storageName:`_${l}`,optional:d,computed:!1,provider:c,required:f})}}}addAnonymousStruct(e,r,n){let i=new Array,s=e[e.length-1];if(r)for(let[o,a]of Object.entries(r||{})){let c=!!s.isComputed||s.isNestedType&&!!a.computed,u=s.isNestedType?!!a.optional:!!s.isOptional,l=s.isNestedType?!!a.required:!!s.isRequired,d=(0,Wc.toCamelCase)(o),f=this.renderAttributeType([...e,new It.Scope({name:o,parent:s,isProvider:s.isProvider,isComputed:c,isOptional:u,isRequired:l,isNestedType:s.isNestedType})],a.type||a.nested_type);i.push(new It.AttributeModel({name:d,storageName:`_${d}`,computed:c,description:a.description,optional:u,terraformName:o,terraformFullName:s.fullName(o),type:f,provider:s.isProvider,required:l,isWriteOnly:!!a.write_only}))}return i=rY(i),this.addStruct(e,i,n)}addStruct(e,r,n,i=!1){let s=(0,Wc.toPascalCase)(e.map(d=>(0,Wc.toSnakeCase)(d.name)).join("_")),o=this.uniqueClassName(C2t(s)?`${s}Struct`:s),a=e[e.length-1],c=a.isComputed&&!a.isOptional||i,u=!0,l=new It.Struct(o,r,c,u,i,n);return this.structs.push(l),l}},iY=class{constructor(){this.uniqueClassnames=[],this.uniqueBaseNames=new Map,this.resources={}}parse(e,r,n,i,s){if(this.resources[r])return this.resources[r];let a=new nY(this.uniqueClassnames,this.uniqueBaseNames).resourceFrom(e,r,n,i,s);return this.resources[r]=a,a}getClassNameForResource(e){let r=this.resources[e];return r?r.className:""}getNamespaceNameForResource(e){e==="data_external_"&&(e="data_external");let r=this.resources[e];if(!r)return"";let n=`providers/${r.provider}`;return r.filePath.replace(`${n}/`,"").replace("/index.ts","")}};NB.ResourceParser=iY});var Sbe=p(SD=>{"use strict";Object.defineProperty(SD,"__esModule",{value:!0});SD.CUSTOM_DEFAULTS=void 0;SD.CUSTOM_DEFAULTS={"aws.security_group.ingress.cidr_blocks":null,"aws.security_group.ingress.description":null,"aws.security_group.ingress.from_port":null,"aws.security_group.ingress.ipv6_cidr_blocks":null,"aws.security_group.ingress.prefix_list_ids":null,"aws.security_group.ingress.protocol":null,"aws.security_group.ingress.security_groups":null,"aws.security_group.ingress.self":null,"aws.security_group.ingress.to_port":null,"aws.security_group.egress.cidr_blocks":null,"aws.security_group.egress.description":null,"aws.security_group.egress.from_port":null,"aws.security_group.egress.ipv6_cidr_blocks":null,"aws.security_group.egress.prefix_list_ids":null,"aws.security_group.egress.protocol":null,"aws.security_group.egress.security_groups":null,"aws.security_group.egress.self":null,"aws.security_group.egress.to_port":null,"aws.default_route_table.route.cidr_block":null,"aws.default_route_table.route.ipv6_cidr_block":null,"aws.default_route_table.route.egress_only_gateway_id":null,"aws.default_route_table.route.gateway_id":null,"aws.default_route_table.route.instance_id":null,"aws.default_route_table.route.nat_gateway_id":null,"aws.default_route_table.route.network_interface_id":null,"aws.default_route_table.route.transit_gateway_id":null,"aws.default_route_table.route.vpc_endpoint_id":null,"aws.default_route_table.route.vpc_peering_connection_id":null,"aws.default_route_table.route.destination_prefix_list_id":null,"aws.default_route_table.route.core_network_arn":null,"aws.emr_cluster.step.action_on_failure":null,"aws.emr_cluster.step.hadoop_jar_step":null,"aws.emr_cluster.step.name":null,"aws.emr_cluster.step.hadoop_jar_step.args":null,"aws.emr_cluster.step.hadoop_jar_step.jar":null,"aws.emr_cluster.step.hadoop_jar_step.main_class":null,"aws.emr_cluster.step.hadoop_jar_step.properties":null,"aws.network_acl.ingress.from_port":null,"aws.network_acl.ingress.to_port":null,"aws.network_acl.ingress.rule_no":null,"aws.network_acl.ingress.action":null,"aws.network_acl.ingress.protocol":null,"aws.network_acl.ingress.cidr_block":null,"aws.network_acl.ingress.ipv6_cidr_block":null,"aws.network_acl.ingress.icmp_type":null,"aws.network_acl.ingress.icmp_code":null,"aws.network_acl.egress.from_port":null,"aws.network_acl.egress.to_port":null,"aws.network_acl.egress.rule_no":null,"aws.network_acl.egress.action":null,"aws.network_acl.egress.protocol":null,"aws.network_acl.egress.cidr_block":null,"aws.network_acl.egress.ipv6_cidr_block":null,"aws.network_acl.egress.icmp_type":null,"aws.network_acl.egress.icmp_code":null,"aws.route_table.route.cidr_block":null,"aws.route_table.route.ipv6_cidr_block":null,"aws.route_table.route.egress_only_gateway_id":null,"aws.route_table.route.gateway_id":null,"aws.route_table.route.instance_id":null,"aws.route_table.route.nat_gateway_id":null,"aws.route_table.route.local_gateway_id":null,"aws.route_table.route.network_interface_id":null,"aws.route_table.route.transit_gateway_id":null,"aws.route_table.route.vpc_endpoint_id":null,"aws.route_table.route.vpc_peering_connection_id":null,"aws.route_table.route.destination_prefix_list_id":null,"aws.route_table.route.carrier_gateway_id":null,"aws.route_table.route.core_network_arn":null,"aws.default_security_group.ingress.cidr_blocks":null,"aws.default_security_group.ingress.description":null,"aws.default_security_group.ingress.from_port":null,"aws.default_security_group.ingress.ipv6_cidr_blocks":null,"aws.default_security_group.ingress.prefix_list_ids":null,"aws.default_security_group.ingress.protocol":null,"aws.default_security_group.ingress.security_groups":null,"aws.default_security_group.ingress.self":null,"aws.default_security_group.ingress.to_port":null,"aws.default_security_group.egress.cidr_blocks":null,"aws.default_security_group.egress.description":null,"aws.default_security_group.egress.from_port":null,"aws.default_security_group.egress.ipv6_cidr_blocks":null,"aws.default_security_group.egress.prefix_list_ids":null,"aws.default_security_group.egress.protocol":null,"aws.default_security_group.egress.security_groups":null,"aws.default_security_group.egress.self":null,"aws.default_security_group.egress.to_port":null,"azuread.application.app_role.id":null,"azuread.application.app_role.allowed_member_types":null,"azuread.application.app_role.description":null,"azuread.application.app_role.display_name":null,"azuread.application.app_role.is_enabled":null,"azuread.application.app_role.value":null,"azuread.application.oauth2_permissions.id":null,"azuread.application.oauth2_permissions.admin_consent_description":null,"azuread.application.oauth2_permissions.admin_consent_display_name":null,"azuread.application.oauth2_permissions.value":null,"azuread.application.oauth2_permissions.type":null,"azuread.application.oauth2_permissions.is_enabled":null,"azuread.application.oauth2_permissions.user_consent_description":null,"azuread.application.oauth2_permissions.user_consent_display_name":null,"azurestack.route_table.route.name":null,"azurestack.route_table.route.address_prefix":null,"azurestack.route_table.route.next_hop_type":null,"azurestack.route_table.route.next_hop_in_ip_address":null,"azurestack.network_security_group.security_rule.name":null,"azurestack.network_security_group.security_rule.description":null,"azurestack.network_security_group.security_rule.protocol":null,"azurestack.network_security_group.security_rule.source_port_range":null,"azurestack.network_security_group.security_rule.source_port_ranges":null,"azurestack.network_security_group.security_rule.destination_port_range":null,"azurestack.network_security_group.security_rule.destination_port_ranges":null,"azurestack.network_security_group.security_rule.source_address_prefix":null,"azurestack.network_security_group.security_rule.source_address_prefixes":null,"azurestack.network_security_group.security_rule.destination_address_prefix":null,"azurestack.network_security_group.security_rule.destination_address_prefixes":null,"azurestack.network_security_group.security_rule.destination_application_security_group_ids":null,"azurestack.network_security_group.security_rule.source_application_security_group_ids":null,"azurestack.network_security_group.security_rule.access":null,"azurestack.network_security_group.security_rule.priority":null,"azurestack.network_security_group.security_rule.direction":null,"azurestack.virtual_network.subnet.name":null,"azurestack.virtual_network.subnet.address_prefix":null,"azurestack.virtual_network.subnet.security_group":null,"azurestack.virtual_network.subnet.id":null,"azurestack.key_vault.access_policy.tenant_id":null,"azurestack.key_vault.access_policy.object_id":null,"azurestack.key_vault.access_policy.application_id":null,"azurestack.key_vault.access_policy.certificate_permissions":null,"azurestack.key_vault.access_policy.key_permissions":null,"azurestack.key_vault.access_policy.secret_permissions":null,"azurestack.key_vault.access_policy.storage_permissions":null,"vault.auth_backend.tune.default_lease_ttl":null,"vault.auth_backend.tune.max_lease_ttl":null,"vault.auth_backend.tune.audit_non_hmac_request_keys":null,"vault.auth_backend.tune.audit_non_hmac_response_keys":null,"vault.auth_backend.tune.listing_visibility":null,"vault.auth_backend.tune.passthrough_request_headers":null,"vault.auth_backend.tune.allowed_response_headers":null,"vault.auth_backend.tune.token_type":null,"vault.github_auth_backend.tune.default_lease_ttl":null,"vault.github_auth_backend.tune.max_lease_ttl":null,"vault.github_auth_backend.tune.audit_non_hmac_request_keys":null,"vault.github_auth_backend.tune.audit_non_hmac_response_keys":null,"vault.github_auth_backend.tune.listing_visibility":null,"vault.github_auth_backend.tune.passthrough_request_headers":null,"vault.github_auth_backend.tune.allowed_response_headers":null,"vault.github_auth_backend.tune.token_type":null,"vault.jwt_auth_backend.tune.default_lease_ttl":null,"vault.jwt_auth_backend.tune.max_lease_ttl":null,"vault.jwt_auth_backend.tune.audit_non_hmac_request_keys":null,"vault.jwt_auth_backend.tune.audit_non_hmac_response_keys":null,"vault.jwt_auth_backend.tune.listing_visibility":null,"vault.jwt_auth_backend.tune.passthrough_request_headers":null,"vault.jwt_auth_backend.tune.allowed_response_headers":null,"vault.jwt_auth_backend.tune.token_type":null,"vault.okta_auth_backend.group.group_name":null,"vault.okta_auth_backend.group.policies":null,"vault.okta_auth_backend.user.username":null,"vault.okta_auth_backend.user.groups":null,"vault.okta_auth_backend.user.policies":null,"google.compute_instance.guest_accelerator.count":null,"google.compute_instance.guest_accelerator.type":null,"google.compute_instance_from_template.attached_disk.source":null,"google.compute_instance_from_template.attached_disk.device_name":null,"google.compute_instance_from_template.attached_disk.mode":null,"google.compute_instance_from_template.attached_disk.disk_encryption_key_raw":null,"google.compute_instance_from_template.attached_disk.kms_key_self_link":null,"google.compute_instance_from_template.guest_accelerator.count":null,"google.compute_instance_from_template.guest_accelerator.type":null,"google.compute_instance_from_template.service_account.email":null,"google.compute_instance_from_template.service_account.scopes":null,"google.compute_instance_from_template.scratch_disk.interface":null,"google.compute_instance_from_template.network_interface.alias_ip_range.ip_cidr_range":null,"google.compute_instance_from_template.network_interface.alias_ip_range.subnetwork_range_name":null,"google.compute_instance_from_template.network_interface.access_config.nat_ip":null,"google.compute_instance_from_template.network_interface.access_config.public_ptr_domain_name":null,"google.compute_instance_from_template.network_interface.access_config.network_tier":null,"google.compute_subnetwork.secondary_ip_range.range_name":null,"google.compute_subnetwork.secondary_ip_range.ip_cidr_range":null,"google.container_cluster.node_config.guest_accelerator.count":null,"google.container_cluster.node_config.guest_accelerator.type":null,"google.container_cluster.node_config.guest_accelerator.gpu_partition_size":null,"google.container_cluster.node_config.guest_accelerator.gpu_sharing_config":null,"google.container_cluster.node_config.guest_accelerator.gpu_sharing_config.gpu_sharing_strategy":null,"google.container_cluster.node_config.guest_accelerator.gpu_sharing_config.max_shared_clients_per_gpu":null,"google.container_cluster.node_config.taint.key":null,"google.container_cluster.node_config.taint.value":null,"google.container_cluster.node_config.taint.effect":null,"google.container_node_pool.node_config.guest_accelerator.count":null,"google.container_node_pool.node_config.guest_accelerator.type":null,"google.container_node_pool.node_config.guest_accelerator.gpu_partition_size":null,"google.container_node_pool.node_config.guest_accelerator.gpu_sharing_config":null,"google.container_node_pool.node_config.guest_accelerator.gpu_sharing_config.gpu_sharing_strategy":null,"google.container_node_pool.node_config.guest_accelerator.gpu_sharing_config.max_shared_clients_per_gpu":null,"google.container_node_pool.node_config.taint.key":null,"google.container_node_pool.node_config.taint.value":null,"google.container_node_pool.node_config.taint.effect":null,"google.composer_environment.ip_allocation_policy.use_ip_aliases":null,"google.composer_environment.ip_allocation_policy.cluster_secondary_range_name":null,"google.composer_environment.ip_allocation_policy.services_secondary_range_name":null,"google.composer_environment.ip_allocation_policy.cluster_ipv4_cidr_block":null,"google.composer_environment.ip_allocation_policy.services_ipv4_cidr_block":null,"azurerm.eventgrid_topic.inbound_ip_rule.ip_mask":null,"azurerm.eventgrid_topic.inbound_ip_rule.action":null,"azurerm.eventgrid_domain.inbound_ip_rule.ip_mask":null,"azurerm.eventgrid_domain.inbound_ip_rule.action":null,"azurerm.container_registry.network_rule_set.default_action":null,"azurerm.container_registry.network_rule_set.ip_rule":null,"azurerm.container_registry.network_rule_set.virtual_network":null,"azurerm.container_registry.network_rule_set.ip_rule.action":null,"azurerm.container_registry.network_rule_set.ip_rule.ip_range":null,"azurerm.container_registry.network_rule_set.virtual_network.action":null,"azurerm.container_registry.network_rule_set.virtual_network.subnet_id":null,"azurerm.container_registry.retention_policy.days":null,"azurerm.container_registry.retention_policy.enabled":null,"azurerm.container_registry.trust_policy.enabled":null,"azurerm.container_registry.encryption.enabled":null,"azurerm.container_registry.encryption.identity_client_id":null,"azurerm.container_registry.encryption.key_vault_key_id":null,"azurerm.eventhub_namespace.network_rulesets.default_action":null,"azurerm.eventhub_namespace.network_rulesets.public_network_access_enabled":null,"azurerm.eventhub_namespace.network_rulesets.trusted_service_access_enabled":null,"azurerm.eventhub_namespace.network_rulesets.virtual_network_rule":null,"azurerm.eventhub_namespace.network_rulesets.virtual_network_rule.subnet_id":null,"azurerm.eventhub_namespace.network_rulesets.virtual_network_rule.ignore_missing_virtual_network_service_endpoint":null,"azurerm.eventhub_namespace.network_rulesets.ip_rule":null,"azurerm.eventhub_namespace.network_rulesets.ip_rule.ip_mask":null,"azurerm.eventhub_namespace.network_rulesets.ip_rule.action":null,"azurerm.automation_runbook.job_schedule.schedule_name":null,"azurerm.automation_runbook.job_schedule.parameters":null,"azurerm.automation_runbook.job_schedule.run_on":null,"azurerm.automation_runbook.job_schedule.job_schedule_id":null,"azurerm.mssql_database.extended_auditing_policy.storage_account_access_key":null,"azurerm.mssql_database.extended_auditing_policy.storage_endpoint":null,"azurerm.mssql_database.extended_auditing_policy.storage_account_access_key_is_secondary":null,"azurerm.mssql_database.extended_auditing_policy.retention_in_days":null,"azurerm.mssql_database.extended_auditing_policy.log_monitoring_enabled":null,"azurerm.mssql_server.extended_auditing_policy.storage_account_access_key":null,"azurerm.mssql_server.extended_auditing_policy.storage_endpoint":null,"azurerm.mssql_server.extended_auditing_policy.storage_account_access_key_is_secondary":null,"azurerm.mssql_server.extended_auditing_policy.retention_in_days":null,"azurerm.mssql_server.extended_auditing_policy.log_monitoring_enabled":null,"azurerm.route_filter.rule.access":null,"azurerm.route_filter.rule.communities":null,"azurerm.route_filter.rule.name":null,"azurerm.route_filter.rule.rule_type":null,"azurerm.route_table.route.name":null,"azurerm.route_table.route.address_prefix":null,"azurerm.route_table.route.next_hop_type":null,"azurerm.route_table.route.next_hop_in_ip_address":null,"azurerm.site_recovery_replicated_vm.managed_disk.disk_id":null,"azurerm.site_recovery_replicated_vm.managed_disk.staging_storage_account_id":null,"azurerm.site_recovery_replicated_vm.managed_disk.target_resource_group_id":null,"azurerm.site_recovery_replicated_vm.managed_disk.target_disk_type":null,"azurerm.site_recovery_replicated_vm.managed_disk.target_replica_disk_type":null,"azurerm.site_recovery_replicated_vm.managed_disk.target_disk_encryption_set_id":null,"azurerm.site_recovery_replicated_vm.managed_disk.target_disk_encryption":null,"azurerm.site_recovery_replicated_vm.network_interface.source_network_interface_id":null,"azurerm.site_recovery_replicated_vm.network_interface.target_static_ip":null,"azurerm.site_recovery_replicated_vm.network_interface.target_subnet_name":null,"azurerm.site_recovery_replicated_vm.network_interface.recovery_public_ip_address_id":null,"azurerm.iothub.endpoint.type":null,"azurerm.iothub.endpoint.authentication_type":null,"azurerm.iothub.endpoint.identity_id":null,"azurerm.iothub.endpoint.endpoint_uri":null,"azurerm.iothub.endpoint.entity_path":null,"azurerm.iothub.endpoint.connection_string":null,"azurerm.iothub.endpoint.name":null,"azurerm.iothub.endpoint.batch_frequency_in_seconds":null,"azurerm.iothub.endpoint.max_chunk_size_in_bytes":null,"azurerm.iothub.endpoint.container_name":null,"azurerm.iothub.endpoint.encoding":null,"azurerm.iothub.endpoint.file_name_format":null,"azurerm.iothub.endpoint.resource_group_name":null,"azurerm.iothub.route.name":null,"azurerm.iothub.route.source":null,"azurerm.iothub.route.condition":null,"azurerm.iothub.route.endpoint_names":null,"azurerm.iothub.route.enabled":null,"azurerm.iothub.enrichment.key":null,"azurerm.iothub.enrichment.value":null,"azurerm.iothub.enrichment.endpoint_names":null,"azurerm.virtual_network.subnet.name":null,"azurerm.virtual_network.subnet.address_prefix":null,"azurerm.virtual_network.subnet.security_group":null,"azurerm.virtual_network.subnet.id":null,"azurerm.network_security_group.security_rule.name":null,"azurerm.network_security_group.security_rule.description":null,"azurerm.network_security_group.security_rule.protocol":null,"azurerm.network_security_group.security_rule.source_port_range":null,"azurerm.network_security_group.security_rule.source_port_ranges":null,"azurerm.network_security_group.security_rule.destination_port_range":null,"azurerm.network_security_group.security_rule.destination_port_ranges":null,"azurerm.network_security_group.security_rule.source_address_prefix":null,"azurerm.network_security_group.security_rule.source_address_prefixes":null,"azurerm.network_security_group.security_rule.destination_address_prefix":null,"azurerm.network_security_group.security_rule.destination_address_prefixes":null,"azurerm.network_security_group.security_rule.destination_application_security_group_ids":null,"azurerm.network_security_group.security_rule.source_application_security_group_ids":null,"azurerm.network_security_group.security_rule.access":null,"azurerm.network_security_group.security_rule.priority":null,"azurerm.network_security_group.security_rule.direction":null,"azurerm.synapse_workspace.aad_admin.login":null,"azurerm.synapse_workspace.aad_admin.object_id":null,"azurerm.synapse_workspace.aad_admin.tenant_id":null,"azurerm.synapse_workspace.sql_aad_admin.login":null,"azurerm.synapse_workspace.sql_aad_admin.object_id":null,"azurerm.synapse_workspace.sql_aad_admin.tenant_id":null,"azurerm.batch_pool.container_configuration.container_registries.registry_server":null,"azurerm.batch_pool.container_configuration.container_registries.user_name":null,"azurerm.batch_pool.container_configuration.container_registries.password":null,"azurerm.key_vault.access_policy.tenant_id":null,"azurerm.key_vault.access_policy.object_id":null,"azurerm.key_vault.access_policy.application_id":null,"azurerm.key_vault.access_policy.certificate_permissions":null,"azurerm.key_vault.access_policy.key_permissions":null,"azurerm.key_vault.access_policy.secret_permissions":null,"azurerm.key_vault.access_policy.storage_permissions":null,"azurerm.app_service.ip_restriction.ip_address":null,"azurerm.app_service.ip_restriction.service_tag":null,"azurerm.app_service.ip_restriction.subnet_id":null,"azurerm.app_service.ip_restriction.virtual_network_subnet_id":null,"azurerm.app_service.ip_restriction.name":null,"azurerm.app_service.ip_restriction.priority":null,"azurerm.app_service.ip_restriction.action":null,"azurerm.app_service.ip_restriction.headers":null,"azurerm.app_service.ip_restriction.headers.x_forwarded_host":null,"azurerm.app_service.ip_restriction.headers.x_forwarded_for":null,"azurerm.app_service.ip_restriction.headers.x_azure_fdid":null,"azurerm.app_service.ip_restriction.headers.x_fd_health_probe":null,"azurerm.app_service.scm_ip_restriction.ip_address":null,"azurerm.app_service.scm_ip_restriction.service_tag":null,"azurerm.app_service.scm_ip_restriction.subnet_id":null,"azurerm.app_service.scm_ip_restriction.virtual_network_subnet_id":null,"azurerm.app_service.scm_ip_restriction.name":null,"azurerm.app_service.scm_ip_restriction.priority":null,"azurerm.app_service.scm_ip_restriction.action":null,"azurerm.app_service.scm_ip_restriction.headers":null,"azurerm.app_service.scm_ip_restriction.headers.x_forwarded_host":null,"azurerm.app_service.scm_ip_restriction.headers.x_forwarded_for":null,"azurerm.app_service.scm_ip_restriction.headers.x_azure_fdid":null,"azurerm.app_service.scm_ip_restriction.headers.x_fd_health_probe":null,"azurerm.function_app.ip_restriction.ip_address":null,"azurerm.function_app.ip_restriction.service_tag":null,"azurerm.function_app.ip_restriction.subnet_id":null,"azurerm.function_app.ip_restriction.virtual_network_subnet_id":null,"azurerm.function_app.ip_restriction.name":null,"azurerm.function_app.ip_restriction.priority":null,"azurerm.function_app.ip_restriction.action":null,"azurerm.function_app.ip_restriction.headers":null,"azurerm.function_app.ip_restriction.headers.x_forwarded_host":null,"azurerm.function_app.ip_restriction.headers.x_forwarded_for":null,"azurerm.function_app.ip_restriction.headers.x_azure_fdid":null,"azurerm.function_app.ip_restriction.headers.x_fd_health_probe":null,"azurerm.function_app.scm_ip_restriction.ip_address":null,"azurerm.function_app.scm_ip_restriction.service_tag":null,"azurerm.function_app.scm_ip_restriction.subnet_id":null,"azurerm.function_app.scm_ip_restriction.virtual_network_subnet_id":null,"azurerm.function_app.scm_ip_restriction.name":null,"azurerm.function_app.scm_ip_restriction.priority":null,"azurerm.function_app.scm_ip_restriction.action":null,"azurerm.function_app.scm_ip_restriction.headers":null,"azurerm.function_app.scm_ip_restriction.headers.x_forwarded_host":null,"azurerm.function_app.scm_ip_restriction.headers.x_forwarded_for":null,"azurerm.function_app.scm_ip_restriction.headers.x_azure_fdid":null,"azurerm.function_app.scm_ip_restriction.headers.x_fd_health_probe":null,"azurerm.logic_app_standard.ip_restriction.ip_address":null,"azurerm.logic_app_standard.ip_restriction.service_tag":null,"azurerm.logic_app_standard.ip_restriction.subnet_id":null,"azurerm.logic_app_standard.ip_restriction.virtual_network_subnet_id":null,"azurerm.logic_app_standard.ip_restriction.name":null,"azurerm.logic_app_standard.ip_restriction.priority":null,"azurerm.logic_app_standard.ip_restriction.action":null,"azurerm.logic_app_standard.ip_restriction.headers":null,"azurerm.logic_app_standard.ip_restriction.headers.x_forwarded_host":null,"azurerm.logic_app_standard.ip_restriction.headers.x_forwarded_for":null,"azurerm.logic_app_standard.ip_restriction.headers.x_azure_fdid":null,"azurerm.logic_app_standard.ip_restriction.headers.x_fd_health_probe":null,"azurerm.logic_app_standard.scm_ip_restriction.ip_address":null,"azurerm.logic_app_standard.scm_ip_restriction.service_tag":null,"azurerm.logic_app_standard.scm_ip_restriction.subnet_id":null,"azurerm.logic_app_standard.scm_ip_restriction.virtual_network_subnet_id":null,"azurerm.logic_app_standard.scm_ip_restriction.name":null,"azurerm.logic_app_standard.scm_ip_restriction.priority":null,"azurerm.logic_app_standard.scm_ip_restriction.action":null,"azurerm.logic_app_standard.scm_ip_restriction.headers":null,"azurerm.logic_app_standard.scm_ip_restriction.headers.x_forwarded_host":null,"azurerm.logic_app_standard.scm_ip_restriction.headers.x_forwarded_for":null,"azurerm.logic_app_standard.scm_ip_restriction.headers.x_azure_fdid":null,"azurerm.logic_app_standard.scm_ip_restriction.headers.x_fd_health_probe":null,"azurerm.api_management.policy.xml_content":null,"azurerm.api_management.policy.xml_link":null,"azurerm.container_group.exposed_port.port":null,"azurerm.container_group.exposed_port.protocol":null}});var q0=p(oY=>{"use strict";Object.defineProperty(oY,"__esModule",{value:!0});oY.sanitizedComment=E2t;function E2t(t){let e=!1;return t.line("/**"),{line:r=>{if(typeof r=="object"&&!Array.isArray(r))return;let n=Array.isArray(r)?r.join(`
|
|
80
80
|
`):r.toLocaleString(),i=typeof n=="string"?n.replace(/\*\//g,"* /"):n;if(i===""){t.line("*");return}i!==n&&(e=!0),i.split(`
|
|
81
81
|
`).forEach(s=>{t.line(`* ${s}`)})},end:()=>{e&&(t.line(" *"),t.line("* Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space.")),t.line("*/")}}}});var xD=p(_D=>{"use strict";Object.defineProperty(_D,"__esModule",{value:!0});_D.AttributesEmitter=void 0;var aY=kg(),wbe=Sbe(),_be=q0();function wD(t){return t[0].toUpperCase()+t.slice(1)}var cY=class{constructor(e){this.code=e}emit(e,r,n){this.code.line(),this.code.line(`// ${e.terraformName} - computed: ${e.computed}, optional: ${e.isOptional}, required: ${e.isRequired}`);let i=e.isStored,s=i&&!e.isRequired&&e.setterType._type!=="none",o=i&&e.setterType._type!=="none",a=e.getterType;switch(a._type==="stored_class"?this.code.line(`private ${e.storageName} = ${this.storedClassInit(e)};`):i&&this.code.line(`private ${e.storageName}?: ${e.type.inputTypeDefinition}; `),this.emitStoredClassBoundaryDoc(e),a._type){case"plain":this.emitWriteOnlyGetterDeprecationNotice(e),this.code.openBlock(`public get ${e.name}()`),this.code.line(`return ${this.determineGetAttCall(e)};`),this.code.closeBlock();break;case"args":this.emitWriteOnlyGetterDeprecationNotice(e),this.code.openBlock(`public ${e.name}(${a.args})${a.returnType?": "+a.returnType:""}`),this.code.line(`return ${a.returnStatement};`),this.code.closeBlock();break;case"stored_class":this.emitWriteOnlyGetterDeprecationNotice(e),this.code.openBlock(`public get ${e.name}()`),this.code.line(`return this.${e.storageName};`),this.code.closeBlock();break}let c=e.setterType;switch(c._type){case"set":this.code.openBlock(`public set ${e.name}(value: ${c.type})`),this.code.line(`this.${e.storageName} = value;`),this.code.closeBlock();break;case"put":this.code.openBlock(`public put${wD(e.name)}(value: ${c.type})`),this.code.line(`this.${e.storageName} = value;`),this.code.closeBlock();break;case"stored_class":this.code.openBlock(`public put${wD(e.name)}(value: ${c.type})`),this.code.line(`this.${e.storageName}.internalValue = value;`),this.code.closeBlock();break}s&&(this.code.openBlock(`public ${this.getResetName(e.name,r)}()`),c._type==="stored_class"?this.code.line(`this.${e.storageName}.internalValue = undefined;`):this.code.line(`this.${e.storageName} = undefined;`),this.code.closeBlock()),o&&(this.code.line("// Temporarily expose input value. Use with caution."),this.code.openBlock(`public get ${this.getInputName(e,n)}()`),c._type==="stored_class"?this.code.line(`return this.${e.storageName}.internalValue;`):this.code.line(`return this.${e.storageName};`),this.code.closeBlock())}emitWriteOnlyGetterDeprecationNotice(e){if(!e.isWriteOnly)return;let r=(0,_be.sanitizedComment)(this.code);r.line("@deprecated Write-only: the provider never returns this value; reading it always yields null by protocol contract. The getter remains for compatibility and will be removed in a future prebuilt-provider major."),r.end()}storedClassInit(e){return e.type.getStoredClassInitializer(e.terraformName)}emitStoredClassBoundaryDoc(e){let r=e.storedClassBoundaryKind;if(!r)return;let n=(0,_be.sanitizedComment)(this.code);if(n.line(`Terraform type: \`${(0,aY.describeTerraformType)(e.type)}\`.`),r==="collapsed"){let i=e.type.resolvedStoredClass.name;n.line(`This nesting is deeper than the typed wrapper classes in the core cdktn package; it is exposed as \`${i}\` and values below that boundary are untyped tokens.`)}else n.line("No typed wrapper class for this shape exists in the core cdktn package; the value is returned as an untyped token (IResolvable).");n.end()}determineGetAttCall(e){return e.isProvider?`this.${e.storageName}`:e.type.getAttributeAccessFunction(e.terraformName)}needsInputEscape(e,r){return r.find(n=>n.terraformName.match(`^${e.terraformName}_input$`))instanceof aY.AttributeModel}getInputName(e,r){return r?`${e.name}TfInput`:`${e.name}Input`}needsResetEscape(e,r){return r.find(n=>n.terraformName.match(`^reset_${e.terraformName}$`))instanceof aY.AttributeModel}getResetName(e,r){return e&&(r?`resetTf${wD(e)}`:`reset${wD(e)}`)}emitToHclTerraform(e,r,n=!1){var i;let s=e.type,o=r?"struct!":"this",a=r?e.name:e.storageName,c=wbe.CUSTOM_DEFAULTS[e.terraformFullName],u=`${o}.${a}${!r&&s.isComplex&&!e.isProvider&&(!((i=s.struct)===null||i===void 0)&&i.isClass||e.getterType._type==="stored_class")?".internalValue":""}`,d=`${c!==void 0?`${u} === undefined ? ${c} : `:""}${s.toHclTerraformFunction}(${u})`,f=e.isWriteOnly&&n?`this.markWriteOnlyAttribute(${d})`:d,A=e.type.isComplex,g=e.type.typeModelType;this.code.open(`${e.terraformName}: {`),this.code.line(`value: ${f},`),this.code.line(`isBlock: ${A},`),this.code.line(`type: "${g}",`),this.code.line(`storageClassType: "${e.type.storedClassType}",`),this.code.close("},")}emitToTerraform(e,r,n=!1){var i;let s=e.type,o=r?"struct!":"this",a=r?e.name:e.storageName,c=wbe.CUSTOM_DEFAULTS[e.terraformFullName],u=`${o}.${a}${!r&&s.isComplex&&!e.isProvider&&(!((i=s.struct)===null||i===void 0)&&i.isClass||e.getterType._type==="stored_class")?".internalValue":""}`,d=`${c!==void 0?`${u} === undefined ? ${c} : `:""}${s.toTerraformFunction}(${u})`,f=e.isWriteOnly&&n?`this.markWriteOnlyAttribute(${d})`:d;this.code.line(`${e.terraformName}: ${f},`)}};_D.AttributesEmitter=cY});var xbe=p(RD=>{"use strict";Object.defineProperty(RD,"__esModule",{value:!0});RD.ProviderFunctionsEmitter=void 0;var uY=q0(),B2t="The local name of the provider in required_providers; defaults to the registry short name. Override when the provider is declared under a different local name \u2014 aliases do not change the namespace, local names do.",lY=class{constructor(e){this.code=e}emit(e){this.code.line("import * as cdktn from 'cdktn';"),this.code.line(),this.emitClass(e)}emitClass(e){let r=(0,uY.sanitizedComment)(this.code);r.line(`Provider-defined functions of the ${e.providerName} provider.`),r.end(),this.code.openBlock(`export class ${e.className}`),this.emitConstructor();for(let n of e.functions)this.emitMethod(n);this.code.closeBlock()}emitConstructor(){this.code.line("private readonly providerLocalName: string;"),this.code.line();let e=(0,uY.sanitizedComment)(this.code);e.line(`@param providerLocalName ${B2t}`),e.end(),this.code.openBlock("constructor(providerLocalName: string)"),this.code.line("this.providerLocalName = providerLocalName;"),this.code.closeBlock()}emitMethod(e){var r;this.code.line();let n=(0,uY.sanitizedComment)(this.code),i=(r=e.description)!==null&&r!==void 0?r:e.summary;i&&n.line(i),e.deprecationMessage&&n.line(`@deprecated ${e.deprecationMessage}`);let s=e.variadicParameter?[...e.parameters,e.variadicParameter]:e.parameters;for(let u of s){let l=[u.description,u.docstringNote].filter(Boolean).join(" ");n.line(`@param {${u.docstringType}} ${u.name}${l?` - ${l}`:""}`)}n.line(`@returns {${e.returnDocstringType}}${e.returnDocstringNote?` ${e.returnDocstringNote}`:""}`),n.end();let o=[...e.parameters.map(u=>`${u.name}${u.optional?"?":""}: ${u.tsType}`),...e.variadicParameter?[`${e.variadicParameter.name}: Array<${e.variadicParameter.tsType}>`]:[]],a=[...e.parameters.map(u=>u.name),...e.variadicParameter?[`...${e.variadicParameter.name}`]:[]],c=`cdktn.TerraformProviderFunction.invoke(this.providerLocalName, "${e.terraformName}", [${a.join(", ")}])`;this.code.openBlock(`public ${e.methodName}(${o.join(", ")}): ${e.returnTsType}`),this.code.line(`return ${e.wrapReturn(c)};`),this.code.closeBlock()}};RD.ProviderFunctionsEmitter=lY});var Rbe=p(QD=>{"use strict";Object.defineProperty(QD,"__esModule",{value:!0});QD.ResourceEmitter=void 0;var v2t=xD(),DD=q0(),dY=class{constructor(e,r){this.code=e,this.importExtension=r,this.attributesEmitter=new v2t.AttributesEmitter(this.code)}emit(e){this.code.line(),e.isProvider&&e.providerFunctionsModel&&this.code.line(`import { ${e.providerFunctionsModel.className} } from '../provider-functions/index${this.importExtension}';`);let r=(0,DD.sanitizedComment)(this.code);r.line(`Represents a {@link ${e.linkToDocs} ${e.terraformResourceType}}`),r.end(),this.code.openBlock(`export class ${e.className} extends cdktn.${e.parentClassName}`),this.emitHeader("STATIC PROPERTIES"),this.emitStaticProperties(e),e.isEphemeralResource||(this.emitHeader("STATIC Methods"),this.emitStaticMethods(e)),this.emitHeader("INITIALIZER"),this.emitInitializer(e),this.emitHeader("ATTRIBUTES"),this.emitResourceAttributes(e),e.isProvider&&e.providerFunctionsModel&&(this.emitHeader("PROVIDER-DEFINED FUNCTIONS"),this.emitFunctionsGetter(e.providerFunctionsModel)),this.emitHeader("SYNTHESIS"),this.emitResourceSynthesis(e),this.emitHclResourceSynthesis(e),this.code.closeBlock()}emitFunctionsGetter(e){this.code.line(`private _functions?: ${e.className};`),this.code.line();let r=(0,DD.sanitizedComment)(this.code);r.line(`Provider-defined functions of the ${e.providerName} provider.`),r.end(),this.code.openBlock(`public get functions(): ${e.className}`),this.code.openBlock("if (!this._functions)"),this.code.line(`this._functions = new ${e.className}(this.terraformResourceType);`),this.code.closeBlock(),this.code.line("return this._functions;"),this.code.closeBlock()}emitHeader(e){this.code.line(),this.code.line("// "+"=".repeat(e.length)),this.code.line(`// ${e}`),this.code.line("// "+"=".repeat(e.length))}emitStaticProperties(e){this.code.line(`public static readonly tfResourceType = "${e.terraformResourceType}";`)}emitStaticMethods(e){let r=(0,DD.sanitizedComment)(this.code);r.line(`Generates CDKTN code for importing a ${e.className} resource upon running "cdktn plan <stack-name>"`),r.line("@param scope The scope in which to define this construct"),r.line(`@param importToId The construct id used in the generated config for the ${e.className} to import`),r.line(`@param importFromId The id of the existing ${e.className} that should be imported. Refer to the {@link ${e.linkToDocs}#import import section} in the documentation of this resource for the id to use`),r.line(`@param provider? Optional instance of the provider where the ${e.className} to import is found`),r.end(),this.code.line(`public static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktn.TerraformProvider) {
|
|
82
82
|
return new cdktn.ImportableResource(scope, importToId, { terraformResourceType: "${e.terraformResourceType}", importId: importFromId, provider });
|