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