Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v0.9.0
v0.10.0
103 changes: 94 additions & 9 deletions temporal/api/cloud/namespace/v1/message.proto
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,11 @@ message ApiKeyAuthSpec {
bool enabled = 1;
}

message LifecycleSpec {
// Flag to enable delete protection for the namespace.
bool enable_delete_protection = 1;
}

message CodecServerSpec {
// The codec server endpoint.
string endpoint = 1;
Expand All @@ -81,16 +86,78 @@ message CodecServerSpec {
}
}

message LifecycleSpec {
// Flag to enable delete protection for the namespace.
bool enable_delete_protection = 1;
}

message HighAvailabilitySpec {
// Flag to disable managed failover for the namespace.
bool disable_managed_failover = 1;
}


// temporal:versioning:min_version=v0.10.0
message CapacitySpec {
oneof spec {
// on-demand capacity (dynamic-envelope)
OnDemand on_demand = 1;
// provisioned capacity
Provisioned provisioned = 2;
}

message OnDemand {
}

message Provisioned {
// the unit of the provisioned capacity (Temporal Resource Units)
double value = 1;
}
}

// temporal:versioning:min_version=v0.10.0
message Capacity {

// temporal:versioning:min_version=v0.10.0
oneof current_mode {
// the current capacity is on-demand
OnDemand on_demand = 1;
// the current capacity is provisioned
Provisioned provisioned = 2;
}

// temporal:versioning:min_version=v0.10.0
message OnDemand {
}

// temporal:versioning:min_version=v0.10.0
message Provisioned {
// the current unit of the provisioned capacity (Temporal Resource Units)
double current_value = 1;
}

// temporal:versioning:min_version=v0.10.0
message Request {
// the current state of the capacity request (e.g. in-progress, completed, failed)
State state = 1;
// The date and time when the capacity request was created.
google.protobuf.Timestamp start_time = 2;
// The date and time when the capacity request was completed or failed.
google.protobuf.Timestamp end_time = 3;
// The id of the async operation that is creating/updating/deleting the capacity, if any.
string async_operation_id = 4;
// The requested capacity specification.
CapacitySpec spec = 5;

// temporal:versioning:min_version=v0.10.0
enum State {
STATE_CAPACITY_REQUEST_UNSPECIFIED = 0;
STATE_CAPACITY_REQUEST_COMPLETED = 1;
STATE_CAPACITY_REQUEST_IN_PROGRESS = 2;
STATE_CAPACITY_REQUEST_FAILED = 3;
}
}

// The latest capacity request, if any.
// temporal:versioning:min_version=v0.10.0
Request latest_request = 3;
}

message NamespaceSpec {
// The name to use for the namespace.
// This will create a namespace that's available at '<name>.<account>.tmprl.cloud:7233'.
Expand Down Expand Up @@ -134,17 +201,23 @@ message NamespaceSpec {
// Codec server spec used by UI to decode payloads for all users interacting with this namespace.
// Optional, default is unset.
CodecServerSpec codec_server = 6;

// The lifecycle configuration for the namespace.
// temporal:versioning:min_version=v0.4.0
LifecycleSpec lifecycle = 9;

// The high availability configuration for the namespace.
// temporal:versioning:min_version=v0.4.0
HighAvailabilitySpec high_availability = 10;

// The private connectivity configuration for the namespace.
// This will apply the connectivity rules specified to the namespace.
// temporal:versioning:min_version=v0.6.0
repeated string connectivity_rule_ids = 11;

// The capacity configuration for the namespace.
// temporal:versioning:min_version=v0.10.0
CapacitySpec capacity_spec = 12;

enum SearchAttributeType {
SEARCH_ATTRIBUTE_TYPE_UNSPECIFIED = 0;
Expand All @@ -171,6 +244,12 @@ message Limits {
// The number of actions per second (APS) that is currently allowed for the namespace.
// The namespace may be throttled if its APS exceeds the limit.
int32 actions_per_second_limit = 1;
// The number of requests per second (RPS) that is currently allowed for the namespace.
// temporal:dev
Copy link
Copy Markdown
Member

@anekkanti anekkanti Nov 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove all the temporal:dev

int32 requests_per_second_limit = 2;
// The number of concurrent task pollers allowed for the namespace.
// temporal:dev
int32 concurrent_task_poller_limit = 3;
}

message AWSPrivateLinkInfo {
Expand Down Expand Up @@ -226,8 +305,13 @@ message Namespace {
map<string, NamespaceRegionStatus> region_status = 12;
// The connectivity rules that are set on this namespace.
repeated temporal.api.cloud.connectivityrule.v1.ConnectivityRule connectivity_rules = 14;

// The tags for the namespace.
map<string, string> tags = 15;

// The capacity of the namespace.
// temporal:versioning:min_version=v0.10.0
Capacity capacity = 16;
}

message NamespaceRegionStatus {
Expand Down Expand Up @@ -255,21 +339,22 @@ message NamespaceRegionStatus {
}

message ExportSinkSpec {
// The unique name of the export sink, it can't be changed once set.
// The unique name of the export sink, it can't be changed once set.
string name = 1;

// A flag indicating whether the export sink is enabled or not.
bool enabled = 2;

// The S3 configuration details when destination_type is S3.
temporal.api.cloud.sink.v1.S3Spec s3 = 3;

// The GCS configuration details when destination_type is GCS.
// This is a feature under development. We will allow GCS sink support for GCP Namespaces.
// The GCS configuration details when destination_type is GCS.
temporal.api.cloud.sink.v1.GCSSpec gcs = 4;
}

message ExportSink {
// The unique name of the export sink.
// The unique name of the export sink, once set it can't be changed
string name = 1;

// The version of the export sink resource.
Expand Down
Loading