From c646c0def0ef507783bf806dc39a19e2a8a537b0 Mon Sep 17 00:00:00 2001 From: Abhinav Nekkanti <10552725+anekkanti@users.noreply.github.com> Date: Sun, 19 Nov 2023 12:16:50 -0800 Subject: [PATCH 1/7] samples for namespace management apis --- .gitignore | 1 + Makefile | 11 +- client/api/client_test.go | 42 + client/temporal/client_test.go | 25 + cmd/worker/README.md | 12 - .../cloudservice/v1/request_response.pb.go | 1763 ++++++++++++++--- .../api/cloud/cloudservice/v1/service.pb.go | 179 +- .../cloud/cloudservice/v1/service_grpc.pb.go | 326 ++- .../api/cloud/identity/v1/message.pb.go | 1 + .../api/cloud/namespace/v1/message.pb.go | 1021 ++++++++++ .../api/cloud/region/v1/message.pb.go | 183 ++ workflows/activities/namespace.go | 35 + workflows/activities/region.go | 20 + workflows/namespace.go | 307 +++ workflows/operation.go | 26 +- workflows/region.go | 41 + workflows/user.go | 88 +- workflows/workflows.go | 41 +- 18 files changed, 3779 insertions(+), 343 deletions(-) create mode 100644 client/api/client_test.go create mode 100644 client/temporal/client_test.go create mode 100644 protogen/temporal/api/cloud/namespace/v1/message.pb.go create mode 100644 protogen/temporal/api/cloud/region/v1/message.pb.go create mode 100644 workflows/activities/namespace.go create mode 100644 workflows/activities/region.go create mode 100644 workflows/namespace.go create mode 100644 workflows/region.go diff --git a/.gitignore b/.gitignore index 99797e1..2fad46b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /proto/temporal +/worker diff --git a/Makefile b/Makefile index 9ea8d19..00fbb16 100644 --- a/Makefile +++ b/Makefile @@ -5,6 +5,10 @@ install: buf-install grpc-install # Run all linters and compile proto files. proto: copy-api-cloud-api grpc + +# Build the worker. +bins: worker + ######################################################################## ##### Variables ###### @@ -52,7 +56,10 @@ grpc-install: go install google.golang.org/protobuf/cmd/protoc-gen-go@latest go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest +##### Build ##### +worker: clean + @go build -o worker ./cmd/worker/*.go + ##### Clean ##### clean: - printf $(COLOR) "Delete generated go files..." - rm -rf $(PROTO_OUT) + @rm -rf ./worker diff --git a/client/api/client_test.go b/client/api/client_test.go new file mode 100644 index 0000000..06cd5b9 --- /dev/null +++ b/client/api/client_test.go @@ -0,0 +1,42 @@ +package api + +import ( + "context" + "fmt" + "os" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/temporalio/cloud-samples-go/protogen/temporal/api/cloud/cloudservice/v1" +) + +const ( + temporalCloudAPIAddress = "saas-api.tmprl.cloud:443" + temporalCloudAPIKeyEnvName = "TEMPORAL_CLOUD_API_KEY" +) + +func getAPIKeyFromEnv() (string, error) { + v := os.Getenv(temporalCloudAPIKeyEnvName) + if v == "" { + return "", fmt.Errorf("apikey not provided, set environment variable '%s' with apikey you want to use", temporalCloudAPIKeyEnvName) + } + return v, nil +} + +func TestConnection(t *testing.T) { + apikey, err := getAPIKeyFromEnv() + if err != nil { + panic(err) + } + + conn, err := NewConnectionWithAPIKey(temporalCloudAPIAddress, false, apikey) + if err != nil { + panic(fmt.Errorf("failed to create cloud api connection: %+v", err)) + } + client := cloudservice.NewCloudServiceClient(conn) + + resp, err := client.GetUsers(context.TODO(), &cloudservice.GetUsersRequest{}) + require.NoError(t, err) + assert.NotEmpty(t, resp.GetUsers()) +} diff --git a/client/temporal/client_test.go b/client/temporal/client_test.go new file mode 100644 index 0000000..9a29692 --- /dev/null +++ b/client/temporal/client_test.go @@ -0,0 +1,25 @@ +package temporal_test + +import ( + "context" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/temporalio/cloud-samples-go/client/temporal" + "github.com/temporalio/cloud-samples-go/protogen/temporal/api/workflowservice/v1" +) + +func TestCloudClient(t *testing.T) { + + assert := assert.New(t) + client, err := temporal.GetTemporalCloudNamespaceClient(&temporal.GetTemporalCloudNamespaceClientInput{ + Namespace: "abhinav-test3.a2dd6", + TLSCertFilePath: "/Users/abhinavtemporal.io/development/certs/test/cert.pem", + TLSKeyFilePath: "/Users/abhinavtemporal.io/development/certs/test/cert.key", + }) + assert.NoError(err) + defer client.Close() + + _, err = client.ListOpenWorkflow(context.Background(), &workflowservice.ListOpenWorkflowExecutionsRequest{}) + assert.NoError(err) +} diff --git a/cmd/worker/README.md b/cmd/worker/README.md index b1d025a..1823a8a 100644 --- a/cmd/worker/README.md +++ b/cmd/worker/README.md @@ -4,18 +4,6 @@ A worker that invokes the temporal cloud apis to perform various operations. Temporal Cloud APIs are located at Repo: [temporalio/cloud-api](https://github.com/temporalio/api-cloud) -## Supported Workflows - -| WorkflowType | Description | -| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | -| `tmprlcloud-wf.get-user` | Get an existing user. | -| `tmprlcloud-wf.get-users` | List all users. | -| `tmprlcloud-wf.create-user` | Create a new user. | -| `tmprlcloud-wf.update-user` | Update an existing user. | -| `tmprlcloud-wf.delete-user` | Delete an existing user. | -| `tmprlcloud-wf.reconcile-user` | Reconcile a user. Creates the user if one does not exist, otherwise updates the existing one. | -| `tmprlcloud-wf.reconcile-users` | Reconcile set of users. Creates the users that do not exist, updates the existing ones. Optionally can delete the users that are unaccounted. | - ## Running the worker ### Step 1: Generate an apikey diff --git a/protogen/temporal/api/cloud/cloudservice/v1/request_response.pb.go b/protogen/temporal/api/cloud/cloudservice/v1/request_response.pb.go index 4e0c9f5..95ff477 100644 --- a/protogen/temporal/api/cloud/cloudservice/v1/request_response.pb.go +++ b/protogen/temporal/api/cloud/cloudservice/v1/request_response.pb.go @@ -8,7 +8,9 @@ package cloudservice import ( v1 "github.com/temporalio/cloud-samples-go/protogen/temporal/api/cloud/identity/v1" + v12 "github.com/temporalio/cloud-samples-go/protogen/temporal/api/cloud/namespace/v1" v11 "github.com/temporalio/cloud-samples-go/protogen/temporal/api/cloud/operation/v1" + v13 "github.com/temporalio/cloud-samples-go/protogen/temporal/api/cloud/region/v1" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -27,12 +29,15 @@ type GetUsersRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The requested size of the page to retrieve + // The requested size of the page to retrieve - optional. + // Cannot exceed 1000. Defaults to 100. PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // The page token + // The page token if this is continuing from another response - optional. PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` - // Optional field to filter users by email address + // Filter users by email address - optional. Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` + // Filter users by the namespace they have access to - optional. + Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` } func (x *GetUsersRequest) Reset() { @@ -88,6 +93,13 @@ func (x *GetUsersRequest) GetEmail() string { return "" } +func (x *GetUsersRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + type GetUsersResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -684,7 +696,7 @@ type SetUserNamespaceAccessResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The request status of the update operation + // The async operation AsyncOperation *v11.AsyncOperation `protobuf:"bytes,1,opt,name=async_operation,json=asyncOperation,proto3" json:"async_operation,omitempty"` } @@ -823,267 +835,1320 @@ func (x *GetAsyncOperationResponse) GetAsyncOperation() *v11.AsyncOperation { return nil } -var File_temporal_api_cloud_cloudservice_v1_request_response_proto protoreflect.FileDescriptor +type CreateNamespaceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -var file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDesc = []byte{ - 0x0a, 0x39, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x74, 0x65, 0x6d, - 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x1a, - 0x2d, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, - 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, - 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x0f, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x22, 0x76, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, - 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, - 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x29, 0x0a, 0x0e, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, - 0x72, 0x22, 0x7f, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, - 0x73, 0x70, 0x65, 0x63, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x22, 0x87, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x58, 0x0a, 0x0f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, - 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, - 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x61, 0x73, - 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc3, 0x01, 0x0a, - 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x04, 0x73, - 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x6d, 0x70, - 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, - 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x22, 0x6e, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x61, 0x73, 0x79, 0x6e, - 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0e, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x85, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, - 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x6e, 0x0a, 0x12, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x58, 0x0a, 0x0f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x6d, 0x70, - 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e, - 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x61, 0x73, 0x79, 0x6e, - 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf8, 0x01, 0x0a, 0x1d, 0x53, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, - 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x7a, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x61, 0x73, 0x79, 0x6e, 0x63, - 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0e, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x48, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, - 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x73, 0x79, 0x6e, 0x63, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x75, 0x0a, 0x19, 0x47, - 0x65, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x61, 0x73, 0x79, 0x6e, - 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0e, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, - 0x6c, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + // The namespace specification. + Spec *v12.NamespaceSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"` + // The id to use for this async operation. + // Optional, if not provided a random id will be generated. + AsyncOperationId string `protobuf:"bytes,3,opt,name=async_operation_id,json=asyncOperationId,proto3" json:"async_operation_id,omitempty"` } -var ( - file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescOnce sync.Once - file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescData = file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDesc -) +func (x *CreateNamespaceRequest) Reset() { + *x = CreateNamespaceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} -func file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP() []byte { - file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescOnce.Do(func() { - file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescData = protoimpl.X.CompressGZIP(file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescData) - }) - return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescData +func (x *CreateNamespaceRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -var file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes = make([]protoimpl.MessageInfo, 14) -var file_temporal_api_cloud_cloudservice_v1_request_response_proto_goTypes = []interface{}{ - (*GetUsersRequest)(nil), // 0: temporal.api.cloud.cloudservice.v1.GetUsersRequest - (*GetUsersResponse)(nil), // 1: temporal.api.cloud.cloudservice.v1.GetUsersResponse - (*GetUserRequest)(nil), // 2: temporal.api.cloud.cloudservice.v1.GetUserRequest - (*GetUserResponse)(nil), // 3: temporal.api.cloud.cloudservice.v1.GetUserResponse - (*CreateUserRequest)(nil), // 4: temporal.api.cloud.cloudservice.v1.CreateUserRequest - (*CreateUserResponse)(nil), // 5: temporal.api.cloud.cloudservice.v1.CreateUserResponse - (*UpdateUserRequest)(nil), // 6: temporal.api.cloud.cloudservice.v1.UpdateUserRequest - (*UpdateUserResponse)(nil), // 7: temporal.api.cloud.cloudservice.v1.UpdateUserResponse - (*DeleteUserRequest)(nil), // 8: temporal.api.cloud.cloudservice.v1.DeleteUserRequest - (*DeleteUserResponse)(nil), // 9: temporal.api.cloud.cloudservice.v1.DeleteUserResponse - (*SetUserNamespaceAccessRequest)(nil), // 10: temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessRequest - (*SetUserNamespaceAccessResponse)(nil), // 11: temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessResponse - (*GetAsyncOperationRequest)(nil), // 12: temporal.api.cloud.cloudservice.v1.GetAsyncOperationRequest - (*GetAsyncOperationResponse)(nil), // 13: temporal.api.cloud.cloudservice.v1.GetAsyncOperationResponse - (*v1.User)(nil), // 14: temporal.api.cloud.identity.v1.User - (*v1.UserSpec)(nil), // 15: temporal.api.cloud.identity.v1.UserSpec - (*v11.AsyncOperation)(nil), // 16: temporal.api.cloud.operation.v1.AsyncOperation - (*v1.NamespaceAccess)(nil), // 17: temporal.api.cloud.identity.v1.NamespaceAccess +func (*CreateNamespaceRequest) ProtoMessage() {} + +func (x *CreateNamespaceRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var file_temporal_api_cloud_cloudservice_v1_request_response_proto_depIdxs = []int32{ - 14, // 0: temporal.api.cloud.cloudservice.v1.GetUsersResponse.users:type_name -> temporal.api.cloud.identity.v1.User - 14, // 1: temporal.api.cloud.cloudservice.v1.GetUserResponse.user:type_name -> temporal.api.cloud.identity.v1.User - 15, // 2: temporal.api.cloud.cloudservice.v1.CreateUserRequest.spec:type_name -> temporal.api.cloud.identity.v1.UserSpec - 16, // 3: temporal.api.cloud.cloudservice.v1.CreateUserResponse.async_operation:type_name -> temporal.api.cloud.operation.v1.AsyncOperation - 15, // 4: temporal.api.cloud.cloudservice.v1.UpdateUserRequest.spec:type_name -> temporal.api.cloud.identity.v1.UserSpec - 16, // 5: temporal.api.cloud.cloudservice.v1.UpdateUserResponse.async_operation:type_name -> temporal.api.cloud.operation.v1.AsyncOperation - 16, // 6: temporal.api.cloud.cloudservice.v1.DeleteUserResponse.async_operation:type_name -> temporal.api.cloud.operation.v1.AsyncOperation - 17, // 7: temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessRequest.access:type_name -> temporal.api.cloud.identity.v1.NamespaceAccess - 16, // 8: temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessResponse.async_operation:type_name -> temporal.api.cloud.operation.v1.AsyncOperation - 16, // 9: temporal.api.cloud.cloudservice.v1.GetAsyncOperationResponse.async_operation:type_name -> temporal.api.cloud.operation.v1.AsyncOperation - 10, // [10:10] is the sub-list for method output_type - 10, // [10:10] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + +// Deprecated: Use CreateNamespaceRequest.ProtoReflect.Descriptor instead. +func (*CreateNamespaceRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP(), []int{14} } -func init() { file_temporal_api_cloud_cloudservice_v1_request_response_proto_init() } -func file_temporal_api_cloud_cloudservice_v1_request_response_proto_init() { - if File_temporal_api_cloud_cloudservice_v1_request_response_proto != nil { - return +func (x *CreateNamespaceRequest) GetSpec() *v12.NamespaceSpec { + if x != nil { + return x.Spec } - if !protoimpl.UnsafeEnabled { - file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } + return nil +} + +func (x *CreateNamespaceRequest) GetAsyncOperationId() string { + if x != nil { + return x.AsyncOperationId + } + return "" +} + +type CreateNamespaceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The namespace that was created. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The async operation. + AsyncOperation *v11.AsyncOperation `protobuf:"bytes,2,opt,name=async_operation,json=asyncOperation,proto3" json:"async_operation,omitempty"` +} + +func (x *CreateNamespaceResponse) Reset() { + *x = CreateNamespaceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNamespaceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNamespaceResponse) ProtoMessage() {} + +func (x *CreateNamespaceResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) } - file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateUserRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateNamespaceResponse.ProtoReflect.Descriptor instead. +func (*CreateNamespaceResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP(), []int{15} +} + +func (x *CreateNamespaceResponse) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *CreateNamespaceResponse) GetAsyncOperation() *v11.AsyncOperation { + if x != nil { + return x.AsyncOperation + } + return nil +} + +type GetNamespacesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The requested size of the page to retrieve. + // Cannot exceed 1000. + // Optional, defaults to 100. + PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The page token if this is continuing from another response. + // Optional, defaults to empty. + PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Filter namespaces by their name. + // Optional, defaults to empty. + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetNamespacesRequest) Reset() { + *x = GetNamespacesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNamespacesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNamespacesRequest) ProtoMessage() {} + +func (x *GetNamespacesRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) } - file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateUserResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNamespacesRequest.ProtoReflect.Descriptor instead. +func (*GetNamespacesRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP(), []int{16} +} + +func (x *GetNamespacesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetNamespacesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *GetNamespacesRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type GetNamespacesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of namespaces in ascending name order. + Namespaces []*v12.Namespace `protobuf:"bytes,1,rep,name=namespaces,proto3" json:"namespaces,omitempty"` + // The next page's token. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *GetNamespacesResponse) Reset() { + *x = GetNamespacesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNamespacesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNamespacesResponse) ProtoMessage() {} + +func (x *GetNamespacesResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) } - file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateUserRequest); i { + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNamespacesResponse.ProtoReflect.Descriptor instead. +func (*GetNamespacesResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP(), []int{17} +} + +func (x *GetNamespacesResponse) GetNamespaces() []*v12.Namespace { + if x != nil { + return x.Namespaces + } + return nil +} + +func (x *GetNamespacesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +type GetNamespaceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The namespace to get. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` +} + +func (x *GetNamespaceRequest) Reset() { + *x = GetNamespaceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNamespaceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNamespaceRequest) ProtoMessage() {} + +func (x *GetNamespaceRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNamespaceRequest.ProtoReflect.Descriptor instead. +func (*GetNamespaceRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP(), []int{18} +} + +func (x *GetNamespaceRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +type GetNamespaceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The namespace. + Namespace *v12.Namespace `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` +} + +func (x *GetNamespaceResponse) Reset() { + *x = GetNamespaceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNamespaceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNamespaceResponse) ProtoMessage() {} + +func (x *GetNamespaceResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNamespaceResponse.ProtoReflect.Descriptor instead. +func (*GetNamespaceResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP(), []int{19} +} + +func (x *GetNamespaceResponse) GetNamespace() *v12.Namespace { + if x != nil { + return x.Namespace + } + return nil +} + +type UpdateNamespaceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The namespace to update. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The new namespace specification. + Spec *v12.NamespaceSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"` + // The version of the namespace for which this update is intended for. + // The latest version can be found in the namespace status. + ResourceVersion string `protobuf:"bytes,3,opt,name=resource_version,json=resourceVersion,proto3" json:"resource_version,omitempty"` + // The id to use for this async operation. + // Optional, if not provided a random id will be generated. + AsyncOperationId string `protobuf:"bytes,4,opt,name=async_operation_id,json=asyncOperationId,proto3" json:"async_operation_id,omitempty"` +} + +func (x *UpdateNamespaceRequest) Reset() { + *x = UpdateNamespaceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNamespaceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNamespaceRequest) ProtoMessage() {} + +func (x *UpdateNamespaceRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNamespaceRequest.ProtoReflect.Descriptor instead. +func (*UpdateNamespaceRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP(), []int{20} +} + +func (x *UpdateNamespaceRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *UpdateNamespaceRequest) GetSpec() *v12.NamespaceSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *UpdateNamespaceRequest) GetResourceVersion() string { + if x != nil { + return x.ResourceVersion + } + return "" +} + +func (x *UpdateNamespaceRequest) GetAsyncOperationId() string { + if x != nil { + return x.AsyncOperationId + } + return "" +} + +type UpdateNamespaceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The async operation. + AsyncOperation *v11.AsyncOperation `protobuf:"bytes,1,opt,name=async_operation,json=asyncOperation,proto3" json:"async_operation,omitempty"` +} + +func (x *UpdateNamespaceResponse) Reset() { + *x = UpdateNamespaceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNamespaceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNamespaceResponse) ProtoMessage() {} + +func (x *UpdateNamespaceResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNamespaceResponse.ProtoReflect.Descriptor instead. +func (*UpdateNamespaceResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP(), []int{21} +} + +func (x *UpdateNamespaceResponse) GetAsyncOperation() *v11.AsyncOperation { + if x != nil { + return x.AsyncOperation + } + return nil +} + +type RenameCustomSearchAttributeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The namespace to rename the custom search attribute for. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The existing name of the custom search attribute to be renamed. + ExistingCustomSearchAttributeName string `protobuf:"bytes,2,opt,name=existing_custom_search_attribute_name,json=existingCustomSearchAttributeName,proto3" json:"existing_custom_search_attribute_name,omitempty"` + // The new name of the custom search attribute. + NewCustomSearchAttributeName string `protobuf:"bytes,3,opt,name=new_custom_search_attribute_name,json=newCustomSearchAttributeName,proto3" json:"new_custom_search_attribute_name,omitempty"` + // The version of the namespace for which this update is intended for. + // The latest version can be found in the namespace status. + ResourceVersion string `protobuf:"bytes,4,opt,name=resource_version,json=resourceVersion,proto3" json:"resource_version,omitempty"` + // The id to use for this async operation. + // Optional, if not provided a random id will be generated. + AsyncOperationId string `protobuf:"bytes,5,opt,name=async_operation_id,json=asyncOperationId,proto3" json:"async_operation_id,omitempty"` +} + +func (x *RenameCustomSearchAttributeRequest) Reset() { + *x = RenameCustomSearchAttributeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RenameCustomSearchAttributeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RenameCustomSearchAttributeRequest) ProtoMessage() {} + +func (x *RenameCustomSearchAttributeRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RenameCustomSearchAttributeRequest.ProtoReflect.Descriptor instead. +func (*RenameCustomSearchAttributeRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP(), []int{22} +} + +func (x *RenameCustomSearchAttributeRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RenameCustomSearchAttributeRequest) GetExistingCustomSearchAttributeName() string { + if x != nil { + return x.ExistingCustomSearchAttributeName + } + return "" +} + +func (x *RenameCustomSearchAttributeRequest) GetNewCustomSearchAttributeName() string { + if x != nil { + return x.NewCustomSearchAttributeName + } + return "" +} + +func (x *RenameCustomSearchAttributeRequest) GetResourceVersion() string { + if x != nil { + return x.ResourceVersion + } + return "" +} + +func (x *RenameCustomSearchAttributeRequest) GetAsyncOperationId() string { + if x != nil { + return x.AsyncOperationId + } + return "" +} + +type RenameCustomSearchAttributeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The async operation. + AsyncOperation *v11.AsyncOperation `protobuf:"bytes,1,opt,name=async_operation,json=asyncOperation,proto3" json:"async_operation,omitempty"` +} + +func (x *RenameCustomSearchAttributeResponse) Reset() { + *x = RenameCustomSearchAttributeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RenameCustomSearchAttributeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RenameCustomSearchAttributeResponse) ProtoMessage() {} + +func (x *RenameCustomSearchAttributeResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RenameCustomSearchAttributeResponse.ProtoReflect.Descriptor instead. +func (*RenameCustomSearchAttributeResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP(), []int{23} +} + +func (x *RenameCustomSearchAttributeResponse) GetAsyncOperation() *v11.AsyncOperation { + if x != nil { + return x.AsyncOperation + } + return nil +} + +type DeleteNamespaceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The namespace to delete. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The version of the namespace for which this delete is intended for. + // The latest version can be found in the namespace status. + ResourceVersion string `protobuf:"bytes,2,opt,name=resource_version,json=resourceVersion,proto3" json:"resource_version,omitempty"` + // The id to use for this async operation. + // Optional, if not provided a random id will be generated. + AsyncOperationId string `protobuf:"bytes,3,opt,name=async_operation_id,json=asyncOperationId,proto3" json:"async_operation_id,omitempty"` +} + +func (x *DeleteNamespaceRequest) Reset() { + *x = DeleteNamespaceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteNamespaceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNamespaceRequest) ProtoMessage() {} + +func (x *DeleteNamespaceRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNamespaceRequest.ProtoReflect.Descriptor instead. +func (*DeleteNamespaceRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP(), []int{24} +} + +func (x *DeleteNamespaceRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DeleteNamespaceRequest) GetResourceVersion() string { + if x != nil { + return x.ResourceVersion + } + return "" +} + +func (x *DeleteNamespaceRequest) GetAsyncOperationId() string { + if x != nil { + return x.AsyncOperationId + } + return "" +} + +type DeleteNamespaceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The async operation. + AsyncOperation *v11.AsyncOperation `protobuf:"bytes,1,opt,name=async_operation,json=asyncOperation,proto3" json:"async_operation,omitempty"` +} + +func (x *DeleteNamespaceResponse) Reset() { + *x = DeleteNamespaceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteNamespaceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNamespaceResponse) ProtoMessage() {} + +func (x *DeleteNamespaceResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNamespaceResponse.ProtoReflect.Descriptor instead. +func (*DeleteNamespaceResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP(), []int{25} +} + +func (x *DeleteNamespaceResponse) GetAsyncOperation() *v11.AsyncOperation { + if x != nil { + return x.AsyncOperation + } + return nil +} + +type GetRegionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GetRegionsRequest) Reset() { + *x = GetRegionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRegionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRegionsRequest) ProtoMessage() {} + +func (x *GetRegionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRegionsRequest.ProtoReflect.Descriptor instead. +func (*GetRegionsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP(), []int{26} +} + +type GetRegionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The temporal cloud regions. + Regions []*v13.Region `protobuf:"bytes,1,rep,name=regions,proto3" json:"regions,omitempty"` +} + +func (x *GetRegionsResponse) Reset() { + *x = GetRegionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRegionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRegionsResponse) ProtoMessage() {} + +func (x *GetRegionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRegionsResponse.ProtoReflect.Descriptor instead. +func (*GetRegionsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP(), []int{27} +} + +func (x *GetRegionsResponse) GetRegions() []*v13.Region { + if x != nil { + return x.Regions + } + return nil +} + +type GetRegionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The id of the region to get. + Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` +} + +func (x *GetRegionRequest) Reset() { + *x = GetRegionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRegionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRegionRequest) ProtoMessage() {} + +func (x *GetRegionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRegionRequest.ProtoReflect.Descriptor instead. +func (*GetRegionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP(), []int{28} +} + +func (x *GetRegionRequest) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +type GetRegionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The temporal cloud region. + Region *v13.Region `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` +} + +func (x *GetRegionResponse) Reset() { + *x = GetRegionResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRegionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRegionResponse) ProtoMessage() {} + +func (x *GetRegionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRegionResponse.ProtoReflect.Descriptor instead. +func (*GetRegionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP(), []int{29} +} + +func (x *GetRegionResponse) GetRegion() *v13.Region { + if x != nil { + return x.Region + } + return nil +} + +var File_temporal_api_cloud_cloudservice_v1_request_response_proto protoreflect.FileDescriptor + +var file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDesc = []byte{ + 0x0a, 0x39, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x74, 0x65, 0x6d, + 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x1a, + 0x2d, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, + 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, + 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x74, 0x65, + 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x74, 0x65, 0x6d, + 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x76, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3a, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0x29, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4b, + 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x38, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x7f, 0x0a, 0x11, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x3c, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x2c, + 0x0a, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x73, 0x79, 0x6e, + 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x87, 0x01, 0x0a, + 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x58, 0x0a, 0x0f, + 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc3, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, + 0x70, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2c, + 0x0a, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x73, 0x79, 0x6e, + 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x6e, 0x0a, 0x12, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, + 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, + 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x61, 0x73, + 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01, 0x0a, + 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x6e, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x61, 0x73, + 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf8, 0x01, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x47, 0x0a, + 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x06, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, + 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, + 0x7a, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x6d, + 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, + 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x61, 0x73, 0x79, + 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x48, 0x0a, 0x18, 0x47, + 0x65, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, + 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x75, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x73, 0x79, 0x6e, + 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, + 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, + 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x61, 0x73, + 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0x0a, + 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x2c, 0x0a, 0x12, 0x61, + 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x91, 0x01, 0x0a, 0x17, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, + 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x61, + 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x66, 0x0a, + 0x14, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4a, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, + 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0x33, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x60, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x48, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xd3, 0x01, 0x0a, 0x16, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x70, 0x65, + 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x22, 0x73, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x61, + 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb5, 0x02, 0x0a, 0x22, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x25, 0x65, 0x78, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x21, 0x65, 0x78, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x20, + 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x6e, 0x65, 0x77, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x2c, 0x0a, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x73, 0x79, + 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x7f, 0x0a, + 0x23, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, + 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, + 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x22, 0x73, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x61, + 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x54, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x3e, 0x0a, 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, + 0x22, 0x2a, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x51, 0x0a, 0x11, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, + 0x37, 0x5a, 0x35, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x69, + 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescOnce sync.Once + file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescData = file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDesc +) + +func file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescGZIP() []byte { + file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescOnce.Do(func() { + file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescData = protoimpl.X.CompressGZIP(file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescData) + }) + return file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDescData +} + +var file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes = make([]protoimpl.MessageInfo, 30) +var file_temporal_api_cloud_cloudservice_v1_request_response_proto_goTypes = []interface{}{ + (*GetUsersRequest)(nil), // 0: temporal.api.cloud.cloudservice.v1.GetUsersRequest + (*GetUsersResponse)(nil), // 1: temporal.api.cloud.cloudservice.v1.GetUsersResponse + (*GetUserRequest)(nil), // 2: temporal.api.cloud.cloudservice.v1.GetUserRequest + (*GetUserResponse)(nil), // 3: temporal.api.cloud.cloudservice.v1.GetUserResponse + (*CreateUserRequest)(nil), // 4: temporal.api.cloud.cloudservice.v1.CreateUserRequest + (*CreateUserResponse)(nil), // 5: temporal.api.cloud.cloudservice.v1.CreateUserResponse + (*UpdateUserRequest)(nil), // 6: temporal.api.cloud.cloudservice.v1.UpdateUserRequest + (*UpdateUserResponse)(nil), // 7: temporal.api.cloud.cloudservice.v1.UpdateUserResponse + (*DeleteUserRequest)(nil), // 8: temporal.api.cloud.cloudservice.v1.DeleteUserRequest + (*DeleteUserResponse)(nil), // 9: temporal.api.cloud.cloudservice.v1.DeleteUserResponse + (*SetUserNamespaceAccessRequest)(nil), // 10: temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessRequest + (*SetUserNamespaceAccessResponse)(nil), // 11: temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessResponse + (*GetAsyncOperationRequest)(nil), // 12: temporal.api.cloud.cloudservice.v1.GetAsyncOperationRequest + (*GetAsyncOperationResponse)(nil), // 13: temporal.api.cloud.cloudservice.v1.GetAsyncOperationResponse + (*CreateNamespaceRequest)(nil), // 14: temporal.api.cloud.cloudservice.v1.CreateNamespaceRequest + (*CreateNamespaceResponse)(nil), // 15: temporal.api.cloud.cloudservice.v1.CreateNamespaceResponse + (*GetNamespacesRequest)(nil), // 16: temporal.api.cloud.cloudservice.v1.GetNamespacesRequest + (*GetNamespacesResponse)(nil), // 17: temporal.api.cloud.cloudservice.v1.GetNamespacesResponse + (*GetNamespaceRequest)(nil), // 18: temporal.api.cloud.cloudservice.v1.GetNamespaceRequest + (*GetNamespaceResponse)(nil), // 19: temporal.api.cloud.cloudservice.v1.GetNamespaceResponse + (*UpdateNamespaceRequest)(nil), // 20: temporal.api.cloud.cloudservice.v1.UpdateNamespaceRequest + (*UpdateNamespaceResponse)(nil), // 21: temporal.api.cloud.cloudservice.v1.UpdateNamespaceResponse + (*RenameCustomSearchAttributeRequest)(nil), // 22: temporal.api.cloud.cloudservice.v1.RenameCustomSearchAttributeRequest + (*RenameCustomSearchAttributeResponse)(nil), // 23: temporal.api.cloud.cloudservice.v1.RenameCustomSearchAttributeResponse + (*DeleteNamespaceRequest)(nil), // 24: temporal.api.cloud.cloudservice.v1.DeleteNamespaceRequest + (*DeleteNamespaceResponse)(nil), // 25: temporal.api.cloud.cloudservice.v1.DeleteNamespaceResponse + (*GetRegionsRequest)(nil), // 26: temporal.api.cloud.cloudservice.v1.GetRegionsRequest + (*GetRegionsResponse)(nil), // 27: temporal.api.cloud.cloudservice.v1.GetRegionsResponse + (*GetRegionRequest)(nil), // 28: temporal.api.cloud.cloudservice.v1.GetRegionRequest + (*GetRegionResponse)(nil), // 29: temporal.api.cloud.cloudservice.v1.GetRegionResponse + (*v1.User)(nil), // 30: temporal.api.cloud.identity.v1.User + (*v1.UserSpec)(nil), // 31: temporal.api.cloud.identity.v1.UserSpec + (*v11.AsyncOperation)(nil), // 32: temporal.api.cloud.operation.v1.AsyncOperation + (*v1.NamespaceAccess)(nil), // 33: temporal.api.cloud.identity.v1.NamespaceAccess + (*v12.NamespaceSpec)(nil), // 34: temporal.api.cloud.namespace.v1.NamespaceSpec + (*v12.Namespace)(nil), // 35: temporal.api.cloud.namespace.v1.Namespace + (*v13.Region)(nil), // 36: temporal.api.cloud.region.v1.Region +} +var file_temporal_api_cloud_cloudservice_v1_request_response_proto_depIdxs = []int32{ + 30, // 0: temporal.api.cloud.cloudservice.v1.GetUsersResponse.users:type_name -> temporal.api.cloud.identity.v1.User + 30, // 1: temporal.api.cloud.cloudservice.v1.GetUserResponse.user:type_name -> temporal.api.cloud.identity.v1.User + 31, // 2: temporal.api.cloud.cloudservice.v1.CreateUserRequest.spec:type_name -> temporal.api.cloud.identity.v1.UserSpec + 32, // 3: temporal.api.cloud.cloudservice.v1.CreateUserResponse.async_operation:type_name -> temporal.api.cloud.operation.v1.AsyncOperation + 31, // 4: temporal.api.cloud.cloudservice.v1.UpdateUserRequest.spec:type_name -> temporal.api.cloud.identity.v1.UserSpec + 32, // 5: temporal.api.cloud.cloudservice.v1.UpdateUserResponse.async_operation:type_name -> temporal.api.cloud.operation.v1.AsyncOperation + 32, // 6: temporal.api.cloud.cloudservice.v1.DeleteUserResponse.async_operation:type_name -> temporal.api.cloud.operation.v1.AsyncOperation + 33, // 7: temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessRequest.access:type_name -> temporal.api.cloud.identity.v1.NamespaceAccess + 32, // 8: temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessResponse.async_operation:type_name -> temporal.api.cloud.operation.v1.AsyncOperation + 32, // 9: temporal.api.cloud.cloudservice.v1.GetAsyncOperationResponse.async_operation:type_name -> temporal.api.cloud.operation.v1.AsyncOperation + 34, // 10: temporal.api.cloud.cloudservice.v1.CreateNamespaceRequest.spec:type_name -> temporal.api.cloud.namespace.v1.NamespaceSpec + 32, // 11: temporal.api.cloud.cloudservice.v1.CreateNamespaceResponse.async_operation:type_name -> temporal.api.cloud.operation.v1.AsyncOperation + 35, // 12: temporal.api.cloud.cloudservice.v1.GetNamespacesResponse.namespaces:type_name -> temporal.api.cloud.namespace.v1.Namespace + 35, // 13: temporal.api.cloud.cloudservice.v1.GetNamespaceResponse.namespace:type_name -> temporal.api.cloud.namespace.v1.Namespace + 34, // 14: temporal.api.cloud.cloudservice.v1.UpdateNamespaceRequest.spec:type_name -> temporal.api.cloud.namespace.v1.NamespaceSpec + 32, // 15: temporal.api.cloud.cloudservice.v1.UpdateNamespaceResponse.async_operation:type_name -> temporal.api.cloud.operation.v1.AsyncOperation + 32, // 16: temporal.api.cloud.cloudservice.v1.RenameCustomSearchAttributeResponse.async_operation:type_name -> temporal.api.cloud.operation.v1.AsyncOperation + 32, // 17: temporal.api.cloud.cloudservice.v1.DeleteNamespaceResponse.async_operation:type_name -> temporal.api.cloud.operation.v1.AsyncOperation + 36, // 18: temporal.api.cloud.cloudservice.v1.GetRegionsResponse.regions:type_name -> temporal.api.cloud.region.v1.Region + 36, // 19: temporal.api.cloud.cloudservice.v1.GetRegionResponse.region:type_name -> temporal.api.cloud.region.v1.Region + 20, // [20:20] is the sub-list for method output_type + 20, // [20:20] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name +} + +func init() { file_temporal_api_cloud_cloudservice_v1_request_response_proto_init() } +func file_temporal_api_cloud_cloudservice_v1_request_response_proto_init() { + if File_temporal_api_cloud_cloudservice_v1_request_response_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUsersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUsersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateUserRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateUserResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateUserRequest); i { case 0: return &v.state case 1: @@ -1178,6 +2243,198 @@ func file_temporal_api_cloud_cloudservice_v1_request_response_proto_init() { return nil } } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNamespaceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNamespaceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNamespacesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNamespacesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNamespaceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNamespaceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNamespaceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNamespaceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RenameCustomSearchAttributeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RenameCustomSearchAttributeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteNamespaceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteNamespaceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRegionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRegionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRegionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_cloudservice_v1_request_response_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRegionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1185,7 +2442,7 @@ func file_temporal_api_cloud_cloudservice_v1_request_response_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_temporal_api_cloud_cloudservice_v1_request_response_proto_rawDesc, NumEnums: 0, - NumMessages: 14, + NumMessages: 30, NumExtensions: 0, NumServices: 0, }, diff --git a/protogen/temporal/api/cloud/cloudservice/v1/service.pb.go b/protogen/temporal/api/cloud/cloudservice/v1/service.pb.go index 1e13087..5dcbd0f 100644 --- a/protogen/temporal/api/cloud/cloudservice/v1/service.pb.go +++ b/protogen/temporal/api/cloud/cloudservice/v1/service.pb.go @@ -34,7 +34,7 @@ var file_temporal_api_cloud_cloudservice_v1_service_proto_rawDesc = []byte{ 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, - 0xb4, 0x09, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0xcb, 0x14, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x33, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, @@ -109,28 +109,133 @@ var file_temporal_api_cloud_cloudservice_v1_service_proto_rawDesc = []byte{ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x6d, - 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, - 0x76, 0x31, 0x3b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xa9, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x3a, 0x2e, 0x74, 0x65, 0x6d, + 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, + 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x3a, 0x01, 0x2a, 0x22, 0x12, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x12, 0xa0, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, + 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x14, 0x12, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0xa9, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x37, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, + 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x38, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x20, 0x12, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x7d, 0x12, 0xb5, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x3a, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x3b, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x22, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x7d, 0x12, 0xf8, 0x01, 0x0a, 0x1b, 0x52, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x46, 0x2e, 0x74, 0x65, 0x6d, 0x70, + 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x47, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x42, 0x3a, 0x01, 0x2a, 0x22, 0x3d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x7d, 0x2f, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x2d, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x2d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x12, 0xb2, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x3a, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, + 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x2a, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x7d, 0x12, 0x94, 0x01, 0x0a, 0x0a, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, + 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x36, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, + 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x9a, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x34, + 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x42, 0x37, 0x5a, + 0x35, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x69, 0x6f, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_temporal_api_cloud_cloudservice_v1_service_proto_goTypes = []interface{}{ - (*GetUsersRequest)(nil), // 0: temporal.api.cloud.cloudservice.v1.GetUsersRequest - (*GetUserRequest)(nil), // 1: temporal.api.cloud.cloudservice.v1.GetUserRequest - (*CreateUserRequest)(nil), // 2: temporal.api.cloud.cloudservice.v1.CreateUserRequest - (*UpdateUserRequest)(nil), // 3: temporal.api.cloud.cloudservice.v1.UpdateUserRequest - (*DeleteUserRequest)(nil), // 4: temporal.api.cloud.cloudservice.v1.DeleteUserRequest - (*SetUserNamespaceAccessRequest)(nil), // 5: temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessRequest - (*GetAsyncOperationRequest)(nil), // 6: temporal.api.cloud.cloudservice.v1.GetAsyncOperationRequest - (*GetUsersResponse)(nil), // 7: temporal.api.cloud.cloudservice.v1.GetUsersResponse - (*GetUserResponse)(nil), // 8: temporal.api.cloud.cloudservice.v1.GetUserResponse - (*CreateUserResponse)(nil), // 9: temporal.api.cloud.cloudservice.v1.CreateUserResponse - (*UpdateUserResponse)(nil), // 10: temporal.api.cloud.cloudservice.v1.UpdateUserResponse - (*DeleteUserResponse)(nil), // 11: temporal.api.cloud.cloudservice.v1.DeleteUserResponse - (*SetUserNamespaceAccessResponse)(nil), // 12: temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessResponse - (*GetAsyncOperationResponse)(nil), // 13: temporal.api.cloud.cloudservice.v1.GetAsyncOperationResponse + (*GetUsersRequest)(nil), // 0: temporal.api.cloud.cloudservice.v1.GetUsersRequest + (*GetUserRequest)(nil), // 1: temporal.api.cloud.cloudservice.v1.GetUserRequest + (*CreateUserRequest)(nil), // 2: temporal.api.cloud.cloudservice.v1.CreateUserRequest + (*UpdateUserRequest)(nil), // 3: temporal.api.cloud.cloudservice.v1.UpdateUserRequest + (*DeleteUserRequest)(nil), // 4: temporal.api.cloud.cloudservice.v1.DeleteUserRequest + (*SetUserNamespaceAccessRequest)(nil), // 5: temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessRequest + (*GetAsyncOperationRequest)(nil), // 6: temporal.api.cloud.cloudservice.v1.GetAsyncOperationRequest + (*CreateNamespaceRequest)(nil), // 7: temporal.api.cloud.cloudservice.v1.CreateNamespaceRequest + (*GetNamespacesRequest)(nil), // 8: temporal.api.cloud.cloudservice.v1.GetNamespacesRequest + (*GetNamespaceRequest)(nil), // 9: temporal.api.cloud.cloudservice.v1.GetNamespaceRequest + (*UpdateNamespaceRequest)(nil), // 10: temporal.api.cloud.cloudservice.v1.UpdateNamespaceRequest + (*RenameCustomSearchAttributeRequest)(nil), // 11: temporal.api.cloud.cloudservice.v1.RenameCustomSearchAttributeRequest + (*DeleteNamespaceRequest)(nil), // 12: temporal.api.cloud.cloudservice.v1.DeleteNamespaceRequest + (*GetRegionsRequest)(nil), // 13: temporal.api.cloud.cloudservice.v1.GetRegionsRequest + (*GetRegionRequest)(nil), // 14: temporal.api.cloud.cloudservice.v1.GetRegionRequest + (*GetUsersResponse)(nil), // 15: temporal.api.cloud.cloudservice.v1.GetUsersResponse + (*GetUserResponse)(nil), // 16: temporal.api.cloud.cloudservice.v1.GetUserResponse + (*CreateUserResponse)(nil), // 17: temporal.api.cloud.cloudservice.v1.CreateUserResponse + (*UpdateUserResponse)(nil), // 18: temporal.api.cloud.cloudservice.v1.UpdateUserResponse + (*DeleteUserResponse)(nil), // 19: temporal.api.cloud.cloudservice.v1.DeleteUserResponse + (*SetUserNamespaceAccessResponse)(nil), // 20: temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessResponse + (*GetAsyncOperationResponse)(nil), // 21: temporal.api.cloud.cloudservice.v1.GetAsyncOperationResponse + (*CreateNamespaceResponse)(nil), // 22: temporal.api.cloud.cloudservice.v1.CreateNamespaceResponse + (*GetNamespacesResponse)(nil), // 23: temporal.api.cloud.cloudservice.v1.GetNamespacesResponse + (*GetNamespaceResponse)(nil), // 24: temporal.api.cloud.cloudservice.v1.GetNamespaceResponse + (*UpdateNamespaceResponse)(nil), // 25: temporal.api.cloud.cloudservice.v1.UpdateNamespaceResponse + (*RenameCustomSearchAttributeResponse)(nil), // 26: temporal.api.cloud.cloudservice.v1.RenameCustomSearchAttributeResponse + (*DeleteNamespaceResponse)(nil), // 27: temporal.api.cloud.cloudservice.v1.DeleteNamespaceResponse + (*GetRegionsResponse)(nil), // 28: temporal.api.cloud.cloudservice.v1.GetRegionsResponse + (*GetRegionResponse)(nil), // 29: temporal.api.cloud.cloudservice.v1.GetRegionResponse } var file_temporal_api_cloud_cloudservice_v1_service_proto_depIdxs = []int32{ 0, // 0: temporal.api.cloud.cloudservice.v1.CloudService.GetUsers:input_type -> temporal.api.cloud.cloudservice.v1.GetUsersRequest @@ -140,15 +245,31 @@ var file_temporal_api_cloud_cloudservice_v1_service_proto_depIdxs = []int32{ 4, // 4: temporal.api.cloud.cloudservice.v1.CloudService.DeleteUser:input_type -> temporal.api.cloud.cloudservice.v1.DeleteUserRequest 5, // 5: temporal.api.cloud.cloudservice.v1.CloudService.SetUserNamespaceAccess:input_type -> temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessRequest 6, // 6: temporal.api.cloud.cloudservice.v1.CloudService.GetAsyncOperation:input_type -> temporal.api.cloud.cloudservice.v1.GetAsyncOperationRequest - 7, // 7: temporal.api.cloud.cloudservice.v1.CloudService.GetUsers:output_type -> temporal.api.cloud.cloudservice.v1.GetUsersResponse - 8, // 8: temporal.api.cloud.cloudservice.v1.CloudService.GetUser:output_type -> temporal.api.cloud.cloudservice.v1.GetUserResponse - 9, // 9: temporal.api.cloud.cloudservice.v1.CloudService.CreateUser:output_type -> temporal.api.cloud.cloudservice.v1.CreateUserResponse - 10, // 10: temporal.api.cloud.cloudservice.v1.CloudService.UpdateUser:output_type -> temporal.api.cloud.cloudservice.v1.UpdateUserResponse - 11, // 11: temporal.api.cloud.cloudservice.v1.CloudService.DeleteUser:output_type -> temporal.api.cloud.cloudservice.v1.DeleteUserResponse - 12, // 12: temporal.api.cloud.cloudservice.v1.CloudService.SetUserNamespaceAccess:output_type -> temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessResponse - 13, // 13: temporal.api.cloud.cloudservice.v1.CloudService.GetAsyncOperation:output_type -> temporal.api.cloud.cloudservice.v1.GetAsyncOperationResponse - 7, // [7:14] is the sub-list for method output_type - 0, // [0:7] is the sub-list for method input_type + 7, // 7: temporal.api.cloud.cloudservice.v1.CloudService.CreateNamespace:input_type -> temporal.api.cloud.cloudservice.v1.CreateNamespaceRequest + 8, // 8: temporal.api.cloud.cloudservice.v1.CloudService.GetNamespaces:input_type -> temporal.api.cloud.cloudservice.v1.GetNamespacesRequest + 9, // 9: temporal.api.cloud.cloudservice.v1.CloudService.GetNamespace:input_type -> temporal.api.cloud.cloudservice.v1.GetNamespaceRequest + 10, // 10: temporal.api.cloud.cloudservice.v1.CloudService.UpdateNamespace:input_type -> temporal.api.cloud.cloudservice.v1.UpdateNamespaceRequest + 11, // 11: temporal.api.cloud.cloudservice.v1.CloudService.RenameCustomSearchAttribute:input_type -> temporal.api.cloud.cloudservice.v1.RenameCustomSearchAttributeRequest + 12, // 12: temporal.api.cloud.cloudservice.v1.CloudService.DeleteNamespace:input_type -> temporal.api.cloud.cloudservice.v1.DeleteNamespaceRequest + 13, // 13: temporal.api.cloud.cloudservice.v1.CloudService.GetRegions:input_type -> temporal.api.cloud.cloudservice.v1.GetRegionsRequest + 14, // 14: temporal.api.cloud.cloudservice.v1.CloudService.GetRegion:input_type -> temporal.api.cloud.cloudservice.v1.GetRegionRequest + 15, // 15: temporal.api.cloud.cloudservice.v1.CloudService.GetUsers:output_type -> temporal.api.cloud.cloudservice.v1.GetUsersResponse + 16, // 16: temporal.api.cloud.cloudservice.v1.CloudService.GetUser:output_type -> temporal.api.cloud.cloudservice.v1.GetUserResponse + 17, // 17: temporal.api.cloud.cloudservice.v1.CloudService.CreateUser:output_type -> temporal.api.cloud.cloudservice.v1.CreateUserResponse + 18, // 18: temporal.api.cloud.cloudservice.v1.CloudService.UpdateUser:output_type -> temporal.api.cloud.cloudservice.v1.UpdateUserResponse + 19, // 19: temporal.api.cloud.cloudservice.v1.CloudService.DeleteUser:output_type -> temporal.api.cloud.cloudservice.v1.DeleteUserResponse + 20, // 20: temporal.api.cloud.cloudservice.v1.CloudService.SetUserNamespaceAccess:output_type -> temporal.api.cloud.cloudservice.v1.SetUserNamespaceAccessResponse + 21, // 21: temporal.api.cloud.cloudservice.v1.CloudService.GetAsyncOperation:output_type -> temporal.api.cloud.cloudservice.v1.GetAsyncOperationResponse + 22, // 22: temporal.api.cloud.cloudservice.v1.CloudService.CreateNamespace:output_type -> temporal.api.cloud.cloudservice.v1.CreateNamespaceResponse + 23, // 23: temporal.api.cloud.cloudservice.v1.CloudService.GetNamespaces:output_type -> temporal.api.cloud.cloudservice.v1.GetNamespacesResponse + 24, // 24: temporal.api.cloud.cloudservice.v1.CloudService.GetNamespace:output_type -> temporal.api.cloud.cloudservice.v1.GetNamespaceResponse + 25, // 25: temporal.api.cloud.cloudservice.v1.CloudService.UpdateNamespace:output_type -> temporal.api.cloud.cloudservice.v1.UpdateNamespaceResponse + 26, // 26: temporal.api.cloud.cloudservice.v1.CloudService.RenameCustomSearchAttribute:output_type -> temporal.api.cloud.cloudservice.v1.RenameCustomSearchAttributeResponse + 27, // 27: temporal.api.cloud.cloudservice.v1.CloudService.DeleteNamespace:output_type -> temporal.api.cloud.cloudservice.v1.DeleteNamespaceResponse + 28, // 28: temporal.api.cloud.cloudservice.v1.CloudService.GetRegions:output_type -> temporal.api.cloud.cloudservice.v1.GetRegionsResponse + 29, // 29: temporal.api.cloud.cloudservice.v1.CloudService.GetRegion:output_type -> temporal.api.cloud.cloudservice.v1.GetRegionResponse + 15, // [15:30] is the sub-list for method output_type + 0, // [0:15] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name diff --git a/protogen/temporal/api/cloud/cloudservice/v1/service_grpc.pb.go b/protogen/temporal/api/cloud/cloudservice/v1/service_grpc.pb.go index 8ce3db5..41febb3 100644 --- a/protogen/temporal/api/cloud/cloudservice/v1/service_grpc.pb.go +++ b/protogen/temporal/api/cloud/cloudservice/v1/service_grpc.pb.go @@ -19,13 +19,21 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - CloudService_GetUsers_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/GetUsers" - CloudService_GetUser_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/GetUser" - CloudService_CreateUser_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/CreateUser" - CloudService_UpdateUser_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/UpdateUser" - CloudService_DeleteUser_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/DeleteUser" - CloudService_SetUserNamespaceAccess_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/SetUserNamespaceAccess" - CloudService_GetAsyncOperation_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/GetAsyncOperation" + CloudService_GetUsers_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/GetUsers" + CloudService_GetUser_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/GetUser" + CloudService_CreateUser_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/CreateUser" + CloudService_UpdateUser_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/UpdateUser" + CloudService_DeleteUser_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/DeleteUser" + CloudService_SetUserNamespaceAccess_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/SetUserNamespaceAccess" + CloudService_GetAsyncOperation_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/GetAsyncOperation" + CloudService_CreateNamespace_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/CreateNamespace" + CloudService_GetNamespaces_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/GetNamespaces" + CloudService_GetNamespace_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/GetNamespace" + CloudService_UpdateNamespace_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/UpdateNamespace" + CloudService_RenameCustomSearchAttribute_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/RenameCustomSearchAttribute" + CloudService_DeleteNamespace_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/DeleteNamespace" + CloudService_GetRegions_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/GetRegions" + CloudService_GetRegion_FullMethodName = "/temporal.api.cloud.cloudservice.v1.CloudService/GetRegion" ) // CloudServiceClient is the client API for CloudService service. @@ -46,6 +54,22 @@ type CloudServiceClient interface { SetUserNamespaceAccess(ctx context.Context, in *SetUserNamespaceAccessRequest, opts ...grpc.CallOption) (*SetUserNamespaceAccessResponse, error) // Get the latest information on an async operation GetAsyncOperation(ctx context.Context, in *GetAsyncOperationRequest, opts ...grpc.CallOption) (*GetAsyncOperationResponse, error) + // Create a new namespace + CreateNamespace(ctx context.Context, in *CreateNamespaceRequest, opts ...grpc.CallOption) (*CreateNamespaceResponse, error) + // Get all namespaces + GetNamespaces(ctx context.Context, in *GetNamespacesRequest, opts ...grpc.CallOption) (*GetNamespacesResponse, error) + // Get a namespace + GetNamespace(ctx context.Context, in *GetNamespaceRequest, opts ...grpc.CallOption) (*GetNamespaceResponse, error) + // Update a namespace + UpdateNamespace(ctx context.Context, in *UpdateNamespaceRequest, opts ...grpc.CallOption) (*UpdateNamespaceResponse, error) + // Rename an existing customer search attribute + RenameCustomSearchAttribute(ctx context.Context, in *RenameCustomSearchAttributeRequest, opts ...grpc.CallOption) (*RenameCustomSearchAttributeResponse, error) + // Delete a namespace + DeleteNamespace(ctx context.Context, in *DeleteNamespaceRequest, opts ...grpc.CallOption) (*DeleteNamespaceResponse, error) + // Get all regions + GetRegions(ctx context.Context, in *GetRegionsRequest, opts ...grpc.CallOption) (*GetRegionsResponse, error) + // Get a region + GetRegion(ctx context.Context, in *GetRegionRequest, opts ...grpc.CallOption) (*GetRegionResponse, error) } type cloudServiceClient struct { @@ -119,6 +143,78 @@ func (c *cloudServiceClient) GetAsyncOperation(ctx context.Context, in *GetAsync return out, nil } +func (c *cloudServiceClient) CreateNamespace(ctx context.Context, in *CreateNamespaceRequest, opts ...grpc.CallOption) (*CreateNamespaceResponse, error) { + out := new(CreateNamespaceResponse) + err := c.cc.Invoke(ctx, CloudService_CreateNamespace_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cloudServiceClient) GetNamespaces(ctx context.Context, in *GetNamespacesRequest, opts ...grpc.CallOption) (*GetNamespacesResponse, error) { + out := new(GetNamespacesResponse) + err := c.cc.Invoke(ctx, CloudService_GetNamespaces_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cloudServiceClient) GetNamespace(ctx context.Context, in *GetNamespaceRequest, opts ...grpc.CallOption) (*GetNamespaceResponse, error) { + out := new(GetNamespaceResponse) + err := c.cc.Invoke(ctx, CloudService_GetNamespace_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cloudServiceClient) UpdateNamespace(ctx context.Context, in *UpdateNamespaceRequest, opts ...grpc.CallOption) (*UpdateNamespaceResponse, error) { + out := new(UpdateNamespaceResponse) + err := c.cc.Invoke(ctx, CloudService_UpdateNamespace_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cloudServiceClient) RenameCustomSearchAttribute(ctx context.Context, in *RenameCustomSearchAttributeRequest, opts ...grpc.CallOption) (*RenameCustomSearchAttributeResponse, error) { + out := new(RenameCustomSearchAttributeResponse) + err := c.cc.Invoke(ctx, CloudService_RenameCustomSearchAttribute_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cloudServiceClient) DeleteNamespace(ctx context.Context, in *DeleteNamespaceRequest, opts ...grpc.CallOption) (*DeleteNamespaceResponse, error) { + out := new(DeleteNamespaceResponse) + err := c.cc.Invoke(ctx, CloudService_DeleteNamespace_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cloudServiceClient) GetRegions(ctx context.Context, in *GetRegionsRequest, opts ...grpc.CallOption) (*GetRegionsResponse, error) { + out := new(GetRegionsResponse) + err := c.cc.Invoke(ctx, CloudService_GetRegions_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cloudServiceClient) GetRegion(ctx context.Context, in *GetRegionRequest, opts ...grpc.CallOption) (*GetRegionResponse, error) { + out := new(GetRegionResponse) + err := c.cc.Invoke(ctx, CloudService_GetRegion_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // CloudServiceServer is the server API for CloudService service. // All implementations must embed UnimplementedCloudServiceServer // for forward compatibility @@ -137,6 +233,22 @@ type CloudServiceServer interface { SetUserNamespaceAccess(context.Context, *SetUserNamespaceAccessRequest) (*SetUserNamespaceAccessResponse, error) // Get the latest information on an async operation GetAsyncOperation(context.Context, *GetAsyncOperationRequest) (*GetAsyncOperationResponse, error) + // Create a new namespace + CreateNamespace(context.Context, *CreateNamespaceRequest) (*CreateNamespaceResponse, error) + // Get all namespaces + GetNamespaces(context.Context, *GetNamespacesRequest) (*GetNamespacesResponse, error) + // Get a namespace + GetNamespace(context.Context, *GetNamespaceRequest) (*GetNamespaceResponse, error) + // Update a namespace + UpdateNamespace(context.Context, *UpdateNamespaceRequest) (*UpdateNamespaceResponse, error) + // Rename an existing customer search attribute + RenameCustomSearchAttribute(context.Context, *RenameCustomSearchAttributeRequest) (*RenameCustomSearchAttributeResponse, error) + // Delete a namespace + DeleteNamespace(context.Context, *DeleteNamespaceRequest) (*DeleteNamespaceResponse, error) + // Get all regions + GetRegions(context.Context, *GetRegionsRequest) (*GetRegionsResponse, error) + // Get a region + GetRegion(context.Context, *GetRegionRequest) (*GetRegionResponse, error) mustEmbedUnimplementedCloudServiceServer() } @@ -165,6 +277,30 @@ func (UnimplementedCloudServiceServer) SetUserNamespaceAccess(context.Context, * func (UnimplementedCloudServiceServer) GetAsyncOperation(context.Context, *GetAsyncOperationRequest) (*GetAsyncOperationResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAsyncOperation not implemented") } +func (UnimplementedCloudServiceServer) CreateNamespace(context.Context, *CreateNamespaceRequest) (*CreateNamespaceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateNamespace not implemented") +} +func (UnimplementedCloudServiceServer) GetNamespaces(context.Context, *GetNamespacesRequest) (*GetNamespacesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNamespaces not implemented") +} +func (UnimplementedCloudServiceServer) GetNamespace(context.Context, *GetNamespaceRequest) (*GetNamespaceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNamespace not implemented") +} +func (UnimplementedCloudServiceServer) UpdateNamespace(context.Context, *UpdateNamespaceRequest) (*UpdateNamespaceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateNamespace not implemented") +} +func (UnimplementedCloudServiceServer) RenameCustomSearchAttribute(context.Context, *RenameCustomSearchAttributeRequest) (*RenameCustomSearchAttributeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RenameCustomSearchAttribute not implemented") +} +func (UnimplementedCloudServiceServer) DeleteNamespace(context.Context, *DeleteNamespaceRequest) (*DeleteNamespaceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteNamespace not implemented") +} +func (UnimplementedCloudServiceServer) GetRegions(context.Context, *GetRegionsRequest) (*GetRegionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetRegions not implemented") +} +func (UnimplementedCloudServiceServer) GetRegion(context.Context, *GetRegionRequest) (*GetRegionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetRegion not implemented") +} func (UnimplementedCloudServiceServer) mustEmbedUnimplementedCloudServiceServer() {} // UnsafeCloudServiceServer may be embedded to opt out of forward compatibility for this service. @@ -304,6 +440,150 @@ func _CloudService_GetAsyncOperation_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _CloudService_CreateNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateNamespaceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CloudServiceServer).CreateNamespace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: CloudService_CreateNamespace_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CloudServiceServer).CreateNamespace(ctx, req.(*CreateNamespaceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CloudService_GetNamespaces_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNamespacesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CloudServiceServer).GetNamespaces(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: CloudService_GetNamespaces_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CloudServiceServer).GetNamespaces(ctx, req.(*GetNamespacesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CloudService_GetNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNamespaceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CloudServiceServer).GetNamespace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: CloudService_GetNamespace_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CloudServiceServer).GetNamespace(ctx, req.(*GetNamespaceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CloudService_UpdateNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateNamespaceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CloudServiceServer).UpdateNamespace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: CloudService_UpdateNamespace_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CloudServiceServer).UpdateNamespace(ctx, req.(*UpdateNamespaceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CloudService_RenameCustomSearchAttribute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RenameCustomSearchAttributeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CloudServiceServer).RenameCustomSearchAttribute(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: CloudService_RenameCustomSearchAttribute_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CloudServiceServer).RenameCustomSearchAttribute(ctx, req.(*RenameCustomSearchAttributeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CloudService_DeleteNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteNamespaceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CloudServiceServer).DeleteNamespace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: CloudService_DeleteNamespace_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CloudServiceServer).DeleteNamespace(ctx, req.(*DeleteNamespaceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CloudService_GetRegions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRegionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CloudServiceServer).GetRegions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: CloudService_GetRegions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CloudServiceServer).GetRegions(ctx, req.(*GetRegionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CloudService_GetRegion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRegionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CloudServiceServer).GetRegion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: CloudService_GetRegion_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CloudServiceServer).GetRegion(ctx, req.(*GetRegionRequest)) + } + return interceptor(ctx, in, info, handler) +} + // CloudService_ServiceDesc is the grpc.ServiceDesc for CloudService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -339,6 +619,38 @@ var CloudService_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetAsyncOperation", Handler: _CloudService_GetAsyncOperation_Handler, }, + { + MethodName: "CreateNamespace", + Handler: _CloudService_CreateNamespace_Handler, + }, + { + MethodName: "GetNamespaces", + Handler: _CloudService_GetNamespaces_Handler, + }, + { + MethodName: "GetNamespace", + Handler: _CloudService_GetNamespace_Handler, + }, + { + MethodName: "UpdateNamespace", + Handler: _CloudService_UpdateNamespace_Handler, + }, + { + MethodName: "RenameCustomSearchAttribute", + Handler: _CloudService_RenameCustomSearchAttribute_Handler, + }, + { + MethodName: "DeleteNamespace", + Handler: _CloudService_DeleteNamespace_Handler, + }, + { + MethodName: "GetRegions", + Handler: _CloudService_GetRegions_Handler, + }, + { + MethodName: "GetRegion", + Handler: _CloudService_GetRegion_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "temporal/api/cloud/cloudservice/v1/service.proto", diff --git a/protogen/temporal/api/cloud/identity/v1/message.pb.go b/protogen/temporal/api/cloud/identity/v1/message.pb.go index 8867957..8cd1444 100644 --- a/protogen/temporal/api/cloud/identity/v1/message.pb.go +++ b/protogen/temporal/api/cloud/identity/v1/message.pb.go @@ -316,6 +316,7 @@ type User struct { // The date and time when the user was created CreatedTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_time,json=createdTime,proto3" json:"created_time,omitempty"` // The date and time when the user was last modified + // Will not be set if the user has never been modified. LastModifiedTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=last_modified_time,json=lastModifiedTime,proto3" json:"last_modified_time,omitempty"` } diff --git a/protogen/temporal/api/cloud/namespace/v1/message.pb.go b/protogen/temporal/api/cloud/namespace/v1/message.pb.go new file mode 100644 index 0000000..d8e8e90 --- /dev/null +++ b/protogen/temporal/api/cloud/namespace/v1/message.pb.go @@ -0,0 +1,1021 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc (unknown) +// source: temporal/api/cloud/namespace/v1/message.proto + +package namespace + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CertificateFilterSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The common_name in the certificate. + // Optional, default is empty. + CommonName string `protobuf:"bytes,1,opt,name=common_name,json=commonName,proto3" json:"common_name,omitempty"` + // The organization in the certificate. + // Optional, default is empty. + Organization string `protobuf:"bytes,2,opt,name=organization,proto3" json:"organization,omitempty"` + // The organizational_unit in the certificate. + // Optional, default is empty. + OrganizationalUnit string `protobuf:"bytes,3,opt,name=organizational_unit,json=organizationalUnit,proto3" json:"organizational_unit,omitempty"` + // The subject_alternative_name in the certificate. + // Optional, default is empty. + SubjectAlternativeName string `protobuf:"bytes,4,opt,name=subject_alternative_name,json=subjectAlternativeName,proto3" json:"subject_alternative_name,omitempty"` +} + +func (x *CertificateFilterSpec) Reset() { + *x = CertificateFilterSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CertificateFilterSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CertificateFilterSpec) ProtoMessage() {} + +func (x *CertificateFilterSpec) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CertificateFilterSpec.ProtoReflect.Descriptor instead. +func (*CertificateFilterSpec) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_namespace_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *CertificateFilterSpec) GetCommonName() string { + if x != nil { + return x.CommonName + } + return "" +} + +func (x *CertificateFilterSpec) GetOrganization() string { + if x != nil { + return x.Organization + } + return "" +} + +func (x *CertificateFilterSpec) GetOrganizationalUnit() string { + if x != nil { + return x.OrganizationalUnit + } + return "" +} + +func (x *CertificateFilterSpec) GetSubjectAlternativeName() string { + if x != nil { + return x.SubjectAlternativeName + } + return "" +} + +type MtlsAuthSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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. + AcceptedClientCa string `protobuf:"bytes,1,opt,name=accepted_client_ca,json=acceptedClientCa,proto3" json:"accepted_client_ca,omitempty"` + // 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. + // Optional, default is empty. + CertificateFilters []*CertificateFilterSpec `protobuf:"bytes,2,rep,name=certificate_filters,json=certificateFilters,proto3" json:"certificate_filters,omitempty"` +} + +func (x *MtlsAuthSpec) Reset() { + *x = MtlsAuthSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MtlsAuthSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MtlsAuthSpec) ProtoMessage() {} + +func (x *MtlsAuthSpec) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MtlsAuthSpec.ProtoReflect.Descriptor instead. +func (*MtlsAuthSpec) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_namespace_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *MtlsAuthSpec) GetAcceptedClientCa() string { + if x != nil { + return x.AcceptedClientCa + } + return "" +} + +func (x *MtlsAuthSpec) GetCertificateFilters() []*CertificateFilterSpec { + if x != nil { + return x.CertificateFilters + } + return nil +} + +type CodecServerSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The codec server endpoint. + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Whether to pass the user access token with your endpoint. + PassAccessToken bool `protobuf:"varint,2,opt,name=pass_access_token,json=passAccessToken,proto3" json:"pass_access_token,omitempty"` + // Whether to include cross-origin credentials. + IncludeCrossOriginCredentials bool `protobuf:"varint,3,opt,name=include_cross_origin_credentials,json=includeCrossOriginCredentials,proto3" json:"include_cross_origin_credentials,omitempty"` +} + +func (x *CodecServerSpec) Reset() { + *x = CodecServerSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CodecServerSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CodecServerSpec) ProtoMessage() {} + +func (x *CodecServerSpec) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CodecServerSpec.ProtoReflect.Descriptor instead. +func (*CodecServerSpec) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_namespace_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *CodecServerSpec) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *CodecServerSpec) GetPassAccessToken() bool { + if x != nil { + return x.PassAccessToken + } + return false +} + +func (x *CodecServerSpec) GetIncludeCrossOriginCredentials() bool { + if x != nil { + return x.IncludeCrossOriginCredentials + } + return false +} + +type NamespaceSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name to use for the namespace. + // This will create a namespace that's available at '..tmprl.cloud:7233'. + // The name is immutable. Once set, it cannot be changed. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The ids of the regions where the namespace should be available. + // Specifying more than one region makes the namespace "global", which is currently a preview only feature with restricted access. + // Please reach out to Temporal support for more information on global namespaces. + // When provisioned the global namespace will be active on the first region in the list and passive on the rest. + // Number of supported regions is 2. + // The regions is immutable. Once set, it cannot be changed. + Regions []string `protobuf:"bytes,2,rep,name=regions,proto3" json:"regions,omitempty"` + // The number of days the workflows data will be retained for. + // Changes to the retention period may impact your storage costs. + // Any changes to the retention period will be applied to all new running workflows. + RetentionDays int32 `protobuf:"varint,3,opt,name=retention_days,json=retentionDays,proto3" json:"retention_days,omitempty"` + // The mtls authentication and authorization to enforce on the namespace. + MtlsAuth *MtlsAuthSpec `protobuf:"bytes,4,opt,name=mtls_auth,json=mtlsAuth,proto3" json:"mtls_auth,omitempty"` + // The custom search attributes to use for the namespace. + // The name of the attribute is the key and the type is the value. + // Supported attribute types: text, keyword, int, double, bool, datetime, keyword_list. + // NOTE: currently deleting a search attribute is not supported. + // Optional, default is empty. + CustomSearchAttributes map[string]string `protobuf:"bytes,5,rep,name=custom_search_attributes,json=customSearchAttributes,proto3" json:"custom_search_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Codec server spec used by UI to decode payloads for all users interacting with this namespace. + // Optional, default is unset. + CodecServer *CodecServerSpec `protobuf:"bytes,6,opt,name=codec_server,json=codecServer,proto3" json:"codec_server,omitempty"` +} + +func (x *NamespaceSpec) Reset() { + *x = NamespaceSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NamespaceSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NamespaceSpec) ProtoMessage() {} + +func (x *NamespaceSpec) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NamespaceSpec.ProtoReflect.Descriptor instead. +func (*NamespaceSpec) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_namespace_v1_message_proto_rawDescGZIP(), []int{3} +} + +func (x *NamespaceSpec) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *NamespaceSpec) GetRegions() []string { + if x != nil { + return x.Regions + } + return nil +} + +func (x *NamespaceSpec) GetRetentionDays() int32 { + if x != nil { + return x.RetentionDays + } + return 0 +} + +func (x *NamespaceSpec) GetMtlsAuth() *MtlsAuthSpec { + if x != nil { + return x.MtlsAuth + } + return nil +} + +func (x *NamespaceSpec) GetCustomSearchAttributes() map[string]string { + if x != nil { + return x.CustomSearchAttributes + } + return nil +} + +func (x *NamespaceSpec) GetCodecServer() *CodecServerSpec { + if x != nil { + return x.CodecServer + } + return nil +} + +type Endpoints struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The web ui address. + WebAddress string `protobuf:"bytes,1,opt,name=web_address,json=webAddress,proto3" json:"web_address,omitempty"` + // The grpc hostport address that the temporal workers, clients and tctl connect to. + GrpcAddress string `protobuf:"bytes,2,opt,name=grpc_address,json=grpcAddress,proto3" json:"grpc_address,omitempty"` +} + +func (x *Endpoints) Reset() { + *x = Endpoints{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Endpoints) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Endpoints) ProtoMessage() {} + +func (x *Endpoints) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Endpoints.ProtoReflect.Descriptor instead. +func (*Endpoints) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_namespace_v1_message_proto_rawDescGZIP(), []int{4} +} + +func (x *Endpoints) GetWebAddress() string { + if x != nil { + return x.WebAddress + } + return "" +} + +func (x *Endpoints) GetGrpcAddress() string { + if x != nil { + return x.GrpcAddress + } + return "" +} + +type Limits struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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. + ActionsPerSecondLimit int32 `protobuf:"varint,1,opt,name=actions_per_second_limit,json=actionsPerSecondLimit,proto3" json:"actions_per_second_limit,omitempty"` +} + +func (x *Limits) Reset() { + *x = Limits{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Limits) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Limits) ProtoMessage() {} + +func (x *Limits) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Limits.ProtoReflect.Descriptor instead. +func (*Limits) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_namespace_v1_message_proto_rawDescGZIP(), []int{5} +} + +func (x *Limits) GetActionsPerSecondLimit() int32 { + if x != nil { + return x.ActionsPerSecondLimit + } + return 0 +} + +type AWSPrivateLinkInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of principal arns that are allowed to access the namespace on the private link. + AllowedPrincipalArns []string `protobuf:"bytes,1,rep,name=allowed_principal_arns,json=allowedPrincipalArns,proto3" json:"allowed_principal_arns,omitempty"` + // The list of vpc endpoint service names that are associated with the namespace. + VpcEndpointServiceNames []string `protobuf:"bytes,2,rep,name=vpc_endpoint_service_names,json=vpcEndpointServiceNames,proto3" json:"vpc_endpoint_service_names,omitempty"` +} + +func (x *AWSPrivateLinkInfo) Reset() { + *x = AWSPrivateLinkInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AWSPrivateLinkInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AWSPrivateLinkInfo) ProtoMessage() {} + +func (x *AWSPrivateLinkInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AWSPrivateLinkInfo.ProtoReflect.Descriptor instead. +func (*AWSPrivateLinkInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_namespace_v1_message_proto_rawDescGZIP(), []int{6} +} + +func (x *AWSPrivateLinkInfo) GetAllowedPrincipalArns() []string { + if x != nil { + return x.AllowedPrincipalArns + } + return nil +} + +func (x *AWSPrivateLinkInfo) GetVpcEndpointServiceNames() []string { + if x != nil { + return x.VpcEndpointServiceNames + } + return nil +} + +type PrivateConnectivity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The id of the region where the private connectivity applies. + Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` + // The AWS PrivateLink info. + // This will only be set for an aws region. + AwsPrivateLink *AWSPrivateLinkInfo `protobuf:"bytes,2,opt,name=aws_private_link,json=awsPrivateLink,proto3" json:"aws_private_link,omitempty"` +} + +func (x *PrivateConnectivity) Reset() { + *x = PrivateConnectivity{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrivateConnectivity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrivateConnectivity) ProtoMessage() {} + +func (x *PrivateConnectivity) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrivateConnectivity.ProtoReflect.Descriptor instead. +func (*PrivateConnectivity) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_namespace_v1_message_proto_rawDescGZIP(), []int{7} +} + +func (x *PrivateConnectivity) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *PrivateConnectivity) GetAwsPrivateLink() *AWSPrivateLinkInfo { + if x != nil { + return x.AwsPrivateLink + } + return nil +} + +type Namespace struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The namespace identifier. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The current version of the namespace specification. + // The next update operation will have to include this version. + ResourceVersion string `protobuf:"bytes,2,opt,name=resource_version,json=resourceVersion,proto3" json:"resource_version,omitempty"` + // The namespace specification. + Spec *NamespaceSpec `protobuf:"bytes,3,opt,name=spec,proto3" json:"spec,omitempty"` + // The current state of the namespace. + State string `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"` + // The id of the async operation that is creating/updating/deleting the namespace, if any. + AsyncOperationId string `protobuf:"bytes,5,opt,name=async_operation_id,json=asyncOperationId,proto3" json:"async_operation_id,omitempty"` + // The endpoints for the namespace. + Endpoints *Endpoints `protobuf:"bytes,6,opt,name=endpoints,proto3" json:"endpoints,omitempty"` + // The currently active region for the namespace. + ActiveRegion string `protobuf:"bytes,7,opt,name=active_region,json=activeRegion,proto3" json:"active_region,omitempty"` + // The limits set on the namespace currently. + Limits *Limits `protobuf:"bytes,8,opt,name=limits,proto3" json:"limits,omitempty"` + // The private connectivities for the namespace, if any. + PrivateConnectivities []*PrivateConnectivity `protobuf:"bytes,9,rep,name=private_connectivities,json=privateConnectivities,proto3" json:"private_connectivities,omitempty"` + // The date and time when the namespace was created. + CreatedTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_time,json=createdTime,proto3" json:"created_time,omitempty"` + // The date and time when the namespace was last modified. + // Will not be set if the namespace has never been modified. + LastModifiedTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=last_modified_time,json=lastModifiedTime,proto3" json:"last_modified_time,omitempty"` +} + +func (x *Namespace) Reset() { + *x = Namespace{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Namespace) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Namespace) ProtoMessage() {} + +func (x *Namespace) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Namespace.ProtoReflect.Descriptor instead. +func (*Namespace) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_namespace_v1_message_proto_rawDescGZIP(), []int{8} +} + +func (x *Namespace) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *Namespace) GetResourceVersion() string { + if x != nil { + return x.ResourceVersion + } + return "" +} + +func (x *Namespace) GetSpec() *NamespaceSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *Namespace) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *Namespace) GetAsyncOperationId() string { + if x != nil { + return x.AsyncOperationId + } + return "" +} + +func (x *Namespace) GetEndpoints() *Endpoints { + if x != nil { + return x.Endpoints + } + return nil +} + +func (x *Namespace) GetActiveRegion() string { + if x != nil { + return x.ActiveRegion + } + return "" +} + +func (x *Namespace) GetLimits() *Limits { + if x != nil { + return x.Limits + } + return nil +} + +func (x *Namespace) GetPrivateConnectivities() []*PrivateConnectivity { + if x != nil { + return x.PrivateConnectivities + } + return nil +} + +func (x *Namespace) GetCreatedTime() *timestamppb.Timestamp { + if x != nil { + return x.CreatedTime + } + return nil +} + +func (x *Namespace) GetLastModifiedTime() *timestamppb.Timestamp { + if x != nil { + return x.LastModifiedTime + } + return nil +} + +var File_temporal_api_cloud_namespace_v1_message_proto protoreflect.FileDescriptor + +var file_temporal_api_cloud_namespace_v1_message_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x1f, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, + 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xc7, 0x01, 0x0a, 0x15, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, + 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x6e, 0x69, + 0x74, 0x12, 0x38, 0x0a, 0x18, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x16, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x0c, + 0x4d, 0x74, 0x6c, 0x73, 0x41, 0x75, 0x74, 0x68, 0x53, 0x70, 0x65, 0x63, 0x12, 0x2c, 0x0a, 0x12, + 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, + 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x65, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x12, 0x67, 0x0a, 0x13, 0x63, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, + 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, + 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x73, 0x22, 0xa2, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x70, 0x61, 0x73, 0x73, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0x47, 0x0a, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, + 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x22, 0xd7, 0x03, 0x0a, 0x0d, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x65, + 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x12, + 0x4a, 0x0a, 0x09, 0x6d, 0x74, 0x6c, 0x73, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x74, 0x6c, 0x73, 0x41, 0x75, 0x74, 0x68, 0x53, 0x70, 0x65, + 0x63, 0x52, 0x08, 0x6d, 0x74, 0x6c, 0x73, 0x41, 0x75, 0x74, 0x68, 0x12, 0x84, 0x01, 0x0a, 0x18, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, + 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x12, 0x53, 0x0a, 0x0c, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, + 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0b, 0x63, 0x6f, 0x64, 0x65, + 0x63, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x1a, 0x49, 0x0a, 0x1b, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x4f, 0x0a, 0x09, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, + 0x1f, 0x0a, 0x0b, 0x77, 0x65, 0x62, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x65, 0x62, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x22, 0x41, 0x0a, 0x06, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x37, 0x0a, + 0x18, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x15, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x87, 0x01, 0x0a, 0x12, 0x41, 0x57, 0x53, 0x50, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, + 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, + 0x61, 0x6c, 0x5f, 0x61, 0x72, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x41, + 0x72, 0x6e, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x76, 0x70, 0x63, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x76, 0x70, 0x63, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x22, 0x8c, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x12, 0x5d, 0x0a, 0x10, 0x61, 0x77, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x74, 0x65, 0x6d, + 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x57, 0x53, + 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x0e, 0x61, 0x77, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x22, + 0x82, 0x05, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x73, + 0x79, 0x6e, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x48, + 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x09, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, + 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x6b, + 0x0a, 0x16, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, + 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x69, 0x74, 0x79, 0x52, 0x15, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x12, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x42, 0x31, 0x5a, 0x2f, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, + 0x72, 0x61, 0x6c, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_temporal_api_cloud_namespace_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_cloud_namespace_v1_message_proto_rawDescData = file_temporal_api_cloud_namespace_v1_message_proto_rawDesc +) + +func file_temporal_api_cloud_namespace_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_cloud_namespace_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_cloud_namespace_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(file_temporal_api_cloud_namespace_v1_message_proto_rawDescData) + }) + return file_temporal_api_cloud_namespace_v1_message_proto_rawDescData +} + +var file_temporal_api_cloud_namespace_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_temporal_api_cloud_namespace_v1_message_proto_goTypes = []interface{}{ + (*CertificateFilterSpec)(nil), // 0: temporal.api.cloud.namespace.v1.CertificateFilterSpec + (*MtlsAuthSpec)(nil), // 1: temporal.api.cloud.namespace.v1.MtlsAuthSpec + (*CodecServerSpec)(nil), // 2: temporal.api.cloud.namespace.v1.CodecServerSpec + (*NamespaceSpec)(nil), // 3: temporal.api.cloud.namespace.v1.NamespaceSpec + (*Endpoints)(nil), // 4: temporal.api.cloud.namespace.v1.Endpoints + (*Limits)(nil), // 5: temporal.api.cloud.namespace.v1.Limits + (*AWSPrivateLinkInfo)(nil), // 6: temporal.api.cloud.namespace.v1.AWSPrivateLinkInfo + (*PrivateConnectivity)(nil), // 7: temporal.api.cloud.namespace.v1.PrivateConnectivity + (*Namespace)(nil), // 8: temporal.api.cloud.namespace.v1.Namespace + nil, // 9: temporal.api.cloud.namespace.v1.NamespaceSpec.CustomSearchAttributesEntry + (*timestamppb.Timestamp)(nil), // 10: google.protobuf.Timestamp +} +var file_temporal_api_cloud_namespace_v1_message_proto_depIdxs = []int32{ + 0, // 0: temporal.api.cloud.namespace.v1.MtlsAuthSpec.certificate_filters:type_name -> temporal.api.cloud.namespace.v1.CertificateFilterSpec + 1, // 1: temporal.api.cloud.namespace.v1.NamespaceSpec.mtls_auth:type_name -> temporal.api.cloud.namespace.v1.MtlsAuthSpec + 9, // 2: temporal.api.cloud.namespace.v1.NamespaceSpec.custom_search_attributes:type_name -> temporal.api.cloud.namespace.v1.NamespaceSpec.CustomSearchAttributesEntry + 2, // 3: temporal.api.cloud.namespace.v1.NamespaceSpec.codec_server:type_name -> temporal.api.cloud.namespace.v1.CodecServerSpec + 6, // 4: temporal.api.cloud.namespace.v1.PrivateConnectivity.aws_private_link:type_name -> temporal.api.cloud.namespace.v1.AWSPrivateLinkInfo + 3, // 5: temporal.api.cloud.namespace.v1.Namespace.spec:type_name -> temporal.api.cloud.namespace.v1.NamespaceSpec + 4, // 6: temporal.api.cloud.namespace.v1.Namespace.endpoints:type_name -> temporal.api.cloud.namespace.v1.Endpoints + 5, // 7: temporal.api.cloud.namespace.v1.Namespace.limits:type_name -> temporal.api.cloud.namespace.v1.Limits + 7, // 8: temporal.api.cloud.namespace.v1.Namespace.private_connectivities:type_name -> temporal.api.cloud.namespace.v1.PrivateConnectivity + 10, // 9: temporal.api.cloud.namespace.v1.Namespace.created_time:type_name -> google.protobuf.Timestamp + 10, // 10: temporal.api.cloud.namespace.v1.Namespace.last_modified_time:type_name -> google.protobuf.Timestamp + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_temporal_api_cloud_namespace_v1_message_proto_init() } +func file_temporal_api_cloud_namespace_v1_message_proto_init() { + if File_temporal_api_cloud_namespace_v1_message_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CertificateFilterSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MtlsAuthSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CodecServerSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NamespaceSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Endpoints); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Limits); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AWSPrivateLinkInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrivateConnectivity); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_temporal_api_cloud_namespace_v1_message_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Namespace); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_temporal_api_cloud_namespace_v1_message_proto_rawDesc, + NumEnums: 0, + NumMessages: 10, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_cloud_namespace_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_cloud_namespace_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_cloud_namespace_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_cloud_namespace_v1_message_proto = out.File + file_temporal_api_cloud_namespace_v1_message_proto_rawDesc = nil + file_temporal_api_cloud_namespace_v1_message_proto_goTypes = nil + file_temporal_api_cloud_namespace_v1_message_proto_depIdxs = nil +} diff --git a/protogen/temporal/api/cloud/region/v1/message.pb.go b/protogen/temporal/api/cloud/region/v1/message.pb.go new file mode 100644 index 0000000..5a3dc96 --- /dev/null +++ b/protogen/temporal/api/cloud/region/v1/message.pb.go @@ -0,0 +1,183 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc (unknown) +// source: temporal/api/cloud/region/v1/message.proto + +package region + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Region struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The id of the temporal cloud region. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The name of the cloud provider that's hosting the region. + // Currently only "aws" is supported. + CloudProvider string `protobuf:"bytes,2,opt,name=cloud_provider,json=cloudProvider,proto3" json:"cloud_provider,omitempty"` + // The region identifier as defined by the cloud provider. + CloudProviderRegion string `protobuf:"bytes,3,opt,name=cloud_provider_region,json=cloudProviderRegion,proto3" json:"cloud_provider_region,omitempty"` + // The human readable location of the region. + Location string `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"` +} + +func (x *Region) Reset() { + *x = Region{} + if protoimpl.UnsafeEnabled { + mi := &file_temporal_api_cloud_region_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Region) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Region) ProtoMessage() {} + +func (x *Region) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_cloud_region_v1_message_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Region.ProtoReflect.Descriptor instead. +func (*Region) Descriptor() ([]byte, []int) { + return file_temporal_api_cloud_region_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *Region) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Region) GetCloudProvider() string { + if x != nil { + return x.CloudProvider + } + return "" +} + +func (x *Region) GetCloudProviderRegion() string { + if x != nil { + return x.CloudProviderRegion + } + return "" +} + +func (x *Region) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + +var File_temporal_api_cloud_region_v1_message_proto protoreflect.FileDescriptor + +var file_temporal_api_cloud_region_v1_message_proto_rawDesc = []byte{ + 0x0a, 0x2a, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c, 0x74, 0x65, + 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x22, 0x8f, 0x01, 0x0a, 0x06, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x15, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x2b, 0x5a, 0x29, + 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x69, 0x6f, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2f, + 0x76, 0x31, 0x3b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_temporal_api_cloud_region_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_cloud_region_v1_message_proto_rawDescData = file_temporal_api_cloud_region_v1_message_proto_rawDesc +) + +func file_temporal_api_cloud_region_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_cloud_region_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_cloud_region_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(file_temporal_api_cloud_region_v1_message_proto_rawDescData) + }) + return file_temporal_api_cloud_region_v1_message_proto_rawDescData +} + +var file_temporal_api_cloud_region_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_temporal_api_cloud_region_v1_message_proto_goTypes = []interface{}{ + (*Region)(nil), // 0: temporal.api.cloud.region.v1.Region +} +var file_temporal_api_cloud_region_v1_message_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_temporal_api_cloud_region_v1_message_proto_init() } +func file_temporal_api_cloud_region_v1_message_proto_init() { + if File_temporal_api_cloud_region_v1_message_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_temporal_api_cloud_region_v1_message_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Region); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_temporal_api_cloud_region_v1_message_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_cloud_region_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_cloud_region_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_cloud_region_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_cloud_region_v1_message_proto = out.File + file_temporal_api_cloud_region_v1_message_proto_rawDesc = nil + file_temporal_api_cloud_region_v1_message_proto_goTypes = nil + file_temporal_api_cloud_region_v1_message_proto_depIdxs = nil +} diff --git a/workflows/activities/namespace.go b/workflows/activities/namespace.go new file mode 100644 index 0000000..4d14acb --- /dev/null +++ b/workflows/activities/namespace.go @@ -0,0 +1,35 @@ +package activities + +import ( + "context" + + "github.com/temporalio/cloud-samples-go/protogen/temporal/api/cloud/cloudservice/v1" +) + +func (a *Activities) GetNamespace(ctx context.Context, in *cloudservice.GetNamespaceRequest) (*cloudservice.GetNamespaceResponse, error) { + return executeCloudAPIRequest(ctx, in, a.cloudserviceclient.GetNamespace) +} + +func (a *Activities) GetNamespaces(ctx context.Context, in *cloudservice.GetNamespacesRequest) (*cloudservice.GetNamespacesResponse, error) { + return executeCloudAPIRequest(ctx, in, a.cloudserviceclient.GetNamespaces) +} + +func (a *Activities) CreateNamespace(ctx context.Context, in *cloudservice.CreateNamespaceRequest) (*cloudservice.CreateNamespaceResponse, error) { + return executeCloudAPIRequest(ctx, in, a.cloudserviceclient.CreateNamespace) +} + +func (a *Activities) UpdateNamespace(ctx context.Context, in *cloudservice.UpdateNamespaceRequest) (*cloudservice.UpdateNamespaceResponse, error) { + return executeCloudAPIRequest(ctx, in, a.cloudserviceclient.UpdateNamespace) +} + +func (a *Activities) DeleteNamespace(ctx context.Context, in *cloudservice.DeleteNamespaceRequest) (*cloudservice.DeleteNamespaceResponse, error) { + return executeCloudAPIRequest(ctx, in, a.cloudserviceclient.DeleteNamespace) +} + +var ( + GetNamespace = executeActivityFn[*cloudservice.GetNamespaceRequest, *cloudservice.GetNamespaceResponse](activitiesPrefix + "GetNamespace") + GetNamespaces = executeActivityFn[*cloudservice.GetNamespacesRequest, *cloudservice.GetNamespacesResponse](activitiesPrefix + "GetNamespaces") + CreateNamespace = executeActivityFn[*cloudservice.CreateNamespaceRequest, *cloudservice.CreateNamespaceResponse](activitiesPrefix + "CreateNamespace") + UpdateNamespace = executeActivityFn[*cloudservice.UpdateNamespaceRequest, *cloudservice.UpdateNamespaceResponse](activitiesPrefix + "UpdateNamespace") + DeleteNamespace = executeActivityFn[*cloudservice.DeleteNamespaceRequest, *cloudservice.DeleteNamespaceResponse](activitiesPrefix + "DeleteNamespace") +) diff --git a/workflows/activities/region.go b/workflows/activities/region.go new file mode 100644 index 0000000..c7fd5f6 --- /dev/null +++ b/workflows/activities/region.go @@ -0,0 +1,20 @@ +package activities + +import ( + "context" + + "github.com/temporalio/cloud-samples-go/protogen/temporal/api/cloud/cloudservice/v1" +) + +func (a *Activities) GetRegion(ctx context.Context, in *cloudservice.GetRegionRequest) (*cloudservice.GetRegionResponse, error) { + return executeCloudAPIRequest(ctx, in, a.cloudserviceclient.GetRegion) +} + +func (a *Activities) GetRegions(ctx context.Context, in *cloudservice.GetRegionsRequest) (*cloudservice.GetRegionsResponse, error) { + return executeCloudAPIRequest(ctx, in, a.cloudserviceclient.GetRegions) +} + +var ( + GetRegion = executeActivityFn[*cloudservice.GetRegionRequest, *cloudservice.GetRegionResponse](activitiesPrefix + "GetRegion") + GetRegions = executeActivityFn[*cloudservice.GetRegionsRequest, *cloudservice.GetRegionsResponse](activitiesPrefix + "GetRegions") +) diff --git a/workflows/namespace.go b/workflows/namespace.go new file mode 100644 index 0000000..e9f89fb --- /dev/null +++ b/workflows/namespace.go @@ -0,0 +1,307 @@ +package workflows + +import ( + "errors" + "fmt" + "time" + + "go.temporal.io/sdk/temporal" + "go.temporal.io/sdk/worker" + "go.temporal.io/sdk/workflow" + "google.golang.org/protobuf/proto" + + "github.com/temporalio/cloud-samples-go/internal/validator" + "github.com/temporalio/cloud-samples-go/protogen/temporal/api/cloud/cloudservice/v1" + "github.com/temporalio/cloud-samples-go/protogen/temporal/api/cloud/namespace/v1" + "github.com/temporalio/cloud-samples-go/workflows/activities" +) + +const ( + namespaceUpdateTimeout = 30 * time.Minute + + // namespace management workflow types + GetNamespaceWorkflowType = workflowPrefix + "get-namespace" + GetNamespacesWorkflowType = workflowPrefix + "get-namespaces" + GetAllNamespacesWorkflowType = workflowPrefix + "get-all-namespaces" + GetNamespaceWithNameWorkflow = workflowPrefix + "get-namespace-with-name" + GetAllNamespacesWithAccessToNamespaceWorkflow = workflowPrefix + "get-all-namespaces-with-access-to-namespace" + CreateNamespaceWorkflowType = workflowPrefix + "create-namespace" + UpdateNamespaceWorkflowType = workflowPrefix + "update-namespace" + DeleteNamespaceWorkflowType = workflowPrefix + "delete-namespace" + ReconcileNamespaceWorkflowType = workflowPrefix + "reconcile-namespace" + ReconcileNamespacesWorkflowType = workflowPrefix + "reconcile-namespaces" +) + +type ( + ReconcileNamespaceInput struct { + Spec *namespace.NamespaceSpec `required:"true" json:"spec"` + } + ReconcileNamespaceOutput struct { + Namespace *namespace.Namespace `json:"namespace"` + Outcome ReconcileOutcome `json:"outcome"` + Error string `json:"error"` + } + + ReconcileNamespacesInput struct { + Specs []*namespace.NamespaceSpec `required:"true" json:"specs"` + DeleteUnaccounted bool `json:"delete_unaccounted"` + } + ReconcileNamespacesOutput struct { + Results []*ReconcileNamespaceOutput `json:"results"` + } + + NamespaceWorkflows interface { + // Namespace Management Workflows + GetNamespace(ctx workflow.Context, in *cloudservice.GetNamespaceRequest) (*cloudservice.GetNamespaceResponse, error) + GetNamespaces(ctx workflow.Context, in *cloudservice.GetNamespacesRequest) (*cloudservice.GetNamespacesResponse, error) + GetAllNamespaces(ctx workflow.Context) ([]*namespace.Namespace, error) + GetNamespaceWithName(ctx workflow.Context, name string) (*namespace.Namespace, error) + CreateNamespace(ctx workflow.Context, in *cloudservice.CreateNamespaceRequest) (*cloudservice.CreateNamespaceResponse, error) + UpdateNamespace(ctx workflow.Context, in *cloudservice.UpdateNamespaceRequest) (*cloudservice.UpdateNamespaceResponse, error) + DeleteNamespace(ctx workflow.Context, in *cloudservice.DeleteNamespaceRequest) (*cloudservice.DeleteNamespaceResponse, error) + ReconcileNamespace(ctx workflow.Context, in *ReconcileNamespaceInput) (*ReconcileNamespaceOutput, error) + ReconcileNamespaces(ctx workflow.Context, in *ReconcileNamespacesInput) (*ReconcileNamespacesOutput, error) + } +) + +func registerNamespaceWorkflows(w worker.Worker, wf NamespaceWorkflows) { + for k, v := range map[string]any{ + GetNamespaceWorkflowType: wf.GetNamespace, + GetNamespacesWorkflowType: wf.GetNamespaces, + GetAllNamespacesWorkflowType: wf.GetAllNamespaces, + GetNamespaceWithNameWorkflow: wf.GetNamespaceWithName, + CreateNamespaceWorkflowType: wf.CreateNamespace, + UpdateNamespaceWorkflowType: wf.UpdateNamespace, + DeleteNamespaceWorkflowType: wf.DeleteNamespace, + ReconcileNamespaceWorkflowType: wf.ReconcileNamespace, + ReconcileNamespacesWorkflowType: wf.ReconcileNamespaces, + } { + w.RegisterWorkflowWithOptions(v, workflow.RegisterOptions{Name: k}) + } +} + +func (o *ReconcileNamespaceOutput) setError(err error) { + var applicationErr *temporal.ApplicationError + if errors.As(err, &applicationErr) { + o.Error = applicationErr.Error() + o.Outcome = ReconcileOutcomeError + } +} + +// Get a namespace +func (w *workflows) GetNamespace(ctx workflow.Context, in *cloudservice.GetNamespaceRequest) (*cloudservice.GetNamespaceResponse, error) { + return activities.GetNamespace(withInfiniteRetryActivityOptions(ctx), in) +} + +// Get multiple namespaces +func (w *workflows) GetNamespaces(ctx workflow.Context, in *cloudservice.GetNamespacesRequest) (*cloudservice.GetNamespacesResponse, error) { + return activities.GetNamespaces(withInfiniteRetryActivityOptions(ctx), in) +} + +func (w *workflows) getAllNamespaces(ctx workflow.Context, name string) ([]*namespace.Namespace, error) { + var ( + namespaces = make([]*namespace.Namespace, 0) + pageToken = "" + ) + for { + resp, err := w.GetNamespaces(ctx, &cloudservice.GetNamespacesRequest{ + Name: name, + PageToken: pageToken, + }) + if err != nil { + return nil, err + } + namespaces = append(namespaces, resp.Namespaces...) + if resp.NextPageToken == "" { + break + } + pageToken = resp.NextPageToken + } + return namespaces, nil +} + +// Get all known namespaces +func (w *workflows) GetAllNamespaces(ctx workflow.Context) ([]*namespace.Namespace, error) { + return w.getAllNamespaces(ctx, "") +} + +// Get the namespace with name +func (w *workflows) GetNamespaceWithName(ctx workflow.Context, name string) (*namespace.Namespace, error) { + namespaces, err := w.getAllNamespaces(ctx, name) + if err != nil { + return nil, err + } + if len(namespaces) == 0 { + return nil, nil + } + if len(namespaces) > 1 { + return nil, fmt.Errorf("multiple namespaces found for name %q", name) + } + return namespaces[0], nil +} + +// Create a namespace +func (w *workflows) CreateNamespace(ctx workflow.Context, in *cloudservice.CreateNamespaceRequest) (*cloudservice.CreateNamespaceResponse, error) { + return activities.CreateNamespace(withInfiniteRetryActivityOptions(ctx), in) +} + +// Update a namespace +func (w *workflows) UpdateNamespace(ctx workflow.Context, in *cloudservice.UpdateNamespaceRequest) (*cloudservice.UpdateNamespaceResponse, error) { + return activities.UpdateNamespace(withInfiniteRetryActivityOptions(ctx), in) +} + +// Delete a namespace +func (w *workflows) DeleteNamespace(ctx workflow.Context, in *cloudservice.DeleteNamespaceRequest) (*cloudservice.DeleteNamespaceResponse, error) { + return activities.DeleteNamespace(withInfiniteRetryActivityOptions(ctx), in) +} + +func (w *workflows) reconcileNamespace(ctx workflow.Context, spec *namespace.NamespaceSpec, ns *namespace.Namespace) (*ReconcileNamespaceOutput, error) { + var ( + namespaceID string + asyncOpID string + out = &ReconcileNamespaceOutput{} + err error + ) + defer func() { + if err != nil { + out.setError(err) + } + if ns != nil { + out.Namespace = ns + } else if spec != nil { + out.Namespace = &namespace.Namespace{ + Namespace: namespaceID, + Spec: spec, + } + } + }() + if ns == nil { + var createResp *cloudservice.CreateNamespaceResponse + // no namespace found, create one + createResp, err = w.CreateNamespace(ctx, &cloudservice.CreateNamespaceRequest{ + Spec: spec, + }) + if err != nil { + return out, err + } + namespaceID = createResp.Namespace + asyncOpID = createResp.AsyncOperation.Id + out.Outcome = ReconcileOutcomeCreated + + } else if !proto.Equal(ns.Spec, spec) { + var updateResp *cloudservice.UpdateNamespaceResponse + // namespace found, and specs don't match, update it + updateResp, err = w.UpdateNamespace(ctx, &cloudservice.UpdateNamespaceRequest{ + Namespace: ns.Namespace, + Spec: spec, + ResourceVersion: ns.ResourceVersion, + }) + if err != nil { + return out, err + } + namespaceID = ns.Namespace + asyncOpID = updateResp.AsyncOperation.Id + out.Outcome = ReconcileOutcomeUpdated + + } else { + // nothing to change, get the latest namespace and return + namespaceID = ns.Namespace + out.Outcome = ReconcileOutcomeUnchanged + return out, nil + } + + if asyncOpID != "" { + // wait for the operation to complete + _, err = w.WaitForAsyncOperation(ctx, &WaitForAsyncOperationInput{ + AsyncOperationID: asyncOpID, + Timeout: namespaceUpdateTimeout, + }) + if err != nil { + return out, err + } + } + var getResp *cloudservice.GetNamespaceResponse + getResp, err = w.GetNamespace(ctx, &cloudservice.GetNamespaceRequest{ + Namespace: namespaceID, + }) + if err != nil { + return out, err + } + ns = getResp.Namespace + return out, nil +} + +// Reconcile a namespace, create the namespace if one does not exist, or update the namespace if one does exist. +func (w *workflows) ReconcileNamespace(ctx workflow.Context, in *ReconcileNamespaceInput) (*ReconcileNamespaceOutput, error) { + if err := validator.ValidateStruct(in); err != nil { + return nil, fmt.Errorf("invalid input: %s", err) + } + namespace, err := w.GetNamespaceWithName(ctx, in.Spec.Name) + if err != nil { + return nil, err + } + out, err := w.reconcileNamespace(ctx, in.Spec, namespace) + if err != nil { + return nil, err + } + return out, nil +} + +// Reconcile a namespace, create the namespace if one does not exist, or update the namespace if one does exist. +func (w *workflows) ReconcileNamespaces(ctx workflow.Context, in *ReconcileNamespacesInput) (*ReconcileNamespacesOutput, error) { + if err := validator.ValidateStruct(in); err != nil { + return nil, fmt.Errorf("invalid input: %s", err) + } + var ( + getNamespacesReq = &cloudservice.GetNamespacesRequest{} + namespaces = make(map[string]*namespace.Namespace) + out = &ReconcileNamespacesOutput{} + ) + for { + resp, err := w.GetNamespaces(ctx, getNamespacesReq) + if err != nil { + return nil, err + } + for i := range resp.Namespaces { + namespaces[resp.Namespaces[i].Spec.Name] = resp.Namespaces[i] + } + if resp.NextPageToken == "" { + break + } + getNamespacesReq.PageToken = resp.NextPageToken + } + for i := range in.Specs { + var namespace *namespace.Namespace + if ns, ok := namespaces[in.Specs[i].Name]; ok { + namespace = ns + } + // reconcile the namespace + o, _ := w.reconcileNamespace(ctx, in.Specs[i], namespace) + out.Results = append(out.Results, o) + // remove the reconciled namespaces from the map + delete(namespaces, in.Specs[i].Name) + } + // whats left in maps is only the unaccounted namespaces + for _, ns := range namespaces { + if in.DeleteUnaccounted { + o := &ReconcileNamespaceOutput{ + Namespace: ns, + Outcome: ReconcileOutcomeDeleted, + } + _, err := w.DeleteNamespace(ctx, &cloudservice.DeleteNamespaceRequest{ + Namespace: ns.Namespace, + ResourceVersion: ns.ResourceVersion, + }) + if err != nil { + o.setError(err) + } + out.Results = append(out.Results, o) + } else { + out.Results = append(out.Results, &ReconcileNamespaceOutput{ + Namespace: ns, + Outcome: ReconcileOutcomeUnaccounted, + }) + } + } + return out, nil +} diff --git a/workflows/operation.go b/workflows/operation.go index 011f95d..f1fce9c 100644 --- a/workflows/operation.go +++ b/workflows/operation.go @@ -9,9 +9,16 @@ import ( "github.com/temporalio/cloud-samples-go/protogen/temporal/api/cloud/cloudservice/v1" "github.com/temporalio/cloud-samples-go/protogen/temporal/api/cloud/operation/v1" "github.com/temporalio/cloud-samples-go/workflows/activities" + "go.temporal.io/sdk/worker" "go.temporal.io/sdk/workflow" ) +const ( + // async operation workflow types + GetAsynOperationWorkflowType = workflowPrefix + "get-async-operation" + WaitForAsyncOperationType = workflowPrefix + "wait-for-async-operation" +) + type ( WaitForAsyncOperationInput struct { AsyncOperationID string `required:"true"` @@ -20,8 +27,23 @@ type ( WaitForAsyncOperationOutput struct { AsyncOperation *operation.AsyncOperation } + + AsyncOperationWorkflows interface { + // Async Operations Workflows + GetAsynOperation(ctx workflow.Context, in *cloudservice.GetAsyncOperationRequest) (*cloudservice.GetAsyncOperationResponse, error) + WaitForAsyncOperation(ctx workflow.Context, in *WaitForAsyncOperationInput) (*WaitForAsyncOperationOutput, error) + } ) +func registerAsyncOperationWorkflows(w worker.Worker, wf AsyncOperationWorkflows) { + for k, v := range map[string]any{ + GetAsynOperationWorkflowType: wf.GetAsynOperation, + WaitForAsyncOperationType: wf.WaitForAsyncOperation, + } { + w.RegisterWorkflowWithOptions(v, workflow.RegisterOptions{Name: k}) + } +} + // Get a async operation func (w *workflows) GetAsynOperation(ctx workflow.Context, in *cloudservice.GetAsyncOperationRequest) (*cloudservice.GetAsyncOperationResponse, error) { return activities.GetAsyncOperation(withInfiniteRetryActivityOptions(ctx), in) @@ -37,7 +59,7 @@ func (w *workflows) WaitForAsyncOperation(ctx workflow.Context, in *WaitForAsync err error ) selector := workflow.NewSelector(ctx) - getReqStatusFn := func(f workflow.Future) { + getReqStatusFn := func(_ workflow.Future) { resp, err = w.GetAsynOperation(ctx, &cloudservice.GetAsyncOperationRequest{ AsyncOperationId: in.AsyncOperationID, }) @@ -45,7 +67,7 @@ func (w *workflows) WaitForAsyncOperation(ctx workflow.Context, in *WaitForAsync // Check the request status immediately the first time, then poll at a regular interval afterwards selector.AddFuture(workflow.NewTimer(ctx, 0), getReqStatusFn) - selector.AddFuture(workflow.NewTimer(ctx, in.Timeout), func(f workflow.Future) { + selector.AddFuture(workflow.NewTimer(ctx, in.Timeout), func(_ workflow.Future) { err = fmt.Errorf("timed out waiting for async operation, asyncOperationID=%s, timeout=%s", in.AsyncOperationID, in.Timeout) }) diff --git a/workflows/region.go b/workflows/region.go new file mode 100644 index 0000000..1d40b79 --- /dev/null +++ b/workflows/region.go @@ -0,0 +1,41 @@ +package workflows + +import ( + "github.com/temporalio/cloud-samples-go/protogen/temporal/api/cloud/cloudservice/v1" + "github.com/temporalio/cloud-samples-go/workflows/activities" + "go.temporal.io/sdk/worker" + "go.temporal.io/sdk/workflow" +) + +const ( + // region workflow types + GetRegionWorkflowType = workflowPrefix + "get-region" + GetAllRegionsWorkflowType = workflowPrefix + "get-regions" +) + +type ( + RegionWorkflows interface { + // Region Management Workflows + GetRegion(ctx workflow.Context, in *cloudservice.GetRegionRequest) (*cloudservice.GetRegionResponse, error) + GetAllRegions(ctx workflow.Context, in *cloudservice.GetRegionsRequest) (*cloudservice.GetRegionsResponse, error) + } +) + +func registerRegionWorkflows(w worker.Worker, wf RegionWorkflows) { + for k, v := range map[string]any{ + GetRegionWorkflowType: wf.GetRegion, + GetAllRegionsWorkflowType: wf.GetAllRegions, + } { + w.RegisterWorkflowWithOptions(v, workflow.RegisterOptions{Name: k}) + } +} + +// Get a region +func (w *workflows) GetRegion(ctx workflow.Context, in *cloudservice.GetRegionRequest) (*cloudservice.GetRegionResponse, error) { + return activities.GetRegion(withInfiniteRetryActivityOptions(ctx), in) +} + +// Get multiple regions +func (w *workflows) GetAllRegions(ctx workflow.Context, in *cloudservice.GetRegionsRequest) (*cloudservice.GetRegionsResponse, error) { + return activities.GetRegions(withInfiniteRetryActivityOptions(ctx), in) +} diff --git a/workflows/user.go b/workflows/user.go index cc54bd2..db4fdaf 100644 --- a/workflows/user.go +++ b/workflows/user.go @@ -6,6 +6,7 @@ import ( "time" "go.temporal.io/sdk/temporal" + "go.temporal.io/sdk/worker" "go.temporal.io/sdk/workflow" "google.golang.org/protobuf/proto" @@ -18,6 +19,19 @@ import ( const ( userUpdateTimeout = 10 * time.Minute + // user management workflow types + GetUserWorkflowType = workflowPrefix + "get-user" + GetUsersWorkflowType = workflowPrefix + "get-users" + GetAllUsersWorkflowType = workflowPrefix + "get-all-users" + GetUserWithEmailWorkflow = workflowPrefix + "get-user-with-email" + GetAllUsersWithAccessToNamespaceWorkflow = workflowPrefix + "get-all-users-with-access-to-namespace" + CreateUserWorkflowType = workflowPrefix + "create-user" + UpdateUserWorkflowType = workflowPrefix + "update-user" + DeleteUserWorkflowType = workflowPrefix + "delete-user" + ReconcileUserWorkflowType = workflowPrefix + "reconcile-user" + ReconcileUsersWorkflowType = workflowPrefix + "reconcile-users" + + // reconcile outcomes ReconcileOutcomeCreated = "created" ReconcileOutcomeDeleted = "deleted" ReconcileOutcomeUpdated = "updated" @@ -44,6 +58,20 @@ type ( ReconcileUsersOutput struct { Results []*ReconcileUserOutput `json:"results"` } + + UserWorkflows interface { + // User Management Workflows + GetUser(ctx workflow.Context, in *cloudservice.GetUserRequest) (*cloudservice.GetUserResponse, error) + GetUsers(ctx workflow.Context, in *cloudservice.GetUsersRequest) (*cloudservice.GetUsersResponse, error) + GetAllUsers(ctx workflow.Context) ([]*identity.User, error) + GetUserWithEmail(ctx workflow.Context, email string) (*identity.User, error) + GetAllUsersWithAccessToNamespace(ctx workflow.Context, namespace string) ([]*identity.User, error) + CreateUser(ctx workflow.Context, in *cloudservice.CreateUserRequest) (*cloudservice.CreateUserResponse, error) + UpdateUser(ctx workflow.Context, in *cloudservice.UpdateUserRequest) (*cloudservice.UpdateUserResponse, error) + DeleteUser(ctx workflow.Context, in *cloudservice.DeleteUserRequest) (*cloudservice.DeleteUserResponse, error) + ReconcileUser(ctx workflow.Context, in *ReconcileUserInput) (*ReconcileUserOutput, error) + ReconcileUsers(ctx workflow.Context, in *ReconcileUsersInput) (*ReconcileUsersOutput, error) + } ) func (o *ReconcileUserOutput) setError(err error) { @@ -54,6 +82,23 @@ func (o *ReconcileUserOutput) setError(err error) { } } +func registerUserWorkflows(w worker.Worker, wf UserWorkflows) { + for k, v := range map[string]any{ + GetUserWorkflowType: wf.GetUser, + GetUsersWorkflowType: wf.GetUsers, + GetAllUsersWorkflowType: wf.GetAllUsers, + GetUserWithEmailWorkflow: wf.GetUserWithEmail, + GetAllUsersWithAccessToNamespaceWorkflow: wf.GetAllUsersWithAccessToNamespace, + CreateUserWorkflowType: wf.CreateUser, + UpdateUserWorkflowType: wf.UpdateUser, + DeleteUserWorkflowType: wf.DeleteUser, + ReconcileUserWorkflowType: wf.ReconcileUser, + ReconcileUsersWorkflowType: wf.ReconcileUsers, + } { + w.RegisterWorkflowWithOptions(v, workflow.RegisterOptions{Name: k}) + } +} + // Get a user func (w *workflows) GetUser(ctx workflow.Context, in *cloudservice.GetUserRequest) (*cloudservice.GetUserResponse, error) { return activities.GetUser(withInfiniteRetryActivityOptions(ctx), in) @@ -64,21 +109,52 @@ func (w *workflows) GetUsers(ctx workflow.Context, in *cloudservice.GetUsersRequ return activities.GetUsers(withInfiniteRetryActivityOptions(ctx), in) } +func (w *workflows) getAllUsers(ctx workflow.Context, email, namespace string) ([]*identity.User, error) { + var ( + users = make([]*identity.User, 0) + pageToken = "" + ) + for { + resp, err := w.GetUsers(ctx, &cloudservice.GetUsersRequest{ + Email: email, + Namespace: namespace, + PageToken: pageToken, + }) + if err != nil { + return nil, err + } + users = append(users, resp.Users...) + if resp.NextPageToken == "" { + break + } + pageToken = resp.NextPageToken + } + return users, nil +} + +// Get all known Users +func (w *workflows) GetAllUsers(ctx workflow.Context) ([]*identity.User, error) { + return w.getAllUsers(ctx, "", "") +} + // Get the user with email func (w *workflows) GetUserWithEmail(ctx workflow.Context, email string) (*identity.User, error) { - resp, err := w.GetUsers(ctx, &cloudservice.GetUsersRequest{ - Email: email, - }) + users, err := w.getAllUsers(ctx, email, "") if err != nil { return nil, err } - if len(resp.Users) == 0 { + if len(users) == 0 { return nil, nil } - if len(resp.Users) > 1 { + if len(users) > 1 { return nil, fmt.Errorf("multiple users found for email %s", email) } - return resp.Users[0], nil + return users[0], nil +} + +// Get all the users who have access to namespace +func (w *workflows) GetAllUsersWithAccessToNamespace(ctx workflow.Context, namespace string) ([]*identity.User, error) { + return w.getAllUsers(ctx, "", namespace) } // Create a user diff --git a/workflows/workflows.go b/workflows/workflows.go index 3ade116..46bb97c 100644 --- a/workflows/workflows.go +++ b/workflows/workflows.go @@ -1,40 +1,24 @@ package workflows import ( - "github.com/temporalio/cloud-samples-go/protogen/temporal/api/cloud/cloudservice/v1" - "github.com/temporalio/cloud-samples-go/protogen/temporal/api/cloud/identity/v1" "github.com/temporalio/cloud-samples-go/workflows/activities" "go.temporal.io/sdk/worker" - "go.temporal.io/sdk/workflow" "google.golang.org/grpc" ) //go:generate mockgen -source workflows.go -destination workflows_mock.go -package workflow const ( - workflowPrefix = "tmprlcloud-wf." - GetUserWorkflowType = workflowPrefix + "get-user" - GetUsersWorkflowType = workflowPrefix + "get-users" - CreateUserWorkflowType = workflowPrefix + "create-user" - UpdateUserWorkflowType = workflowPrefix + "update-user" - DeleteUserWorkflowType = workflowPrefix + "delete-user" - ReconcileUserWorkflowType = workflowPrefix + "reconcile-user" - ReconcileUsersWorkflowType = workflowPrefix + "reconcile-users" + workflowPrefix = "tmprlcloud-wf." ) type ( Workflows interface { - // User Management - GetUser(ctx workflow.Context, in *cloudservice.GetUserRequest) (*cloudservice.GetUserResponse, error) - GetUsers(ctx workflow.Context, in *cloudservice.GetUsersRequest) (*cloudservice.GetUsersResponse, error) - GetUserWithEmail(ctx workflow.Context, email string) (*identity.User, error) - CreateUser(ctx workflow.Context, in *cloudservice.CreateUserRequest) (*cloudservice.CreateUserResponse, error) - UpdateUser(ctx workflow.Context, in *cloudservice.UpdateUserRequest) (*cloudservice.UpdateUserResponse, error) - DeleteUser(ctx workflow.Context, in *cloudservice.DeleteUserRequest) (*cloudservice.DeleteUserResponse, error) - ReconcileUser(ctx workflow.Context, in *ReconcileUserInput) (*ReconcileUserOutput, error) - ReconcileUsers(ctx workflow.Context, in *ReconcileUsersInput) (*ReconcileUsersOutput, error) + UserWorkflows + NamespaceWorkflows + RegionWorkflows + AsyncOperationWorkflows } - workflows struct{} ) @@ -48,17 +32,10 @@ func NewActivities(conn grpc.ClientConnInterface) *activities.Activities { func Register(w worker.Worker, wf Workflows, a *activities.Activities) { // Register the workflows that we want to be able to use. - for k, v := range map[string]any{ - GetUserWorkflowType: wf.GetUser, - GetUsersWorkflowType: wf.GetUsers, - CreateUserWorkflowType: wf.CreateUser, - UpdateUserWorkflowType: wf.UpdateUser, - DeleteUserWorkflowType: wf.DeleteUser, - ReconcileUserWorkflowType: wf.ReconcileUser, - ReconcileUsersWorkflowType: wf.ReconcileUsers, - } { - w.RegisterWorkflowWithOptions(v, workflow.RegisterOptions{Name: k}) - } + registerUserWorkflows(w, wf) + registerNamespaceWorkflows(w, wf) + registerRegionWorkflows(w, wf) + registerAsyncOperationWorkflows(w, wf) // Register the activities that the workflows will use. activities.Register(w, a) From 5cee11c45da846afec5ac1af35a3e1e442d8359a Mon Sep 17 00:00:00 2001 From: Abhinav Nekkanti <10552725+anekkanti@users.noreply.github.com> Date: Mon, 20 Nov 2023 09:40:09 -0800 Subject: [PATCH 2/7] remove test files --- client/api/client_test.go | 42 ---------------------------------- client/temporal/client_test.go | 25 -------------------- 2 files changed, 67 deletions(-) delete mode 100644 client/api/client_test.go delete mode 100644 client/temporal/client_test.go diff --git a/client/api/client_test.go b/client/api/client_test.go deleted file mode 100644 index 06cd5b9..0000000 --- a/client/api/client_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package api - -import ( - "context" - "fmt" - "os" - "testing" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "github.com/temporalio/cloud-samples-go/protogen/temporal/api/cloud/cloudservice/v1" -) - -const ( - temporalCloudAPIAddress = "saas-api.tmprl.cloud:443" - temporalCloudAPIKeyEnvName = "TEMPORAL_CLOUD_API_KEY" -) - -func getAPIKeyFromEnv() (string, error) { - v := os.Getenv(temporalCloudAPIKeyEnvName) - if v == "" { - return "", fmt.Errorf("apikey not provided, set environment variable '%s' with apikey you want to use", temporalCloudAPIKeyEnvName) - } - return v, nil -} - -func TestConnection(t *testing.T) { - apikey, err := getAPIKeyFromEnv() - if err != nil { - panic(err) - } - - conn, err := NewConnectionWithAPIKey(temporalCloudAPIAddress, false, apikey) - if err != nil { - panic(fmt.Errorf("failed to create cloud api connection: %+v", err)) - } - client := cloudservice.NewCloudServiceClient(conn) - - resp, err := client.GetUsers(context.TODO(), &cloudservice.GetUsersRequest{}) - require.NoError(t, err) - assert.NotEmpty(t, resp.GetUsers()) -} diff --git a/client/temporal/client_test.go b/client/temporal/client_test.go deleted file mode 100644 index 9a29692..0000000 --- a/client/temporal/client_test.go +++ /dev/null @@ -1,25 +0,0 @@ -package temporal_test - -import ( - "context" - "testing" - - "github.com/stretchr/testify/assert" - "github.com/temporalio/cloud-samples-go/client/temporal" - "github.com/temporalio/cloud-samples-go/protogen/temporal/api/workflowservice/v1" -) - -func TestCloudClient(t *testing.T) { - - assert := assert.New(t) - client, err := temporal.GetTemporalCloudNamespaceClient(&temporal.GetTemporalCloudNamespaceClientInput{ - Namespace: "abhinav-test3.a2dd6", - TLSCertFilePath: "/Users/abhinavtemporal.io/development/certs/test/cert.pem", - TLSKeyFilePath: "/Users/abhinavtemporal.io/development/certs/test/cert.key", - }) - assert.NoError(err) - defer client.Close() - - _, err = client.ListOpenWorkflow(context.Background(), &workflowservice.ListOpenWorkflowExecutionsRequest{}) - assert.NoError(err) -} From 5879008e04cc8ac726b9dcbb9369d53f474fd425 Mon Sep 17 00:00:00 2001 From: Abhinav Nekkanti <10552725+anekkanti@users.noreply.github.com> Date: Tue, 21 Nov 2023 10:11:35 -0800 Subject: [PATCH 3/7] address code review comments --- workflows/namespace.go | 21 ++++++++------------- workflows/user.go | 38 +++++++++++++++++++------------------- 2 files changed, 27 insertions(+), 32 deletions(-) diff --git a/workflows/namespace.go b/workflows/namespace.go index e9f89fb..aad8b95 100644 --- a/workflows/namespace.go +++ b/workflows/namespace.go @@ -254,7 +254,7 @@ func (w *workflows) ReconcileNamespaces(ctx workflow.Context, in *ReconcileNames } var ( getNamespacesReq = &cloudservice.GetNamespacesRequest{} - namespaces = make(map[string]*namespace.Namespace) + namespaces = make([]*namespace.Namespace, 0) out = &ReconcileNamespacesOutput{} ) for { @@ -262,9 +262,7 @@ func (w *workflows) ReconcileNamespaces(ctx workflow.Context, in *ReconcileNames if err != nil { return nil, err } - for i := range resp.Namespaces { - namespaces[resp.Namespaces[i].Spec.Name] = resp.Namespaces[i] - } + namespaces = append(namespaces, resp.Namespaces...) if resp.NextPageToken == "" { break } @@ -272,14 +270,16 @@ func (w *workflows) ReconcileNamespaces(ctx workflow.Context, in *ReconcileNames } for i := range in.Specs { var namespace *namespace.Namespace - if ns, ok := namespaces[in.Specs[i].Name]; ok { - namespace = ns + for _, ns := range namespaces { + if ns.Namespace == in.Specs[i].Name { + namespace = ns + namespaces = append(namespaces[:i], namespaces[i+1:]...) // remove the namespace from the list + break + } } // reconcile the namespace o, _ := w.reconcileNamespace(ctx, in.Specs[i], namespace) out.Results = append(out.Results, o) - // remove the reconciled namespaces from the map - delete(namespaces, in.Specs[i].Name) } // whats left in maps is only the unaccounted namespaces for _, ns := range namespaces { @@ -296,11 +296,6 @@ func (w *workflows) ReconcileNamespaces(ctx workflow.Context, in *ReconcileNames o.setError(err) } out.Results = append(out.Results, o) - } else { - out.Results = append(out.Results, &ReconcileNamespaceOutput{ - Namespace: ns, - Outcome: ReconcileOutcomeUnaccounted, - }) } } return out, nil diff --git a/workflows/user.go b/workflows/user.go index db4fdaf..6b0a949 100644 --- a/workflows/user.go +++ b/workflows/user.go @@ -32,12 +32,11 @@ const ( ReconcileUsersWorkflowType = workflowPrefix + "reconcile-users" // reconcile outcomes - ReconcileOutcomeCreated = "created" - ReconcileOutcomeDeleted = "deleted" - ReconcileOutcomeUpdated = "updated" - ReconcileOutcomeUnchanged = "unchanged" - ReconcileOutcomeUnaccounted = "unaccounted" - ReconcileOutcomeError = "error" + ReconcileOutcomeCreated = "created" + ReconcileOutcomeDeleted = "deleted" + ReconcileOutcomeUpdated = "updated" + ReconcileOutcomeUnchanged = "unchanged" + ReconcileOutcomeError = "error" ) type ( @@ -185,6 +184,11 @@ func (w *workflows) reconcileUser(ctx workflow.Context, spec *identity.UserSpec, } if user != nil { out.User = user + } else if spec != nil { + out.User = &identity.User{ + Id: userID, + Spec: spec, + } } }() if user == nil { @@ -219,6 +223,7 @@ func (w *workflows) reconcileUser(ctx workflow.Context, spec *identity.UserSpec, // nothing to change, get the latest user and return userID = user.Id out.Outcome = ReconcileOutcomeUnchanged + return out, nil } if asyncOpID != "" { @@ -265,7 +270,7 @@ func (w *workflows) ReconcileUsers(ctx workflow.Context, in *ReconcileUsersInput } var ( getUsersReq = &cloudservice.GetUsersRequest{} - users = make(map[string]*identity.User) + users = make([]*identity.User, 0) out = &ReconcileUsersOutput{} ) for { @@ -273,9 +278,7 @@ func (w *workflows) ReconcileUsers(ctx workflow.Context, in *ReconcileUsersInput if err != nil { return nil, err } - for i := range resp.Users { - users[resp.Users[i].Spec.Email] = resp.Users[i] - } + users = append(users, resp.Users...) if resp.NextPageToken == "" { break } @@ -283,14 +286,16 @@ func (w *workflows) ReconcileUsers(ctx workflow.Context, in *ReconcileUsersInput } for i := range in.Specs { var user *identity.User - if u, ok := users[in.Specs[i].Email]; ok { - user = u + for _, u := range users { + if u.Spec.Email == in.Specs[i].Email { + user = u + users = append(users[:i], users[i+1:]...) // remove the user from the list + break + } } // reconcile the user o, _ := w.reconcileUser(ctx, in.Specs[i], user) out.Results = append(out.Results, o) - // remove the reconciled users from the map - delete(users, in.Specs[i].Email) } // whats left in maps is only the unaccounted users for _, u := range users { @@ -307,11 +312,6 @@ func (w *workflows) ReconcileUsers(ctx workflow.Context, in *ReconcileUsersInput o.setError(err) } out.Results = append(out.Results, o) - } else { - out.Results = append(out.Results, &ReconcileUserOutput{ - User: u, - Outcome: ReconcileOutcomeUnaccounted, - }) } } return out, nil From a278bee2ca04a820818a9479c52fe19ffecd055a Mon Sep 17 00:00:00 2001 From: Abhinav Nekkanti <10552725+anekkanti@users.noreply.github.com> Date: Tue, 21 Nov 2023 10:19:35 -0800 Subject: [PATCH 4/7] address review comments --- workflows/operation.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/workflows/operation.go b/workflows/operation.go index f1fce9c..35cb71b 100644 --- a/workflows/operation.go +++ b/workflows/operation.go @@ -15,8 +15,8 @@ import ( const ( // async operation workflow types - GetAsynOperationWorkflowType = workflowPrefix + "get-async-operation" - WaitForAsyncOperationType = workflowPrefix + "wait-for-async-operation" + GetAsyncOperationWorkflowType = workflowPrefix + "get-async-operation" + WaitForAsyncOperationType = workflowPrefix + "wait-for-async-operation" ) type ( @@ -30,22 +30,22 @@ type ( AsyncOperationWorkflows interface { // Async Operations Workflows - GetAsynOperation(ctx workflow.Context, in *cloudservice.GetAsyncOperationRequest) (*cloudservice.GetAsyncOperationResponse, error) + GetAsyncOperation(ctx workflow.Context, in *cloudservice.GetAsyncOperationRequest) (*cloudservice.GetAsyncOperationResponse, error) WaitForAsyncOperation(ctx workflow.Context, in *WaitForAsyncOperationInput) (*WaitForAsyncOperationOutput, error) } ) func registerAsyncOperationWorkflows(w worker.Worker, wf AsyncOperationWorkflows) { for k, v := range map[string]any{ - GetAsynOperationWorkflowType: wf.GetAsynOperation, - WaitForAsyncOperationType: wf.WaitForAsyncOperation, + GetAsyncOperationWorkflowType: wf.GetAsyncOperation, + WaitForAsyncOperationType: wf.WaitForAsyncOperation, } { w.RegisterWorkflowWithOptions(v, workflow.RegisterOptions{Name: k}) } } // Get a async operation -func (w *workflows) GetAsynOperation(ctx workflow.Context, in *cloudservice.GetAsyncOperationRequest) (*cloudservice.GetAsyncOperationResponse, error) { +func (w *workflows) GetAsyncOperation(ctx workflow.Context, in *cloudservice.GetAsyncOperationRequest) (*cloudservice.GetAsyncOperationResponse, error) { return activities.GetAsyncOperation(withInfiniteRetryActivityOptions(ctx), in) } @@ -60,7 +60,7 @@ func (w *workflows) WaitForAsyncOperation(ctx workflow.Context, in *WaitForAsync ) selector := workflow.NewSelector(ctx) getReqStatusFn := func(_ workflow.Future) { - resp, err = w.GetAsynOperation(ctx, &cloudservice.GetAsyncOperationRequest{ + resp, err = w.GetAsyncOperation(ctx, &cloudservice.GetAsyncOperationRequest{ AsyncOperationId: in.AsyncOperationID, }) } From f43981ddbe64f8208b650183f4f0297d54e37d0e Mon Sep 17 00:00:00 2001 From: Abhinav Nekkanti <10552725+anekkanti@users.noreply.github.com> Date: Tue, 21 Nov 2023 10:21:41 -0800 Subject: [PATCH 5/7] address review comments --- workflows/region.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/region.go b/workflows/region.go index 1d40b79..8f1213d 100644 --- a/workflows/region.go +++ b/workflows/region.go @@ -10,7 +10,7 @@ import ( const ( // region workflow types GetRegionWorkflowType = workflowPrefix + "get-region" - GetAllRegionsWorkflowType = workflowPrefix + "get-regions" + GetAllRegionsWorkflowType = workflowPrefix + "get-all-regions" ) type ( From 9550bd26cc02b385281edf5cb32fd781e946ef09 Mon Sep 17 00:00:00 2001 From: Abhinav Nekkanti <10552725+anekkanti@users.noreply.github.com> Date: Tue, 21 Nov 2023 10:23:58 -0800 Subject: [PATCH 6/7] address review comments --- workflows/namespace.go | 2 +- workflows/user.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/workflows/namespace.go b/workflows/namespace.go index aad8b95..9efcf50 100644 --- a/workflows/namespace.go +++ b/workflows/namespace.go @@ -247,7 +247,7 @@ func (w *workflows) ReconcileNamespace(ctx workflow.Context, in *ReconcileNamesp return out, nil } -// Reconcile a namespace, create the namespace if one does not exist, or update the namespace if one does exist. +// Reconcile multiple namespaces, create missing namespaces, update existing namespaces, and optionally delete unaccounted namespaces. func (w *workflows) ReconcileNamespaces(ctx workflow.Context, in *ReconcileNamespacesInput) (*ReconcileNamespacesOutput, error) { if err := validator.ValidateStruct(in); err != nil { return nil, fmt.Errorf("invalid input: %s", err) diff --git a/workflows/user.go b/workflows/user.go index 6b0a949..8463899 100644 --- a/workflows/user.go +++ b/workflows/user.go @@ -263,7 +263,7 @@ func (w *workflows) ReconcileUser(ctx workflow.Context, in *ReconcileUserInput) return out, nil } -// Reconcile a user, create the user if one does not exist, or update the user if one does exist. +// Reconcile multiple users, create missing users, update existing users, and optionally delete unaccounted users. func (w *workflows) ReconcileUsers(ctx workflow.Context, in *ReconcileUsersInput) (*ReconcileUsersOutput, error) { if err := validator.ValidateStruct(in); err != nil { return nil, fmt.Errorf("invalid input: %s", err) From 2fd1c043843f4b38d882f77b35bd638a1c42b6b2 Mon Sep 17 00:00:00 2001 From: Abhinav Nekkanti <10552725+anekkanti@users.noreply.github.com> Date: Tue, 21 Nov 2023 11:04:53 -0800 Subject: [PATCH 7/7] address review comments --- workflows/namespace.go | 21 +++++---------------- workflows/user.go | 19 ++++--------------- 2 files changed, 9 insertions(+), 31 deletions(-) diff --git a/workflows/namespace.go b/workflows/namespace.go index 9efcf50..a4f0690 100644 --- a/workflows/namespace.go +++ b/workflows/namespace.go @@ -252,26 +252,15 @@ func (w *workflows) ReconcileNamespaces(ctx workflow.Context, in *ReconcileNames if err := validator.ValidateStruct(in); err != nil { return nil, fmt.Errorf("invalid input: %s", err) } - var ( - getNamespacesReq = &cloudservice.GetNamespacesRequest{} - namespaces = make([]*namespace.Namespace, 0) - out = &ReconcileNamespacesOutput{} - ) - for { - resp, err := w.GetNamespaces(ctx, getNamespacesReq) - if err != nil { - return nil, err - } - namespaces = append(namespaces, resp.Namespaces...) - if resp.NextPageToken == "" { - break - } - getNamespacesReq.PageToken = resp.NextPageToken + namespaces, err := w.GetAllNamespaces(ctx) + if err != nil { + return nil, err } + out := &ReconcileNamespacesOutput{} for i := range in.Specs { var namespace *namespace.Namespace for _, ns := range namespaces { - if ns.Namespace == in.Specs[i].Name { + if ns.Spec.Name == in.Specs[i].Name { namespace = ns namespaces = append(namespaces[:i], namespaces[i+1:]...) // remove the namespace from the list break diff --git a/workflows/user.go b/workflows/user.go index 8463899..7109231 100644 --- a/workflows/user.go +++ b/workflows/user.go @@ -268,22 +268,11 @@ func (w *workflows) ReconcileUsers(ctx workflow.Context, in *ReconcileUsersInput if err := validator.ValidateStruct(in); err != nil { return nil, fmt.Errorf("invalid input: %s", err) } - var ( - getUsersReq = &cloudservice.GetUsersRequest{} - users = make([]*identity.User, 0) - out = &ReconcileUsersOutput{} - ) - for { - resp, err := w.GetUsers(ctx, getUsersReq) - if err != nil { - return nil, err - } - users = append(users, resp.Users...) - if resp.NextPageToken == "" { - break - } - getUsersReq.PageToken = resp.NextPageToken + users, err := w.GetAllUsers(ctx) + if err != nil { + return nil, err } + out := &ReconcileUsersOutput{} for i := range in.Specs { var user *identity.User for _, u := range users {