headscale/proto/headscale/v1/machine.proto

93 lines
2 KiB
Protocol Buffer
Raw Normal View History

syntax = "proto3";
package headscale.v1;
option go_package = "github.com/juanfont/headscale/gen/go/v1";
import "google/protobuf/timestamp.proto";
import "headscale/v1/namespace.proto";
import "headscale/v1/preauthkey.proto";
enum RegisterMethod {
REGISTER_METHOD_UNSPECIFIED = 0;
REGISTER_METHOD_AUTH_KEY = 1;
REGISTER_METHOD_CLI = 2;
REGISTER_METHOD_OIDC = 3;
}
message Machine {
2022-01-25 22:11:15 +00:00
uint64 id = 1;
string machine_key = 2;
string node_key = 3;
string disco_key = 4;
repeated string ip_addresses = 5;
string name = 6;
Namespace namespace = 7;
2022-02-28 22:21:06 +00:00
google.protobuf.Timestamp last_seen = 8;
google.protobuf.Timestamp last_successful_update = 9;
google.protobuf.Timestamp expiry = 10;
2022-02-28 22:21:06 +00:00
PreAuthKey pre_auth_key = 11;
2022-02-28 22:21:06 +00:00
google.protobuf.Timestamp created_at = 12;
RegisterMethod register_method = 13;
// google.protobuf.Timestamp updated_at = 14;
// google.protobuf.Timestamp deleted_at = 15;
// bytes host_info = 15;
// bytes endpoints = 16;
// bytes enabled_routes = 17;
}
message RegisterMachineRequest {
string namespace = 1;
string key = 2;
}
message RegisterMachineResponse {
Machine machine = 1;
}
message GetMachineRequest {
uint64 machine_id = 1;
}
message GetMachineResponse {
Machine machine = 1;
}
message DeleteMachineRequest {
uint64 machine_id = 1;
}
message DeleteMachineResponse {
}
2021-11-21 13:40:04 +00:00
message ExpireMachineRequest {
uint64 machine_id = 1;
}
message ExpireMachineResponse {
Machine machine = 1;
}
message ListMachinesRequest {
string namespace = 1;
}
message ListMachinesResponse {
repeated Machine machines = 1;
}
message DebugCreateMachineRequest {
string namespace = 1;
string key = 2;
string name = 3;
repeated string routes = 4;
}
message DebugCreateMachineResponse {
Machine machine = 1;
}