diff --git a/temporal/api/cloud/cloudservice/v1/request_response.proto b/temporal/api/cloud/cloudservice/v1/request_response.proto index 0d59fa1..bcd4c6d 100644 --- a/temporal/api/cloud/cloudservice/v1/request_response.proto +++ b/temporal/api/cloud/cloudservice/v1/request_response.proto @@ -244,6 +244,9 @@ message GetIncomingServicesRequest { // Filter incoming services by the task queue they route to - optional. string task_queue = 4; + + // Filter incoming services by their service name - optional. Specifying this will result in zero or one results. + string service_name = 5; } message GetIncomingServicesResponse { @@ -318,15 +321,18 @@ message DeleteIncomingServiceResponse { } message GetOutgoingServicesRequest { - // The namespace to get all the outgoing services from - string namespace = 1; - // The requested size of the page to retrieve - optional. // Cannot exceed 1000. Defaults to 100. - int32 page_size = 2; + int32 page_size = 1; // The page token if this is continuing from another response - optional. - string page_token = 3; + string page_token = 2; + + // The namespace to get all the outgoing services from + string namespace = 3; + + // The name of the outgoing service to filter on. - optional. Specifying this will result in zero or one results. + string service_name = 4; } message GetOutgoingServicesResponse { diff --git a/temporal/api/cloud/nexus/v1/message.proto b/temporal/api/cloud/nexus/v1/message.proto index abea788..5b4b4d0 100644 --- a/temporal/api/cloud/nexus/v1/message.proto +++ b/temporal/api/cloud/nexus/v1/message.proto @@ -17,22 +17,28 @@ message IncomingServiceSpec { // The task queue to route requests to string task_queue = 3; - // The authorization specification for this service - IncomingServiceAuthorizationSpec authorization_spec = 4; + // The set of authorization policies for the service. Each request's caller + // must match with at least one of the specs to be accepted by the incoming service + repeated IncomingServiceAuthorizationSpec authorization_spec = 4; } message IncomingServiceAuthorizationSpec { - AllowedNamespacePolicySpec allowed_namespace_policy_spec = 1; + // The policy set on this incoming service authorization spec + // Possible values are: ALLOWED_CLOUD_NAMESPACE + string policy_type = 1; + + // A policy spec that allows one caller namespace to access the service + AllowedCloudNamespacePolicySpec allowed_cloud_namespace_policy_spec = 2; } -message AllowedNamespacePolicySpec { - // The set of namespaces that are allowed to call into this service - repeated string namespaces = 1; +message AllowedCloudNamespacePolicySpec { + // The namespace that is allowed to call into this service. Calling namespace must be in same account as incoming service + string namespace = 1; } -// A binding from a service name to namespace and task queue for dispatching incoming Nexus requests. +// A binding to a cloud namespace and task queue for dispatching incoming Nexus requests. message IncomingService { - // The id of the service. This is generated by the server and is immutable + // The id of the incoming service. This is generated by the server and is immutable string id = 1; // The current version of the incoming service specification @@ -62,14 +68,21 @@ message OutgoingServiceSpec { // This name is immutable string name = 1; - BindingSpec spec = 2; + // The target that the outgoing service will connect to + TargetSpec spec = 2; } -message BindingSpec { - IntraAccountServiceSpec intra_account_service_spec = 1; +message TargetSpec { + // The type of target that is set in this spec + // Possible values are: CLOUD_INCOMING_SERVICE_SPEC + string target_type = 1; + + // A target spec for an incoming service within the same account as the outgoing service + CloudIncomingServiceSpec cloud_incoming_service_spec = 2; } -message IntraAccountServiceSpec { +message CloudIncomingServiceSpec { + // The ID of the Incoming Service that the outgoing service will connect to string incoming_service_id = 1; }