syntax = "proto3"; package onprem.device.v1; option go_package="gitlab.com/on-prem-net/protocol/onprem/device/v1;deviceproto"; import "onprem/device/v1/file_info.proto"; message DeviceConfig { message AptSource { string archive_type = 1; string repository_url = 2; optional string distribution = 3; repeated string components = 4; } message Bundle { string name = 1; repeated string package_dependencies = 2; map file_deploys = 3; } message Endpoint { message Tcp { uint32 port = 1; } message Udp { uint32 port = 1; } message UnixDomainSocket { string path = 1; } string id = 1; string name = 2; optional string description = 3; oneof owner { string owner_service_instance_id = 4; } oneof type { Tcp tcp = 11; Udp udp = 12; UnixDomainSocket uds = 13; } optional string device_id = 14; optional string service_instance_id = 15; repeated string supported_protocol_schemes = 16; } message FileDeploy { string dest_path = 1; uint32 unix_file_mode = 2; bool unarchive = 3; repeated string exclude_dirs = 4; uint32 size = 5; optional uint32 unarchive_strip_components = 6; } message Lambda { string id = 1; string script_file_id = 2; string script_content_type = 3; string trigger_type_id = 4; repeated LuaModule lua_modules = 5; } message LambdaTriggerType { string id = 1; string script_file_id = 2; string script_content_type = 3; repeated LuaModule lua_modules = 4; } message LuaModule { string module = 1; string script_file_id = 2; } message ServiceInstance { string id = 1; string service_id = 2; string plan_id = 3; map metadata = 4; optional string dashboard_url = 5; } message Subscription { string id = 1; string metric_family_regex = 2; uint32 capture_interval_ms = 3; } message SystemdService { string name = 1; optional string service_file_id = 2; bool started = 3; } string id = 1; string agent_id = 2; optional string chassis_id = 3; optional string chassis_type_id = 4; repeated Subscription subscriptions = 5; optional string hat_id = 6; optional string hat_type_id = 7; reserved 8; repeated string file_ids = 9; repeated ServiceInstance service_instances = 10; repeated Bundle bundles = 11; repeated SystemdService systemd_services = 12; reserved 13; reserved 14; // TODO RedfishComputerSystem.IndicatorLED indicator_led repeated Lambda lambdas = 15; repeated string tags = 16; repeated LambdaTriggerType lambda_trigger_types = 17; optional string device_type_id = 18; repeated string apt_key_file_ids = 19; repeated AptSource apt_sources = 20; repeated FileInfo file_infos = 21; repeated LuaModule lua_modules = 22; repeated Endpoint endpoints = 23; }