Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add lang packages and update HTTP URLs #20

Merged
merged 2 commits into from
Apr 12, 2024
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
5 changes: 5 additions & 0 deletions temporal/api/cloud/cloudservice/v1/request_response.proto
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ syntax = "proto3";
package temporal.api.cloud.cloudservice.v1;

option go_package = "go.temporal.io/api/cloud/cloudservice/v1;cloudservice";
option java_package = "io.temporal.api.cloud.cloudservice.v1";
option java_multiple_files = true;
option java_outer_classname = "RequestResponseProto";
option ruby_package = "Temporalio::Api::Cloud::CloudService::V1";
option csharp_namespace = "Temporalio.Api.Cloud.CloudService.V1";

import "temporal/api/cloud/operation/v1/message.proto";
import "temporal/api/cloud/identity/v1/message.proto";
Expand Down
37 changes: 22 additions & 15 deletions temporal/api/cloud/cloudservice/v1/service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -3,119 +3,126 @@ syntax = "proto3";
package temporal.api.cloud.cloudservice.v1;

option go_package = "go.temporal.io/api/cloud/cloudservice/v1;cloudservice";
option java_package = "io.temporal.api.cloud.cloudservice.v1";
option java_multiple_files = true;
option java_outer_classname = "ServiceProto";
option ruby_package = "Temporalio::Api::Cloud::CloudService::V1";
option csharp_namespace = "Temporalio.Api.Cloud.CloudService.V1";

import "temporal/api/cloud/cloudservice/v1/request_response.proto";
import "google/api/annotations.proto";

// WARNING: This service is currently experimental and may change in
// incompatible ways.
service CloudService {
// Gets all known users
rpc GetUsers(GetUsersRequest) returns (GetUsersResponse) {
option (google.api.http) = {
get: "/api/v1/users",
get: "/api/v1/cloud/users",
};
}

// Get a user
rpc GetUser(GetUserRequest) returns (GetUserResponse) {
option (google.api.http) = {
get: "/api/v1/users/{user_id}",
get: "/api/v1/cloud/users/{user_id}",
};
}

// Create a user
rpc CreateUser(CreateUserRequest) returns (CreateUserResponse) {
option (google.api.http) = {
post: "/api/v1/users",
post: "/api/v1/cloud/users",
body: "*"
};
}

// Update a user
rpc UpdateUser(UpdateUserRequest) returns (UpdateUserResponse) {
option (google.api.http) = {
post: "/api/v1/users/{user_id}",
post: "/api/v1/cloud/users/{user_id}",
body: "*"
};
}

// Delete a user
rpc DeleteUser(DeleteUserRequest) returns (DeleteUserResponse) {
option (google.api.http) = {
delete: "/api/v1/users/{user_id}",
delete: "/api/v1/cloud/users/{user_id}",
};
}

// Set a user's access to a namespace
rpc SetUserNamespaceAccess(SetUserNamespaceAccessRequest) returns (SetUserNamespaceAccessResponse) {
option (google.api.http) = {
post: "/api/v1/namespaces/{namespace}/users/{user_id}/access",
post: "/api/v1/cloud/namespaces/{namespace}/users/{user_id}/access",
body: "*"
};
}

// Get the latest information on an async operation
rpc GetAsyncOperation(GetAsyncOperationRequest) returns (GetAsyncOperationResponse) {
option (google.api.http) = {
get: "/api/v1/operations/{async_operation_id}",
get: "/api/v1/cloud/operations/{async_operation_id}",
};
}

// Create a new namespace
rpc CreateNamespace (CreateNamespaceRequest) returns (CreateNamespaceResponse) {
option (google.api.http) = {
post: "/api/v1/namespaces",
post: "/api/v1/cloud/namespaces",
body: "*"
};
}

// Get all namespaces
rpc GetNamespaces (GetNamespacesRequest) returns (GetNamespacesResponse) {
option (google.api.http) = {
get: "/api/v1/namespaces",
get: "/api/v1/cloud/namespaces",
};
}

// Get a namespace
rpc GetNamespace (GetNamespaceRequest) returns (GetNamespaceResponse) {
option (google.api.http) = {
get: "/api/v1/namespaces/{namespace}",
get: "/api/v1/cloud/namespaces/{namespace}",
};
}

// Update a namespace
rpc UpdateNamespace (UpdateNamespaceRequest) returns (UpdateNamespaceResponse) {
option (google.api.http) = {
post: "/api/v1/namespaces/{namespace}",
post: "/api/v1/cloud/namespaces/{namespace}",
body: "*"
};
}

// Rename an existing customer search attribute
rpc RenameCustomSearchAttribute (RenameCustomSearchAttributeRequest) returns (RenameCustomSearchAttributeResponse) {
option (google.api.http) = {
post: "/api/v1/namespaces/{namespace}/rename-custom-search-attribute",
post: "/api/v1/cloud/namespaces/{namespace}/rename-custom-search-attribute",
body: "*"
};
}

// Delete a namespace
rpc DeleteNamespace (DeleteNamespaceRequest) returns (DeleteNamespaceResponse) {
option (google.api.http) = {
delete: "/api/v1/namespaces/{namespace}",
delete: "/api/v1/cloud/namespaces/{namespace}",
};
}

// Get all regions
rpc GetRegions (GetRegionsRequest) returns (GetRegionsResponse) {
option (google.api.http) = {
get: "/api/v1/regions",
get: "/api/v1/cloud/regions",
};
}

// Get a region
rpc GetRegion (GetRegionRequest) returns (GetRegionResponse) {
option (google.api.http) = {
get: "/api/v1/regions/{region}",
get: "/api/v1/cloud/regions/{region}",
};
}
}
7 changes: 5 additions & 2 deletions temporal/api/cloud/identity/v1/message.proto
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ syntax = "proto3";
package temporal.api.cloud.identity.v1;

