/// <summary>
 /// Initializes a new instance of the Iok8sapicorev1Container class.
 /// </summary>
 /// <param name="name">Name of the container specified as a DNS_LABEL.
 /// Each container in a pod must have a unique name (DNS_LABEL). Cannot
 /// be updated.</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 This field is
 /// optional to allow higher level config management to default or
 /// override container images in workload controllers like Deployments
 /// and StatefulSets.</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">Actions that the management system should
 /// take in response to container lifecycle events. Cannot be
 /// updated.</param>
 /// <param name="livenessProbe">Periodic probe of container liveness.
 /// Container will be restarted if the probe fails. Cannot be updated.
 /// More info:
 /// https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes</param>
 /// <param name="ports">List of ports to expose from the container.
 /// Exposing a port here gives the system additional information about
 /// the network connections a container uses, but is primarily
 /// informational. Not specifying a port here DOES NOT prevent that
 /// port from being exposed. Any port which is listening on the default
 /// "0.0.0.0" address inside a container will be accessible from the
 /// network. Cannot be updated.</param>
 /// <param name="readinessProbe">Periodic probe of container service
 /// readiness. Container will be removed from service endpoints if the
 /// probe fails. Cannot be updated. More info:
 /// https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes</param>
 /// <param name="resources">Compute Resources required by this
 /// container. Cannot be updated. More info:
 /// https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources</param>
 /// <param name="securityContext">Security options the pod should run
 /// with. More info:
 /// https://kubernetes.io/docs/concepts/policy/security-context/ More
 /// info:
 /// https://kubernetes.io/docs/tasks/configure-pod-container/security-context/</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="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. This is an alpha feature and
 /// may change in the future.</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 Iok8sapicorev1Container(string name, IList <string> args = default(IList <string>), IList <string> command = default(IList <string>), IList <Iok8sapicorev1EnvVar> env = default(IList <Iok8sapicorev1EnvVar>), IList <Iok8sapicorev1EnvFromSource> envFrom = default(IList <Iok8sapicorev1EnvFromSource>), string image = default(string), string imagePullPolicy = default(string), Iok8sapicorev1Lifecycle lifecycle = default(Iok8sapicorev1Lifecycle), Iok8sapicorev1Probe livenessProbe = default(Iok8sapicorev1Probe), IList <Iok8sapicorev1ContainerPort> ports = default(IList <Iok8sapicorev1ContainerPort>), Iok8sapicorev1Probe readinessProbe = default(Iok8sapicorev1Probe), Iok8sapicorev1ResourceRequirements resources = default(Iok8sapicorev1ResourceRequirements), Iok8sapicorev1SecurityContext securityContext = default(Iok8sapicorev1SecurityContext), bool?stdin = default(bool?), bool?stdinOnce = default(bool?), string terminationMessagePath = default(string), string terminationMessagePolicy = default(string), bool?tty = default(bool?), IList <Iok8sapicorev1VolumeDevice> volumeDevices = default(IList <Iok8sapicorev1VolumeDevice>), IList <Iok8sapicorev1VolumeMount> volumeMounts = default(IList <Iok8sapicorev1VolumeMount>), 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;
     Stdin                    = stdin;
     StdinOnce                = stdinOnce;
     TerminationMessagePath   = terminationMessagePath;
     TerminationMessagePolicy = terminationMessagePolicy;
     Tty                      = tty;
     VolumeDevices            = volumeDevices;
     VolumeMounts             = volumeMounts;
     WorkingDir               = workingDir;
     CustomInit();
 }
 /// <summary>
 /// Initializes a new instance of the
 /// Iok8sapicorev1PersistentVolumeClaimSpec 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="volumeMode">volumeMode defines what type of volume is
 /// required by the claim. Value of Filesystem is implied when not
 /// included in claim spec. This is an alpha feature and may change in
 /// the future.</param>
 /// <param name="volumeName">VolumeName is the binding reference to the
 /// PersistentVolume backing this claim.</param>
 public Iok8sapicorev1PersistentVolumeClaimSpec(IList <string> accessModes = default(IList <string>), Iok8sapicorev1ResourceRequirements resources = default(Iok8sapicorev1ResourceRequirements), Iok8sapimachinerypkgapismetav1LabelSelector selector = default(Iok8sapimachinerypkgapismetav1LabelSelector), string storageClassName = default(string), string volumeMode = default(string), string volumeName = default(string))
 {
     AccessModes      = accessModes;
     Resources        = resources;
     Selector         = selector;
     StorageClassName = storageClassName;
     VolumeMode       = volumeMode;
     VolumeName       = volumeName;
     CustomInit();
 }