@forge/util

2.0.12.0.1-experimental-7890858
packages/ari/passionfruit/index.js
~packages/ari/passionfruit/index.jsModified
+219−60
Index: package/packages/ari/passionfruit/index.js
===================================================================
--- package/packages/ari/passionfruit/index.js
+++ package/packages/ari/passionfruit/index.js
@@ -25,8 +25,11 @@
   PassionfruitDependencyAri: () => PassionfruitDependencyAri,
   PassionfruitDependencyCommentAri: () => PassionfruitDependencyCommentAri,
   PassionfruitDependencyRelatedContentAri: () => PassionfruitDependencyRelatedContentAri,
   PassionfruitDependencyUpdateAri: () => PassionfruitDependencyUpdateAri,
+  PassionfruitPlanAri: () => PassionfruitPlanAri,
+  PassionfruitPlanScenarioAri: () => PassionfruitPlanScenarioAri,
+  PassionfruitPlanScenarioInvestmentAri: () => PassionfruitPlanScenarioInvestmentAri,
   PassionfruitRoleAri: () => PassionfruitRoleAri,
   PassionfruitSiteAri: () => PassionfruitSiteAri,
   PassionfruitUserAri: () => PassionfruitUserAri,
   PassionfruitWorkspaceAri: () => PassionfruitWorkspaceAri
@@ -287,32 +290,29 @@
   }
 };
 
 // src/passionfruit/ask/types.ts
-var PassionfruitAskAriResourceOwner = "passionfruit", PassionfruitAskAriResourceType = "ask";
+var PassionfruitAskAriResourceOwner = "passionfruit";
 
 // src/passionfruit/ask/manifest.ts
 var passionfruitAskAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: PassionfruitAskAriResourceOwner,
-  resourceType: PassionfruitAskAriResourceType,
+  resourceType: "ask",
   resourceIdSlug: "workspace/{activationId}/{askId}",
   resourceIdSegmentFormats: {
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
     askId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
-    // eslint-disable-line no-useless-escape
   }
 };
 
 // src/passionfruit/ask/index.ts
 var PassionfruitAskAri = class _PassionfruitAskAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._askId = opts.resourceIdSegmentValues.askId;
+    super(opts), this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._askId = opts.resourceIdSegmentValues.askId;
   }
   get siteId() {
     return this._siteId;
   }
@@ -357,27 +357,23 @@
 var passionfruitAskActivityAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: PassionfruitAskActivityAriResourceOwner,
   resourceType: PassionfruitAskActivityAriResourceType,
   resourceIdSlug: "workspace/{activationId}/{askId}/{askActivityId}",
   resourceIdSegmentFormats: {
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
     askId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
-    // eslint-disable-line no-useless-escape
     askActivityId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
-    // eslint-disable-line no-useless-escape
   }
 };
 
 // src/passionfruit/ask-activity/index.ts
 var PassionfruitAskActivityAri = class _PassionfruitAskActivityAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._askId = opts.resourceIdSegmentValues.askId, this._askActivityId = opts.resourceIdSegmentValues.askActivityId;
+    super(opts), this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._askId = opts.resourceIdSegmentValues.askId, this._askActivityId = opts.resourceIdSegmentValues.askActivityId;
   }
   get siteId() {
     return this._siteId;
   }
@@ -427,27 +423,23 @@
 var passionfruitAskCommentAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: PassionfruitAskCommentAriResourceOwner,
   resourceType: PassionfruitAskCommentAriResourceType,
   resourceIdSlug: "workspace/{activationId}/{askId}/{commentId}",
   resourceIdSegmentFormats: {
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
     askId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
-    // eslint-disable-line no-useless-escape
     commentId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
-    // eslint-disable-line no-useless-escape
   }
 };
 
 // src/passionfruit/ask-comment/index.ts
 var PassionfruitAskCommentAri = class _PassionfruitAskCommentAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._askId = opts.resourceIdSegmentValues.askId, this._commentId = opts.resourceIdSegmentValues.commentId;
+    super(opts), this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._askId = opts.resourceIdSegmentValues.askId, this._commentId = opts.resourceIdSegmentValues.commentId;
   }
   get siteId() {
     return this._siteId;
   }
@@ -497,27 +489,23 @@
 var passionfruitAskLinkAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: PassionfruitAskLinkAriResourceOwner,
   resourceType: PassionfruitAskLinkAriResourceType,
   resourceIdSlug: "workspace/{activationId}/{askId}/{linkId}",
   resourceIdSegmentFormats: {
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
     askId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
-    // eslint-disable-line no-useless-escape
     linkId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
-    // eslint-disable-line no-useless-escape
   }
 };
 
 // src/passionfruit/ask-link/index.ts
 var PassionfruitAskLinkAri = class _PassionfruitAskLinkAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._askId = opts.resourceIdSegmentValues.askId, this._linkId = opts.resourceIdSegmentValues.linkId;
