/// <summary>
 /// Initializes a new instance of the PublicIPAddressInner class.
 /// </summary>
 /// <param name="sku">The public IP address SKU.</param>
 /// <param name="publicIPAllocationMethod">The public IP allocation
 /// method. Possible values are: 'Static' and 'Dynamic'. Possible
 /// values include: 'Static', 'Dynamic'</param>
 /// <param name="publicIPAddressVersion">The public IP address version.
 /// Possible values are: 'IPv4' and 'IPv6'. Possible values include:
 /// 'IPv4', 'IPv6'</param>
 /// <param name="ipConfiguration">The IP configuration associated with
 /// the public IP address.</param>
 /// <param name="dnsSettings">The FQDN of the DNS record associated
 /// with the public IP address.</param>
 /// <param name="ipAddress">The IP address associated with the public
 /// IP address resource.</param>
 /// <param name="idleTimeoutInMinutes">The idle timeout of the public
 /// IP address.</param>
 /// <param name="resourceGuid">The resource GUID property of the public
 /// IP resource.</param>
 /// <param name="provisioningState">The provisioning state of the
 /// PublicIP resource. Possible values are: 'Updating', 'Deleting', and
 /// 'Failed'.</param>
 /// <param name="etag">A unique read-only string that changes whenever
 /// the resource is updated.</param>
 /// <param name="zones">A list of availability zones denoting the IP
 /// allocated for the resource needs to come from.</param>
 public PublicIPAddressInner(string location = default(string), string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), PublicIPAddressSku sku = default(PublicIPAddressSku), string publicIPAllocationMethod = default(string), string publicIPAddressVersion = default(string), IPConfigurationInner ipConfiguration = default(IPConfigurationInner), PublicIPAddressDnsSettings dnsSettings = default(PublicIPAddressDnsSettings), string ipAddress = default(string), int?idleTimeoutInMinutes = default(int?), string resourceGuid = default(string), string provisioningState = default(string), string etag = default(string), IList <string> zones = default(IList <string>))
     : base(location, id, name, type, tags)
 {
     Sku = sku;
     PublicIPAllocationMethod = publicIPAllocationMethod;
     PublicIPAddressVersion   = publicIPAddressVersion;
     IpConfiguration          = ipConfiguration;
     DnsSettings          = dnsSettings;
     IpAddress            = ipAddress;
     IdleTimeoutInMinutes = idleTimeoutInMinutes;
     ResourceGuid         = resourceGuid;
     ProvisioningState    = provisioningState;
     Etag  = etag;
     Zones = zones;
     CustomInit();
 }
 /// <summary>
 /// Initializes a new instance of the PublicIPAddressInner class.
 /// </summary>
 /// <param name="sku">The public IP address SKU.</param>
 /// <param name="publicIPAllocationMethod">The public IP address
 /// allocation method. Possible values include: 'Static',
 /// 'Dynamic'</param>
 /// <param name="publicIPAddressVersion">The public IP address version.
 /// Possible values include: 'IPv4', 'IPv6'</param>
 /// <param name="ipConfiguration">The IP configuration associated with
 /// the public IP address.</param>
 /// <param name="dnsSettings">The FQDN of the DNS record associated
 /// with the public IP address.</param>
 /// <param name="ddosSettings">The DDoS protection custom policy
 /// associated with the public IP address.</param>
 /// <param name="ipTags">The list of tags associated with the public IP
 /// address.</param>
 /// <param name="ipAddress">The IP address associated with the public
 /// IP address resource.</param>
 /// <param name="publicIPPrefix">The Public IP Prefix this Public IP
 /// Address should be allocated from.</param>
 /// <param name="idleTimeoutInMinutes">The idle timeout of the public
 /// IP address.</param>
 /// <param name="resourceGuid">The resource GUID property of the public
 /// IP address resource.</param>
 /// <param name="provisioningState">The provisioning state of the
 /// public IP address resource. Possible values include: 'Succeeded',
 /// 'Updating', 'Deleting', 'Failed'</param>
 /// <param name="etag">A unique read-only string that changes whenever
 /// the resource is updated.</param>
 /// <param name="zones">A list of availability zones denoting the IP
 /// allocated for the resource needs to come from.</param>
 public PublicIPAddressInner(string location = default(string), string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), PublicIPAddressSku sku = default(PublicIPAddressSku), IPAllocationMethod publicIPAllocationMethod = default(IPAllocationMethod), IPVersion publicIPAddressVersion = default(IPVersion), IPConfigurationInner ipConfiguration = default(IPConfigurationInner), PublicIPAddressDnsSettings dnsSettings = default(PublicIPAddressDnsSettings), DdosSettings ddosSettings = default(DdosSettings), IList <IpTag> ipTags = default(IList <IpTag>), string ipAddress = default(string), Management.ResourceManager.Fluent.SubResource publicIPPrefix = default(Management.ResourceManager.Fluent.SubResource), int?idleTimeoutInMinutes = default(int?), string resourceGuid = default(string), ProvisioningState provisioningState = default(ProvisioningState), string etag = default(string), IList <string> zones = default(IList <string>))
     : base(location, id, name, type, tags)
 {
     Sku = sku;
     PublicIPAllocationMethod = publicIPAllocationMethod;
     PublicIPAddressVersion   = publicIPAddressVersion;
     IpConfiguration          = ipConfiguration;
     DnsSettings          = dnsSettings;
     DdosSettings         = ddosSettings;
     IpTags               = ipTags;
     IpAddress            = ipAddress;
     PublicIPPrefix       = publicIPPrefix;
     IdleTimeoutInMinutes = idleTimeoutInMinutes;
     ResourceGuid         = resourceGuid;
     ProvisioningState    = provisioningState;
     Etag  = etag;
     Zones = zones;
     CustomInit();
 }