/// <summary>
 /// Initializes a new instance of the NetworkSecurityGroupRule class.
 /// </summary>
 /// <param name="priority">The priority for this rule.</param>
 /// <param name="access">The action that should be taken for a
 /// specified IP address, subnet range or tag.</param>
 /// <param name="sourceAddressPrefix">The source address prefix or tag
 /// to match for the rule.</param>
 public NetworkSecurityGroupRule(int priority, NetworkSecurityGroupRuleAccess access, string sourceAddressPrefix)
 {
     Priority            = priority;
     Access              = access;
     SourceAddressPrefix = sourceAddressPrefix;
     CustomInit();
 }
示例#2
0
 internal NetworkSecurityGroupRule(int priority, NetworkSecurityGroupRuleAccess access, string sourceAddressPrefix, IReadOnlyList <string> sourcePortRanges)
 {
     Priority            = priority;
     Access              = access;
     SourceAddressPrefix = sourceAddressPrefix;
     SourcePortRanges    = sourcePortRanges;
 }
示例#3
0
 /// <summary>
 /// Initializes a new instance of the NetworkSecurityGroupRule class.
 /// </summary>
 /// <param name="priority">The priority for this rule.</param>
 /// <param name="access">The action that should be taken for a
 /// specified IP address, subnet range or tag.</param>
 /// <param name="sourceAddressPrefix">The source address prefix or tag
 /// to match for the rule.</param>
 /// <param name="sourcePortRanges">The source port ranges to match for
 /// the rule.</param>
 public NetworkSecurityGroupRule(int priority, NetworkSecurityGroupRuleAccess access, string sourceAddressPrefix, IList <string> sourcePortRanges = default(IList <string>))
 {
     Priority            = priority;
     Access              = access;
     SourceAddressPrefix = sourceAddressPrefix;
     SourcePortRanges    = sourcePortRanges;
     CustomInit();
 }
示例#4
0
        internal NetworkSecurityGroupRule(int priority, NetworkSecurityGroupRuleAccess access, string sourceAddressPrefix)
        {
            if (sourceAddressPrefix == null)
            {
                throw new ArgumentNullException(nameof(sourceAddressPrefix));
            }

            Priority            = priority;
            Access              = access;
            SourceAddressPrefix = sourceAddressPrefix;
        }
        internal static string ToSerializedValue(this NetworkSecurityGroupRuleAccess value)
        {
            switch (value)
            {
            case NetworkSecurityGroupRuleAccess.Allow:
                return("allow");

            case NetworkSecurityGroupRuleAccess.Deny:
                return("deny");
            }
            return(null);
        }
示例#6
0
        internal static NetworkSecurityGroupRule DeserializeNetworkSecurityGroupRule(JsonElement element)
        {
            int priority = default;
            NetworkSecurityGroupRuleAccess access   = default;
            string sourceAddressPrefix              = default;
            IReadOnlyList <string> sourcePortRanges = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("priority"))
                {
                    priority = property.Value.GetInt32();
                    continue;
                }
                if (property.NameEquals("access"))
                {
                    access = property.Value.GetString().ToNetworkSecurityGroupRuleAccess();
                    continue;
                }
                if (property.NameEquals("sourceAddressPrefix"))
                {
                    sourceAddressPrefix = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("sourcePortRanges"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    List <string> array = new List <string>();
                    foreach (var item in property.Value.EnumerateArray())
                    {
                        array.Add(item.GetString());
                    }
                    sourcePortRanges = array;
                    continue;
                }
            }
            return(new NetworkSecurityGroupRule(priority, access, sourceAddressPrefix, sourcePortRanges));
        }
 public static string ToSerialString(this NetworkSecurityGroupRuleAccess value) => value switch
 {