github.com/microsoft/moc@v0.17.1/rpc/cloudagent/compute/baremetalhost/moc_cloudagent_baremetalhost.proto (about) 1 // Copyright (c) Microsoft Corporation. 2 // Licensed under the Apache v2.0 license. 3 4 syntax = "proto3"; 5 option go_package = "github.com/microsoft/moc/rpc/cloudagent/compute"; 6 package moc.cloudagent.compute; 7 8 import "google/protobuf/wrappers.proto"; 9 import "moc_common_common.proto"; 10 import "moc_cloudagent_virtualmachine.proto"; 11 12 enum BareMetalHostPowerState { 13 Unknown = 0; 14 Running = 1 ; 15 Off = 2; 16 } 17 18 message BareMetalHostRequest { 19 repeated BareMetalHost BareMetalHosts = 1; 20 Operation OperationType = 2; 21 } 22 23 message BareMetalHostResponse { 24 repeated BareMetalHost BareMetalHosts = 1; 25 google.protobuf.BoolValue Result = 2; 26 string Error = 3; 27 } 28 29 message BareMetalHostDisk { 30 string diskName = 1; 31 uint32 diskSizeGB = 2; 32 } 33 34 message BareMetalHostStorageConfiguration { 35 repeated BareMetalHostDisk disks = 1; 36 } 37 38 message BareMetalHostNetworkInterface { 39 string networkInterfaceName = 1; 40 } 41 42 message BareMetalHostNetworkConfiguration { 43 repeated BareMetalHostNetworkInterface interfaces = 1; 44 } 45 46 message BareMetalHostSize { 47 uint32 cpuCount = 1; 48 uint32 gpuCount = 2; 49 uint32 memoryMB = 3; 50 } 51 52 message BareMetalHostHardwareConfiguration { 53 BareMetalHostSize machineSize = 1; 54 } 55 56 message BareMetalHost { 57 string name = 1; 58 string id = 2; 59 BareMetalHostStorageConfiguration storage = 3; 60 BareMetalHostNetworkConfiguration network = 4; 61 BareMetalHostHardwareConfiguration hardware = 5; 62 BareMetalHostPowerState powerState = 6; 63 SecurityConfiguration security = 7; 64 Status status = 8; 65 string locationName = 9; 66 string fqdn = 10; 67 string certificate = 11; 68 uint32 port = 12; 69 uint32 authorizerPort = 13; 70 Tags tags = 14; 71 } 72 73 service BareMetalHostAgent { 74 rpc Invoke(BareMetalHostRequest) returns (BareMetalHostResponse) {} 75 }