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  }