npm package diff
Package: @forge/util
Versions: 1.4.10-next.0 - 1.4.10-next.0-experimental-effab31
File: package/packages/ari/automation/index.js
Index: package/packages/ari/automation/index.js
===================================================================
--- package/packages/ari/automation/index.js
+++ package/packages/ari/automation/index.js
@@ -16,8 +16,9 @@
// src/automation/index.ts
var automation_exports = {};
__export(automation_exports, {
+ AutomationAutomationRuleAri: () => AutomationAutomationRuleAri,
AutomationRoleAri: () => AutomationRoleAri,
AutomationRuleAri: () => AutomationRuleAri
});
module.exports = __toCommonJS(automation_exports);
@@ -26,9 +27,9 @@
var ValidationError = class extends Error {
};
// src/core/rules/cloud-id.ts
-function validateCloudId(cloudId, format = new RegExp("^[a-zA-Z0-9\\-]*$")) {
+function validateCloudId(cloudId, format = new RegExp("^[a-zA-Z0-9_\\-.]{0,255}$")) {
if (!cloudId.match(format))
throw new ValidationError(`Invalid cloud ID, expected ID of format ${format}.`);
}
@@ -48,9 +49,9 @@
throw new ValidationError(`ARI must have a qualifier of 'ari'. Received: ${qualifier}`);
}
// src/core/rules/resource-id.ts
-function validateResourceId(id, format = new RegExp("[!a-zA-Z0-9\\-_.~@:{}=]+(/[!a-zA-Z0-9\\-_.~@:{}=]+)*" /* ANY_RESOURCE_ID */), key = "resourceId") {
+function validateResourceId(id, format = new RegExp("[!a-zA-Z0-9\\-_.~@:;{}=]+(/[!a-zA-Z0-9\\-_.~@:;{}=]+)*" /* ANY_RESOURCE_ID */), key = "resourceId") {
let formatWithCarets = new RegExp(`^${format.source}$`);
if (!id.match(formatWithCarets))
throw new ValidationError(`Invalid ${key} - ${id}, expected ID of format ${formatWithCarets}.`);
}
@@ -275,21 +276,81 @@
return AnyAri.parse(this.toString());
}
};
+// src/automation/automation-rule/types.ts
+var AutomationAutomationRuleAriResourceOwner = "automation", AutomationAutomationRuleAriResourceType = "automation-rule";
+
+// src/automation/automation-rule/manifest.ts
+var automationAutomationRuleAriStaticOpts = {
+ qualifier: "ari",
+ platformQualifier: "cloud",
+ cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
+ resourceOwner: AutomationAutomationRuleAriResourceOwner,
+ resourceType: AutomationAutomationRuleAriResourceType,
+ resourceIdSlug: "{ruleId}/partition/{partitionId}",
+ resourceIdSegmentFormats: {
+ ruleId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
+ // eslint-disable-line no-useless-escape
+ partitionId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
+ // eslint-disable-line no-useless-escape
+ }
+};
+
+// src/automation/automation-rule/index.ts
+var AutomationAutomationRuleAri = class _AutomationAutomationRuleAri extends RegisteredAri {
+ constructor(opts) {
+ super(opts);
+ this._ruleId = opts.resourceIdSegmentValues.ruleId, this._partitionId = opts.resourceIdSegmentValues.partitionId;
+ }
+ get ruleId() {
+ return this._ruleId;
+ }
+ get partitionId() {
+ return this._partitionId;
+ }
+ static create(opts) {
+ let derivedOpts = {
+ qualifier: automationAutomationRuleAriStaticOpts.qualifier,
+ platformQualifier: automationAutomationRuleAriStaticOpts.platformQualifier,
+ cloudId: void 0,
+ resourceOwner: automationAutomationRuleAriStaticOpts.resourceOwner,
+ resourceType: automationAutomationRuleAriStaticOpts.resourceType,
+ resourceId: `${opts.ruleId}/partition/${opts.partitionId}`,
+ resourceIdSegmentValues: {
+ ruleId: opts.ruleId,
+ partitionId: opts.partitionId
+ }
+ }, ariOpts = AriParser.fromOpts(derivedOpts, automationAutomationRuleAriStaticOpts);
+ return new _AutomationAutomationRuleAri(ariOpts);
+ }
+ static parse(maybeAri) {
+ let opts = AriParser.fromString(maybeAri, automationAutomationRuleAriStaticOpts);
+ return new _AutomationAutomationRuleAri(opts);
+ }
+ getVariables() {
+ return {
+ ruleId: this.ruleId,
+ partitionId: this.partitionId
+ };
+ }
+};
+
// src/automation/role/types.ts
var AutomationRoleAriResourceOwner = "automation", AutomationRoleAriResourceType = "role";
// src/automation/role/manifest.ts
var automationRoleAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: AutomationRoleAriResourceOwner,
resourceType: AutomationRoleAriResourceType,
resourceIdSlug: "{roleId}",
resourceIdSegmentFormats: {
- roleId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+ roleId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
// eslint-disable-line no-useless-escape
}
};
@@ -334,8 +395,9 @@
var automationRuleAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: AutomationRuleAriResourceOwner,
resourceType: AutomationRuleAriResourceType,
resourceIdSlug: "{ruleId}",
resourceIdSegmentFormats: {
@@ -378,7 +440,8 @@
}
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
+ AutomationAutomationRuleAri,
AutomationRoleAri,
AutomationRuleAri
});