/// <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(); }
/// <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(); }
/// <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(); }