internal static string ToSerializedValue(this IpFilterTag value)
        {
            switch (value)
            {
            case IpFilterTag.Default:
                return("Default");

            case IpFilterTag.XffProxy:
                return("XffProxy");
            }
            return(null);
        }
 /// <summary>
 /// Initializes a new instance of the IpSecurityRestriction class.
 /// </summary>
 /// <param name="ipAddress">IP address the security restriction is
 /// valid for.
 /// It can be in form of pure ipv4 address (required SubnetMask
 /// property) or
 /// CIDR notation such as ipv4/mask (leading bit match). For CIDR,
 /// SubnetMask property must not be specified.</param>
 /// <param name="subnetMask">Subnet mask for the range of IP addresses
 /// the restriction is valid for.</param>
 /// <param name="vnetSubnetResourceId">Virtual network resource
 /// id</param>
 /// <param name="vnetTrafficTag">(internal) Vnet traffic tag</param>
 /// <param name="subnetTrafficTag">(internal) Subnet traffic
 /// tag</param>
 /// <param name="action">Allow or Deny access for this IP
 /// range.</param>
 /// <param name="tag">Defines what this IP filter will be used for.
 /// This is to support IP filtering on proxies. Possible values
 /// include: 'Default', 'XffProxy'</param>
 /// <param name="priority">Priority of IP restriction rule.</param>
 /// <param name="name">IP restriction rule name.</param>
 /// <param name="description">IP restriction rule description.</param>
 public IpSecurityRestriction(string ipAddress = default(string), string subnetMask = default(string), string vnetSubnetResourceId = default(string), int?vnetTrafficTag = default(int?), int?subnetTrafficTag = default(int?), string action = default(string), IpFilterTag tag = default(IpFilterTag), int?priority = default(int?), string name = default(string), string description = default(string))
 {
     IpAddress            = ipAddress;
     SubnetMask           = subnetMask;
     VnetSubnetResourceId = vnetSubnetResourceId;
     VnetTrafficTag       = vnetTrafficTag;
     SubnetTrafficTag     = subnetTrafficTag;
     Action      = action;
     Tag         = tag;
     Priority    = priority;
     Name        = name;
     Description = description;
     CustomInit();
 }