From 53fbfea114cffc55c0084bdccc09ae5dadb0ddf5 Mon Sep 17 00:00:00 2001 From: mani-j9 Date: Thu, 1 Oct 2026 15:15:33 -0700 Subject: [PATCH] Add region_ids to ComputeConfigScalingGroup --- openapi/openapiv2.json | 15 ++++++++++++++- openapi/openapiv3.yaml | 13 ++++++++++++- temporal/api/compute/v1/config.proto | 7 ++++++- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/openapi/openapiv2.json b/openapi/openapiv2.json index 2097b12c3..cbb73e756 100644 --- a/openapi/openapiv2.json +++ b/openapi/openapiv2.json @@ -15134,6 +15134,13 @@ }, "description": "Optional. The set of task queue types this scaling group serves.\nIf not provided, this scaling group serves all not otherwise defined\ntask types." }, + "regionIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. If set, this scaling group is used only while the namespace is\nactive in one of these regions." + }, "provider": { "$ref": "#/definitions/v1ComputeProvider", "description": "Stores instructions for a worker control plane controller how to respond\nto worker lifeycle events." @@ -15155,6 +15162,12 @@ }, "providerType": { "type": "string" + }, + "regionIds": { + "type": "array", + "items": { + "type": "string" + } } } }, @@ -15166,7 +15179,7 @@ }, "updateMask": { "type": "string", - "title": "Controls which fields from `scaling_group` will be applied. Semantics:\n- Mask is ignored for new scaling groups (only applicable when scaling group already exists).\n- Empty mask for an existing scaling group is no-op: no change.\n- Non-empty mask for an existing scaling group will update/unset only to the fields\n mentioned in the mask.\n- Accepted paths: \"task_queue_types\", \"provider\", \"provider.type\", \"provider.details\",\n \"provider.nexus_endpoint\", \"scaler\", \"scaler.type\", \"scaler.details\"" + "title": "Controls which fields from `scaling_group` will be applied. Semantics:\n- Mask is ignored for new scaling groups (only applicable when scaling group already exists).\n- Empty mask for an existing scaling group is no-op: no change.\n- Non-empty mask for an existing scaling group will update/unset only to the fields\n mentioned in the mask.\n- Accepted paths: \"task_queue_types\", \"region_ids\", \"provider\", \"provider.type\", \"provider.details\",\n \"provider.nexus_endpoint\", \"scaler\", \"scaler.type\", \"scaler.details\"" } } }, diff --git a/openapi/openapiv3.yaml b/openapi/openapiv3.yaml index 4c877cd6d..a6465fa4b 100644 --- a/openapi/openapiv3.yaml +++ b/openapi/openapiv3.yaml @@ -11249,6 +11249,13 @@ components: Optional. The set of task queue types this scaling group serves. If not provided, this scaling group serves all not otherwise defined task types. + regionIds: + type: array + items: + type: string + description: |- + Optional. If set, this scaling group is used only while the namespace is + active in one of these regions. provider: allOf: - $ref: '#/components/schemas/ComputeProvider' @@ -11276,6 +11283,10 @@ components: format: enum providerType: type: string + regionIds: + type: array + items: + type: string ComputeConfigScalingGroupUpdate: type: object properties: @@ -11289,7 +11300,7 @@ components: - Empty mask for an existing scaling group is no-op: no change. - Non-empty mask for an existing scaling group will update/unset only to the fields mentioned in the mask. - - Accepted paths: "task_queue_types", "provider", "provider.type", "provider.details", + - Accepted paths: "task_queue_types", "region_ids", "provider", "provider.type", "provider.details", "provider.nexus_endpoint", "scaler", "scaler.type", "scaler.details" format: field-mask ComputeConfigSummary: diff --git a/temporal/api/compute/v1/config.proto b/temporal/api/compute/v1/config.proto index 998ead08b..8fd2a6754 100644 --- a/temporal/api/compute/v1/config.proto +++ b/temporal/api/compute/v1/config.proto @@ -20,6 +20,10 @@ message ComputeConfigScalingGroup { // task types. repeated temporal.api.enums.v1.TaskQueueType task_queue_types = 1; + // Optional. If set, this scaling group is used only while the namespace is + // active in one of these regions. + repeated string region_ids = 2; + // Stores instructions for a worker control plane controller how to respond // to worker lifeycle events. temporal.api.compute.v1.ComputeProvider provider = 3; @@ -52,7 +56,7 @@ message ComputeConfigScalingGroupUpdate { // - Empty mask for an existing scaling group is no-op: no change. // - Non-empty mask for an existing scaling group will update/unset only to the fields // mentioned in the mask. - // - Accepted paths: "task_queue_types", "provider", "provider.type", "provider.details", + // - Accepted paths: "task_queue_types", "region_ids", "provider", "provider.type", "provider.details", // "provider.nexus_endpoint", "scaler", "scaler.type", "scaler.details" google.protobuf.FieldMask update_mask = 2; } @@ -65,4 +69,5 @@ message ComputeConfigSummary { message ComputeConfigScalingGroupSummary { repeated temporal.api.enums.v1.TaskQueueType task_queue_types = 1; string provider_type = 2; + repeated string region_ids = 3; }