// <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>
    /// NetworkPolicyPort describes a port to allow traffic on
    /// </summary>
    public partial class V1NetworkPolicyPort
    {
        /// <summary>
        /// Initializes a new instance of the V1NetworkPolicyPort class.
        /// </summary>
        public V1NetworkPolicyPort()
        {
            CustomInit();
        }

        /// <summary>
        /// Initializes a new instance of the V1NetworkPolicyPort class.
        /// </summary>
        /// <param name="port">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.</param>
        /// <param name="protocol">The protocol (TCP or UDP) which traffic must
        /// match. If not specified, this field defaults to TCP.</param>
        public V1NetworkPolicyPort(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 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.
        /// </summary>
        [JsonProperty(PropertyName = "port")]
        public IntstrIntOrString Port { get; set; }

        /// <summary>
        /// Gets or sets 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; }

    }
}
