github.com/microsoft/moc@v0.17.1/rpc/nodeagent/network/virtualnetworkinterface/moc_nodeagent_virtualnetworkinterface.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/nodeagent/network"; 6 package moc.nodeagent.network; 7 8 import "google/protobuf/wrappers.proto"; 9 import "google/protobuf/empty.proto"; 10 import "moc_common_common.proto"; 11 import "moc_common_notification.proto"; 12 import "moc_common_networkcommon.proto"; 13 14 message VirtualNetworkInterfaceRequest { 15 repeated VirtualNetworkInterface VirtualNetworkInterfaces = 1; 16 Operation OperationType = 2; 17 } 18 19 message VirtualNetworkInterfaceResponse { 20 repeated VirtualNetworkInterface VirtualNetworkInterfaces = 1; 21 google.protobuf.BoolValue Result = 2; 22 string Error = 3; 23 } 24 25 enum NetworkType { 26 VIRTUAL_NETWORK = 0; 27 LOGICAL_NETWORK = 1; 28 } 29 30 message IpConfiguration { 31 string ipaddress = 1 [(sensitive) = true]; 32 string prefixlength = 2; 33 string subnetid = 3; 34 bool primary = 4; 35 string gateway = 5 [(sensitive) = true]; 36 IPAllocationMethod allocation = 6; 37 NetworkType networkType = 7; 38 } 39 40 message VirtualNetworkInterface { 41 string name = 1; 42 string id = 2; 43 enum NetworkInterfaceType { 44 Local = 0; 45 Remote = 1; 46 } 47 NetworkInterfaceType type = 3; 48 repeated IpConfiguration ipconfigs = 4; 49 string macaddress = 5 [(sensitive) = true]; 50 Dns dnsSettings = 6 [(sensitive) = true]; 51 string virtualMachineName = 7; 52 Status status = 8; 53 Entity entity = 9; 54 uint32 iovWeight = 10; 55 Tags tags = 11; 56 } 57 58 service VirtualNetworkInterfaceAgent { 59 rpc Invoke(VirtualNetworkInterfaceRequest) returns (VirtualNetworkInterfaceResponse) {} 60 rpc CheckNotification(google.protobuf.Empty) returns (NotificationResponse) {} 61 }