/// <summary> /// Initializes a new instance of the V1PodSpec class. /// </summary> /// <param name="containers">List of containers belonging to the pod. /// Containers cannot currently be added or removed. There must be at /// least one container in a Pod. Cannot be updated.</param> /// <param name="activeDeadlineSeconds">Optional duration in seconds /// the pod may be active on the node relative to StartTime before the /// system will actively try to mark it failed and kill associated /// containers. Value must be a positive integer.</param> /// <param name="affinity">If specified, the pod's scheduling /// constraints</param> /// <param /// name="automountServiceAccountToken">AutomountServiceAccountToken /// indicates whether a service account token should be automatically /// mounted.</param> /// <param name="dnsConfig">Specifies the DNS parameters of a pod. /// Parameters specified here will be merged to the generated DNS /// configuration based on DNSPolicy.</param> /// <param name="dnsPolicy">Set DNS policy for the pod. Defaults to /// "ClusterFirst". Valid values are 'ClusterFirstWithHostNet', /// 'ClusterFirst', 'Default' or 'None'. DNS parameters given in /// DNSConfig will be merged with the policy selected with DNSPolicy. /// To have DNS options set along with hostNetwork, you have to specify /// DNS policy explicitly to 'ClusterFirstWithHostNet'.</param> /// <param name="hostAliases">HostAliases is an optional list of hosts /// and IPs that will be injected into the pod's hosts file if /// specified. This is only valid for non-hostNetwork pods.</param> /// <param name="hostIPC">Use the host's ipc namespace. Optional: /// Default to false.</param> /// <param name="hostNetwork">Host networking requested for this pod. /// Use the host's network namespace. If this option is set, the ports /// that will be used must be specified. Default to false.</param> /// <param name="hostPID">Use the host's pid namespace. Optional: /// Default to false.</param> /// <param name="hostname">Specifies the hostname of the Pod If not /// specified, the pod's hostname will be set to a system-defined /// value.</param> /// <param name="imagePullSecrets">ImagePullSecrets is an optional list /// of references to secrets in the same namespace to use for pulling /// any of the images used by this PodSpec. If specified, these secrets /// will be passed to individual puller implementations for them to /// use. For example, in the case of docker, only DockerConfig type /// secrets are honored. More info: /// https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod</param> /// <param name="initContainers">List of initialization containers /// belonging to the pod. Init containers are executed in order prior /// to containers being started. If any init container fails, the pod /// is considered to have failed and is handled according to its /// restartPolicy. The name for an init container or normal container /// must be unique among all containers. Init containers may not have /// Lifecycle actions, Readiness probes, or Liveness probes. The /// resourceRequirements of an init container are taken into account /// during scheduling by finding the highest request/limit for each /// resource type, and then using the max of of that value or the sum /// of the normal containers. Limits are applied to init containers in /// a similar fashion. Init containers cannot currently be added or /// removed. Cannot be updated. More info: /// https://kubernetes.io/docs/concepts/workloads/pods/init-containers/</param> /// <param name="nodeName">NodeName is a request to schedule this pod /// onto a specific node. If it is non-empty, the scheduler simply /// schedules this pod onto that node, assuming that it fits resource /// requirements.</param> /// <param name="nodeSelector">NodeSelector is a selector which must be /// true for the pod to fit on a node. Selector which must match a /// node's labels for the pod to be scheduled on that node. More info: /// https://kubernetes.io/docs/concepts/configuration/assign-pod-node/</param> /// <param name="priority">The priority value. Various system /// components use this field to find the priority of the pod. When /// Priority Admission Controller is enabled, it prevents users from /// setting this field. The admission controller populates this field /// from PriorityClassName. The higher the value, the higher the /// priority.</param> /// <param name="priorityClassName">If specified, indicates the pod's /// priority. "system-node-critical" and "system-cluster-critical" are /// two special keywords which indicate the highest priorities with the /// former being the highest priority. Any other name must be defined /// by creating a PriorityClass object with that name. If not /// specified, the pod priority will be default or zero if there is no /// default.</param> /// <param name="readinessGates">If specified, all readiness gates will /// be evaluated for pod readiness. A pod is ready when all its /// containers are ready AND all conditions specified in the readiness /// gates have status equal to "True" More info: /// https://github.com/kubernetes/community/blob/master/keps/sig-network/0007-pod-ready%2B%2B.md</param> /// <param name="restartPolicy">Restart policy for all containers /// within the pod. One of Always, OnFailure, Never. Default to Always. /// More info: /// https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy</param> /// <param name="schedulerName">If specified, the pod will be /// dispatched by specified scheduler. If not specified, the pod will /// be dispatched by default scheduler.</param> /// <param name="securityContext">SecurityContext holds pod-level /// security attributes and common container settings. Optional: /// Defaults to empty. See type description for default values of each /// field.</param> /// <param name="serviceAccount">DeprecatedServiceAccount is a /// depreciated alias for ServiceAccountName. Deprecated: Use /// serviceAccountName instead.</param> /// <param name="serviceAccountName">ServiceAccountName is the name of /// the ServiceAccount to use to run this pod. More info: /// https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/</param> /// <param name="shareProcessNamespace">Share a single process /// namespace between all of the containers in a pod. When this is set /// containers will be able to view and signal processes from other /// containers in the same pod, and the first process in each container /// will not be assigned PID 1. HostPID and ShareProcessNamespace /// cannot both be set. Optional: Default to false. This field is /// alpha-level and is honored only by servers that enable the /// PodShareProcessNamespace feature.</param> /// <param name="subdomain">If specified, the fully qualified Pod /// hostname will be "<hostname>.<subdomain>.<pod /// namespace>.svc.<cluster domain>". If not specified, the /// pod will not have a domainname at all.</param> /// <param name="terminationGracePeriodSeconds">Optional duration in /// seconds the pod needs to terminate gracefully. May be decreased in /// delete request. Value must be non-negative integer. The value zero /// indicates delete immediately. If this value is nil, the default /// grace period will be used instead. The grace period is the duration /// in seconds after the processes running in the pod are sent a /// termination signal and the time when the processes are forcibly /// halted with a kill signal. Set this value longer than the expected /// cleanup time for your process. Defaults to 30 seconds.</param> /// <param name="tolerations">If specified, the pod's /// tolerations.</param> /// <param name="volumes">List of volumes that can be mounted by /// containers belonging to the pod. More info: /// https://kubernetes.io/docs/concepts/storage/volumes</param> public V1PodSpec(IList <V1Container> containers, long?activeDeadlineSeconds = default(long?), V1Affinity affinity = default(V1Affinity), bool?automountServiceAccountToken = default(bool?), V1PodDNSConfig dnsConfig = default(V1PodDNSConfig), string dnsPolicy = default(string), IList <V1HostAlias> hostAliases = default(IList <V1HostAlias>), bool?hostIPC = default(bool?), bool?hostNetwork = default(bool?), bool?hostPID = default(bool?), string hostname = default(string), IList <V1LocalObjectReference> imagePullSecrets = default(IList <V1LocalObjectReference>), IList <V1Container> initContainers = default(IList <V1Container>), string nodeName = default(string), IDictionary <string, string> nodeSelector = default(IDictionary <string, string>), int?priority = default(int?), string priorityClassName = default(string), IList <V1PodReadinessGate> readinessGates = default(IList <V1PodReadinessGate>), string restartPolicy = default(string), string schedulerName = default(string), V1PodSecurityContext securityContext = default(V1PodSecurityContext), string serviceAccount = default(string), string serviceAccountName = default(string), bool?shareProcessNamespace = default(bool?), string subdomain = default(string), long?terminationGracePeriodSeconds = default(long?), IList <V1Toleration> tolerations = default(IList <V1Toleration>), IList <V1Volume> volumes = default(IList <V1Volume>)) { ActiveDeadlineSeconds = activeDeadlineSeconds; Affinity = affinity; AutomountServiceAccountToken = automountServiceAccountToken; Containers = containers; DnsConfig = dnsConfig; DnsPolicy = dnsPolicy; HostAliases = hostAliases; HostIPC = hostIPC; HostNetwork = hostNetwork; HostPID = hostPID; Hostname = hostname; ImagePullSecrets = imagePullSecrets; InitContainers = initContainers; NodeName = nodeName; NodeSelector = nodeSelector; Priority = priority; PriorityClassName = priorityClassName; ReadinessGates = readinessGates; RestartPolicy = restartPolicy; SchedulerName = schedulerName; SecurityContext = securityContext; ServiceAccount = serviceAccount; ServiceAccountName = serviceAccountName; ShareProcessNamespace = shareProcessNamespace; Subdomain = subdomain; TerminationGracePeriodSeconds = terminationGracePeriodSeconds; Tolerations = tolerations; Volumes = volumes; CustomInit(); }
/// <summary> /// Initializes a new instance of the V1beta1IngressSpec class. /// </summary> /// <param name="affinity">If specified, the pod's scheduling /// constraints</param> /// <param name="backend">A default backend capable of servicing /// requests that don't match any rule. At least one of 'backend' or /// 'rules' must be specified. This field is optional to allow the /// loadbalancer controller or defaulting logic to specify a global /// default.</param> /// <param name="externalIPs">externalIPs is a list of IP addresses for /// which nodes in the cluster will also accept traffic for this /// service. These IPs are not managed by Kubernetes. The user is /// responsible for ensuring that traffic arrives at a node with this /// IP. A common example is external load-balancers that are not part /// of the Kubernetes system.</param> /// <param name="frontendRules">Frontend rules specifies a set of rules /// that should be applied in HAProxy frontend configuration. The set /// of keywords are from here /// https://cbonte.github.io/haproxy-dconv/1.7/configuration.html#4.1 /// Only frontend sections can be applied here. It is up to user to /// provide valid set of rules. This allows acls or other options in /// frontend sections in HAProxy config. Frontend rules will be mapped /// with Ingress Rules according to port.</param> /// <param name="imagePullSecrets">ImagePullSecrets is an optional list /// of references to secrets in the same namespace to use for pulling /// any of the images used by this PodSpec. If specified, these secrets /// will be passed to individual puller implementations for them to /// use. For example, in the case of docker, only DockerConfig type /// secrets are honored. More info: /// https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod</param> /// <param name="loadBalancerSourceRanges">Optional: If specified and /// supported by the platform, this will restrict traffic through the /// cloud-provider load-balancer will be restricted to the specified /// client IPs. This field will be ignored if the cloud-provider does /// not support the feature. /// https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/</param> /// <param name="nodeSelector">NodeSelector is a selector which must be /// true for the pod to fit on a node. Selector which must match a /// node's labels for the pod to be scheduled on that node. More info: /// https://kubernetes.io/docs/concepts/configuration/assign-pod-node/</param> /// <param name="resources">Compute Resources required by the sidecar /// container.</param> /// <param name="rules">A list of host rules used to configure the /// Ingress. If unspecified, or no rule matches, all traffic is sent to /// the default backend.</param> /// <param name="schedulerName">If specified, the pod will be /// dispatched by specified scheduler. If not specified, the pod will /// be dispatched by default scheduler.</param> /// <param name="tls">TLS is the TLS configuration. Currently the /// Ingress only supports a single TLS port, 443, and assumes TLS /// termination. If multiple members of this list specify different /// hosts, they will be multiplexed on the same port according to the /// hostname specified through the SNI TLS extension.</param> /// <param name="tolerations">If specified, the pod's /// tolerations.</param> public V1beta1IngressSpec(k8s.Models.V1Affinity affinity = default(k8s.Models.V1Affinity), V1beta1HTTPIngressBackend backend = default(V1beta1HTTPIngressBackend), IList <string> externalIPs = default(IList <string>), IList <V1beta1FrontendRule> frontendRules = default(IList <V1beta1FrontendRule>), IList <k8s.Models.V1LocalObjectReference> imagePullSecrets = default(IList <k8s.Models.V1LocalObjectReference>), IList <string> loadBalancerSourceRanges = default(IList <string>), IDictionary <string, string> nodeSelector = default(IDictionary <string, string>), k8s.Models.V1ResourceRequirements resources = default(k8s.Models.V1ResourceRequirements), IList <V1beta1IngressRule> rules = default(IList <V1beta1IngressRule>), string schedulerName = default(string), IList <V1beta1IngressTLS> tls = default(IList <V1beta1IngressTLS>), IList <k8s.Models.V1Toleration> tolerations = default(IList <k8s.Models.V1Toleration>)) { Affinity = affinity; Backend = backend; ExternalIPs = externalIPs; FrontendRules = frontendRules; ImagePullSecrets = imagePullSecrets; LoadBalancerSourceRanges = loadBalancerSourceRanges; NodeSelector = nodeSelector; Resources = resources; Rules = rules; SchedulerName = schedulerName; Tls = tls; Tolerations = tolerations; CustomInit(); }