option go_package = "go.temporal.io/api/cloud/identity/v1;identity";
option java_package = "io.temporal.api.cloud.identity.v1";
option java_multiple_files = true;
option java_outer_classname = "MessageProto";
option ruby_package = "Temporalio::Api::Cloud::Identity::V1";
option csharp_namespace = "Temporalio.Api.Cloud.Identity.V1";

import "google/protobuf/timestamp.proto";

Expand Down Expand Up @@ -64,5 +69,3 @@ message User {
// Will not be set if the user has never been modified.
google.protobuf.Timestamp last_modified_time = 8;
}


7 changes: 7 additions & 0 deletions temporal/api/cloud/namespace/v1/message.proto
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ syntax = "proto3";
package temporal.api.cloud.namespace.v1;

option go_package = "go.temporal.io/api/cloud/namespace/v1;namespace";
option java_package = "io.temporal.api.cloud.namespace.v1";
option java_multiple_files = true;
option java_outer_classname = "MessageProto";
option ruby_package = "Temporalio::Api::Cloud::Namespace::V1";
option csharp_namespace = "Temporalio.Api.Cloud.Namespace.V1";

import "google/protobuf/timestamp.proto";

Expand All @@ -24,6 +29,8 @@ message CertificateFilterSpec {
message MtlsAuthSpec {
// The base64 encoded ca cert(s) in PEM format that the clients can use for authentication and authorization.
// This must only be one value, but the CA can have a chain.
//
// (-- api-linter: core::0140::base64=disabled --)
string accepted_client_ca = 1;
// Certificate filters which, if specified, only allow connections from client certificates whose distinguished name properties match at least one of the filters.
// This allows limiting access to specific end-entity certificates.
Expand Down
7 changes: 7 additions & 0 deletions temporal/api/cloud/operation/v1/message.proto
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ syntax = "proto3";
package temporal.api.cloud.operation.v1;

option go_package = "go.temporal.io/api/cloud/operation/v1;operation";
option java_package = "io.temporal.api.cloud.operation.v1";
option java_multiple_files = true;
option java_outer_classname = "MessageProto";
option ruby_package = "Temporalio::Api::Cloud::Operation::V1";
option csharp_namespace = "Temporalio.Api.Cloud.Operation.V1";

import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";
Expand All @@ -19,6 +24,8 @@ message AsyncOperation {
// The type of operation being performed
string operation_type = 4;
// The input to the operation being performed
//
// (-- api-linter: core::0146::any=disabled --)
google.protobuf.Any operation_input = 5;
// If the operation failed, the reason for the failure
string failure_reason = 6;
Expand Down
6 changes: 5 additions & 1 deletion temporal/api/cloud/region/v1/message.proto
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ syntax = "proto3";
package temporal.api.cloud.region.v1;

option go_package = "go.temporal.io/api/cloud/region/v1;region";
option java_package = "io.temporal.api.cloud.region.v1";
option java_multiple_files = true;
option java_outer_classname = "MessageProto";
option ruby_package = "Temporalio::Api::Cloud::Region::V1";
option csharp_namespace = "Temporalio.Api.Cloud.Region.V1";

message Region {
// The id of the temporal cloud region.
Expand All @@ -15,4 +20,3 @@ message Region {
// The human readable location of the region.
string location = 4;
}

Loading