+    super(opts), this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._askId = opts.resourceIdSegmentValues.askId, this._linkId = opts.resourceIdSegmentValues.linkId;
   }
   get siteId() {
     return this._siteId;
   }
@@ -567,27 +555,23 @@
 var passionfruitAskUpdateAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: PassionfruitAskUpdateAriResourceOwner,
   resourceType: PassionfruitAskUpdateAriResourceType,
   resourceIdSlug: "workspace/{activationId}/{askId}/{askUpdateId}",
   resourceIdSegmentFormats: {
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
     askId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
-    // eslint-disable-line no-useless-escape
     askUpdateId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
-    // eslint-disable-line no-useless-escape
   }
 };
 
 // src/passionfruit/ask-update/index.ts
 var PassionfruitAskUpdateAri = class _PassionfruitAskUpdateAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._askId = opts.resourceIdSegmentValues.askId, this._askUpdateId = opts.resourceIdSegmentValues.askUpdateId;
+    super(opts), this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._askId = opts.resourceIdSegmentValues.askId, this._askUpdateId = opts.resourceIdSegmentValues.askUpdateId;
   }
   get siteId() {
     return this._siteId;
   }
@@ -637,25 +621,22 @@
 var passionfruitDependencyAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: PassionfruitDependencyAriResourceOwner,
   resourceType: PassionfruitDependencyAriResourceType,
   resourceIdSlug: "workspace/{activationId}/{dependencyId}",
   resourceIdSegmentFormats: {
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
     dependencyId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
-    // eslint-disable-line no-useless-escape
   }
 };
 
 // src/passionfruit/dependency/index.ts
 var PassionfruitDependencyAri = class _PassionfruitDependencyAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._dependencyId = opts.resourceIdSegmentValues.dependencyId;
+    super(opts), this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._dependencyId = opts.resourceIdSegmentValues.dependencyId;
   }
   get siteId() {
     return this._siteId;
   }
@@ -700,27 +681,23 @@
 var passionfruitDependencyCommentAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: PassionfruitDependencyCommentAriResourceOwner,
   resourceType: PassionfruitDependencyCommentAriResourceType,
   resourceIdSlug: "workspace/{activationId}/{dependencyId}/{commentId}",
   resourceIdSegmentFormats: {
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
     dependencyId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
-    // eslint-disable-line no-useless-escape
     commentId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
-    // eslint-disable-line no-useless-escape
   }
 };
 
 // src/passionfruit/dependency-comment/index.ts
 var PassionfruitDependencyCommentAri = class _PassionfruitDependencyCommentAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._dependencyId = opts.resourceIdSegmentValues.dependencyId, this._commentId = opts.resourceIdSegmentValues.commentId;
+    super(opts), this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._dependencyId = opts.resourceIdSegmentValues.dependencyId, this._commentId = opts.resourceIdSegmentValues.commentId;
   }
   get siteId() {
     return this._siteId;
   }
@@ -770,27 +747,23 @@
 var passionfruitDependencyRelatedContentAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: PassionfruitDependencyRelatedContentAriResourceOwner,
   resourceType: PassionfruitDependencyRelatedContentAriResourceType,
   resourceIdSlug: "workspace/{activationId}/{dependencyId}/{relatedContentId}",
   resourceIdSegmentFormats: {
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
     dependencyId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
-    // eslint-disable-line no-useless-escape
     relatedContentId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
-    // eslint-disable-line no-useless-escape
   }
 };
 
 // src/passionfruit/dependency-related-content/index.ts
 var PassionfruitDependencyRelatedContentAri = class _PassionfruitDependencyRelatedContentAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._dependencyId = opts.resourceIdSegmentValues.dependencyId, this._relatedContentId = opts.resourceIdSegmentValues.relatedContentId;
+    super(opts), this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._dependencyId = opts.resourceIdSegmentValues.dependencyId, this._relatedContentId = opts.resourceIdSegmentValues.relatedContentId;
   }
   get siteId() {
     return this._siteId;
   }
