diff --git a/openapi/openapiv2.json b/openapi/openapiv2.json index ea37162a0..e4bc76d65 100644 --- a/openapi/openapiv2.json +++ b/openapi/openapiv2.json @@ -10757,6 +10757,21 @@ } } }, + "ComputeStatusProviderValidationStatus": { + "type": "object", + "properties": { + "errorMessage": { + "type": "string", + "description": "Human-readable error message if connectivity validation failed.\nAn empty string means validation passed." + }, + "lastCheckTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the last validation check." + } + }, + "description": "ProviderValidationStatus represents the result of the most recent\nconnectivity check between Temporal and a customer's compute provider." + }, "DeploymentInfoTaskQueueInfo": { "type": "object", "properties": { @@ -11207,6 +11222,10 @@ }, "computeConfig": { "$ref": "#/definitions/v1ComputeConfigSummary" + }, + "computeStatus": { + "$ref": "#/definitions/v1ComputeStatus", + "description": "ComputeStatus represents compute-related configuration and healthchecks." } } }, @@ -14692,6 +14711,16 @@ }, "description": "ComputeScaler instructs the Temporal Service when to scale up or down the number of\nWorkers that comprise a WorkerDeployment." }, + "v1ComputeStatus": { + "type": "object", + "properties": { + "providerValidation": { + "$ref": "#/definitions/ComputeStatusProviderValidationStatus", + "description": "provider_validation encapsulates the health signal for validating the compute provider." + } + }, + "description": "A Worker Deployment (Deployment, for short) represents all workers serving\na shared set of Task Queues. Typically, a Deployment represents one service or\napplication.\nA Deployment contains multiple Deployment Versions, each representing a different\nversion of workers. (see documentation of WorkerDeploymentVersionInfo)\nDeployment records are created in Temporal server automatically when their\nfirst poller arrives to the server.\nComputeStatus represents compute-related configuration and health checks." + }, "v1ConfigMetadata": { "type": "object", "properties": { @@ -20221,8 +20250,7 @@ "$ref": "#/definitions/v1RoutingConfigUpdateState", "description": "Indicates whether the routing_config has been fully propagated to all\nrelevant task queues and their partitions." } - }, - "description": "A Worker Deployment (Deployment, for short) represents all workers serving\na shared set of Task Queues. Typically, a Deployment represents one service or\napplication.\nA Deployment contains multiple Deployment Versions, each representing a different\nversion of workers. (see documentation of WorkerDeploymentVersionInfo)\nDeployment records are created in Temporal server automatically when their\nfirst poller arrives to the server." + } }, "v1WorkerDeploymentOptions": { "type": "object", diff --git a/openapi/openapiv3.yaml b/openapi/openapiv3.yaml index a2ec27cdd..1219ffbbb 100644 --- a/openapi/openapiv3.yaml +++ b/openapi/openapiv3.yaml @@ -11111,6 +11111,37 @@ components: description: |- ComputeScaler instructs the Temporal Service when to scale up or down the number of Workers that comprise a WorkerDeployment. + ComputeStatus: + type: object + properties: + providerValidation: + allOf: + - $ref: '#/components/schemas/ComputeStatus_ProviderValidationStatus' + description: provider_validation encapsulates the health signal for validating the compute provider. + description: |- + A Worker Deployment (Deployment, for short) represents all workers serving + a shared set of Task Queues. Typically, a Deployment represents one service or + application. + A Deployment contains multiple Deployment Versions, each representing a different + version of workers. (see documentation of WorkerDeploymentVersionInfo) + Deployment records are created in Temporal server automatically when their + first poller arrives to the server. + ComputeStatus represents compute-related configuration and health checks. + ComputeStatus_ProviderValidationStatus: + type: object + properties: + errorMessage: + type: string + description: |- + Human-readable error message if connectivity validation failed. + An empty string means validation passed. + lastCheckTime: + type: string + description: Timestamp of the last validation check. + format: date-time + description: |- + ProviderValidationStatus represents the result of the most recent + connectivity check between Temporal and a customer's compute provider. ConfigMetadata: type: object properties: @@ -18498,14 +18529,6 @@ components: Indicates whether the routing_config has been fully propagated to all relevant task queues and their partitions. format: enum - description: |- - A Worker Deployment (Deployment, for short) represents all workers serving - a shared set of Task Queues. Typically, a Deployment represents one service or - application. - A Deployment contains multiple Deployment Versions, each representing a different - version of workers. (see documentation of WorkerDeploymentVersionInfo) - Deployment records are created in Temporal server automatically when their - first poller arrives to the server. WorkerDeploymentInfo_WorkerDeploymentVersionSummary: type: object properties: @@ -18581,6 +18604,10 @@ components: format: date-time computeConfig: $ref: '#/components/schemas/ComputeConfigSummary' + computeStatus: + allOf: + - $ref: '#/components/schemas/ComputeStatus' + description: ComputeStatus represents compute-related configuration and healthchecks. WorkerDeploymentOptions: type: object properties: diff --git a/temporal/api/deployment/v1/message.proto b/temporal/api/deployment/v1/message.proto index 25227df39..7438015f7 100644 --- a/temporal/api/deployment/v1/message.proto +++ b/temporal/api/deployment/v1/message.proto @@ -191,6 +191,21 @@ message VersionDrainageInfo { // version of workers. (see documentation of WorkerDeploymentVersionInfo) // Deployment records are created in Temporal server automatically when their // first poller arrives to the server. +// ComputeStatus represents compute-related configuration and health checks. +message ComputeStatus { + // ProviderValidationStatus represents the result of the most recent + // connectivity check between Temporal and a customer's compute provider. + message ProviderValidationStatus { + // Human-readable error message if connectivity validation failed. + // An empty string means validation passed. + string error_message = 1; + // Timestamp of the last validation check. + google.protobuf.Timestamp last_check_time = 2; + } + // provider_validation encapsulates the health signal for validating the compute provider. + ProviderValidationStatus provider_validation = 1; +} + message WorkerDeploymentInfo { // Identifies a Worker Deployment. Must be unique within the namespace. string name = 1; @@ -255,6 +270,8 @@ message WorkerDeploymentInfo { // Cleared if the version becomes current or ramping again. google.protobuf.Timestamp last_deactivation_time = 10; temporal.api.compute.v1.ComputeConfigSummary compute_config = 13; + // ComputeStatus represents compute-related configuration and healthchecks. + ComputeStatus compute_status = 14; } }