From a432c29ad0b120ef9cca49bfdeb1c4e1462518fc Mon Sep 17 00:00:00 2001 From: ShahabT Date: Mon, 18 Nov 2024 17:30:04 -0800 Subject: [PATCH] Addressed comments --- openapi/openapiv2.json | 53 +++++----- openapi/openapiv3.yaml | 96 ++++++++++++------- temporal/api/deployment/v1/message.proto | 6 +- temporal/api/enums/v1/deployment.proto | 16 ++-- temporal/api/workflow/v1/message.proto | 13 +-- .../workflowservice/v1/request_response.proto | 3 +- temporal/api/workflowservice/v1/service.proto | 8 ++ 7 files changed, 114 insertions(+), 81 deletions(-) diff --git a/openapi/openapiv2.json b/openapi/openapiv2.json index 6e98b529..028cfe44 100644 --- a/openapi/openapiv2.json +++ b/openapi/openapiv2.json @@ -749,7 +749,7 @@ }, "/api/v1/namespaces/{namespace}/current-deployment/{deployment.seriesName}": { "post": { - "summary": "Sets a deployment as the current deployment for its deployment series. Can optionally update\nthe metadata of the deployment as well.", + "summary": "Sets a deployment as the current deployment for its deployment series. Can optionally update\nthe metadata of the deployment as well.\nExperimental. This API might significantly change or be removed in a future release.", "operationId": "SetCurrentDeployment2", "responses": { "200": { @@ -794,7 +794,7 @@ }, "/api/v1/namespaces/{namespace}/current-deployment/{seriesName}": { "get": { - "summary": "Returns the current deployment (and its info) for a given deployment series.", + "summary": "Returns the current deployment (and its info) for a given deployment series.\nExperimental. This API might significantly change or be removed in a future release.", "operationId": "GetCurrentDeployment2", "responses": { "200": { @@ -831,7 +831,7 @@ }, "/api/v1/namespaces/{namespace}/deployments": { "get": { - "summary": "Lists worker deployments in the namespace. Optionally can filter based on deployment series\nname.", + "summary": "Lists worker deployments in the namespace. Optionally can filter based on deployment series\nname.\nExperimental. This API might significantly change or be removed in a future release.", "operationId": "ListDeployments2", "responses": { "200": { @@ -883,7 +883,7 @@ }, "/api/v1/namespaces/{namespace}/deployments/{deployment.seriesName}/{deployment.buildId}": { "get": { - "summary": "Describes a worker deployment.", + "summary": "Describes a worker deployment.\nExperimental. This API might significantly change or be removed in a future release.", "operationId": "DescribeDeployment2", "responses": { "200": { @@ -926,7 +926,7 @@ }, "/api/v1/namespaces/{namespace}/deployments/{deployment.seriesName}/{deployment.buildId}/reachability": { "get": { - "summary": "Returns the reachability level of a worker deployment to help users decide when it is time\nto decommission a deployment. Reachability level is calculated based on the deployment's\n`status` and existing workflows that depend on the given deployment for their execution.", + "summary": "Returns the reachability level of a worker deployment to help users decide when it is time\nto decommission a deployment. Reachability level is calculated based on the deployment's\n`status` and existing workflows that depend on the given deployment for their execution.\nCalculating reachability is relatively expensive. Therefore, server might return a recently\ncached value. In such a case, the `last_update_time` will inform you about the actual\nreachability calculation time.\nExperimental. This API might significantly change or be removed in a future release.", "operationId": "GetDeploymentReachability2", "responses": { "200": { @@ -3623,7 +3623,7 @@ }, "/namespaces/{namespace}/current-deployment/{deployment.seriesName}": { "post": { - "summary": "Sets a deployment as the current deployment for its deployment series. Can optionally update\nthe metadata of the deployment as well.", + "summary": "Sets a deployment as the current deployment for its deployment series. Can optionally update\nthe metadata of the deployment as well.\nExperimental. This API might significantly change or be removed in a future release.", "operationId": "SetCurrentDeployment", "responses": { "200": { @@ -3668,7 +3668,7 @@ }, "/namespaces/{namespace}/current-deployment/{seriesName}": { "get": { - "summary": "Returns the current deployment (and its info) for a given deployment series.", + "summary": "Returns the current deployment (and its info) for a given deployment series.\nExperimental. This API might significantly change or be removed in a future release.", "operationId": "GetCurrentDeployment", "responses": { "200": { @@ -3705,7 +3705,7 @@ }, "/namespaces/{namespace}/deployments": { "get": { - "summary": "Lists worker deployments in the namespace. Optionally can filter based on deployment series\nname.", + "summary": "Lists worker deployments in the namespace. Optionally can filter based on deployment series\nname.\nExperimental. This API might significantly change or be removed in a future release.", "operationId": "ListDeployments", "responses": { "200": { @@ -3757,7 +3757,7 @@ }, "/namespaces/{namespace}/deployments/{deployment.seriesName}/{deployment.buildId}": { "get": { - "summary": "Describes a worker deployment.", + "summary": "Describes a worker deployment.\nExperimental. This API might significantly change or be removed in a future release.", "operationId": "DescribeDeployment", "responses": { "200": { @@ -3800,7 +3800,7 @@ }, "/namespaces/{namespace}/deployments/{deployment.seriesName}/{deployment.buildId}/reachability": { "get": { - "summary": "Returns the reachability level of a worker deployment to help users decide when it is time\nto decommission a deployment. Reachability level is calculated based on the deployment's\n`status` and existing workflows that depend on the given deployment for their execution.", + "summary": "Returns the reachability level of a worker deployment to help users decide when it is time\nto decommission a deployment. Reachability level is calculated based on the deployment's\n`status` and existing workflows that depend on the given deployment for their execution.\nCalculating reachability is relatively expensive. Therefore, server might return a recently\ncached value. In such a case, the `last_update_time` will inform you about the actual\nreachability calculation time.\nExperimental. This API might significantly change or be removed in a future release.", "operationId": "GetDeploymentReachability", "responses": { "200": { @@ -5574,9 +5574,9 @@ "$ref": "#/definitions/v1Deployment", "description": "The worker deployment to which this workflow is assigned currently.\nMust be present if and only if `behavior` is set." }, - "manualOverride": { - "$ref": "#/definitions/v1VersioningBehaviorOverride", - "description": "Manual override for execution's versioning behavior. Takes precedence over `behavior`\nand `deployment`." + "versioningOverride": { + "$ref": "#/definitions/v1VersioningOverride", + "description": "Present if user has set an execution-specific versioning override. This override takes\nprecedence over SDK-sent `behavior` and `deployment`." }, "redirectInfo": { "$ref": "#/definitions/VersioningInfoRedirectInfo", @@ -6587,15 +6587,14 @@ "status": { "$ref": "#/definitions/v1DeploymentStatus" }, - "statusChangeTime": { + "lastBecameCurrentTime": { "type": "string", "format": "date-time" }, "metadata": { "type": "object", "additionalProperties": { - "type": "string", - "format": "byte" + "type": "string" }, "description": "A user-defined set of key-values. Can be updated as part of write operations to the\ndeployment, such as `SetCurrentDeployment`." }, @@ -7911,12 +7910,12 @@ "type": "string", "enum": [ "DEPLOYMENT_REACHABILITY_UNSPECIFIED", - "DEPLOYMENT_REACHABILITY_OPEN_WORKFLOWS", + "DEPLOYMENT_REACHABILITY_REACHABLE", "DEPLOYMENT_REACHABILITY_CLOSED_WORKFLOWS_ONLY", "DEPLOYMENT_REACHABILITY_UNREACHABLE" ], "default": "DEPLOYMENT_REACHABILITY_UNSPECIFIED", - "description": "Specify the reachability level for a deployment so users can decide if it is time to\ndecommission the deployment.\n\n - DEPLOYMENT_REACHABILITY_UNSPECIFIED: Reachability level is not specified.\n - DEPLOYMENT_REACHABILITY_OPEN_WORKFLOWS: The deployment is reachable by open workflows that can only run on this deployment. The\ndeployment cannot be decommissioned safely.\n - DEPLOYMENT_REACHABILITY_CLOSED_WORKFLOWS_ONLY: The deployment is not reachable by open workflows but might be still needed by closed\nworkflows who can only run Queries on this deployment. The deployment can be decommissioned\nsafely if user does not query closed workflows.\n - DEPLOYMENT_REACHABILITY_UNREACHABLE: The deployment is not reachable by any workflow because all the workflows who needed this\ndeployment went out of retention period. The deployment can be decommissioned\nsafely." + "description": "Specify the reachability level for a deployment so users can decide if it is time to\ndecommission the deployment.\n\n - DEPLOYMENT_REACHABILITY_UNSPECIFIED: Reachability level is not specified.\n - DEPLOYMENT_REACHABILITY_REACHABLE: The deployment is reachable by new and/or open workflows. The deployment cannot be\ndecommissioned safely.\n - DEPLOYMENT_REACHABILITY_CLOSED_WORKFLOWS_ONLY: The deployment is not reachable by new or open workflows, but might be still needed by\nQueries sent to closed workflows. The deployment can be decommissioned safely if user does\nnot query closed workflows.\n - DEPLOYMENT_REACHABILITY_UNREACHABLE: The deployment is not reachable by any workflow because all the workflows who needed this\ndeployment went out of retention period. The deployment can be decommissioned safely." }, "v1DeploymentStatus": { "type": "string", @@ -7927,7 +7926,7 @@ "DEPLOYMENT_STATUS_CURRENT" ], "default": "DEPLOYMENT_STATUS_UNSPECIFIED", - "description": "Status of a deployment within its deployment series. Any given deployment series can at most have\none `RAMPING` deployment, and one `CURRENT` deployment.\n\n\n - DEPLOYMENT_STATUS_NO_STATUS: The deployment does not have a special status.\n - DEPLOYMENT_STATUS_RAMPING: The deployment is the ramping deployment for the deployment series.\n - DEPLOYMENT_STATUS_CURRENT: The deployment is the current deployment for the deployment series." + "description": "Status of a deployment within its deployment series. Any given deployment series can at most have\none `RAMPING` deployment, and one `CURRENT` deployment.\n\n\n - DEPLOYMENT_STATUS_UNSPECIFIED: Status of the deployment is not specified.\n - DEPLOYMENT_STATUS_NO_STATUS: The deployment does not have a special status.\n - DEPLOYMENT_STATUS_RAMPING: The deployment is the ramping deployment for the deployment series.\n - DEPLOYMENT_STATUS_CURRENT: The deployment is the current deployment for the deployment series." }, "v1DeprecateNamespaceResponse": { "type": "object", @@ -11097,7 +11096,10 @@ "v1SetCurrentDeploymentResponse": { "type": "object", "properties": { - "currentDeployment": { + "currentDeploymentInfo": { + "$ref": "#/definitions/deploymentv1DeploymentInfo" + }, + "previousCurrentDeploymentInfo": { "$ref": "#/definitions/deploymentv1DeploymentInfo" } } @@ -12072,8 +12074,7 @@ "upsertEntries": { "type": "object", "additionalProperties": { - "type": "string", - "format": "byte" + "type": "string" } }, "removeEntries": { @@ -12313,7 +12314,7 @@ "default": "VERSIONING_BEHAVIOR_UNSPECIFIED", "description": " - VERSIONING_BEHAVIOR_PINNED: Workflow should be pinned to the current build ID until manually moved.\n - VERSIONING_BEHAVIOR_AUTO_UPGRADE: Workflow automatically moves to the latest version (default build ID of the task queue) when the next\ntask is dispatched." }, - "v1VersioningBehaviorOverride": { + "v1VersioningOverride": { "type": "object", "properties": { "behavior": { @@ -12636,9 +12637,9 @@ "v1WorkflowExecutionOptions": { "type": "object", "properties": { - "versioningBehaviorOverride": { - "$ref": "#/definitions/v1VersioningBehaviorOverride", - "description": "If set, takes precedence over the sdk-sent Versioning Behavior for the specific Workflow Execution it is set on." + "versioningOverride": { + "$ref": "#/definitions/v1VersioningOverride", + "description": "If set, takes precedence over the sdk-sent Versioning Behavior for the specific Workflow\nExecution it is set on." } } }, diff --git a/openapi/openapiv3.yaml b/openapi/openapiv3.yaml index c2113bb0..dd4d1b8d 100644 --- a/openapi/openapiv3.yaml +++ b/openapi/openapiv3.yaml @@ -642,6 +642,7 @@ paths: description: |- Sets a deployment as the current deployment for its deployment series. Can optionally update the metadata of the deployment as well. + Experimental. This API might significantly change or be removed in a future release. operationId: SetCurrentDeployment parameters: - name: namespace @@ -677,7 +678,9 @@ paths: get: tags: - WorkflowService - description: Returns the current deployment (and its info) for a given deployment series. + description: |- + Returns the current deployment (and its info) for a given deployment series. + Experimental. This API might significantly change or be removed in a future release. operationId: GetCurrentDeployment parameters: - name: namespace @@ -710,6 +713,7 @@ paths: description: |- Lists worker deployments in the namespace. Optionally can filter based on deployment series name. + Experimental. This API might significantly change or be removed in a future release. operationId: ListDeployments parameters: - name: namespace @@ -749,7 +753,9 @@ paths: get: tags: - WorkflowService - description: Describes a worker deployment. + description: |- + Describes a worker deployment. + Experimental. This API might significantly change or be removed in a future release. operationId: DescribeDeployment parameters: - name: namespace @@ -796,6 +802,10 @@ paths: Returns the reachability level of a worker deployment to help users decide when it is time to decommission a deployment. Reachability level is calculated based on the deployment's `status` and existing workflows that depend on the given deployment for their execution. + Calculating reachability is relatively expensive. Therefore, server might return a recently + cached value. In such a case, the `last_update_time` will inform you about the actual + reachability calculation time. + Experimental. This API might significantly change or be removed in a future release. operationId: GetDeploymentReachability parameters: - name: namespace @@ -3140,6 +3150,7 @@ paths: description: |- Sets a deployment as the current deployment for its deployment series. Can optionally update the metadata of the deployment as well. + Experimental. This API might significantly change or be removed in a future release. operationId: SetCurrentDeployment parameters: - name: namespace @@ -3175,7 +3186,9 @@ paths: get: tags: - WorkflowService - description: Returns the current deployment (and its info) for a given deployment series. + description: |- + Returns the current deployment (and its info) for a given deployment series. + Experimental. This API might significantly change or be removed in a future release. operationId: GetCurrentDeployment parameters: - name: namespace @@ -3208,6 +3221,7 @@ paths: description: |- Lists worker deployments in the namespace. Optionally can filter based on deployment series name. + Experimental. This API might significantly change or be removed in a future release. operationId: ListDeployments parameters: - name: namespace @@ -3247,7 +3261,9 @@ paths: get: tags: - WorkflowService - description: Describes a worker deployment. + description: |- + Describes a worker deployment. + Experimental. This API might significantly change or be removed in a future release. operationId: DescribeDeployment parameters: - name: namespace @@ -3294,6 +3310,10 @@ paths: Returns the reachability level of a worker deployment to help users decide when it is time to decommission a deployment. Reachability level is calculated based on the deployment's `status` and existing workflows that depend on the given deployment for their execution. + Calculating reachability is relatively expensive. Therefore, server might return a recently + cached value. In such a case, the `last_update_time` will inform you about the actual + reachability calculation time. + Experimental. This API might significantly change or be removed in a future release. operationId: GetDeploymentReachability parameters: - name: namespace @@ -5638,14 +5658,13 @@ components: - DEPLOYMENT_STATUS_CURRENT type: string format: enum - statusChangeTime: + lastBecameCurrentTime: type: string format: date-time metadata: type: object additionalProperties: type: string - format: bytes description: |- A user-defined set of key-values. Can be updated as part of write operations to the deployment, such as `SetCurrentDeployment`. @@ -6098,7 +6117,7 @@ components: reachability: enum: - DEPLOYMENT_REACHABILITY_UNSPECIFIED - - DEPLOYMENT_REACHABILITY_OPEN_WORKFLOWS + - DEPLOYMENT_REACHABILITY_REACHABLE - DEPLOYMENT_REACHABILITY_CLOSED_WORKFLOWS_ONLY - DEPLOYMENT_REACHABILITY_UNREACHABLE type: string @@ -8423,7 +8442,9 @@ components: SetCurrentDeploymentResponse: type: object properties: - currentDeployment: + currentDeploymentInfo: + $ref: '#/components/schemas/DeploymentInfo' + previousCurrentDeploymentInfo: $ref: '#/components/schemas/DeploymentInfo' SignalExternalWorkflowExecutionFailedEventAttributes: type: object @@ -9338,7 +9359,6 @@ components: type: object additionalProperties: type: string - format: bytes removeEntries: type: array items: @@ -9616,7 +9636,27 @@ components: type: string format: date-time description: VersionInfo contains details about current and recommended release versions as well as alerts and upgrade instructions. - VersioningBehaviorOverride: + VersioningInfo_RedirectInfo: + type: object + properties: + deployment: + allOf: + - $ref: '#/components/schemas/Deployment' + description: |- + The target deployment of the redirect. Null means a so-far-versioned workflow is + being redirected to unversioned workers. + behaviorOverride: + enum: + - VERSIONING_BEHAVIOR_UNSPECIFIED + - VERSIONING_BEHAVIOR_PINNED + - VERSIONING_BEHAVIOR_AUTO_UPGRADE + type: string + description: |- + If present, it means the redirect is initiated by a (safe) manual versioning + override. Such override is only applied to the workflow when and if the redirect + successfully completes. + format: enum + VersioningOverride: type: object properties: behavior: @@ -9638,26 +9678,6 @@ components: precedence over the SDK-sent Versioning Behavior. To remove the override, call `UpdateWorkflowExecutionOptions` with a null `VersioningBehaviorOverride`, and use the `update_mask` to indicate that it should be mutated. - VersioningInfo_RedirectInfo: - type: object - properties: - deployment: - allOf: - - $ref: '#/components/schemas/Deployment' - description: |- - The target deployment of the redirect. Null means a so-far-versioned workflow is - being redirected to unversioned workers. - behaviorOverride: - enum: - - VERSIONING_BEHAVIOR_UNSPECIFIED - - VERSIONING_BEHAVIOR_PINNED - - VERSIONING_BEHAVIOR_AUTO_UPGRADE - type: string - description: |- - If present, it means the redirect is initiated by a (safe) manual versioning - override. Such override is only applied to the workflow when and if the redirect - successfully completes. - format: enum WaitPolicy: type: object properties: @@ -10052,12 +10072,12 @@ components: description: |- The worker deployment to which this workflow is assigned currently. Must be present if and only if `behavior` is set. - manualOverride: + versioningOverride: allOf: - - $ref: '#/components/schemas/VersioningBehaviorOverride' + - $ref: '#/components/schemas/VersioningOverride' description: |- - Manual override for execution's versioning behavior. Takes precedence over `behavior` - and `deployment`. + Present if user has set an execution-specific versioning override. This override takes + precedence over SDK-sent `behavior` and `deployment`. redirectInfo: allOf: - $ref: '#/components/schemas/VersioningInfo_RedirectInfo' @@ -10071,10 +10091,12 @@ components: WorkflowExecutionOptions: type: object properties: - versioningBehaviorOverride: + versioningOverride: allOf: - - $ref: '#/components/schemas/VersioningBehaviorOverride' - description: If set, takes precedence over the sdk-sent Versioning Behavior for the specific Workflow Execution it is set on. + - $ref: '#/components/schemas/VersioningOverride' + description: |- + If set, takes precedence over the sdk-sent Versioning Behavior for the specific Workflow + Execution it is set on. WorkflowExecutionOptionsUpdatedEventAttributes: type: object properties: diff --git a/temporal/api/deployment/v1/message.proto b/temporal/api/deployment/v1/message.proto index 0f69924c..2005638b 100644 --- a/temporal/api/deployment/v1/message.proto +++ b/temporal/api/deployment/v1/message.proto @@ -47,10 +47,10 @@ message Deployment { message DeploymentInfo { Deployment deployment = 1; temporal.api.enums.v1.DeploymentStatus status = 2; - google.protobuf.Timestamp status_change_time = 3; + google.protobuf.Timestamp last_became_current_time = 3; // A user-defined set of key-values. Can be updated as part of write operations to the // deployment, such as `SetCurrentDeployment`. - map metadata = 4; + map metadata = 4; repeated TaskQueueInfo task_queue_infos = 5; message TaskQueueInfo { @@ -63,7 +63,7 @@ message DeploymentInfo { // Used as part of Deployment write APIs to update metadata attached to a deployment. message UpdateDeploymentMetadata { - map upsert_entries = 1; + map upsert_entries = 1; // List of keys to remove from the metadata. repeated string remove_entries = 2; } diff --git a/temporal/api/enums/v1/deployment.proto b/temporal/api/enums/v1/deployment.proto index 57c57671..35da02eb 100644 --- a/temporal/api/enums/v1/deployment.proto +++ b/temporal/api/enums/v1/deployment.proto @@ -38,6 +38,7 @@ option csharp_namespace = "Temporalio.Api.Enums.V1"; // aip.dev/not-precedent: This enum specifies the status of the deployment among all deployments // in the same series, therefore `DeploymentStatus` is a better name that `DeploymentState`. --) enum DeploymentStatus { + // Status of the deployment is not specified. DEPLOYMENT_STATUS_UNSPECIFIED = 0; // The deployment does not have a special status. DEPLOYMENT_STATUS_NO_STATUS = 1; @@ -52,15 +53,14 @@ enum DeploymentStatus { enum DeploymentReachability { // Reachability level is not specified. DEPLOYMENT_REACHABILITY_UNSPECIFIED = 0; - // The deployment is reachable by open workflows that can only run on this deployment. The - // deployment cannot be decommissioned safely. - DEPLOYMENT_REACHABILITY_OPEN_WORKFLOWS = 1; - // The deployment is not reachable by open workflows but might be still needed by closed - // workflows who can only run Queries on this deployment. The deployment can be decommissioned - // safely if user does not query closed workflows. + // The deployment is reachable by new and/or open workflows. The deployment cannot be + // decommissioned safely. + DEPLOYMENT_REACHABILITY_REACHABLE = 1; + // The deployment is not reachable by new or open workflows, but might be still needed by + // Queries sent to closed workflows. The deployment can be decommissioned safely if user does + // not query closed workflows. DEPLOYMENT_REACHABILITY_CLOSED_WORKFLOWS_ONLY = 2; // The deployment is not reachable by any workflow because all the workflows who needed this - // deployment went out of retention period. The deployment can be decommissioned - // safely. + // deployment went out of retention period. The deployment can be decommissioned safely. DEPLOYMENT_REACHABILITY_UNREACHABLE = 3; } diff --git a/temporal/api/workflow/v1/message.proto b/temporal/api/workflow/v1/message.proto index eef95a14..bd827181 100644 --- a/temporal/api/workflow/v1/message.proto +++ b/temporal/api/workflow/v1/message.proto @@ -114,9 +114,9 @@ message WorkflowExecutionInfo { // The worker deployment to which this workflow is assigned currently. // Must be present if and only if `behavior` is set. temporal.api.deployment.v1.Deployment deployment = 2; - // Manual override for execution's versioning behavior. Takes precedence over `behavior` - // and `deployment`. - VersioningBehaviorOverride manual_override = 3; + // Present if user has set an execution-specific versioning override. This override takes + // precedence over SDK-sent `behavior` and `deployment`. + VersioningOverride versioning_override = 3; // When present, indicates the workflow is being redirected to a different deployment. // A redirect can only exist during the lifetime of a pending workflow task. // If the pending workflow task completes (at the next WorkflowTaskCompleted event), the @@ -362,15 +362,16 @@ message NexusOperationCancellationInfo { } message WorkflowExecutionOptions { - // If set, takes precedence over the sdk-sent Versioning Behavior for the specific Workflow Execution it is set on. - VersioningBehaviorOverride versioning_behavior_override = 1; + // If set, takes precedence over the sdk-sent Versioning Behavior for the specific Workflow + // Execution it is set on. + VersioningOverride versioning_override = 1; } // Used to manually override the versioning behavior of a specific workflow execution. If set, takes // precedence over the SDK-sent Versioning Behavior. // To remove the override, call `UpdateWorkflowExecutionOptions` with a null // `VersioningBehaviorOverride`, and use the `update_mask` to indicate that it should be mutated. -message VersioningBehaviorOverride { +message VersioningOverride { // Required. temporal.api.enums.v1.VersioningBehavior behavior = 1; diff --git a/temporal/api/workflowservice/v1/request_response.proto b/temporal/api/workflowservice/v1/request_response.proto index c4b3f24f..2bf5b898 100644 --- a/temporal/api/workflowservice/v1/request_response.proto +++ b/temporal/api/workflowservice/v1/request_response.proto @@ -1780,7 +1780,8 @@ message SetCurrentDeploymentRequest { } message SetCurrentDeploymentResponse { - deployment.v1.DeploymentInfo current_deployment = 1; + deployment.v1.DeploymentInfo current_deployment_info = 1; + deployment.v1.DeploymentInfo previous_current_deployment_info = 2; } // Returns the Current Deployment of a deployment series. diff --git a/temporal/api/workflowservice/v1/service.proto b/temporal/api/workflowservice/v1/service.proto index d14593e8..f3f2b315 100644 --- a/temporal/api/workflowservice/v1/service.proto +++ b/temporal/api/workflowservice/v1/service.proto @@ -773,6 +773,7 @@ service WorkflowService { } // Describes a worker deployment. + // Experimental. This API might significantly change or be removed in a future release. rpc DescribeDeployment (DescribeDeploymentRequest) returns (DescribeDeploymentResponse) { option (google.api.http) = { get: "/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}" @@ -784,6 +785,7 @@ service WorkflowService { // Lists worker deployments in the namespace. Optionally can filter based on deployment series // name. + // Experimental. This API might significantly change or be removed in a future release. rpc ListDeployments (ListDeploymentsRequest) returns (ListDeploymentsResponse) { option (google.api.http) = { get: "/namespaces/{namespace}/deployments" @@ -796,6 +798,10 @@ service WorkflowService { // Returns the reachability level of a worker deployment to help users decide when it is time // to decommission a deployment. Reachability level is calculated based on the deployment's // `status` and existing workflows that depend on the given deployment for their execution. + // Calculating reachability is relatively expensive. Therefore, server might return a recently + // cached value. In such a case, the `last_update_time` will inform you about the actual + // reachability calculation time. + // Experimental. This API might significantly change or be removed in a future release. rpc GetDeploymentReachability (GetDeploymentReachabilityRequest) returns (GetDeploymentReachabilityResponse) { option (google.api.http) = { get: "/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}/reachability" @@ -806,6 +812,7 @@ service WorkflowService { } // Returns the current deployment (and its info) for a given deployment series. + // Experimental. This API might significantly change or be removed in a future release. rpc GetCurrentDeployment (GetCurrentDeploymentRequest) returns (GetCurrentDeploymentResponse) { option (google.api.http) = { get: "/namespaces/{namespace}/current-deployment/{series_name}" @@ -817,6 +824,7 @@ service WorkflowService { // Sets a deployment as the current deployment for its deployment series. Can optionally update // the metadata of the deployment as well. + // Experimental. This API might significantly change or be removed in a future release. rpc SetCurrentDeployment (SetCurrentDeploymentRequest) returns (SetCurrentDeploymentResponse) { option (google.api.http) = { post: "/namespaces/{namespace}/current-deployment/{deployment.series_name}"