@@ -840,27 +813,23 @@
 var passionfruitDependencyUpdateAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: PassionfruitDependencyUpdateAriResourceOwner,
   resourceType: PassionfruitDependencyUpdateAriResourceType,
   resourceIdSlug: "workspace/{activationId}/{dependencyId}/{dependencyUpdateId}",
   resourceIdSegmentFormats: {
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
     dependencyId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
-    // eslint-disable-line no-useless-escape
     dependencyUpdateId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
-    // eslint-disable-line no-useless-escape
   }
 };
 
 // src/passionfruit/dependency-update/index.ts
 var PassionfruitDependencyUpdateAri = class _PassionfruitDependencyUpdateAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._dependencyId = opts.resourceIdSegmentValues.dependencyId, this._dependencyUpdateId = opts.resourceIdSegmentValues.dependencyUpdateId;
+    super(opts), this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._dependencyId = opts.resourceIdSegmentValues.dependencyId, this._dependencyUpdateId = opts.resourceIdSegmentValues.dependencyUpdateId;
   }
   get siteId() {
     return this._siteId;
   }
@@ -902,31 +871,226 @@
     };
   }
 };
 
+// src/passionfruit/plan/types.ts
+var PassionfruitPlanAriResourceOwner = "passionfruit", PassionfruitPlanAriResourceType = "plan";
+
+// src/passionfruit/plan/manifest.ts
+var passionfruitPlanAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  resourceOwner: PassionfruitPlanAriResourceOwner,
+  resourceType: PassionfruitPlanAriResourceType,
+  resourceIdSlug: "workspace/{activationId}/{planId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    planId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
+  }
+};
+
+// src/passionfruit/plan/index.ts
+var PassionfruitPlanAri = class _PassionfruitPlanAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts), this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._planId = opts.resourceIdSegmentValues.planId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get planId() {
+    return this._planId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: passionfruitPlanAriStaticOpts.qualifier,
+      platformQualifier: passionfruitPlanAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: passionfruitPlanAriStaticOpts.resourceOwner,
+      resourceType: passionfruitPlanAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.activationId}/${opts.planId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        planId: opts.planId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, passionfruitPlanAriStaticOpts);
+    return new _PassionfruitPlanAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, passionfruitPlanAriStaticOpts);
+    return new _PassionfruitPlanAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      planId: this.planId
+    };
+  }
+};
+
+// src/passionfruit/plan-scenario/types.ts
+var PassionfruitPlanScenarioAriResourceOwner = "passionfruit", PassionfruitPlanScenarioAriResourceType = "plan-scenario";
+
+// src/passionfruit/plan-scenario/manifest.ts
+var passionfruitPlanScenarioAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  resourceOwner: PassionfruitPlanScenarioAriResourceOwner,
+  resourceType: PassionfruitPlanScenarioAriResourceType,
+  resourceIdSlug: "workspace/{activationId}/{planId}/{scenarioId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    planId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
+    scenarioId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
+  }
+};
+
+// src/passionfruit/plan-scenario/index.ts
+var PassionfruitPlanScenarioAri = class _PassionfruitPlanScenarioAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts), this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._planId = opts.resourceIdSegmentValues.planId, this._scenarioId = opts.resourceIdSegmentValues.scenarioId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get planId() {
+    return this._planId;
+  }
+  get scenarioId() {
+    return this._scenarioId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: passionfruitPlanScenarioAriStaticOpts.qualifier,
+      platformQualifier: passionfruitPlanScenarioAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: passionfruitPlanScenarioAriStaticOpts.resourceOwner,
+      resourceType: passionfruitPlanScenarioAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.activationId}/${opts.planId}/${opts.scenarioId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        planId: opts.planId,
+        scenarioId: opts.scenarioId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, passionfruitPlanScenarioAriStaticOpts);
+    return new _PassionfruitPlanScenarioAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, passionfruitPlanScenarioAriStaticOpts);
+    return new _PassionfruitPlanScenarioAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      planId: this.planId,
+      scenarioId: this.scenarioId
+    };
+  }
+};
+
+// src/passionfruit/plan-scenario-investment/types.ts
+var PassionfruitPlanScenarioInvestmentAriResourceOwner = "passionfruit", PassionfruitPlanScenarioInvestmentAriResourceType = "plan-scenario-investment";
+
+// src/passionfruit/plan-scenario-investment/manifest.ts
+var passionfruitPlanScenarioInvestmentAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  resourceOwner: PassionfruitPlanScenarioInvestmentAriResourceOwner,
+  resourceType: PassionfruitPlanScenarioInvestmentAriResourceType,
+  resourceIdSlug: "workspace/{activationId}/{planId}/{scenarioId}/{investmentId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    planId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
+    scenarioId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
+    investmentId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
+  }
+};
+
+// src/passionfruit/plan-scenario-investment/index.ts
+var PassionfruitPlanScenarioInvestmentAri = class _PassionfruitPlanScenarioInvestmentAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts), this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._planId = opts.resourceIdSegmentValues.planId, this._scenarioId = opts.resourceIdSegmentValues.scenarioId, this._investmentId = opts.resourceIdSegmentValues.investmentId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get planId() {
+    return this._planId;
+  }
+  get scenarioId() {
+    return this._scenarioId;
+  }
+  get investmentId() {
+    return this._investmentId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: passionfruitPlanScenarioInvestmentAriStaticOpts.qualifier,
+      platformQualifier: passionfruitPlanScenarioInvestmentAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: passionfruitPlanScenarioInvestmentAriStaticOpts.resourceOwner,
+      resourceType: passionfruitPlanScenarioInvestmentAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.activationId}/${opts.planId}/${opts.scenarioId}/${opts.investmentId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        planId: opts.planId,
+        scenarioId: opts.scenarioId,
+        investmentId: opts.investmentId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, passionfruitPlanScenarioInvestmentAriStaticOpts);
+    return new _PassionfruitPlanScenarioInvestmentAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, passionfruitPlanScenarioInvestmentAriStaticOpts);
+    return new _PassionfruitPlanScenarioInvestmentAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      planId: this.planId,
+      scenarioId: this.scenarioId,
+      investmentId: this.investmentId
+    };
+  }
+};
+
 // src/passionfruit/role/types.ts
 var PassionfruitRoleAriResourceOwner = "passionfruit", PassionfruitRoleAriResourceType = "role";
 
 // src/passionfruit/role/manifest.ts
 var passionfruitRoleAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: PassionfruitRoleAriResourceOwner,
   resourceType: PassionfruitRoleAriResourceType,
   resourceIdSlug: "product/{roleType}",
   resourceIdSegmentFormats: {
     roleType: /(?:admin|member|user-admin)/
-    // eslint-disable-line no-useless-escape
   }
 };
 
 // src/passionfruit/role/index.ts
 var PassionfruitRoleAri = class _PassionfruitRoleAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._roleType = opts.resourceIdSegmentValues.roleType;
