2017-10-19 19:53:02 +00:00
|
|
|
// <auto-generated>
|
|
|
|
|
// Code generated by Microsoft (R) AutoRest Code Generator.
|
2017-06-06 23:02:14 -07:00
|
|
|
// Changes may cause incorrect behavior and will be lost if the code is
|
|
|
|
|
// regenerated.
|
2017-10-19 19:53:02 +00:00
|
|
|
// </auto-generated>
|
2017-06-06 23:02:14 -07:00
|
|
|
|
|
|
|
|
namespace k8s.Models
|
|
|
|
|
{
|
|
|
|
|
using Microsoft.Rest;
|
|
|
|
|
using Newtonsoft.Json;
|
|
|
|
|
using System.Collections;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Represents a Ceph Filesystem mount that lasts the lifetime of a pod
|
|
|
|
|
/// Cephfs volumes do not support ownership management or SELinux
|
|
|
|
|
/// relabeling.
|
|
|
|
|
/// </summary>
|
2017-10-19 19:53:02 +00:00
|
|
|
public partial class Corev1CephFSVolumeSource
|
2017-06-06 23:02:14 -07:00
|
|
|
{
|
|
|
|
|
/// <summary>
|
2017-10-19 19:53:02 +00:00
|
|
|
/// Initializes a new instance of the Corev1CephFSVolumeSource class.
|
2017-06-06 23:02:14 -07:00
|
|
|
/// </summary>
|
2017-10-19 19:53:02 +00:00
|
|
|
public Corev1CephFSVolumeSource()
|
2017-06-06 23:02:14 -07:00
|
|
|
{
|
2017-10-19 19:53:02 +00:00
|
|
|
CustomInit();
|
2017-06-06 23:02:14 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2017-10-19 19:53:02 +00:00
|
|
|
/// Initializes a new instance of the Corev1CephFSVolumeSource class.
|
2017-06-06 23:02:14 -07:00
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="monitors">Required: Monitors is a collection of Ceph
|
|
|
|
|
/// monitors More info:
|
2017-10-19 19:53:02 +00:00
|
|
|
/// https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it</param>
|
2017-06-06 23:02:14 -07:00
|
|
|
/// <param name="path">Optional: Used as the mounted root, rather than
|
|
|
|
|
/// the full Ceph tree, default is /</param>
|
|
|
|
|
/// <param name="readOnlyProperty">Optional: Defaults to false
|
|
|
|
|
/// (read/write). ReadOnly here will force the ReadOnly setting in
|
|
|
|
|
/// VolumeMounts. More info:
|
2017-10-19 19:53:02 +00:00
|
|
|
/// https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it</param>
|
2017-06-06 23:02:14 -07:00
|
|
|
/// <param name="secretFile">Optional: SecretFile is the path to key
|
|
|
|
|
/// ring for User, default is /etc/ceph/user.secret More info:
|
2017-10-19 19:53:02 +00:00
|
|
|
/// https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it</param>
|
2017-06-06 23:02:14 -07:00
|
|
|
/// <param name="secretRef">Optional: SecretRef is reference to the
|
|
|
|
|
/// authentication secret for User, default is empty. More info:
|
2017-10-19 19:53:02 +00:00
|
|
|
/// https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it</param>
|
2017-06-06 23:02:14 -07:00
|
|
|
/// <param name="user">Optional: User is the rados user name, default
|
|
|
|
|
/// is admin More info:
|
2017-10-19 19:53:02 +00:00
|
|
|
/// https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it</param>
|
|
|
|
|
public Corev1CephFSVolumeSource(IList<string> monitors, string path = default(string), bool? readOnlyProperty = default(bool?), string secretFile = default(string), Corev1LocalObjectReference secretRef = default(Corev1LocalObjectReference), string user = default(string))
|
2017-06-06 23:02:14 -07:00
|
|
|
{
|
|
|
|
|
Monitors = monitors;
|
|
|
|
|
Path = path;
|
|
|
|
|
ReadOnlyProperty = readOnlyProperty;
|
|
|
|
|
SecretFile = secretFile;
|
|
|
|
|
SecretRef = secretRef;
|
|
|
|
|
User = user;
|
|
|
|
|
CustomInit();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// An initialization method that performs custom operations like setting defaults
|
|
|
|
|
/// </summary>
|
|
|
|
|
partial void CustomInit();
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets or sets required: Monitors is a collection of Ceph monitors
|
|
|
|
|
/// More info:
|
2017-10-19 19:53:02 +00:00
|
|
|
/// https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
|
2017-06-06 23:02:14 -07:00
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "monitors")]
|
|
|
|
|
public IList<string> Monitors { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets or sets optional: Used as the mounted root, rather than the
|
|
|
|
|
/// full Ceph tree, default is /
|
|
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "path")]
|
|
|
|
|
public string Path { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets or sets optional: Defaults to false (read/write). ReadOnly
|
|
|
|
|
/// here will force the ReadOnly setting in VolumeMounts. More info:
|
2017-10-19 19:53:02 +00:00
|
|
|
/// https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
|
2017-06-06 23:02:14 -07:00
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "readOnly")]
|
|
|
|
|
public bool? ReadOnlyProperty { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets or sets optional: SecretFile is the path to key ring for User,
|
|
|
|
|
/// default is /etc/ceph/user.secret More info:
|
2017-10-19 19:53:02 +00:00
|
|
|
/// https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
|
2017-06-06 23:02:14 -07:00
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "secretFile")]
|
|
|
|
|
public string SecretFile { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets or sets optional: SecretRef is reference to the authentication
|
|
|
|
|
/// secret for User, default is empty. More info:
|
2017-10-19 19:53:02 +00:00
|
|
|
/// https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
|
2017-06-06 23:02:14 -07:00
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "secretRef")]
|
2017-10-19 19:53:02 +00:00
|
|
|
public Corev1LocalObjectReference SecretRef { get; set; }
|
2017-06-06 23:02:14 -07:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets or sets optional: User is the rados user name, default is
|
|
|
|
|
/// admin More info:
|
2017-10-19 19:53:02 +00:00
|
|
|
/// https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it
|
2017-06-06 23:02:14 -07:00
|
|
|
/// </summary>
|
|
|
|
|
[JsonProperty(PropertyName = "user")]
|
|
|
|
|
public string User { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Validate the object.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <exception cref="ValidationException">
|
|
|
|
|
/// Thrown if validation fails
|
|
|
|
|
/// </exception>
|
|
|
|
|
public virtual void Validate()
|
|
|
|
|
{
|
|
|
|
|
if (Monitors == null)
|
|
|
|
|
{
|
|
|
|
|
throw new ValidationException(ValidationRules.CannotBeNull, "Monitors");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|