Ejemplo n.º 1
0
 /// <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 "&lt;hostname&gt;.&lt;subdomain&gt;.&lt;pod
 /// namespace&gt;.svc.&lt;cluster domain&gt;". 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();
 }
Ejemplo n.º 2
0
 /// <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();
 }