github.com/microsoft/moc@v0.17.1/rpc/cloudagent/network/networkinterface/moc_cloudagent_networkinterface.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/network"; 6 package moc.cloudagent.network; 7 8 import "google/protobuf/wrappers.proto"; 9 import "moc_common_common.proto"; 10 import "moc_common_networkcommon.proto"; 11 12 message NetworkInterfaceRequest { 13 repeated NetworkInterface NetworkInterfaces = 1; 14 Operation OperationType = 2; 15 } 16 17 message NetworkInterfaceResponse { 18 repeated NetworkInterface NetworkInterfaces = 1; 19 google.protobuf.BoolValue Result = 2; 20 string Error = 3; 21 } 22 23 message InboundNatRule { 24 string name = 1; 25 } 26 27 enum NetworkType { 28 VIRTUAL_NETWORK = 0; 29 LOGICAL_NETWORK = 1; 30 } 31 32 message IpConfiguration { 33 reserved 11; // deprecated string version of networkSecurityGroup 34 string ipaddress = 1 [(sensitive) = true]; 35 string prefixlength = 2; 36 string subnetid = 3; 37 bool primary = 4; 38 repeated string loadbalanceraddresspool = 5; 39 IPAllocationMethod allocation = 6; 40 string gateway = 7 [(sensitive) = true]; 41 repeated InboundNatRule inboundNatRules = 8; 42 Tags tags = 9; 43 NetworkType networkType = 10; 44 NetworkSecurityGroupReference networkSecurityGroupRef = 12; 45 } 46 47 message NetworkInterface { 48 string name = 1; 49 string id = 2; 50 enum NetworkInterfaceType { 51 Local = 0; 52 Remote = 1; 53 } 54 NetworkInterfaceType type = 3; 55 repeated IpConfiguration ipConfigurations = 4; 56 string macaddress = 5 [(sensitive) = true]; 57 Dns dns = 6 [(sensitive) = true]; 58 string nodeName = 7; 59 string groupName = 8; 60 string locationName = 9; 61 Status status = 10; 62 string virtualMachineName = 11; 63 uint32 iovWeight = 12; 64 Tags tags = 13; 65 } 66 67 service NetworkInterfaceAgent { 68 rpc Invoke(NetworkInterfaceRequest) returns (NetworkInterfaceResponse) {} 69 }