/// <summary>
 /// Initializes a new instance of the IPConfiguration class.
 /// </summary>
 /// <param name="id">Resource ID.</param>
 /// <param name="privateIPAddress">The private IP address of the IP
 /// configuration.</param>
 /// <param name="privateIPAllocationMethod">The private IP allocation
 /// method. Possible values are 'Static' and 'Dynamic'. Possible values
 /// include: 'Static', 'Dynamic'</param>
 /// <param name="subnet">The reference of the subnet resource.</param>
 /// <param name="publicIPAddress">The reference of the public IP
 /// resource.</param>
 /// <param name="provisioningState">Gets the provisioning state of the
 /// public IP resource. Possible values are: 'Updating', 'Deleting',
 /// and '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>
 public IPConfiguration(string id = default(string), string privateIPAddress = default(string), string privateIPAllocationMethod = default(string), Subnet subnet = default(Subnet), PublicIPAddress publicIPAddress = default(PublicIPAddress), string provisioningState = default(string), string name = default(string), string etag = default(string))
     : base(id)
 {
     PrivateIPAddress          = privateIPAddress;
     PrivateIPAllocationMethod = privateIPAllocationMethod;
     Subnet            = subnet;
     PublicIPAddress   = publicIPAddress;
     ProvisioningState = provisioningState;
     Name = name;
     Etag = etag;
     CustomInit();
 }
 /// <summary>
 /// Initializes a new instance of the FrontendIPConfiguration class.
 /// </summary>
 /// <param name="id">Resource ID.</param>
 /// <param name="inboundNatRules">Read only. Inbound rules URIs that
 /// use this frontend IP.</param>
 /// <param name="inboundNatPools">Read only. Inbound pools URIs that
 /// use this frontend IP.</param>
 /// <param name="outboundNatRules">Read only. Outbound rules URIs that
 /// use this frontend IP.</param>
 /// <param name="loadBalancingRules">Gets load balancing rules URIs
 /// that use this frontend IP.</param>
 /// <param name="privateIPAddress">The private IP address of the IP
 /// configuration.</param>
 /// <param name="privateIPAllocationMethod">The Private IP allocation
 /// method. Possible values are: 'Static' and 'Dynamic'. Possible
 /// values include: 'Static', 'Dynamic'</param>
 /// <param name="subnet">The reference of the subnet resource.</param>
 /// <param name="publicIPAddress">The reference of the Public IP
 /// resource.</param>
 /// <param name="provisioningState">Gets the provisioning state of the
 /// public IP resource. Possible values are: 'Updating', 'Deleting',
 /// and '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>
 public FrontendIPConfiguration(string id = default(string), IList <SubResource> inboundNatRules = default(IList <SubResource>), IList <SubResource> inboundNatPools = default(IList <SubResource>), IList <SubResource> outboundNatRules = default(IList <SubResource>), IList <SubResource> loadBalancingRules = default(IList <SubResource>), string privateIPAddress = default(string), string privateIPAllocationMethod = default(string), Subnet subnet = default(Subnet), PublicIPAddress publicIPAddress = default(PublicIPAddress), string provisioningState = default(string), string name = default(string), string etag = default(string))
     : base(id)
 {
     InboundNatRules           = inboundNatRules;
     InboundNatPools           = inboundNatPools;
     OutboundNatRules          = outboundNatRules;
     LoadBalancingRules        = loadBalancingRules;
     PrivateIPAddress          = privateIPAddress;
     PrivateIPAllocationMethod = privateIPAllocationMethod;
     Subnet            = subnet;
     PublicIPAddress   = publicIPAddress;
     ProvisioningState = provisioningState;
     Name = name;
     Etag = etag;
     CustomInit();
 }
 /// <summary>
 /// Initializes a new instance of the NetworkInterfaceIPConfiguration
 /// class.
 /// </summary>
 /// <param name="id">Resource ID.</param>
 /// <param name="applicationGatewayBackendAddressPools">The reference
 /// of ApplicationGatewayBackendAddressPool resource.</param>
 /// <param name="loadBalancerBackendAddressPools">The reference of
 /// LoadBalancerBackendAddressPool resource.</param>
 /// <param name="loadBalancerInboundNatRules">A list of references of
 /// LoadBalancerInboundNatRules.</param>
 /// <param name="privateIPAllocationMethod">Defines how a private IP
 /// address is assigned. Possible values are: 'Static' and 'Dynamic'.
 /// Possible values include: 'Static', 'Dynamic'</param>
 /// <param name="privateIPAddressVersion">Available from Api-Version
 /// 2016-03-30 onwards, it represents whether the specific
 /// ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.
 /// Possible values are: 'IPv4' and 'IPv6'. Possible values include:
 /// 'IPv4', 'IPv6'</param>
 /// <param name="primary">Gets whether this is a primary customer
 /// address on the network interface.</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>
 public NetworkInterfaceIPConfiguration(string id = default(string), IList <ApplicationGatewayBackendAddressPool> applicationGatewayBackendAddressPools = default(IList <ApplicationGatewayBackendAddressPool>), IList <BackendAddressPool> loadBalancerBackendAddressPools = default(IList <BackendAddressPool>), IList <InboundNatRule> loadBalancerInboundNatRules = default(IList <InboundNatRule>), string privateIPAddress = default(string), string privateIPAllocationMethod = default(string), string privateIPAddressVersion = default(string), Subnet subnet = default(Subnet), bool?primary = default(bool?), PublicIPAddress publicIPAddress = default(PublicIPAddress), string provisioningState = default(string), string name = default(string), string etag = default(string))
     : base(id)
 {
     ApplicationGatewayBackendAddressPools = applicationGatewayBackendAddressPools;
     LoadBalancerBackendAddressPools       = loadBalancerBackendAddressPools;
     LoadBalancerInboundNatRules           = loadBalancerInboundNatRules;
     PrivateIPAddress          = privateIPAddress;
     PrivateIPAllocationMethod = privateIPAllocationMethod;
     PrivateIPAddressVersion   = privateIPAddressVersion;
     Subnet            = subnet;
     Primary           = primary;
     PublicIPAddress   = publicIPAddress;
     ProvisioningState = provisioningState;
     Name = name;
     Etag = etag;
     CustomInit();
 }