// <auto-generated>
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is
// regenerated.
// </auto-generated>

namespace k8s.Models
{
    using Newtonsoft.Json;
    using System.Linq;

    /// <summary>
    /// DEPRECATED 1.9 - This group version of NetworkPolicyPort is deprecated
    /// by networking/v1/NetworkPolicyPort.
    /// </summary>
    public partial class V1beta1NetworkPolicyPort
    {
        /// <summary>
        /// Initializes a new instance of the V1beta1NetworkPolicyPort class.
        /// </summary>
        public V1beta1NetworkPolicyPort()
        {
            CustomInit();
        }

        /// <summary>
        /// Initializes a new instance of the V1beta1NetworkPolicyPort class.
        /// </summary>
        /// <param name="port">If specified, the port on the given protocol.
        /// This can either be a numerical or named port on a pod.  If this
        /// field is not provided, this matches all port names and numbers. If
        /// present, only traffic on the specified protocol AND port will be
        /// matched.</param>
        /// <param name="protocol">Optional.  The protocol (TCP or UDP) which
        /// traffic must match. If not specified, this field defaults to
        /// TCP.</param>
        public V1beta1NetworkPolicyPort(IntstrIntOrString port = default(IntstrIntOrString), string protocol = default(string))
        {
            Port = port;
            Protocol = protocol;
            CustomInit();
        }

        /// <summary>
        /// An initialization method that performs custom operations like setting defaults
        /// </summary>
        partial void CustomInit();

        /// <summary>
        /// Gets or sets if specified, the port on the given protocol.  This
        /// can either be a numerical or named port on a pod.  If this field is
        /// not provided, this matches all port names and numbers. If present,
        /// only traffic on the specified protocol AND port will be matched.
        /// </summary>
        [JsonProperty(PropertyName = "port")]
        public IntstrIntOrString Port { get; set; }

        /// <summary>
        /// Gets or sets optional.  The protocol (TCP or UDP) which traffic
        /// must match. If not specified, this field defaults to TCP.
        /// </summary>
        [JsonProperty(PropertyName = "protocol")]
        public string Protocol { get; set; }

    }
}