+    super(opts), this._roleType = opts.resourceIdSegmentValues.roleType;
   }
   get roleType() {
     return this._roleType;
   }
@@ -962,23 +1126,20 @@
 var passionfruitSiteAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: PassionfruitSiteAriResourceOwner,
   resourceType: PassionfruitSiteAriResourceType,
   resourceIdSlug: "{siteId}",
   resourceIdSegmentFormats: {
     siteId: /[a-zA-Z0-9_\-.]{1,255}/
-    // eslint-disable-line no-useless-escape
   }
 };
 
 // src/passionfruit/site/index.ts
 var PassionfruitSiteAri = class _PassionfruitSiteAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._siteId = opts.resourceIdSegmentValues.siteId;
+    super(opts), this._siteId = opts.resourceIdSegmentValues.siteId;
   }
   get siteId() {
     return this._siteId;
   }
@@ -1014,23 +1175,20 @@
 var passionfruitUserAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: PassionfruitUserAriResourceOwner,
   resourceType: PassionfruitUserAriResourceType,
   resourceIdSlug: "{userId}",
   resourceIdSegmentFormats: {
     userId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}/
-    // eslint-disable-line no-useless-escape
   }
 };
 
 // src/passionfruit/user/index.ts
 var PassionfruitUserAri = class _PassionfruitUserAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._userId = opts.resourceIdSegmentValues.userId;
+    super(opts), this._userId = opts.resourceIdSegmentValues.userId;
   }
   get userId() {
     return this._userId;
   }
@@ -1066,9 +1224,8 @@
 var passionfruitWorkspaceAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: PassionfruitWorkspaceAriResourceOwner,
   resourceType: PassionfruitWorkspaceAriResourceType,
   resourceIdSlug: "{activationId}",
   resourceIdSegmentFormats: {
@@ -1079,10 +1236,9 @@
 
 // src/passionfruit/workspace/index.ts
 var PassionfruitWorkspaceAri = class _PassionfruitWorkspaceAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId;
+    super(opts), this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId;
   }
   get siteId() {
     return this._siteId;
   }
@@ -1124,8 +1280,11 @@
   PassionfruitDependencyAri,
   PassionfruitDependencyCommentAri,
   PassionfruitDependencyRelatedContentAri,
   PassionfruitDependencyUpdateAri,
+  PassionfruitPlanAri,
+  PassionfruitPlanScenarioAri,
+  PassionfruitPlanScenarioInvestmentAri,
   PassionfruitRoleAri,
   PassionfruitSiteAri,
   PassionfruitUserAri,
   PassionfruitWorkspaceAri