gcp-pac
Version:
GCP Policy as Code (gcp-pac) for your Pulumi typescript apps
1 lines • 636 kB
JavaScript
(()=>{var e={1986:function(e,t,r){"use strict";var i=this&&this.__awaiter||function(e,t,r,i){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function fulfilled(e){try{step(i.next(e))}catch(e){s(e)}}function rejected(e){try{step(i["throw"](e))}catch(e){s(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.serializeProperties=t.deserializeProperties=void 0;const s=r(4998);const n=r(5397);const o=r(8611);const u=r(7553);const a=r(453);function deserializeProperties(e,t){let r={};const i=e.toJavaScript();for(const e of Object.keys(i)){if(i[e]!==undefined){r[e]=deserializeProperty(i[e],t)}}if(t){r=a.secretsPreservingProxy(r)}return r}t.deserializeProperties=deserializeProperties;function deserializeProperty(e,t){if(e===undefined){throw new Error("unexpected undefined property value during deserialization")}else if(e===null||typeof e==="boolean"||typeof e==="number"||typeof e==="string"){return e}else if(e instanceof Array){const r=[];for(const i of e){r.push(deserializeProperty(i,t))}return r}else{const r=e[n.specialSigKey];if(r){switch(r){case n.specialAssetSig:if(e["path"]){return new s.asset.FileAsset(e["path"])}else if(e["text"]){return new s.asset.StringAsset(e["text"])}else if(e["uri"]){return new s.asset.RemoteAsset(e["uri"])}else{throw new Error("Invalid asset encountered when unmarshaling resource property")}case n.specialArchiveSig:if(e["assets"]){const r={};for(const i of Object.keys(e["assets"])){const n=deserializeProperty(e["assets"][i],t);if(!s.asset.Asset.isInstance(n)&&!s.asset.Archive.isInstance(n)){throw new Error("Expected an AssetArchive's assets to be unmarshaled Asset or Archive objects")}r[i]=n}return new s.asset.AssetArchive(r)}else if(e["path"]){return new s.asset.FileArchive(e["path"])}else if(e["uri"]){return new s.asset.RemoteArchive(e["uri"])}else{throw new Error("Invalid archive encountered when unmarshaling resource property")}case n.specialSecretSig:let i=deserializeProperty(e["value"],t);if(t){i=new o.Secret(i)}return i;default:throw new Error(`Unrecognized signature '${r}' when unmarshaling resource property`)}}const i={};for(const r of Object.keys(e)){i[r]=deserializeProperty(e[r],t)}return i}}function serializeProperties(e){return i(this,void 0,void 0,(function*(){return serializeProperty(e)}))}t.serializeProperties=serializeProperties;function serializeProperty(e){return i(this,void 0,void 0,(function*(){if(e===undefined){return null}if(e===null||typeof e==="boolean"||typeof e==="number"||typeof e==="string"){return e}if(e[u.isSpecialProxy]){return yield serializeProperty(e[u.getSpecialProxyTarget])}if(e instanceof Promise){return serializeProperty(yield e)}if(e instanceof Array){const t=[];for(const r of e){const e=yield serializeProperty(r);t.push(e===undefined?null:e)}return t}if(e instanceof s.asset.FileAsset){return{[n.specialSigKey]:n.specialAssetSig,path:yield serializeProperty(e.path)}}if(e instanceof s.asset.StringAsset){return{[n.specialSigKey]:n.specialAssetSig,text:yield serializeProperty(e.text)}}if(e instanceof s.asset.RemoteAsset){return{[n.specialSigKey]:n.specialAssetSig,uri:yield serializeProperty(e.uri)}}if(e instanceof s.asset.AssetArchive){const t=[];for(const r of Object.keys(yield e.assets)){t.push(yield serializeProperty(r))}return{[n.specialSigKey]:n.specialArchiveSig,assets:t}}if(e instanceof s.asset.FileArchive){return{[n.specialSigKey]:n.specialArchiveSig,path:yield serializeProperty(e.path)}}if(e instanceof s.asset.RemoteArchive){return{[n.specialSigKey]:n.specialArchiveSig,uri:yield serializeProperty(e.uri)}}if(e instanceof o.Secret){return{[n.specialSigKey]:n.specialSecretSig,value:yield serializeProperty(e.value)}}if(s.Output.isInstance(e)){throw new Error("Serializing output values not supported from within a policy pack")}const t={};for(const r of Object.keys(e)){const i=yield serializeProperty(e[r]);if(i!==undefined){t[r]=i}}return t}))}},1449:function(e,t,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,r,i){if(i===undefined)i=r;Object.defineProperty(e,i,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,i){if(i===undefined)i=r;e[i]=t[r]});var s=this&&this.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!t.hasOwnProperty(r))i(t,e,r)};Object.defineProperty(t,"__esModule",{value:true});s(r(8611),t)},8611:function(e,t,r){"use strict";var i=this&&this.__awaiter||function(e,t,r,i){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function fulfilled(e){try{step(i.next(e))}catch(e){s(e)}}function rejected(e){try{step(i["throw"](e))}catch(e){s(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.Secret=t.validateStackResourcesOfType=t.validateRemediateResourceOfType=t.validateResourceOfType=t.remediateResourceOfType=t.PolicyPack=void 0;const s=r(3334);const n="advisory";class PolicyPack{constructor(e,t,i){this.name=e;this.policies=t.policies;const o=process.cwd();const u=r(8330);const a=u.version;if(!a||a===""){throw new Error("Version must be defined in the package.json file.")}const p=t.enforcementLevel||n;s.serve(this.name,a,p,this.policies,i)}}t.PolicyPack=PolicyPack;function remediateResourceOfType(e,t){return r=>{if(r.isType(e)){return t(r.props,r)}}}t.remediateResourceOfType=remediateResourceOfType;function validateResourceOfType(e,t){return(r,i)=>{if(r.isType(e)){return t(r.props,r,i)}}}t.validateResourceOfType=validateResourceOfType;function validateRemediateResourceOfType(e,t){return{validateResource:(r,s)=>i(this,void 0,void 0,(function*(){if(r.isType(e)){yield t(r.props,r,s)}})),remediateResource:r=>{if(r.isType(e)){return t(r.props,r,((e,t)=>{}))}}}}t.validateRemediateResourceOfType=validateRemediateResourceOfType;function validateStackResourcesOfType(e,t){return(r,i)=>{const s=r.resources.filter((t=>t.isType(e)));if(s.length>0){const e=s.map((e=>e.props));const n={resources:s,getConfig:r.getConfig};return t(e,n,i)}}}t.validateStackResourcesOfType=validateStackResourcesOfType;class Secret{constructor(e){this.value=e}}t.Secret=Secret},3707:function(e,t,r){"use strict";var i=this&&this.__rest||function(e,t){var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0)r[i]=e[i];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var s=0,i=Object.getOwnPropertySymbols(e);s<i.length;s++){if(t.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(e,i[s]))r[i[s]]=e[i[s]]}return r};Object.defineProperty(t,"__esModule",{value:true});t.makeRemediateResponse=t.normalizeConfig=t.convertEnforcementLevel=t.mapEnforcementLevel=t.makeAnalyzeResponse=t.makeAnalyzerInfo=t.asGrpcError=void 0;const s=r(4797);const n=r(1828);const o=r(1065);const u=r(2838);function asGrpcError(e,t){if(t===undefined||t===""){t=""}else{t=t+":\n"}if(e instanceof Error){return new Error(`${t}${e.stack}`)}else{return new Error(`${t}${e}`)}}t.asGrpcError=asGrpcError;function makeAnalyzerInfo(e,t,r,i,n){const u=new s.AnalyzerInfo;u.setName(e);u.setVersion(t);u.setSupportsconfig(true);const a=[];for(const e of i){const t=new s.PolicyInfo;t.setName(e.name);t.setDescription(e.description);t.setEnforcementlevel(mapEnforcementLevel(e.enforcementLevel||r));if(e.configSchema){const r=new s.PolicyConfigSchema;r.setProperties(o.Struct.fromJavaScript(e.configSchema.properties));r.setRequiredList(e.configSchema.required);t.setConfigschema(r)}a.push(t)}u.setPoliciesList(a);if(n){const e=normalizeConfig(n);let t;for(const r of Object.keys(e)){const i=e[r];let n;if(i.enforcementLevel){n=new s.PolicyConfig;n.setEnforcementlevel(mapEnforcementLevel(i.enforcementLevel))}if(i.properties){n=n||new s.PolicyConfig;n.setProperties(o.Struct.fromJavaScript(i.properties))}if(n){t=t||u.getInitialconfigMap();t.set(r,n)}}}return u}t.makeAnalyzerInfo=makeAnalyzerInfo;function makeAnalyzeResponse(e){const t=new s.AnalyzeResponse;const r=[];for(const t of e){const e=new s.AnalyzeDiagnostic;e.setPolicyname(t.policyName);e.setPolicypackname(t.policyPackName);e.setPolicypackversion(t.policyPackVersion);e.setDescription(t.description);e.setMessage(t.message);e.setEnforcementlevel(mapEnforcementLevel(t.enforcementLevel));e.setUrn(t.urn);r.push(e)}t.setDiagnosticsList(r);return t}t.makeAnalyzeResponse=makeAnalyzeResponse;function mapEnforcementLevel(e){switch(e){case"advisory":return s.EnforcementLevel.ADVISORY;case"mandatory":return s.EnforcementLevel.MANDATORY;case"remediate":return s.EnforcementLevel.REMEDIATE;case"disabled":return s.EnforcementLevel.DISABLED;default:throw new UnknownEnforcementLevelError(e)}}t.mapEnforcementLevel=mapEnforcementLevel;function convertEnforcementLevel(e){switch(e){case s.EnforcementLevel.ADVISORY:return"advisory";case s.EnforcementLevel.MANDATORY:return"mandatory";case s.EnforcementLevel.REMEDIATE:return"remediate";case s.EnforcementLevel.DISABLED:return"disabled";default:throw new Error(`Unknown enforcement level ${e}.`)}}t.convertEnforcementLevel=convertEnforcementLevel;function normalizeConfig(e){const t={};for(const r of Object.keys(e)){const s=e[r];if(typeof s==="string"){t[r]={enforcementLevel:s};continue}let n;if(s.enforcementLevel){n={};n.enforcementLevel=s.enforcementLevel}const{enforcementLevel:o}=s,u=i(s,["enforcementLevel"]);if(Object.keys(u).length>0){n=n||{};n.properties=u}if(n){t[r]=n}}return t}t.normalizeConfig=normalizeConfig;class UnknownEnforcementLevelError extends Error{constructor(e){super(`Unknown enforcement level type '${e}'`)}}function makeRemediateResponse(e){const t=new s.RemediateResponse;const r=[];for(const t of e){if(!t.properties&&!t.diagnostic){throw new Error("Expected a remediation to have either properties or a diagnostic")}const e=new s.Remediation;e.setPolicyname(t.policyName);e.setPolicypackname(t.policyPackName);e.setPolicypackversion(t.policyPackVersion);e.setDescription(t.description);e.setProperties(o.Struct.fromJavaScript(t.properties));e.setDiagnostic(t.diagnostic);r.push(e)}t.setRemediationsList(r);return t}t.makeRemediateResponse=makeRemediateResponse},7553:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.unknownObjectValue=t.unknownArchiveValue=t.unknownAssetValue=t.unknownArrayValue=t.unknownStringValue=t.unknownNumberValue=t.unknownBooleanValue=t.UnknownValueError=t.getSpecialProxyTarget=t.isSpecialProxy=t.unknownCheckingProxy=void 0;function unknownCheckingProxy(e){return proxyHelper(e,[])}t.unknownCheckingProxy=unknownCheckingProxy;t.isSpecialProxy="__isSpecialProxy";t.getSpecialProxyTarget="__getSpecialProxyTarget";function proxyHelper(e,r){if(!(e instanceof Object)){return e}return new Proxy(e,{get:(e,i)=>{if(i===t.isSpecialProxy){return true}else if(i===t.getSpecialProxyTarget){return e}const s=r.concat([i]);const n=e[i];if(isUnknown(n)){throw new UnknownValueError(n,s)}return proxyHelper(n,s)}})}class UnknownValueError extends Error{constructor(e,t){const r=t.join(".");const i=unknownToString(e);super(`${i} value at .${r} can't be known during preview`);this.unknownTypeSentinel=e;this.props=t}}t.UnknownValueError=UnknownValueError;function isUnknown(e){return e===t.unknownBooleanValue||e===t.unknownNumberValue||e===t.unknownStringValue||e===t.unknownArrayValue||e===t.unknownAssetValue||e===t.unknownArchiveValue||e===t.unknownObjectValue}function unknownToString(e){switch(e){case t.unknownBooleanValue:return"boolean";case t.unknownNumberValue:return"number";case t.unknownStringValue:return"string";case t.unknownArrayValue:return"Array";case t.unknownAssetValue:return"asset";case t.unknownArchiveValue:return"archive";case t.unknownObjectValue:return"Object";default:throw new Error(`unknown value not recognized: ${e}`)}}t.unknownBooleanValue="1c4a061d-8072-4f0a-a4cb-0ff528b18fe7";t.unknownNumberValue="3eeb2bf0-c639-47a8-9e75-3b44932eb421";t.unknownStringValue="04da6b54-80e4-46f7-96ec-b56ff0331ba9";t.unknownArrayValue="6a19a0b0-7e62-4c92-b797-7f8e31da9cc2";t.unknownAssetValue="030794c1-ac77-496b-92df-f27374a8bd58";t.unknownArchiveValue="e48ece36-62e2-4504-bad9-02848725956a";t.unknownObjectValue="dd056dcd-154b-4c76-9bd3-c8f88648b5ff"},453:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.secretsPreservingProxy=void 0;const i=r(8611);const s=r(7553);function secretsPreservingProxy(e){if(!(e instanceof Object)){return e}const isSecret=(e,t)=>{const r=e[t];if(r&&r instanceof i.Secret){return[r.value,true]}return[r,false]};return new Proxy(e,{get:(e,t)=>{if(t===s.isSpecialProxy){return true}else if(t===s.getSpecialProxyTarget){return e}const[r,i]=isSecret(e,t);return secretsPreservingProxy(r)},set:(e,t,r,s)=>{const[n,o]=isSecret(e,t);if(o){r=new i.Secret(r)}e[t]=r;return true}})}t.secretsPreservingProxy=secretsPreservingProxy},3334:function(e,t,r){"use strict";var i=this&&this.__awaiter||function(e,t,r,i){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function fulfilled(e){try{step(i.next(e))}catch(e){s(e)}}function rejected(e){try{step(i["throw"](e))}catch(e){s(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((i=i.apply(e,t||[])).next())}))};var s=this&&this.__rest||function(e,t){var r={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0)r[i]=e[i];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var s=0,i=Object.getOwnPropertySymbols(e);s<i.length;s++){if(t.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(e,i[s]))r[i[s]]=e[i[s]]}return r};Object.defineProperty(t,"__esModule",{value:true});t.serve=void 0;const n=r(932);const o=r(386);const u=r(1986);const a=r(3707);const p=r(7553);const l=r(2745);const c=r(2838);const d=r(1828);const f=r(4797);let g=undefined;const m="^[a-zA-Z0-9-_.]{1,100}$";const y=1024*1024*400;let R={};function serve(e,t,r,i,s){var u;if(!e||!e.match(m)){console.error(`Invalid policy pack name "${e}". Policy pack names may only contain alphanumerics, hyphens, underscores, or periods.`);n.exit(1)}for(const e of i||[]){if(e.name==="all"){console.error('Invalid policy name "all". "all" is a reserved name.');n.exit(1)}if(e.configSchema){if((u=e.configSchema.properties)===null||u===void 0?void 0:u.enforcementLevel){console.error("enforcementLevel cannot be explicitly specified in properties.");n.exit(1)}if(e.configSchema.required&&e.configSchema.required.includes("enforcementLevel")){console.error('"enforcementLevel" cannot be specified in required.');n.exit(1)}}}if(g){console.error(`Already serving policy pack '${g}'. Only one policy pack may be defined per-process.`);n.exit(1)}g=e;const a=new o.Server({"grpc.max_receive_message_length":y});a.addService(d.AnalyzerService,{analyze:makeAnalyzeRpcFun(e,t,r,i),analyzeStack:makeAnalyzeStackRpcFun(e,t,r,i),remediate:makeRemediateRpcFun(e,t,r,i),getAnalyzerInfo:makeGetAnalyzerInfoRpcFun(e,t,r,i,s),getPluginInfo:getPluginInfoRpc,configure:configure});a.bindAsync("127.0.0.1:0",o.ServerCredentials.createInsecure(),((e,t)=>{if(e){console.error(e);n.exit(1)}console.log(t.toString())}))}t.serve=serve;function makeGetAnalyzerInfoRpcFun(e,t,r,s,n){return function(o,u){return i(this,void 0,void 0,(function*(){try{u(undefined,a.makeAnalyzerInfo(e,t,r,s,n))}catch(e){u(a.asGrpcError(e),undefined)}}))}}function getPluginInfoRpc(e,t){return i(this,void 0,void 0,(function*(){try{const e=new c.PluginInfo;e.setVersion(l.version);t(undefined,e)}catch(e){t(a.asGrpcError(e),undefined)}}))}function configure(e,t){return i(this,void 0,void 0,(function*(){const r=e.request;try{const e={};for(const[t,i]of r.getPolicyconfigMap().entries()){const r=i.getProperties().toJavaScript();r.enforcementLevel=a.convertEnforcementLevel(i.getEnforcementlevel());e[t]=r}R=e;t(undefined,new d.AnalyzerService.configure.responseType)}catch(e){t(a.asGrpcError(e),undefined)}}))}function makeAnalyzeRpcFun(e,t,r,n){return function(o,l){var c;return i(this,void 0,void 0,(function*(){const i=o.request;const d=[];try{for(const o of n){let n=((c=R[o.name])===null||c===void 0?void 0:c.enforcementLevel)||o.enforcementLevel||r;if(n==="disabled"||!isResourcePolicy(o)||!o.validateResource){continue}if(n==="remediate"){n="mandatory"}const reportViolation=(r,i)=>{let s=o.description;if(r){s+=`\n${r}`}d.push({policyName:o.name,policyPackName:e,policyPackVersion:t,message:s,urn:i,description:o.description,enforcementLevel:n})};const l=Array.isArray(o.validateResource)?o.validateResource:[o.validateResource];for(const r of l){try{const e=i.getType();const t=u.deserializeProperties(i.getProperties(),false);const s=p.unknownCheckingProxy(t);const n={type:e,props:s,urn:i.getUrn(),name:i.getName(),opts:getResourceOptions(i),isType:function(t){return isTypeOf(e,t)},asType:function(t){return isTypeOf(e,t)?s:undefined},getConfig:makeGetConfigFun(o.name)};const a=getProviderResource(i);if(a){n.provider=a}yield Promise.resolve(r(n,reportViolation))}catch(r){const i=`'${e}@v${t}'`;const n=`policy '${o.name}' from policy pack ${i}`;if(r instanceof p.UnknownValueError){const{validateResource:i,name:u}=o,a=s(o,["validateResource","name"]);d.push(Object.assign(Object.assign({policyName:u,policyPackName:e,policyPackVersion:t,message:`can't run ${n} during preview: ${r.message}`},a),{enforcementLevel:"advisory"}))}else{throw a.asGrpcError(r,`Error validating resource with ${n}`)}}}}}catch(e){l(e,undefined);return}l(undefined,a.makeAnalyzeResponse(d))}))}}function makeAnalyzeStackRpcFun(e,t,r,n){return function(o,l){var c;return i(this,void 0,void 0,(function*(){const i=o.request;const d=[];try{for(const o of n){let n=((c=R[o.name])===null||c===void 0?void 0:c.enforcementLevel)||o.enforcementLevel||r;if(n==="disabled"||!isStackPolicy(o)){continue}if(n==="remediate"){n="mandatory"}const reportViolation=(r,i)=>{let s=o.description;if(r){s+=`\n${r}`}d.push({policyName:o.name,policyPackName:e,policyPackVersion:t,message:s,urn:i,description:o.description,enforcementLevel:n})};try{const e=[];for(const t of i.getResourcesList()){const r=t.getType();const i=u.deserializeProperties(t.getProperties(),false);const s=p.unknownCheckingProxy(i);const n={type:r,props:s,urn:t.getUrn(),name:t.getName(),opts:getResourceOptions(t),dependencies:[],propertyDependencies:{},isType:function(e){return isTypeOf(r,e)},asType:function(e){return isTypeOf(r,e)?s:undefined}};const o=getProviderResource(t);if(o){n.provider=o}e.push({resource:n,parent:t.getParent(),dependencies:t.getDependenciesList(),propertyDependencies:getPropertyDependencies(t)})}const t=new Map;for(const r of e){t.set(r.resource.urn,r.resource)}for(const r of e){if(r.parent){const e=t.get(r.parent);if(e){r.resource.parent=e}}r.resource.dependencies=r.dependencies.map((e=>t.get(e))).filter((e=>e));for(const e of Object.keys(r.propertyDependencies)){const i=r.propertyDependencies[e];r.resource.propertyDependencies[e]=i.map((e=>t.get(e))).filter((e=>e))}}const r={resources:e.map((e=>e.resource)),getConfig:makeGetConfigFun(o.name)};yield Promise.resolve(o.validateStack(r,reportViolation))}catch(r){const i=`'${e}@v${t}'`;const n=`policy '${o.name}' from policy pack ${i}`;if(r instanceof p.UnknownValueError){const{validateStack:i,name:u}=o,a=s(o,["validateStack","name"]);d.push(Object.assign(Object.assign({policyName:u,policyPackName:e,policyPackVersion:t,message:`can't run ${n} during preview: ${r.message}`},a),{enforcementLevel:"advisory"}))}else{throw a.asGrpcError(r,`Error validating resource with ${n}`)}}}}catch(e){l(e,undefined);return}l(undefined,a.makeAnalyzeResponse(d))}))}}function makeGetConfigFun(e){return function(){const t=R[e];if(!t){return{}}const{enforcementLevel:r}=t,i=s(t,["enforcementLevel"]);return i}}function getResourceOptions(e){const t=e.getOptions();if(!t){throw new Error("A more recent version of the Pulumi CLI is required. "+"To upgrade, see https://www.pulumi.com/docs/get-started/install/")}const r={protect:t.getProtect(),ignoreChanges:t.getIgnorechangesList(),aliases:t.getAliasesList(),customTimeouts:getCustomTimeouts(t),additionalSecretOutputs:t.getAdditionalsecretoutputsList()};if(t.getDeletebeforereplacedefined()){r.deleteBeforeReplace=t.getDeletebeforereplace()}return r}function getCustomTimeouts(e){var t,r,i;const s=e.getCustomtimeouts();return{createSeconds:(t=s===null||s===void 0?void 0:s.getCreate())!==null&&t!==void 0?t:0,updateSeconds:(r=s===null||s===void 0?void 0:s.getUpdate())!==null&&r!==void 0?r:0,deleteSeconds:(i=s===null||s===void 0?void 0:s.getDelete())!==null&&i!==void 0?i:0}}function getProviderResource(e){const t=e.getProvider();if(!t){return undefined}const r=u.deserializeProperties(t.getProperties(),false);const i=p.unknownCheckingProxy(r);return{type:t.getType(),props:i,urn:t.getUrn(),name:t.getName()}}function getPropertyDependencies(e){const t={};const r=e.getPropertydependenciesMap();if(r){for(const[e,i]of r.entries()){const r=i.getUrnsList();t[e]=r}}return t}function isResourcePolicy(e){const t=e.validateResource;if(typeof t==="function"){return true}if(Array.isArray(t)){for(const e of t){if(typeof e!=="function"){return false}}return true}const r=e.remediateResource;if(typeof r==="function"){return true}return false}function isStackPolicy(e){return typeof e.validateStack==="function"}function isTypeOf(e,t){const r=t.isInstance;return r&&typeof r==="function"&&r({__pulumiType:e})===true}function makeRemediateRpcFun(e,t,r,s){return function(n,o){var l;return i(this,void 0,void 0,(function*(){const i=n.request;const c=i.getUrn();const d=i.getName();const f=i.getType();const g=getResourceOptions(i);let m=p.unknownCheckingProxy(u.deserializeProperties(i.getProperties(),true));const y=[];try{for(const n of s){const s=((l=R[n.name])===null||l===void 0?void 0:l.enforcementLevel)||n.enforcementLevel||r;if(s!=="remediate"||!isResourcePolicy(n)||!n.remediateResource){continue}const o={urn:c,name:d,type:f,opts:g,props:m,getConfig:makeGetConfigFun(n.name),isType:function(e){return isTypeOf(f,e)},asType:function(e){return isTypeOf(f,e)?m:undefined}};const h=getProviderResource(i);if(h){o.provider=h}let v=undefined;let b=undefined;try{v=yield Promise.resolve(n.remediateResource(o));if(v){m=v}}catch(r){const i=`'${e}@v${t}'`;const s=`remediation '${n.name}' from policy pack ${i}`;if(r instanceof p.UnknownValueError){b=`can't run ${s} during preview: ${r.message}`}else{throw a.asGrpcError(r,`Error remediating resource with ${s}`)}}if(v||b){if(v){v=yield u.serializeProperties(v)}y.push({policyName:n.name,policyPackName:e,policyPackVersion:t,description:n.description,properties:v,diagnostic:b})}}}catch(e){o(e,undefined);return}o(undefined,a.makeRemediateResponse(y))}))}}},2745:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.version=void 0;t.version="1.13.0"},4352:function(e,t,r){"use strict";var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(Object.hasOwnProperty.call(e,r))t[r]=e[r];t["default"]=e;return t};Object.defineProperty(t,"__esModule",{value:true});const s=i(r(7812));class Archive{constructor(){this.__pulumiArchive=true}static isInstance(e){return s.isInstance(e,"__pulumiArchive")}}t.Archive=Archive;class AssetArchive extends Archive{constructor(e){super();this.assets=Promise.resolve(e)}}t.AssetArchive=AssetArchive;class FileArchive extends Archive{constructor(e){super();this.path=Promise.resolve(e)}}t.FileArchive=FileArchive;class RemoteArchive extends Archive{constructor(e){super();this.uri=Promise.resolve(e)}}t.RemoteArchive=RemoteArchive},7574:function(e,t,r){"use strict";var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(Object.hasOwnProperty.call(e,r))t[r]=e[r];t["default"]=e;return t};Object.defineProperty(t,"__esModule",{value:true});const s=i(r(7812));class Asset{constructor(){this.__pulumiAsset=true}static isInstance(e){return s.isInstance(e,"__pulumiAsset")}}t.Asset=Asset;class FileAsset extends Asset{constructor(e){super();this.path=Promise.resolve(e)}}t.FileAsset=FileAsset;class StringAsset extends Asset{constructor(e){super();this.text=Promise.resolve(e)}}t.StringAsset=StringAsset;class RemoteAsset extends Asset{constructor(e){super();this.uri=Promise.resolve(e)}}t.RemoteAsset=RemoteAsset},4058:(e,t,r)=>{"use strict";function __export(e){for(var r in e)if(!t.hasOwnProperty(r))t[r]=e[r]}Object.defineProperty(t,"__esModule",{value:true});__export(r(4352));__export(r(7574))},1118:function(e,t,r){"use strict";var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(Object.hasOwnProperty.call(e,r))t[r]=e[r];t["default"]=e;return t};Object.defineProperty(t,"__esModule",{value:true});const s=i(r(386));const n=i(r(7812));class RunError extends Error{constructor(){super(...arguments);this.__pulumiRunError=true}static isInstance(e){return n.isInstance(e,"__pulumiRunError")}}t.RunError=RunError;class ResourceError extends Error{constructor(e,t,r){super(e);this.resource=t;this.hideStack=r;this.__pulumResourceError=true}static isInstance(e){return n.isInstance(e,"__pulumResourceError")}}t.ResourceError=ResourceError;function isGrpcError(e){const t=e.code;return t===s.status.UNAVAILABLE||t===s.status.CANCELLED}t.isGrpcError=isGrpcError;class InputPropertyError extends Error{constructor(e){super(e.reason);this.__pulumiInputPropertyError=true;this.propertyPath=e.propertyPath;this.reason=e.reason}static isInstance(e){return n.isInstance(e,"__pulumiInputPropertyError")}}t.InputPropertyError=InputPropertyError;class InputPropertiesError extends Error{constructor(e){super(e.message);this.__pulumiInputPropertiesError=true;this.message=e.message;this.errors=e.errors}static isInstance(e){return n.isInstance(e,"__pulumiInputPropertiesError")}}t.InputPropertiesError=InputPropertiesError},9128:function(e,t,r){"use strict";var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(Object.hasOwnProperty.call(e,r))t[r]=e[r];t["default"]=e;return t};Object.defineProperty(t,"__esModule",{value:true});const s=i(r(3509));const n=r(4213);const o=r(9623);let u=Promise.resolve();const a={[s.LogSeverity.DEBUG]:"debug",[s.LogSeverity.INFO]:"info",[s.LogSeverity.WARNING]:"warn",[s.LogSeverity.ERROR]:"error"};function hasErrors(){return o.getStore().logErrorCount>0}t.hasErrors=hasErrors;function debug(e,t,r,i){const o=n.getEngine();if(o){return log(o,s.LogSeverity.DEBUG,e,t,r,i)}else{return Promise.resolve()}}t.debug=debug;function info(e,t,r,i){const o=n.getEngine();if(o){return log(o,s.LogSeverity.INFO,e,t,r,i)}else{console.log(`info: [runtime] ${e}`);return Promise.resolve()}}t.info=info;function warn(e,t,r,i){const o=n.getEngine();if(o){return log(o,s.LogSeverity.WARNING,e,t,r,i)}else{console.warn(`warning: [runtime] ${e}`);return Promise.resolve()}}t.warn=warn;function error(e,t,r,i){o.getStore().logErrorCount++;const u=n.getEngine();if(u){return log(u,s.LogSeverity.ERROR,e,t,r,i)}else{console.error(`error: [runtime] ${e}`);return Promise.resolve()}}t.error=error;function log(e,t,r,i,o,p){const l=n.rpcKeepAlive();const c=i?i.urn.promise():Promise.resolve("");u=Promise.all([u,c]).then((([i,n])=>new Promise(((i,u)=>{try{const u=new s.LogRequest;u.setSeverity(t);u.setMessage(r);u.setUrn(n);u.setStreamid(o===undefined?0:o);u.setEphemeral(p===true);e.log(u,(()=>{i();l()}))}catch(e){u(e)}}))));return u.catch((e=>{if(t!==s.LogSeverity.DEBUG){console.error(`failed to deliver log message. \nerror: ${e} \noriginal message: ${r}\n message severity: ${a[t]}`)}l()}))}},3016:function(e,t,r){"use strict";var i=this&&this.__awaiter||function(e,t,r,i){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function fulfilled(e){try{step(i.next(e))}catch(e){s(e)}}function rejected(e){try{step(i["throw"](e))}catch(e){s(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((i=i.apply(e,t||[])).next())}))};var s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(Object.hasOwnProperty.call(e,r))t[r]=e[r];t["default"]=e;return t};Object.defineProperty(t,"__esModule",{value:true});const n=r(6005);const o=s(r(7812));class OutputToStringError extends Error{constructor(){super(`Calling [toString] on an [Output<T>] is not supported.\n\nTo get the value of an Output<T> as an Output<string> consider either:\n1: o.apply(v => \`prefix\${v}suffix\`)\n2: pulumi.interpolate \`prefix\${v}suffix\`\n\nSee https://www.pulumi.com/docs/concepts/inputs-outputs for more details.\n\nOr use ESLint with https://github.com/pulumi/eslint-plugin-pulumi to warn or\nerror lint on using Output<T> in template literals.`);this.__pulumiOutputToStringError=true}static isInstance(e){return o.isInstance(e,"__pulumiOutputToStringError")}}t.OutputToStringError=OutputToStringError;class OutputImpl{constructor(e,r,i,s,n){this.__pulumiOutput=true;const u=copyResources(e);n=n||Promise.resolve([]);const a=n.then((e=>o.union(copyResources(e),u)));i=Promise.all([i,r]).then((([e,t])=>e&&!containsUnknowns(t)));const p=Promise.all([a,r,i,s]).then((([e,t,r,i])=>liftInnerOutput(e,t,r,i)));this.resources=()=>u;this.allResources=()=>p.then((e=>e.allResources));this.isKnown=p.then((e=>e.isKnown));this.isSecret=p.then((e=>e.isSecret));this.promise=e=>OutputImpl.getPromisedValue(p.then((e=>e.value)),e);this.toString=()=>{const e=new OutputToStringError;if(o.errorOutputString){throw e}let t=e.message;t+=`\nThis function may throw in a future version of @pulumi/pulumi.`;return t};this.toJSON=()=>{let e=`Calling [toJSON] on an [Output<T>] is not supported.\n\nTo get the value of an Output as a JSON value or JSON string consider either:\n 1: o.apply(v => v.toJSON())\n 2: o.apply(v => JSON.stringify(v))\n\nSee https://www.pulumi.com/docs/concepts/inputs-outputs for more details.`;if(o.errorOutputString){throw new Error(e)}e+=`\nThis function may throw in a future version of @pulumi/pulumi.`;return e};return new Proxy(this,{get:(e,r)=>{for(let t=e;t;t=Object.getPrototypeOf(t)){if(t.hasOwnProperty(r)){return t[r]}}if(r==="then"){return undefined}if(typeof r==="string"){if(r.startsWith("__")||r==="doNotCapture"||r==="deploymentOnlyModule"){return undefined}}if(typeof r==="symbol"){return undefined}return e.apply((e=>{if(e===undefined||e===null){return undefined}else if(isUnknown(e)){return t.unknown}return e[r]}),true)}})}static create(e){return output(e)}static isInstance(e){return o.isInstance(e,"__pulumiOutput")}static getPromisedValue(e,t){return i(this,void 0,void 0,(function*(){const r=yield e;if(!t&&containsUnknowns(r)){return undefined}return r}))}get(){throw new Error(`Cannot call '.get' during update or preview.\nTo manipulate the value of this Output, use '.apply' instead.`)}apply(e,t){const r=Promise.all([this.allResources(),this.promise(true),this.isKnown,this.isSecret]).then((([r,i,s,n])=>applyHelperAsync(r,i,s,n,e,!!t)));const i=new OutputImpl(this.resources(),r.then((e=>e.value)),r.then((e=>e.isKnown)),r.then((e=>e.isSecret)),r.then((e=>e.allResources)));return i}}function deferredOutput(){let e;let r;let i;let s;let n;let o;let u;let a;let p=false;const resolve=t=>{if(p){throw new Error("Deferred Output has already been resolved")}p=true;t.promise().then(e,r);t.isKnown.then(i,s);t.isSecret.then(n,o);if(t.allResources){t.allResources().then(u,a)}};const l=new t.Output(new Set,new Promise(((t,i)=>{e=t;r=i})),new Promise(((e,t)=>{i=e;s=t})),new Promise(((e,t)=>{n=e;o=t})),new Promise(((e,t)=>{u=e;a=t})));return[l,resolve]}t.deferredOutput=deferredOutput;function getAllResources(e){return e.allResources instanceof Function?e.allResources():Promise.resolve(e.resources())}t.getAllResources=getAllResources;function copyResources(e){const t=Array.isArray(e)?new Set(e):e instanceof Set?new Set(e):new Set([e]);return t}function liftInnerOutput(e,r,s,n){return i(this,void 0,void 0,(function*(){if(!t.Output.isInstance(r)){return{allResources:e,value:r,isKnown:s,isSecret:n}}const i=yield r.promise(true);const u=yield r.isKnown;const a=yield r.isSecret||Promise.resolve(false);const p=yield getAllResources(r);const l=o.union(e,p);return{allResources:l,value:i,isKnown:u,isSecret:n||a}}))}function applyHelperAsync(e,r,s,n,o,u){return i(this,void 0,void 0,(function*(){const i=s||u;if(!i){return{allResources:e,value:undefined,isKnown:false,isSecret:n}}if(!s&&u&&!containsUnknowns(r)){r=t.unknown}const a=yield o(r);return liftInnerOutput(e,a,true,n)}))}function isSecretOutput(e){return isSecret(e)}t.isSecretOutput=isSecretOutput;function outputRec(e,r,i){if(e===null||typeof e!=="object"){return e}if(n.Resource.isInstance(e)){return e}if(isUnknown(e)){return e}if(e instanceof Promise){return createSimpleOutput(e.then((e=>outputRec(e,r,i))))}if(t.Output.isInstance(e)){const t=getAllResources(e);const s=new OutputImpl(e.resources(),e.promise(true),e.isKnown,e.isSecret,t);return s.apply((e=>outputRec(e,r,i)),true)}r=new Set(r);i=i!==null&&i!==void 0?i:new Error("Cannot create an Output from a circular structure");if(r.has(e)){throw i}r.add(e);if(e instanceof Array){const s=[];let n=false;for(const o of e){const e=outputRec(o,r,i);s.push(e);if(t.Output.isInstance(e)){n=true}}if(!n){return s}const o=Promise.all(s.map((e=>getAwaitableValue(e))));const[u,a,p,l]=getResourcesAndDetails(s);return new t.Output(u,o,a,p,l)}const s=[];let o=false;for(const n of Object.keys(e)){const u=outputRec(e[n],r,i);s.push({key:n,value:u});if(t.Output.isInstance(u)){o=true}}if(!o){return s.reduce(((e,t)=>{e[t.key]=t.value;return e}),{})}const u=getPromisedObject(s);const[a,p,l,c]=getResourcesAndDetails(s.map((e=>e.value)));return new t.Output(a,u,p,l,c)}function output(e){const r=outputRec(e);return t.Output.isInstance(r)?r:createSimpleOutput(r)}t.output=output;function secret(e){const r=output(e);return new t.Output(r.resources(),r.promise(true),r.isKnown,Promise.resolve(true),r.allResources())}t.secret=secret;function unsecret(e){return new t.Output(e.resources(),e.promise(true),e.isKnown,Promise.resolve(false),e.allResources())}t.unsecret=unsecret;function isSecret(e){return t.Output.isInstance(e.isSecret)?Promise.resolve(false):e.isSecret}t.isSecret=isSecret;function createSimpleOutput(e){return new t.Output(new Set,e instanceof Promise?e:Promise.resolve(e),Promise.resolve(true),Promise.resolve(false),Promise.resolve(new Set))}function all(e){return output(e)}t.all=all;function getAwaitableValue(e){if(t.Output.isInstance(e)){return e.promise(true)}else{return e}}function getPromisedObject(e){return i(this,void 0,void 0,(function*(){const t={};for(const r of e){t[r.key]=yield getAwaitableValue(r.value)}return t}))}function getResourcesAndDetails(e){const r=new Set;const i=[];for(const s of e){if(t.Output.isInstance(s)){i.push(s);for(const e of s.resources()){r.add(e)}}}const s=Promise.all(i.map((e=>e.allResources()))).then((e=>{const t=new Set;for(const r of e){for(const e of r){t.add(e)}}return t}));const n=Promise.all(i.map((e=>e.isKnown))).then((e=>e.every((e=>e))));const o=Promise.all(i.map((e=>isSecretOutput(e)))).then((e=>e.some((e=>e))));return[r,n,o,s]}class Unknown{constructor(){this.__pulumiUnknown=true}static isInstance(e){return o.isInstance(e,"__pulumiUnknown")}}t.unknown=new Unknown;function isUnknown(e){return Unknown.isInstance(e)}t.isUnknown=isUnknown;function containsUnknowns(e){return impl(e,new Set);function impl(e,t){if(e===null||typeof e!=="object"){return false}else if(isUnknown(e)){return true}else if(t.has(e)){return false}t.add(e);if(e instanceof Array){return e.some((e=>impl(e,t)))}else{return Object.keys(e).some((r=>impl(e[r],t)))}}}t.containsUnknowns=containsUnknowns;t.Output=OutputImpl;function concat(...e){return output(e).apply((e=>e.join("")))}t.concat=concat;function interpolate(e,...t){return output(t).apply((t=>{let r="";for(let i=0;i<t.length;i++){r+=e[i];r+=t[i]}r+=e[e.length-1];return r}))}t.interpolate=interpolate;function jsonStringify(e,t,r){return output(e).apply((e=>JSON.stringify(e,t,r)))}t.jsonStringify=jsonStringify;function jsonParse(e,t){return output(e).apply((e=>JSON.parse(e,t)))}t.jsonParse=jsonParse},7809:(e,t,r)=>{var i=r(3716);var s=i;var n={pulumirpc:{codegen:{},testing:{}}},o=n;s.exportSymbol("proto.pulumirpc.Alias",null,o);s.exportSymbol("proto.pulumirpc.Alias.AliasCase",null,o);s.exportSymbol("proto.pulumirpc.Alias.Spec",null,o);s.exportSymbol("proto.pulumirpc.Alias.Spec.ParentCase",null,o);n.pulumirpc.Alias=function(e){i.Message.initialize(this,e,0,-1,null,n.pulumirpc.Alias.oneofGroups_)};s.inherits(n.pulumirpc.Alias,i.Message);if(s.DEBUG&&!COMPILED){n.pulumirpc.Alias.displayName="proto.pulumirpc.Alias"}n.pulumirpc.Alias.Spec=function(e){i.Message.initialize(this,e,0,-1,null,n.pulumirpc.Alias.Spec.oneofGroups_)};s.inherits(n.pulumirpc.Alias.Spec,i.Message);if(s.DEBUG&&!COMPILED){n.pulumirpc.Alias.Spec.displayName="proto.pulumirpc.Alias.Spec"}n.pulumirpc.Alias.oneofGroups_=[[1,2]];n.pulumirpc.Alias.AliasCase={ALIAS_NOT_SET:0,URN:1,SPEC:2};n.pulumirpc.Alias.prototype.getAliasCase=function(){return i.Message.computeOneofCase(this,n.pulumirpc.Alias.oneofGroups_[0])};if(i.Message.GENERATE_TO_OBJECT){n.pulumirpc.Alias.prototype.toObject=function(e){return n.pulumirpc.Alias.toObject(e,this)};n.pulumirpc.Alias.toObject=function(e,t){var r,s={urn:i.Message.getFieldWithDefault(t,1,""),spec:(r=t.getSpec())&&n.pulumirpc.Alias.Spec.toObject(e,r)};if(e){s.$jspbMessageInstance=t}return s}}n.pulumirpc.Alias.deserializeBinary=function(e){var t=new i.BinaryReader(e);var r=new n.pulumirpc.Alias;return n.pulumirpc.Alias.deserializeBinaryFromReader(r,t)};n.pulumirpc.Alias.deserializeBinaryFromReader=function(e,t){while(t.nextField()){if(t.isEndGroup()){break}var r=t.getFieldNumber();switch(r){case 1:var i=t.readString();e.setUrn(i);break;case 2:var i=new n.pulumirpc.Alias.Spec;t.readMessage(i,n.pulumirpc.Alias.Spec.deserializeBinaryFromReader);e.setSpec(i);break;default:t.skipField();break}}return e};n.pulumirpc.Alias.prototype.serializeBinary=function(){var e=new i.BinaryWriter;n.pulumirpc.Alias.serializeBinaryToWriter(this,e);return e.getResultBuffer()};n.pulumirpc.Alias.serializeBinaryToWriter=function(e,t){var r=undefined;r=i.Message.getField(e,1);if(r!=null){t.writeString(1,r)}r=e.getSpec();if(r!=null){t.writeMessage(2,r,n.pulumirpc.Alias.Spec.serializeBinaryToWriter)}};n.pulumirpc.Alias.Spec.oneofGroups_=[[5,6]];n.pulumirpc.Alias.Spec.ParentCase={PARENT_NOT_SET:0,PARENTURN:5,NOPARENT:6};n.pulumirpc.Alias.Spec.prototype.getParentCase=function(){return i.Message.computeOneofCase(this,n.pulumirpc.Alias.Spec.oneofGroups_[0])};if(i.Message.GENERATE_TO_OBJECT){n.pulumirpc.Alias.Spec.prototype.toObject=function(e){return n.pulumirpc.Alias.Spec.toObject(e,this)};n.pulumirpc.Alias.Spec.toObject=function(e,t){var r,s={name:i.Message.getFieldWithDefault(t,1,""),type:i.Message.getFieldWithDefault(t,2,""),stack:i.Message.getFieldWithDefault(t,3,""),project:i.Message.getFieldWithDefault(t,4,""),parenturn:i.Message.getFieldWithDefault(t,5,""),noparent:i.Message.getBooleanFieldWithDefault(t,6,false)};if(e){s.$jspbMessageInstance=t}return s}}n.pulumirpc.Alias.Spec.deserializeBinary=function(e){var t=new i.BinaryReader(e);var r=new n.pulumirpc.Alias.Spec;return n.pulumirpc.Alias.Spec.deserializeBinaryFromReader(r,t)};n.pulumirpc.Alias.Spec.deserializeBinaryFromReader=function(e,t){while(t.nextField()){if(t.isEndGroup()){break}var r=t.getFieldNumber();switch(r){case 1:var i=t.readString();e.setName(i);break;case 2:var i=t.readString();e.setType(i);break;case 3:var i=t.readString();e.setStack(i);break;case 4:var i=t.readString();e.setProject(i);break;case 5:var i=t.readString();e.setParenturn(i);break;case 6:var i=t.readBool();e.setNoparent(i);break;default:t.skipField();break}}return e};n.pulumirpc.Alias.Spec.prototype.serializeBinary=function(){var e=new i.BinaryWriter;n.pulumirpc.Alias.Spec.serializeBinaryToWriter(this,e);return e.getResultBuffer()};n.pulumirpc.Alias.Spec.serializeBinaryToWriter=function(e,t){var r=undefined;r=e.getName();if(r.length>0){t.writeString(1,r)}r=e.getType();if(r.length>0){t.writeString(2,r)}r=e.getStack();if(r.length>0){t.writeString(3,r)}r=e.getProject();if(r.length>0){t.writeString(4,r)}r=i.Message.getField(e,5);if(r!=null){t.writeString(5,r)}r=i.Message.getField(e,6);if(r!=null){t.writeBool(6,r)}};n.pulumirpc.Alias.Spec.prototype.getName=function(){return i.Message.getFieldWithDefault(this,1,"")};n.pulumirpc.Alias.Spec.prototype.setName=function(e){return i.Message.setProto3StringField(this,1,e)};n.pulumirpc.Alias.Spec.prototype.getType=function(){return i.Message.getFieldWithDefault(this,2,"")};n.pulumirpc.Alias.Spec.prototype.setType=function(e){return i.Message.setProto3StringField(this,2,e)};n.pulumirpc.Alias.Spec.prototype.getStack=function(){return i.Message.getFieldWithDefault(this,3,"")};n.pulumirpc.Alias.Spec.prototype.setStack=function(e){return i.Message.setProto3StringField(this,3,e)};n.pulumirpc.Alias.Spec.prototype.getProject=function(){return i.Message.getFieldWithDefault(this,4,"")};n.pulumirpc.Alias.Spec.prototype.setProject=function(e){return i.Message.setProto3StringField(this,4,e)};n.pulumirpc.Alias.Spec.prototype.getParenturn=function(){return i.Message.getFieldWithDefault(this,5,"")};n.pulumirpc.Alias.Spec.prototype.setParenturn=function(e){return i.Message.setOneofField(this,5,n.pulumirpc.Alias.Spec.oneofGroups_[0],e)};n.pulumirpc.Alias.Spec.prototype.clearParenturn=function(){return i.Message.setOneofField(this,5,n.pulumirpc.Alias.Spec.oneofGroups_[0],undefined)};n.pulumirpc.Alias.Spec.prototype.hasParenturn=function(){return i.Message.getField(this,5)!=null};n.pulumirpc.Alias.Spec.prototype.getNoparent=function(){return i.Message.getBooleanFieldWithDefault(this,6,false)};n.pulumirpc.Alias.Spec.prototype.setNoparent=function(e){return i.Message.setOneofField(this,6,n.pulumirpc.Alias.Spec.oneofGroups_[0],e)};n.pulumirpc.Alias.Spec.prototype.clearNoparent=function(){return i.Message.setOneofField(this,6,n.pulumirpc.Alias.Spec.oneofGroups_[0],undefined)};n.pulumirpc.Alias.Spec.prototype.hasNoparent=function(){return i.Message.getField(this,6)!=null};n.pulumirpc.Alias.prototype.getUrn=function(){return i.Message.getFieldWithDefault(this,1,"")};n.pulumirpc.Alias.prototype.setUrn=function(e){return i.Message.setOneofField(this,1,n.pulumirpc.Alias.oneofGroups_[0],e)};n.pulumirpc.Alias.prototype.clearUrn=function(){return i.Message.setOneofField(this,1,n.pulumirpc.Alias.oneofGroups_[0],undefined)};n.pulumirpc.Alias.prototype.hasUrn=function(){return i.Message.getField(this,1)!=null};n.pulumirpc.Alias.prototype.getSpec=function(){return i.Message.getWrapperField(this,n.pulumirpc.Alias.Spec,2)};n.pulumirpc.Alias.prototype.setSpec=function(e){return i.Message.setOneofWrapperField(this,2,n.pulumirpc.Alias.oneofGroups_[0],e)};n.pulumirpc.Alias.prototype.clearSpec=function(){return this.setSpec(undefined)};n.pulumirpc.Alias.prototype.hasSpec=function(){return i.Message.getField(this,2)!=null};s.object.extend(t,n.pulumirpc)},1828:(e,t,r)=>{"use strict";var i=r(386);var s=r(4797);var n=r(2838);var o=r(2577);var u=r(1065);function serialize_google_protobuf_Empty(e){if(!(e instanceof o.Empty)){throw new Error("Expected argument of type google.protobuf.Empty")}return Buffer.from(e.serializeBinary())}function deserialize_google_protobuf_Empty(e){return o.Empty.deserializeBinary(new Uint8Array(e))}function serialize_pulumirpc_AnalyzeRequest(e){if(!(e instanceof s.AnalyzeRequest)){throw new Error("Expected argument of type pulumirpc.AnalyzeRequest")}return Buffer.from(e.serializeBinary())}function deserialize_pulumirpc_AnalyzeRequest(e){return s.AnalyzeRequest.deserializeBinary(new Uint8Array(e))}function serialize_pulumirpc_AnalyzeResponse(e){if(!(e instanceof s.AnalyzeResponse)){throw new Error("Expected argument of type pulumirpc.AnalyzeResponse")}return Buffer.from(e.serializeBinary())}function deserialize_pulumirpc_AnalyzeResponse(e){return s.AnalyzeResponse.deserializeBinary(new Uint8Array(e))}function serialize_pulumirpc_AnalyzeStackRequest(e){if(!(e instanceof s.AnalyzeStackRequest)){throw new Error("Expected argument of type pulumirpc.AnalyzeStackRequest")}return Buffer.from(e.serializeBinary())}function deserialize_pulumirpc_AnalyzeStackRequest(e){return s.AnalyzeStackRequest.deserializeBinary(new Uint8Array(e))}function serialize_pulumirpc_AnalyzerInfo(e){if(!(e instanceof s.AnalyzerInfo)){throw new Error("Expected argument of type pulumirpc.AnalyzerInfo")}return Buffer.from(e.serializeBinary())}function deserialize_pulumirpc_AnalyzerInfo(e){return s.AnalyzerInfo.deserializeBinary(new Uint8Array(e))}function serialize_pulumirpc_ConfigureAnalyzerRequest(e){if(!(e instanceof s.ConfigureAnalyzerRequest)){throw new Error("Expected argument of type pulumirpc.ConfigureAnalyzerRequest")}return Buffer.from(e.serializeBinary())}function deserialize_pulumirpc_ConfigureAnalyzerRequest(e){return s.ConfigureAnalyzerRequest.deserializeBinary(new Uint8Array(e))}function serialize_pulumirpc_PluginInfo(e){if(!(e instanceof n.PluginInfo)){throw new Error("Expected argument of type pulumirpc.PluginInfo")}return Buffer.from(e.serializeBinary())}function deserialize_pulumirpc_PluginInfo(e){return n.PluginInfo.deserializeBinary(new Uint8Array(e))}function serialize_pulumirpc_RemediateResponse(e){if(!(e instanceof s.RemediateResponse)){throw new Error("Expected argument of type pulumirpc.RemediateResponse")}return Buffer.from(e.serializeBinary())}function deserialize_pulumirpc_RemediateResponse(e){return s.RemediateResponse.deserializeBinary(new Uint8Array(e))}var a=t.AnalyzerService={analyze:{path:"/pulumirpc.Analyzer/Analyze",requestStream:false,responseStream:false,requestType:s.AnalyzeRequest,responseType:s.AnalyzeResponse,requestSerialize:serialize_pulumirpc_AnalyzeRequest,requestDeserialize:deserialize_pulumirpc_AnalyzeRequest,responseSerialize:serialize_pulumirpc_AnalyzeResponse,responseDeserialize:deserialize_pulumirpc_AnalyzeResponse},analyzeStack:{path:"/pulumirpc.Analyzer/AnalyzeStack",requestStream:false,responseStream:false,requestType:s.AnalyzeStackRequest,responseType:s.AnalyzeResponse,requestSerialize:serialize_pulumirpc_AnalyzeStackRequest,requestDeserialize:deserialize_pulumirpc_AnalyzeStackRequest,responseSerialize:serialize_pulumirpc_AnalyzeResponse,responseDeserialize:deserialize_pulumirpc_AnalyzeResponse},remediate:{path:"/pulumirpc.Analyzer/Remediate",requestStream:false,responseStream:false,requestType:s.AnalyzeRequest,responseType:s.RemediateResponse,requestSerialize:serialize_pulumirpc_AnalyzeRequest,requestDeserialize:deserialize_pulumirpc_AnalyzeRequest,responseSerialize:serialize_pulumirpc_RemediateResponse,responseDeserialize:deserialize_pulumirpc_RemediateResponse},getAnalyzerInfo:{path:"/pulumirpc.Analyzer/GetAnalyzerInfo",requestStream:false,responseStream:false,requestType:o.Empty,responseType:s.AnalyzerInfo,requestSerialize:serialize_google_protobuf_Empty,requestDeserialize:deserialize_google_protobuf_Empty,responseSerialize:serialize_pulumirpc_AnalyzerInfo,responseDeserialize:deserialize_pulumirpc_AnalyzerInfo},getPluginInfo:{path:"/pulumirpc.Analyzer/GetPluginInfo",requestStream:false,responseStream:false,requestType:o.Empty,responseType:n.PluginInfo,requestSerialize:serialize_google_protobuf_Empty,requestDeserialize:deserialize_google_protobuf_Empty,responseSerialize:serialize_pulumirpc_PluginInfo,responseDeserialize:deserialize_pulumirpc_PluginInfo},configure:{path:"/pulumirpc.Analyzer/Configure",requestStream:false,responseStream:false,requestType:s.ConfigureAnalyzerRequest,responseType:o.Empty,requestSerialize:serialize_pulumirpc_ConfigureAnalyzerRequest,requestDeserialize:deserialize_pulumirpc_ConfigureAnalyzerRequest,responseSerialize:serialize_google_protobuf_Empty,responseDeserialize:deserialize_google_protobuf_Empty}};t.AnalyzerClient=i.makeGenericClientConstructor(a)},4797:(e,t,r)=>{var i=r(3716);var s=i;var n={pulumirpc:{codegen:{},testing:{}}},o=n;var u=r(2838);s.object.extend(n,u);var a=r(2577);s.object.extend(n,a);var p=r(1065);s.object.extend(n,p);s.exportSymbol("proto.pulumirpc.AnalyzeDiagnostic",null,o);s.exportSymbol("proto.pulumirpc.AnalyzeRequest",null,o);s.exportSymbol("proto.pulumirpc.AnalyzeResponse",null,o);s.exportSymbol("proto.pulumirpc.AnalyzeStackRequest",null,o);s.exportSymbol("proto.pulumirpc.AnalyzerInfo",null,o);s.exportSymbol("proto.pulumirpc.AnalyzerPropertyDependencies",null,o);s.exportSymbol("proto.pulumirpc.AnalyzerProviderResource",null,o);s.exportSymbol("proto.pulumirpc.AnalyzerResource",null,o);s.exportSymbol("proto.pulumirpc.AnalyzerResourceOptions",null,o);s.exportSymbol("proto.pulumirpc.AnalyzerResourceOptions.CustomTimeouts",null,o);s.exportSymbol("proto.pulumirpc.ConfigureAnalyzerRequest",null,o);s.exportSymbol("proto.pulumirpc.EnforcementLevel",null,o);s.exportSymbol("proto.pulumirpc.PolicyConfig",null,o);s.exportSymbol("proto.pulumirpc.PolicyConfigSchema",null,o);s.exportSymbol("proto.pulumirpc.PolicyInfo",null,o);s.exportSymbol("proto.pulumirpc.RemediateResponse",null,o);s.exportSymbol("proto.pulumirpc.Remediation",null,o);n.pulumirpc.AnalyzeRequest=function(e){i.Message.initialize(this,e,0,-1,null,null)};s.inherits(n.pulumirpc.AnalyzeRequest,i.Message);if(s.DEBUG&&!COMPILED){n.pulumirpc.AnalyzeRequest.displayName="proto.pulumirpc.AnalyzeRequest"}n.pulumirpc.AnalyzerResource=function(e){i.Message.initialize(this,e,0,-1,n.pulumirpc.AnalyzerResource.repeatedFields_,null)};s.inherits(n.pulumirpc.AnalyzerResource,i.Message);if(s.DEBUG&&!COMPILED){n.pulumirpc.AnalyzerResource.displayName="proto.pulumirpc.AnalyzerResource"}n.pulumirpc.AnalyzerResourceOptions=function(e){i.Message.initialize(this,e,0,-1,n.pulumirpc.AnalyzerResourceOptions.repeatedFields_,null)};s.inherits(n.pulumirpc.AnalyzerResourceOptions,i.Message);if(s.DEBUG&&!COMPILED){n.pulumirpc.AnalyzerResourc