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  }