All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ndb-grpc-proto.1.3.source-code.platform_api.proto Maven / Gradle / Ivy

There is a newer version: 1.3.6
Show newest version
syntax = "proto3";
package io.axoniq.platform.grpc;

option java_multiple_files = true;

service PlatformService {
    rpc GetPlatformServer (ClientIdentification) returns (PlatformInfo) {
    }

    rpc OpenStream( stream PlatformInboundInstruction) returns (stream PlatformOutboundInstruction) {}

}

message PlatformInboundInstruction {
    oneof request {
        ClientIdentification register = 1;
        Application application = 10;
        User user = 11;
        ContextUpdate context = 12;
        HeartbeatResponse heartbeat = 99;
        UnknownRequest unknown_request = 100;

    }
}

message PlatformOutboundInstruction {
    oneof request {
        NodeInfo node_notification = 1;
        RequestReconnect request_reconnect = 3;
        HeartbeatRequest heartbeat = 99;
        UnknownRequest unknown_request = 100;
    }
}

message RequestReconnect {
}


message HeartbeatRequest {
    string message_id = 1;
}

message UnknownRequest {
    int32 number = 1;
}

message HeartbeatResponse {
    string message_id = 1;
    string correlates_to = 2;
}

message RequestReleaseTracker {
}

message PlatformInfo {
    NodeInfo primary = 1;
}

message NodeInfo {
    string host_name = 1;
    int32 grpc_port = 2;
    int32 http_port = 3;
    int32 version = 4;
    string node_name = 5;
}

message ClientIdentification {
    string client_name = 1;
    string component_name = 2;
}

message Application {
    string name = 1;
    string description = 2;
    string hashed_token = 3;
    repeated ApplicationRole roles = 4;
    Action action = 5;
    bool fine_grained_access_control = 6;
}

message User {
    string name = 1;
    string password = 3;
    repeated string roles = 4;
    Action action = 5;
}

message ApplicationRole {
    string name = 1;
    int64 end_date = 2;
    string context = 3;
}

enum Action {
    MERGE = 0;
    DELETE = 1;
    RENEW = 2;
}

message ContextUpdate {
    string name = 1;
    repeated string nodes = 3;
    ContextAction action = 4;
}

enum ContextAction {
    MERGE_CONTEXT = 0;
    DELETE_CONTEXT = 1;
    ADD_NODES = 2;
    DELETE_NODES = 3;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy