/// <summary>
 /// Initializes a new instance of the
 /// VirtualNetworkGatewayConnectionInner class.
 /// </summary>
 /// <param name="virtualNetworkGateway1">The reference to virtual
 /// network gateway resource.</param>
 /// <param name="connectionType">Gateway connection type. Possible
 /// values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute',
 /// 'VPNClient'</param>
 /// <param name="authorizationKey">The authorizationKey.</param>
 /// <param name="virtualNetworkGateway2">The reference to virtual
 /// network gateway resource.</param>
 /// <param name="localNetworkGateway2">The reference to local network
 /// gateway resource.</param>
 /// <param name="connectionProtocol">Connection protocol used for this
 /// connection. Possible values include: 'IKEv2', 'IKEv1'</param>
 /// <param name="routingWeight">The routing weight.</param>
 /// <param name="sharedKey">The IPSec shared key.</param>
 /// <param name="connectionStatus">Virtual Network Gateway connection
 /// status. Possible values include: 'Unknown', 'Connecting',
 /// 'Connected', 'NotConnected'</param>
 /// <param name="tunnelConnectionStatus">Collection of all tunnels'
 /// connection health status.</param>
 /// <param name="egressBytesTransferred">The egress bytes transferred
 /// in this connection.</param>
 /// <param name="ingressBytesTransferred">The ingress bytes transferred
 /// in this connection.</param>
 /// <param name="peer">The reference to peerings resource.</param>
 /// <param name="enableBgp">EnableBgp flag.</param>
 /// <param name="usePolicyBasedTrafficSelectors">Enable policy-based
 /// traffic selectors.</param>
 /// <param name="ipsecPolicies">The IPSec Policies to be considered by
 /// this connection.</param>
 /// <param name="trafficSelectorPolicies">The Traffic Selector Policies
 /// to be considered by this connection.</param>
 /// <param name="resourceGuid">The resource GUID property of the
 /// virtual network gateway connection resource.</param>
 /// <param name="provisioningState">The provisioning state of the
 /// virtual network gateway connection resource. Possible values
 /// include: 'Succeeded', 'Updating', 'Deleting', 'Failed'</param>
 /// <param name="expressRouteGatewayBypass">Bypass ExpressRoute Gateway
 /// for data forwarding.</param>
 /// <param name="etag">A unique read-only string that changes whenever
 /// the resource is updated.</param>
 public VirtualNetworkGatewayConnectionInner(Management.ResourceManager.Fluent.SubResource virtualNetworkGateway1, VirtualNetworkGatewayConnectionType connectionType, string location = default(string), string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), string authorizationKey = default(string), Management.ResourceManager.Fluent.SubResource virtualNetworkGateway2 = default(Management.ResourceManager.Fluent.SubResource), Management.ResourceManager.Fluent.SubResource localNetworkGateway2 = default(Management.ResourceManager.Fluent.SubResource), VirtualNetworkGatewayConnectionProtocol connectionProtocol = default(VirtualNetworkGatewayConnectionProtocol), int?routingWeight = default(int?), string sharedKey = default(string), VirtualNetworkGatewayConnectionStatus connectionStatus = default(VirtualNetworkGatewayConnectionStatus), IList <TunnelConnectionHealth> tunnelConnectionStatus = default(IList <TunnelConnectionHealth>), long?egressBytesTransferred = default(long?), long?ingressBytesTransferred = default(long?), Management.ResourceManager.Fluent.SubResource peer = default(Management.ResourceManager.Fluent.SubResource), bool?enableBgp = default(bool?), bool?usePolicyBasedTrafficSelectors = default(bool?), IList <IpsecPolicy> ipsecPolicies = default(IList <IpsecPolicy>), IList <TrafficSelectorPolicy> trafficSelectorPolicies = default(IList <TrafficSelectorPolicy>), string resourceGuid = default(string), ProvisioningState provisioningState = default(ProvisioningState), bool?expressRouteGatewayBypass = default(bool?), string etag = default(string))
     : base(location, id, name, type, tags)
 {
     AuthorizationKey       = authorizationKey;
     VirtualNetworkGateway1 = virtualNetworkGateway1;
     VirtualNetworkGateway2 = virtualNetworkGateway2;
     LocalNetworkGateway2   = localNetworkGateway2;
     ConnectionType         = connectionType;
     ConnectionProtocol     = connectionProtocol;
     RoutingWeight          = routingWeight;
     SharedKey               = sharedKey;
     ConnectionStatus        = connectionStatus;
     TunnelConnectionStatus  = tunnelConnectionStatus;
     EgressBytesTransferred  = egressBytesTransferred;
     IngressBytesTransferred = ingressBytesTransferred;
     Peer      = peer;
     EnableBgp = enableBgp;
     UsePolicyBasedTrafficSelectors = usePolicyBasedTrafficSelectors;
     IpsecPolicies             = ipsecPolicies;
     TrafficSelectorPolicies   = trafficSelectorPolicies;
     ResourceGuid              = resourceGuid;
     ProvisioningState         = provisioningState;
     ExpressRouteGatewayBypass = expressRouteGatewayBypass;
     Etag = etag;
     CustomInit();
 }
 /// <summary>
 /// Initializes a new instance of the TunnelConnectionHealth class.
 /// </summary>
 /// <param name="tunnel">Tunnel name.</param>
 /// <param name="connectionStatus">Virtual Network Gateway connection
 /// status. Possible values include: 'Unknown', 'Connecting',
 /// 'Connected', 'NotConnected'</param>
 /// <param name="ingressBytesTransferred">The Ingress Bytes Transferred
 /// in this connection.</param>
 /// <param name="egressBytesTransferred">The Egress Bytes Transferred
 /// in this connection.</param>
 /// <param name="lastConnectionEstablishedUtcTime">The time at which
 /// connection was established in Utc format.</param>
 public TunnelConnectionHealth(string tunnel = default(string), VirtualNetworkGatewayConnectionStatus connectionStatus = default(VirtualNetworkGatewayConnectionStatus), long?ingressBytesTransferred = default(long?), long?egressBytesTransferred = default(long?), string lastConnectionEstablishedUtcTime = default(string))
 {
     Tunnel                           = tunnel;
     ConnectionStatus                 = connectionStatus;
     IngressBytesTransferred          = ingressBytesTransferred;
     EgressBytesTransferred           = egressBytesTransferred;
     LastConnectionEstablishedUtcTime = lastConnectionEstablishedUtcTime;
     CustomInit();
 }