Skip to content

Commit a46c05e

Browse files
committed
Merge branch 'main' into abhinav/addTagsToOpenAPISpec
2 parents 5eaf9ab + f474cb6 commit a46c05e

File tree

3 files changed

+86
-10
lines changed

3 files changed

+86
-10
lines changed

.github/workflows/build.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ jobs:
1111
check-latest: true
1212
- name: Install Protoc
1313
uses: arduino/setup-protoc@v2
14+
with:
15+
repo-token: ${{ secrets.GITHUB_TOKEN }}
1416
- name: Validate and build go bindings from the proto files
1517
run: make ci-build
1618
env:

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v0.9.0
1+
v0.10.0

temporal/api/cloud/namespace/v1/message.proto

Lines changed: 83 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,11 @@ message ApiKeyAuthSpec {
5757
bool enabled = 1;
5858
}
5959

60+
message LifecycleSpec {
61+
// Flag to enable delete protection for the namespace.
62+
bool enable_delete_protection = 1;
63+
}
64+
6065
message CodecServerSpec {
6166
// The codec server endpoint.
6267
string endpoint = 1;
@@ -81,16 +86,72 @@ message CodecServerSpec {
8186
}
8287
}
8388

84-
message LifecycleSpec {
85-
// Flag to enable delete protection for the namespace.
86-
bool enable_delete_protection = 1;
87-
}
88-
8989
message HighAvailabilitySpec {
9090
// Flag to disable managed failover for the namespace.
9191
bool disable_managed_failover = 1;
9292
}
9393

94+
95+
// temporal:versioning:min_version=v0.10.0
96+
message CapacitySpec {
97+
oneof spec {
98+
// The on-demand capacity mode configuration.
99+
OnDemand on_demand = 1;
100+
// The provisioned capacity mode configuration.
101+
Provisioned provisioned = 2;
102+
}
103+
104+
message OnDemand {
105+
}
106+
107+
message Provisioned {
108+
// The units of provisioned capacity in TRU (Temporal Resource Units).
109+
// Each TRU unit assigned to the namespace will entitle it with additional APS limits as specified in the documentation.
110+
double value = 1;
111+
}
112+
}
113+
114+
message Capacity {
115+
oneof current_mode {
116+
// The status of on-demand capacity mode.
117+
OnDemand on_demand = 1;
118+
// The status of provisioned capacity mode.
119+
Provisioned provisioned = 2;
120+
}
121+
122+
message OnDemand {
123+
}
124+
125+
message Provisioned {
126+
// The current provisioned capacity for the namespace in Temporal Resource Units.
127+
// Can be different from the requested capacity in latest_request if the request is still in progress.
128+
double current_value = 1;
129+
}
130+
131+
message Request {
132+
// The current state of the capacity request (e.g. in-progress, completed, failed).
133+
State state = 1;
134+
// The date and time when the capacity request was created.
135+
google.protobuf.Timestamp start_time = 2;
136+
// The date and time when the capacity request was completed or failed.
137+
google.protobuf.Timestamp end_time = 3;
138+
// The id of the async operation that is creating/updating/deleting the capacity, if any.
139+
string async_operation_id = 4;
140+
// The requested capacity specification.
141+
CapacitySpec spec = 5;
142+
143+
enum State {
144+
STATE_CAPACITY_REQUEST_UNSPECIFIED = 0;
145+
STATE_CAPACITY_REQUEST_COMPLETED = 1;
146+
STATE_CAPACITY_REQUEST_IN_PROGRESS = 2;
147+
STATE_CAPACITY_REQUEST_FAILED = 3;
148+
}
149+
}
150+
151+
// The latest requested capacity for the namespace, if any.
152+
Request latest_request = 3;
153+
}
154+
94155
message NamespaceSpec {
95156
// The name to use for the namespace.
96157
// This will create a namespace that's available at '<name>.<account>.tmprl.cloud:7233'.
@@ -134,17 +195,27 @@ message NamespaceSpec {
134195
// Codec server spec used by UI to decode payloads for all users interacting with this namespace.
135196
// Optional, default is unset.
136197
CodecServerSpec codec_server = 6;
198+
137199
// The lifecycle configuration for the namespace.
138200
// temporal:versioning:min_version=v0.4.0
139201
LifecycleSpec lifecycle = 9;
202+
140203
// The high availability configuration for the namespace.
141204
// temporal:versioning:min_version=v0.4.0
142205
HighAvailabilitySpec high_availability = 10;
206+
143207
// The private connectivity configuration for the namespace.
144208
// This will apply the connectivity rules specified to the namespace.
145209
// temporal:versioning:min_version=v0.6.0
146210
repeated string connectivity_rule_ids = 11;
147211

212+
// The capacity configuration for the namespace.
213+
// There are two capacity modes: on-demand and provisioned.
214+
// On-demand capacity mode allows the namespace to scale automatically based on usage.
215+
// Provisioned capacity mode allows the user to specify a fixed amount of capacity (in TRUs) for the namespace.
216+
// Can be changed only when the last capacity request is not in progress.
217+
// temporal:versioning:min_version=v0.10.0
218+
CapacitySpec capacity_spec = 12;
148219

149220
enum SearchAttributeType {
150221
SEARCH_ATTRIBUTE_TYPE_UNSPECIFIED = 0;
@@ -228,6 +299,8 @@ message Namespace {
228299
repeated temporal.api.cloud.connectivityrule.v1.ConnectivityRule connectivity_rules = 14;
229300
// The tags for the namespace.
230301
map<string, string> tags = 15;
302+
// The status of namespace's capacity, if any.
303+
Capacity capacity = 16;
231304
}
232305

233306
message NamespaceRegionStatus {
@@ -255,21 +328,22 @@ message NamespaceRegionStatus {
255328
}
256329

257330
message ExportSinkSpec {
258-
// The unique name of the export sink, it can't be changed once set.
331+
// The unique name of the export sink, it can't be changed once set.
259332
string name = 1;
260333

261334
// A flag indicating whether the export sink is enabled or not.
262335
bool enabled = 2;
263-
336+
264337
// The S3 configuration details when destination_type is S3.
265338
temporal.api.cloud.sink.v1.S3Spec s3 = 3;
266339

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

271345
message ExportSink {
272-
// The unique name of the export sink.
346+
// The unique name of the export sink, once set it can't be changed
273347
string name = 1;
274348

275349
// The version of the export sink resource.

0 commit comments

Comments
 (0)