Files
csharp/src/KubernetesClient/generated/Models/V1ConfigMapVolumeSource.cs

127 lines
5.4 KiB
C#
Raw Normal View History

// <auto-generated>
// 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.
// </auto-generated>
namespace k8s.Models
{
using Microsoft.Rest;
using Newtonsoft.Json;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
/// <summary>
/// Adapts a ConfigMap into a volume.
///
/// The contents of the target ConfigMap&apos;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.
/// </summary>
public partial class V1ConfigMapVolumeSource
{
/// <summary>
/// Initializes a new instance of the V1ConfigMapVolumeSource class.
/// </summary>
public V1ConfigMapVolumeSource()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1ConfigMapVolumeSource class.
/// </summary>
/// <param name="defaultMode">
/// 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.
/// </param>
/// <param name="items">
/// 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 &apos;..&apos; path or
/// start with &apos;..&apos;.
/// </param>
/// <param name="name">
/// Name of the referent. More info:
/// https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
/// </param>
/// <param name="optional">
/// Specify whether the ConfigMap or its keys must be defined
/// </param>
public V1ConfigMapVolumeSource(int? defaultMode = null, IList<V1KeyToPath> items = null, string name = null, bool? optional = null)
{
DefaultMode = defaultMode;
Items = items;
Name = name;
Optional = optional;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// 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.
/// </summary>
[JsonProperty(PropertyName = "defaultMode")]
public int? DefaultMode { get; set; }
/// <summary>
/// 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 &apos;..&apos; path or
/// start with &apos;..&apos;.
/// </summary>
[JsonProperty(PropertyName = "items")]
public IList<V1KeyToPath> Items { get; set; }
/// <summary>
/// Name of the referent. More info:
/// https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
/// </summary>
[JsonProperty(PropertyName = "name")]
public string Name { get; set; }
/// <summary>
/// Specify whether the ConfigMap or its keys must be defined
/// </summary>
[JsonProperty(PropertyName = "optional")]
public bool? Optional { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (Items != null){
foreach(var obj in Items)
{
obj.Validate();
}
}
}
}
}