Ejemplo n.º 1
0
 /// <summary>
 /// Initializes a new instance of the V1EphemeralContainer class.
 /// </summary>
 /// <param name="name">Name of the ephemeral container specified as a
 /// DNS_LABEL. This name must be unique among all containers, init
 /// containers and ephemeral containers.</param>
 /// <param name="args">Arguments to the entrypoint. The docker image's
 /// CMD is used if this is not provided. Variable references
 /// $(VAR_NAME) are expanded using the container's environment. If a
 /// variable cannot be resolved, the reference in the input string will
 /// be unchanged. The $(VAR_NAME) syntax can be escaped with a double
 /// $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
 /// regardless of whether the variable exists or not. Cannot be
 /// updated. More info:
 /// https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell</param>
 /// <param name="command">Entrypoint array. Not executed within a
 /// shell. The docker image's ENTRYPOINT is used if this is not
 /// provided. Variable references $(VAR_NAME) are expanded using the
 /// container's environment. If a variable cannot be resolved, the
 /// reference in the input string will be unchanged. The $(VAR_NAME)
 /// syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
 /// references will never be expanded, regardless of whether the
 /// variable exists or not. Cannot be updated. More info:
 /// https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell</param>
 /// <param name="env">List of environment variables to set in the
 /// container. Cannot be updated.</param>
 /// <param name="envFrom">List of sources to populate environment
 /// variables in the container. The keys defined within a source must
 /// be a C_IDENTIFIER. All invalid keys will be reported as an event
 /// when the container is starting. When a key exists in multiple
 /// sources, the value associated with the last source will take
 /// precedence. Values defined by an Env with a duplicate key will take
 /// precedence. Cannot be updated.</param>
 /// <param name="image">Docker image name. More info:
 /// https://kubernetes.io/docs/concepts/containers/images</param>
 /// <param name="imagePullPolicy">Image pull policy. One of Always,
 /// Never, IfNotPresent. Defaults to Always if :latest tag is
 /// specified, or IfNotPresent otherwise. Cannot be updated. More info:
 /// https://kubernetes.io/docs/concepts/containers/images#updating-images</param>
 /// <param name="lifecycle">Lifecycle is not allowed for ephemeral
 /// containers.</param>
 /// <param name="livenessProbe">Probes are not allowed for ephemeral
 /// containers.</param>
 /// <param name="ports">Ports are not allowed for ephemeral
 /// containers.</param>
 /// <param name="readinessProbe">Probes are not allowed for ephemeral
 /// containers.</param>
 /// <param name="resources">Resources are not allowed for ephemeral
 /// containers. Ephemeral containers use spare resources already
 /// allocated to the pod.</param>
 /// <param name="securityContext">SecurityContext is not allowed for
 /// ephemeral containers.</param>
 /// <param name="startupProbe">Probes are not allowed for ephemeral
 /// containers.</param>
 /// <param name="stdin">Whether this container should allocate a buffer
 /// for stdin in the container runtime. If this is not set, reads from
 /// stdin in the container will always result in EOF. Default is
 /// false.</param>
 /// <param name="stdinOnce">Whether the container runtime should close
 /// the stdin channel after it has been opened by a single attach. When
 /// stdin is true the stdin stream will remain open across multiple
 /// attach sessions. If stdinOnce is set to true, stdin is opened on
 /// container start, is empty until the first client attaches to stdin,
 /// and then remains open and accepts data until the client
 /// disconnects, at which time stdin is closed and remains closed until
 /// the container is restarted. If this flag is false, a container
 /// processes that reads from stdin will never receive an EOF. Default
 /// is false</param>
 /// <param name="targetContainerName">If set, the name of the container
 /// from PodSpec that this ephemeral container targets. The ephemeral
 /// container will be run in the namespaces (IPC, PID, etc) of this
 /// container. If not set then the ephemeral container is run in
 /// whatever namespaces are shared for the pod. Note that the container
 /// runtime must support this feature.</param>
 /// <param name="terminationMessagePath">Optional: Path at which the
 /// file to which the container's termination message will be written
 /// is mounted into the container's filesystem. Message written is
 /// intended to be brief final status, such as an assertion failure
 /// message. Will be truncated by the node if greater than 4096 bytes.
 /// The total message length across all containers will be limited to
 /// 12kb. Defaults to /dev/termination-log. Cannot be updated.</param>
 /// <param name="terminationMessagePolicy">Indicate how the termination
 /// message should be populated. File will use the contents of
 /// terminationMessagePath to populate the container status message on
 /// both success and failure. FallbackToLogsOnError will use the last
 /// chunk of container log output if the termination message file is
 /// empty and the container exited with an error. The log output is
 /// limited to 2048 bytes or 80 lines, whichever is smaller. Defaults
 /// to File. Cannot be updated.</param>
 /// <param name="tty">Whether this container should allocate a TTY for
 /// itself, also requires 'stdin' to be true. Default is false.</param>
 /// <param name="volumeDevices">volumeDevices is the list of block
 /// devices to be used by the container.</param>
 /// <param name="volumeMounts">Pod volumes to mount into the
 /// container's filesystem. Cannot be updated.</param>
 /// <param name="workingDir">Container's working directory. If not
 /// specified, the container runtime's default will be used, which
 /// might be configured in the container image. Cannot be
 /// updated.</param>
 public V1EphemeralContainer(string name, IList <string> args = default(IList <string>), IList <string> command = default(IList <string>), IList <V1EnvVar> env = default(IList <V1EnvVar>), IList <V1EnvFromSource> envFrom = default(IList <V1EnvFromSource>), string image = default(string), string imagePullPolicy = default(string), V1Lifecycle lifecycle = default(V1Lifecycle), V1Probe livenessProbe = default(V1Probe), IList <V1ContainerPort> ports = default(IList <V1ContainerPort>), V1Probe readinessProbe = default(V1Probe), V1ResourceRequirements resources = default(V1ResourceRequirements), V1SecurityContext securityContext = default(V1SecurityContext), V1Probe startupProbe = default(V1Probe), bool?stdin = default(bool?), bool?stdinOnce = default(bool?), string targetContainerName = default(string), string terminationMessagePath = default(string), string terminationMessagePolicy = default(string), bool?tty = default(bool?), IList <V1VolumeDevice> volumeDevices = default(IList <V1VolumeDevice>), IList <V1VolumeMount> volumeMounts = default(IList <V1VolumeMount>), string workingDir = default(string))
 {
     Args                     = args;
     Command                  = command;
     Env                      = env;
     EnvFrom                  = envFrom;
     Image                    = image;
     ImagePullPolicy          = imagePullPolicy;
     Lifecycle                = lifecycle;
     LivenessProbe            = livenessProbe;
     Name                     = name;
     Ports                    = ports;
     ReadinessProbe           = readinessProbe;
     Resources                = resources;
     SecurityContext          = securityContext;
     StartupProbe             = startupProbe;
     Stdin                    = stdin;
     StdinOnce                = stdinOnce;
     TargetContainerName      = targetContainerName;
     TerminationMessagePath   = terminationMessagePath;
     TerminationMessagePolicy = terminationMessagePolicy;
     Tty                      = tty;
     VolumeDevices            = volumeDevices;
     VolumeMounts             = volumeMounts;
     WorkingDir               = workingDir;
     CustomInit();
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the V1PersistentVolumeClaimSpec
 /// class.
 /// </summary>
 /// <param name="accessModes">AccessModes contains the desired access
 /// modes the volume should have. More info:
 /// https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1</param>
 /// <param name="resources">Resources represents the minimum resources
 /// the volume should have. More info:
 /// https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources</param>
 /// <param name="selector">A label query over volumes to consider for
 /// binding.</param>
 /// <param name="storageClassName">Name of the StorageClass required by
 /// the claim. More info:
 /// https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1</param>
 /// <param name="volumeName">VolumeName is the binding reference to the
 /// PersistentVolume backing this claim.</param>
 public V1PersistentVolumeClaimSpec(IList <string> accessModes = default(IList <string>), V1ResourceRequirements resources = default(V1ResourceRequirements), V1LabelSelector selector = default(V1LabelSelector), string storageClassName = default(string), string volumeName = default(string))
 {
     AccessModes      = accessModes;
     Resources        = resources;
     Selector         = selector;
     StorageClassName = storageClassName;
     VolumeName       = volumeName;
     CustomInit();
 }
Ejemplo n.º 3
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();
 }