github.com/microsoft/moc@v0.17.1/rpc/cloudagent/network/virtualnetwork/moc_cloudagent_virtualnetwork.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 enum VirtualNetworkType { 13 NAT = 0; 14 Transparent = 1; 15 L2Bridge = 2; 16 L2Tunnel = 3; 17 ICS = 4; 18 Private = 5; 19 Overlay = 6; 20 Internal = 7; 21 Mirrored = 8; 22 } 23 24 message VirtualNetworkRequest { 25 repeated VirtualNetwork VirtualNetworks = 1; 26 Operation OperationType = 2; 27 } 28 29 message VirtualNetworkResponse { 30 repeated VirtualNetwork VirtualNetworks = 1; 31 google.protobuf.BoolValue Result = 2; 32 string Error = 3; 33 } 34 35 message VirtualNetwork { 36 reserved 11; 37 string name = 1; 38 string id = 2; 39 repeated Subnet subnets = 3; 40 Dns dns = 4 [(sensitive) = true]; 41 VirtualNetworkType type = 5; 42 string nodefqdn = 6; 43 string groupName = 7; 44 Status status = 8; 45 string locationName = 9; 46 string macPoolName = 10 [(sensitive) = true]; 47 Tags tags = 12; 48 } 49 50 message Subnet { 51 reserved 8; // deprecated string version of networkSecurityGroup 52 string name = 1; 53 string id = 2; 54 string cidr = 3; 55 repeated Route routes = 4; 56 IPAllocationMethod allocation = 5; 57 uint32 vlan = 6; 58 repeated IPPool ippools = 7; 59 NetworkSecurityGroupReference networksecuritygroupref = 9; 60 } 61 62 message Ipam { 63 string type = 1; 64 repeated Subnet subnets = 2; 65 } 66 67 service VirtualNetworkAgent { 68 rpc Invoke(VirtualNetworkRequest) returns (VirtualNetworkResponse) {} 69 } 70