diff --git a/temporal/api/cloud/account/v1/message.proto b/temporal/api/cloud/account/v1/message.proto new file mode 100644 index 0000000..0b89dfc --- /dev/null +++ b/temporal/api/cloud/account/v1/message.proto @@ -0,0 +1,40 @@ +syntax = "proto3"; + +package temporal.api.cloud.account.v1; + +option go_package = "go.temporal.io/api/cloud/account/v1;account"; + +message MetricsSpec { + // Enables the endpoint from which clients can scrape all their namespace metrics. + bool enabled = 1; + // The base64 encoded ca cert(s) in PEM format that clients connecting to the metrics endpoint can use for authentication. + // This must only be one value, but the CA can have a chain. + string accepted_client_ca = 2; +} + +message AccountSpec { + // The metrics specification for this account. + MetricsSpec metrics = 1; +} + +message Metrics { + // The prometheus metrics endpoint uri. + // This is only populated when the metrics is enabled in the metrics specification. + string uri = 1; +} + +message Account { + // The account specification. + AccountSpec spec = 1; + // The current version of the account specification. + // The next update operation will have to include this version. + string resource_version = 2; + // The current state of the account. + // Possible values: activating, activationfailed, active, updating, updatefailed, deleting, deletefailed, deleted, suspending, suspendfailed, suspended. + // For any failed state, reach out to Temporal Cloud support for remediation. + string state = 3; + // The id of the async operation that is updating the account, if any. + string async_operation_id = 4; + // Information related to metrics. + Metrics metrics = 5; +} diff --git a/temporal/api/cloud/cloudservice/v1/request_response.proto b/temporal/api/cloud/cloudservice/v1/request_response.proto index 12e6d40..a9cdf30 100644 --- a/temporal/api/cloud/cloudservice/v1/request_response.proto +++ b/temporal/api/cloud/cloudservice/v1/request_response.proto @@ -9,6 +9,7 @@ import "temporal/api/cloud/identity/v1/message.proto"; import "temporal/api/cloud/namespace/v1/message.proto"; import "temporal/api/cloud/nexus/v1/message.proto"; import "temporal/api/cloud/region/v1/message.proto"; +import "temporal/api/cloud/account/v1/message.proto"; message GetUsersRequest { // The requested size of the page to retrieve - optional. @@ -231,6 +232,7 @@ message GetRegionResponse { temporal.api.cloud.region.v1.Region region = 1; } +<<<<<<< HEAD message GetIncomingServicesRequest { // The requested size of the page to retrieve - optional. // Cannot exceed 1000. Defaults to 100. @@ -368,10 +370,33 @@ message CreateOutgoingServiceRequest { } message CreateOutgoingServiceResponse { +======= +message GetAccountRequest { +} + +message GetAccountResponse { + // The account. + temporal.api.cloud.account.v1.Account account = 1; +} + +message UpdateAccountRequest { + // The updated account specification to apply. + temporal.api.cloud.account.v1.AccountSpec spec = 1; + // The version of the account for which this update is intended for. + // The latest version can be found in the GetAccount operation response. + string resource_version = 2; + // The id to use for this async operation. + // Optional, if not provided a random id will be generated. + string async_operation_id = 3; +} + +message UpdateAccountResponse { +>>>>>>> origin/abhinav/accountManagement // The async operation. temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1; } +<<<<<<< HEAD message UpdateOutgoingServiceRequest { // The name of the namespace the outgoing service is registered on. string namespace = 1; @@ -414,3 +439,5 @@ message DeleteOutgoingServiceResponse { // The async operation. temporal.api.cloud.operation.v1.AsyncOperation async_operation = 1; } +======= +>>>>>>> origin/abhinav/accountManagement diff --git a/temporal/api/cloud/cloudservice/v1/service.proto b/temporal/api/cloud/cloudservice/v1/service.proto index e7fa210..d31ba42 100644 --- a/temporal/api/cloud/cloudservice/v1/service.proto +++ b/temporal/api/cloud/cloudservice/v1/service.proto @@ -67,7 +67,7 @@ service CloudService { body: "*" }; } - + // Get all namespaces rpc GetNamespaces (GetNamespacesRequest) returns (GetNamespacesResponse) { option (google.api.http) = { @@ -119,6 +119,7 @@ service CloudService { }; } +<<<<<<< HEAD // Gets all known incoming services rpc GetIncomingServices(GetIncomingServicesRequest) returns (GetIncomingServicesResponse) { option (google.api.http) = { @@ -190,6 +191,20 @@ service CloudService { rpc DeleteOutgoingService(DeleteOutgoingServiceRequest) returns (DeleteOutgoingServiceResponse) { option (google.api.http) = { delete: "/api/v1/namespaces/{namespace}/nexus/outgoingservices/{name}", +======= + // Get account information + rpc GetAccount (GetAccountRequest) returns (GetAccountResponse) { + option (google.api.http) = { + get: "/api/v1/account", + }; + } + + // Update account information + rpc UpdateAccount (UpdateAccountRequest) returns (UpdateAccountResponse) { + option (google.api.http) = { + post: "/api/v1/account", + body: "*" +>>>>>>> origin/abhinav/accountManagement }; } } diff --git a/temporal/api/cloud/identity/v1/message.proto b/temporal/api/cloud/identity/v1/message.proto index 3009f7e..0cfb14b 100644 --- a/temporal/api/cloud/identity/v1/message.proto +++ b/temporal/api/cloud/identity/v1/message.proto @@ -53,6 +53,8 @@ message User { // The user specification UserSpec spec = 3; // The current state of the user + // Possible values: activating, activationfailed, active, updating, updatefailed, deleting, deletefailed, deleted, suspending, suspendfailed, suspended. + // For any failed state, reach out to Temporal Cloud support for remediation. string state = 4; // The id of the async operation that is creating/updating/deleting the user, if any string async_operation_id = 5; diff --git a/temporal/api/cloud/namespace/v1/message.proto b/temporal/api/cloud/namespace/v1/message.proto index 9c8db23..343ea57 100644 --- a/temporal/api/cloud/namespace/v1/message.proto +++ b/temporal/api/cloud/namespace/v1/message.proto @@ -107,6 +107,8 @@ message Namespace { // The namespace specification. NamespaceSpec spec = 3; // The current state of the namespace. + // Possible values: activating, activationfailed, active, updating, updatefailed, deleting, deletefailed, deleted, suspending, suspendfailed, suspended. + // For any failed state, reach out to Temporal Cloud support for remediation. string state = 4; // The id of the async operation that is creating/updating/deleting the namespace, if any. string async_operation_id = 5;