// // Code generated by https://github.com/kubernetes-client/csharp/tree/master/gen/KubernetesGenerator // Changes may cause incorrect behavior and will be lost if the code is // regenerated. // namespace k8s.Models { using Microsoft.Rest; using Newtonsoft.Json; using System.Collections.Generic; using System.Collections; using System.Linq; /// /// Adapts a ConfigMap into a volume. /// /// The contents of the target ConfigMap's Data field will be presented in a volume /// as files using the keys in the Data field as the file names, unless the items /// element is populated with specific mappings of keys to paths. ConfigMap volumes /// support ownership management and SELinux relabeling. /// public partial class V1ConfigMapVolumeSource { /// /// Initializes a new instance of the V1ConfigMapVolumeSource class. /// public V1ConfigMapVolumeSource() { CustomInit(); } /// /// Initializes a new instance of the V1ConfigMapVolumeSource class. /// /// /// Optional: mode bits used to set permissions on created files by default. Must be /// an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML /// accepts both octal and decimal values, JSON requires decimal values for mode /// bits. Defaults to 0644. Directories within the path are not affected by this /// setting. This might be in conflict with other options that affect the file mode, /// like fsGroup, and the result can be other mode bits set. /// /// /// If unspecified, each key-value pair in the Data field of the referenced /// ConfigMap will be projected into the volume as a file whose name is the key and /// content is the value. If specified, the listed keys will be projected into the /// specified paths, and unlisted keys will not be present. If a key is specified /// which is not present in the ConfigMap, the volume setup will error unless it is /// marked optional. Paths must be relative and may not contain the '..' path or /// start with '..'. /// /// /// Name of the referent. More info: /// https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// /// /// Specify whether the ConfigMap or its keys must be defined /// public V1ConfigMapVolumeSource(int? defaultMode = null, IList items = null, string name = null, bool? optional = null) { DefaultMode = defaultMode; Items = items; Name = name; Optional = optional; CustomInit(); } /// /// An initialization method that performs custom operations like setting defaults /// partial void CustomInit(); /// /// Optional: mode bits used to set permissions on created files by default. Must be /// an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML /// accepts both octal and decimal values, JSON requires decimal values for mode /// bits. Defaults to 0644. Directories within the path are not affected by this /// setting. This might be in conflict with other options that affect the file mode, /// like fsGroup, and the result can be other mode bits set. /// [JsonProperty(PropertyName = "defaultMode")] public int? DefaultMode { get; set; } /// /// If unspecified, each key-value pair in the Data field of the referenced /// ConfigMap will be projected into the volume as a file whose name is the key and /// content is the value. If specified, the listed keys will be projected into the /// specified paths, and unlisted keys will not be present. If a key is specified /// which is not present in the ConfigMap, the volume setup will error unless it is /// marked optional. Paths must be relative and may not contain the '..' path or /// start with '..'. /// [JsonProperty(PropertyName = "items")] public IList Items { get; set; } /// /// Name of the referent. More info: /// https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names /// [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// /// Specify whether the ConfigMap or its keys must be defined /// [JsonProperty(PropertyName = "optional")] public bool? Optional { get; set; } /// /// Validate the object. /// /// /// Thrown if validation fails /// public virtual void Validate() { if (Items != null){ foreach(var obj in Items) { obj.Validate(); } } } } }