/// <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="resourceGuid">The resource GUID property of the
 /// VirtualNetworkGatewayConnection resource.</param>
 /// <param name="provisioningState">The provisioning state of the
 /// VirtualNetworkGatewayConnection resource. Possible values are:
 /// 'Updating', 'Deleting', and 'Failed'.</param>
 /// <param name="expressRouteGatewayBypass">Bypass ExpressRoute Gateway
 /// for data forwarding.</param>
 /// <param name="etag">Gets 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>), string resourceGuid = default(string), string provisioningState = default(string), 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;
     ResourceGuid              = resourceGuid;
     ProvisioningState         = provisioningState;
     ExpressRouteGatewayBypass = expressRouteGatewayBypass;
     Etag = etag;
     CustomInit();
 }
 /// <summary>
 /// Initializes a new instance of the VpnSiteLinkConnectionInner class.
 /// </summary>
 /// <param name="vpnSiteLink">Id of the connected vpn site
 /// link.</param>
 /// <param name="routingWeight">Routing weight for vpn
 /// connection.</param>
 /// <param name="connectionStatus">The connection status. Possible
 /// values include: 'Unknown', 'Connecting', 'Connected',
 /// 'NotConnected'</param>
 /// <param name="vpnConnectionProtocolType">Connection protocol used
 /// for this connection. Possible values include: 'IKEv2',
 /// 'IKEv1'</param>
 /// <param name="ingressBytesTransferred">Ingress bytes
 /// transferred.</param>
 /// <param name="egressBytesTransferred">Egress bytes
 /// transferred.</param>
 /// <param name="connectionBandwidth">Expected bandwidth in
 /// MBPS.</param>
 /// <param name="sharedKey">SharedKey for the vpn connection.</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="enableRateLimiting">EnableBgp flag.</param>
 /// <param name="useLocalAzureIpAddress">Use local azure ip to initiate
 /// connection.</param>
 /// <param name="provisioningState">The provisioning state of the VPN
 /// site link connection resource. Possible values include:
 /// 'Succeeded', 'Updating', 'Deleting', 'Failed'</param>
 /// <param name="name">The name of the resource that is unique within a
 /// resource group. This name can be used to access the
 /// resource.</param>
 /// <param name="etag">A unique read-only string that changes whenever
 /// the resource is updated.</param>
 /// <param name="type">Resource type.</param>
 public VpnSiteLinkConnectionInner(string id = default(string), Management.ResourceManager.Fluent.SubResource vpnSiteLink = default(Management.ResourceManager.Fluent.SubResource), int?routingWeight = default(int?), VpnConnectionStatus connectionStatus = default(VpnConnectionStatus), VirtualNetworkGatewayConnectionProtocol vpnConnectionProtocolType = default(VirtualNetworkGatewayConnectionProtocol), long?ingressBytesTransferred = default(long?), long?egressBytesTransferred = default(long?), int?connectionBandwidth = default(int?), string sharedKey = default(string), bool?enableBgp = default(bool?), bool?usePolicyBasedTrafficSelectors = default(bool?), IList <IpsecPolicy> ipsecPolicies = default(IList <IpsecPolicy>), bool?enableRateLimiting = default(bool?), bool?useLocalAzureIpAddress = default(bool?), ProvisioningState provisioningState = default(ProvisioningState), string name = default(string), string etag = default(string), string type = default(string))
     : base(id)
 {
     VpnSiteLink               = vpnSiteLink;
     RoutingWeight             = routingWeight;
     ConnectionStatus          = connectionStatus;
     VpnConnectionProtocolType = vpnConnectionProtocolType;
     IngressBytesTransferred   = ingressBytesTransferred;
     EgressBytesTransferred    = egressBytesTransferred;
     ConnectionBandwidth       = connectionBandwidth;
     SharedKey = sharedKey;
     EnableBgp = enableBgp;
     UsePolicyBasedTrafficSelectors = usePolicyBasedTrafficSelectors;
     IpsecPolicies          = ipsecPolicies;
     EnableRateLimiting     = enableRateLimiting;
     UseLocalAzureIpAddress = useLocalAzureIpAddress;
     ProvisioningState      = provisioningState;
     Name = name;
     Etag = etag;
     Type = type;
     CustomInit();
 }