gen v1.15.0
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
export KUBERNETES_BRANCH=v1.14.0
|
||||
export KUBERNETES_BRANCH=v1.15.0
|
||||
export CLIENT_VERSION=0.0.1
|
||||
export PACKAGE_NAME=k8s
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -679,6 +679,20 @@ namespace k8s.Models
|
||||
public const string KubeGroup = "extensions";
|
||||
}
|
||||
|
||||
public partial class V1beta1Ingress : IKubernetesObject
|
||||
{
|
||||
public const string KubeApiVersion = "v1beta1";
|
||||
public const string KubeKind = "Ingress";
|
||||
public const string KubeGroup = "extensions";
|
||||
}
|
||||
|
||||
public partial class V1beta1IngressList : IKubernetesObject
|
||||
{
|
||||
public const string KubeApiVersion = "v1beta1";
|
||||
public const string KubeKind = "IngressList";
|
||||
public const string KubeGroup = "extensions";
|
||||
}
|
||||
|
||||
public partial class V1beta1NetworkPolicy : IKubernetesObject
|
||||
{
|
||||
public const string KubeApiVersion = "v1beta1";
|
||||
@@ -721,6 +735,20 @@ namespace k8s.Models
|
||||
public const string KubeGroup = "networking.k8s.io";
|
||||
}
|
||||
|
||||
public partial class V1beta1Ingress : IKubernetesObject
|
||||
{
|
||||
public const string KubeApiVersion = "v1beta1";
|
||||
public const string KubeKind = "Ingress";
|
||||
public const string KubeGroup = "networking.k8s.io";
|
||||
}
|
||||
|
||||
public partial class V1beta1IngressList : IKubernetesObject
|
||||
{
|
||||
public const string KubeApiVersion = "v1beta1";
|
||||
public const string KubeKind = "IngressList";
|
||||
public const string KubeGroup = "networking.k8s.io";
|
||||
}
|
||||
|
||||
public partial class V1alpha1RuntimeClass : IKubernetesObject
|
||||
{
|
||||
public const string KubeApiVersion = "v1alpha1";
|
||||
|
||||
@@ -34,11 +34,15 @@ namespace k8s.Models
|
||||
/// service. Required</param>
|
||||
/// <param name="path">`path` is an optional URL path which will be
|
||||
/// sent in any request to this service.</param>
|
||||
public Admissionregistrationv1beta1ServiceReference(string name, string namespaceProperty, string path = default(string))
|
||||
/// <param name="port">If specified, the port on the service that
|
||||
/// hosting webhook. Default to 443 for backward compatibility. `port`
|
||||
/// should be a valid port number (1-65535, inclusive).</param>
|
||||
public Admissionregistrationv1beta1ServiceReference(string name, string namespaceProperty, string path = default(string), int? port = default(int?))
|
||||
{
|
||||
Name = name;
|
||||
NamespaceProperty = namespaceProperty;
|
||||
Path = path;
|
||||
Port = port;
|
||||
CustomInit();
|
||||
}
|
||||
|
||||
@@ -66,6 +70,14 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "path")]
|
||||
public string Path { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets if specified, the port on the service that hosting
|
||||
/// webhook. Default to 443 for backward compatibility. `port` should
|
||||
/// be a valid port number (1-65535, inclusive).
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "port")]
|
||||
public int? Port { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Validate the object.
|
||||
/// </summary>
|
||||
|
||||
@@ -35,10 +35,7 @@ namespace k8s.Models
|
||||
/// this webhook. Either `service` or `url` must be specified.
|
||||
///
|
||||
/// If the webhook is running within the cluster, then you should use
|
||||
/// `service`.
|
||||
///
|
||||
/// Port 443 will be used if it is open, otherwise it is an
|
||||
/// error.</param>
|
||||
/// `service`.</param>
|
||||
/// <param name="url">`url` gives the location of the webhook, in
|
||||
/// standard URL form (`scheme://host:port/path`). Exactly one of `url`
|
||||
/// or `service` must be specified.
|
||||
@@ -91,8 +88,6 @@ namespace k8s.Models
|
||||
///
|
||||
/// If the webhook is running within the cluster, then you should use
|
||||
/// `service`.
|
||||
///
|
||||
/// Port 443 will be used if it is open, otherwise it is an error.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "service")]
|
||||
public Admissionregistrationv1beta1ServiceReference Service { get; set; }
|
||||
|
||||
@@ -34,11 +34,15 @@ namespace k8s.Models
|
||||
/// service. Required</param>
|
||||
/// <param name="path">`path` is an optional URL path which will be
|
||||
/// sent in any request to this service.</param>
|
||||
public Apiextensionsv1beta1ServiceReference(string name, string namespaceProperty, string path = default(string))
|
||||
/// <param name="port">If specified, the port on the service that
|
||||
/// hosting webhook. Default to 443 for backward compatibility. `port`
|
||||
/// should be a valid port number (1-65535, inclusive).</param>
|
||||
public Apiextensionsv1beta1ServiceReference(string name, string namespaceProperty, string path = default(string), int? port = default(int?))
|
||||
{
|
||||
Name = name;
|
||||
NamespaceProperty = namespaceProperty;
|
||||
Path = path;
|
||||
Port = port;
|
||||
CustomInit();
|
||||
}
|
||||
|
||||
@@ -66,6 +70,14 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "path")]
|
||||
public string Path { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets if specified, the port on the service that hosting
|
||||
/// webhook. Default to 443 for backward compatibility. `port` should
|
||||
/// be a valid port number (1-65535, inclusive).
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "port")]
|
||||
public int? Port { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Validate the object.
|
||||
/// </summary>
|
||||
|
||||
@@ -36,10 +36,7 @@ namespace k8s.Models
|
||||
/// this webhook. Either `service` or `url` must be specified.
|
||||
///
|
||||
/// If the webhook is running within the cluster, then you should use
|
||||
/// `service`.
|
||||
///
|
||||
/// Port 443 will be used if it is open, otherwise it is an
|
||||
/// error.</param>
|
||||
/// `service`.</param>
|
||||
/// <param name="url">`url` gives the location of the webhook, in
|
||||
/// standard URL form (`scheme://host:port/path`). Exactly one of `url`
|
||||
/// or `service` must be specified.
|
||||
@@ -92,8 +89,6 @@ namespace k8s.Models
|
||||
///
|
||||
/// If the webhook is running within the cluster, then you should use
|
||||
/// `service`.
|
||||
///
|
||||
/// Port 443 will be used if it is open, otherwise it is an error.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "service")]
|
||||
public Apiextensionsv1beta1ServiceReference Service { get; set; }
|
||||
|
||||
@@ -30,10 +30,14 @@ namespace k8s.Models
|
||||
/// <param name="name">Name is the name of the service</param>
|
||||
/// <param name="namespaceProperty">Namespace is the namespace of the
|
||||
/// service</param>
|
||||
public Apiregistrationv1beta1ServiceReference(string name = default(string), string namespaceProperty = default(string))
|
||||
/// <param name="port">If specified, the port on the service that
|
||||
/// hosting webhook. Default to 443 for backward compatibility. `port`
|
||||
/// should be a valid port number (1-65535, inclusive).</param>
|
||||
public Apiregistrationv1beta1ServiceReference(string name = default(string), string namespaceProperty = default(string), int? port = default(int?))
|
||||
{
|
||||
Name = name;
|
||||
NamespaceProperty = namespaceProperty;
|
||||
Port = port;
|
||||
CustomInit();
|
||||
}
|
||||
|
||||
@@ -54,5 +58,13 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "namespace")]
|
||||
public string NamespaceProperty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets if specified, the port on the service that hosting
|
||||
/// webhook. Default to 443 for backward compatibility. `port` should
|
||||
/// be a valid port number (1-65535, inclusive).
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "port")]
|
||||
public int? Port { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,8 +45,10 @@ namespace k8s.Models
|
||||
/// unspecified, defaults to true.</param>
|
||||
/// <param name="allowedCSIDrivers">AllowedCSIDrivers is a whitelist of
|
||||
/// inline CSI drivers that must be explicitly set to be embedded
|
||||
/// within a pod spec. An empty value means no CSI drivers can run
|
||||
/// inline within a pod spec.</param>
|
||||
/// within a pod spec. An empty value indicates that any CSI driver can
|
||||
/// be used for inline ephemeral volumes. This is an alpha field, and
|
||||
/// is only honored if the API server enables the CSIInlineVolume
|
||||
/// feature gate.</param>
|
||||
/// <param name="allowedCapabilities">allowedCapabilities is a list of
|
||||
/// capabilities that can be requested to add to the container.
|
||||
/// Capabilities in this field may be added at the pod author's
|
||||
@@ -114,10 +116,15 @@ namespace k8s.Models
|
||||
/// dictate the allowable RunAsGroup values that may be set. If this
|
||||
/// field is omitted, the pod's RunAsGroup can take any value. This
|
||||
/// field requires the RunAsGroup feature gate to be enabled.</param>
|
||||
/// <param name="runtimeClass">runtimeClass is the strategy that will
|
||||
/// dictate the allowable RuntimeClasses for a pod. If this field is
|
||||
/// omitted, the pod's runtimeClassName field is unrestricted.
|
||||
/// Enforcement of this field depends on the RuntimeClass feature gate
|
||||
/// being enabled.</param>
|
||||
/// <param name="volumes">volumes is a white list of allowed volume
|
||||
/// plugins. Empty indicates that no volumes may be used. To allow all
|
||||
/// volumes you may use '*'.</param>
|
||||
public Extensionsv1beta1PodSecurityPolicySpec(Extensionsv1beta1FSGroupStrategyOptions fsGroup, Extensionsv1beta1RunAsUserStrategyOptions runAsUser, Extensionsv1beta1SELinuxStrategyOptions seLinux, Extensionsv1beta1SupplementalGroupsStrategyOptions supplementalGroups, bool? allowPrivilegeEscalation = default(bool?), IList<Extensionsv1beta1AllowedCSIDriver> allowedCSIDrivers = default(IList<Extensionsv1beta1AllowedCSIDriver>), IList<string> allowedCapabilities = default(IList<string>), IList<Extensionsv1beta1AllowedFlexVolume> allowedFlexVolumes = default(IList<Extensionsv1beta1AllowedFlexVolume>), IList<Extensionsv1beta1AllowedHostPath> allowedHostPaths = default(IList<Extensionsv1beta1AllowedHostPath>), IList<string> allowedProcMountTypes = default(IList<string>), IList<string> allowedUnsafeSysctls = default(IList<string>), IList<string> defaultAddCapabilities = default(IList<string>), bool? defaultAllowPrivilegeEscalation = default(bool?), IList<string> forbiddenSysctls = default(IList<string>), bool? hostIPC = default(bool?), bool? hostNetwork = default(bool?), bool? hostPID = default(bool?), IList<Extensionsv1beta1HostPortRange> hostPorts = default(IList<Extensionsv1beta1HostPortRange>), bool? privileged = default(bool?), bool? readOnlyRootFilesystem = default(bool?), IList<string> requiredDropCapabilities = default(IList<string>), Extensionsv1beta1RunAsGroupStrategyOptions runAsGroup = default(Extensionsv1beta1RunAsGroupStrategyOptions), IList<string> volumes = default(IList<string>))
|
||||
public Extensionsv1beta1PodSecurityPolicySpec(Extensionsv1beta1FSGroupStrategyOptions fsGroup, Extensionsv1beta1RunAsUserStrategyOptions runAsUser, Extensionsv1beta1SELinuxStrategyOptions seLinux, Extensionsv1beta1SupplementalGroupsStrategyOptions supplementalGroups, bool? allowPrivilegeEscalation = default(bool?), IList<Extensionsv1beta1AllowedCSIDriver> allowedCSIDrivers = default(IList<Extensionsv1beta1AllowedCSIDriver>), IList<string> allowedCapabilities = default(IList<string>), IList<Extensionsv1beta1AllowedFlexVolume> allowedFlexVolumes = default(IList<Extensionsv1beta1AllowedFlexVolume>), IList<Extensionsv1beta1AllowedHostPath> allowedHostPaths = default(IList<Extensionsv1beta1AllowedHostPath>), IList<string> allowedProcMountTypes = default(IList<string>), IList<string> allowedUnsafeSysctls = default(IList<string>), IList<string> defaultAddCapabilities = default(IList<string>), bool? defaultAllowPrivilegeEscalation = default(bool?), IList<string> forbiddenSysctls = default(IList<string>), bool? hostIPC = default(bool?), bool? hostNetwork = default(bool?), bool? hostPID = default(bool?), IList<Extensionsv1beta1HostPortRange> hostPorts = default(IList<Extensionsv1beta1HostPortRange>), bool? privileged = default(bool?), bool? readOnlyRootFilesystem = default(bool?), IList<string> requiredDropCapabilities = default(IList<string>), Extensionsv1beta1RunAsGroupStrategyOptions runAsGroup = default(Extensionsv1beta1RunAsGroupStrategyOptions), Extensionsv1beta1RuntimeClassStrategyOptions runtimeClass = default(Extensionsv1beta1RuntimeClassStrategyOptions), IList<string> volumes = default(IList<string>))
|
||||
{
|
||||
AllowPrivilegeEscalation = allowPrivilegeEscalation;
|
||||
AllowedCSIDrivers = allowedCSIDrivers;
|
||||
@@ -139,6 +146,7 @@ namespace k8s.Models
|
||||
RequiredDropCapabilities = requiredDropCapabilities;
|
||||
RunAsGroup = runAsGroup;
|
||||
RunAsUser = runAsUser;
|
||||
RuntimeClass = runtimeClass;
|
||||
SeLinux = seLinux;
|
||||
SupplementalGroups = supplementalGroups;
|
||||
Volumes = volumes;
|
||||
@@ -161,7 +169,9 @@ namespace k8s.Models
|
||||
/// <summary>
|
||||
/// Gets or sets allowedCSIDrivers is a whitelist of inline CSI drivers
|
||||
/// that must be explicitly set to be embedded within a pod spec. An
|
||||
/// empty value means no CSI drivers can run inline within a pod spec.
|
||||
/// empty value indicates that any CSI driver can be used for inline
|
||||
/// ephemeral volumes. This is an alpha field, and is only honored if
|
||||
/// the API server enables the CSIInlineVolume feature gate.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "allowedCSIDrivers")]
|
||||
public IList<Extensionsv1beta1AllowedCSIDriver> AllowedCSIDrivers { get; set; }
|
||||
@@ -323,6 +333,15 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "runAsUser")]
|
||||
public Extensionsv1beta1RunAsUserStrategyOptions RunAsUser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets runtimeClass is the strategy that will dictate the
|
||||
/// allowable RuntimeClasses for a pod. If this field is omitted, the
|
||||
/// pod's runtimeClassName field is unrestricted. Enforcement of this
|
||||
/// field depends on the RuntimeClass feature gate being enabled.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "runtimeClass")]
|
||||
public Extensionsv1beta1RuntimeClassStrategyOptions RuntimeClass { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets seLinux is the strategy that will dictate the
|
||||
/// allowable labels that may be set.
|
||||
@@ -407,6 +426,10 @@ namespace k8s.Models
|
||||
{
|
||||
RunAsUser.Validate();
|
||||
}
|
||||
if (RuntimeClass != null)
|
||||
{
|
||||
RuntimeClass.Validate();
|
||||
}
|
||||
if (SeLinux != null)
|
||||
{
|
||||
SeLinux.Validate();
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
// <auto-generated>
|
||||
// Code generated by Microsoft (R) AutoRest Code Generator.
|
||||
// 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;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
/// <summary>
|
||||
/// RuntimeClassStrategyOptions define the strategy that will dictate the
|
||||
/// allowable RuntimeClasses for a pod.
|
||||
/// </summary>
|
||||
public partial class Extensionsv1beta1RuntimeClassStrategyOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the
|
||||
/// Extensionsv1beta1RuntimeClassStrategyOptions class.
|
||||
/// </summary>
|
||||
public Extensionsv1beta1RuntimeClassStrategyOptions()
|
||||
{
|
||||
CustomInit();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the
|
||||
/// Extensionsv1beta1RuntimeClassStrategyOptions class.
|
||||
/// </summary>
|
||||
/// <param name="allowedRuntimeClassNames">allowedRuntimeClassNames is
|
||||
/// a whitelist of RuntimeClass names that may be specified on a pod. A
|
||||
/// value of "*" means that any RuntimeClass name is allowed, and must
|
||||
/// be the only item in the list. An empty list requires the
|
||||
/// RuntimeClassName field to be unset.</param>
|
||||
/// <param name="defaultRuntimeClassName">defaultRuntimeClassName is
|
||||
/// the default RuntimeClassName to set on the pod. The default MUST be
|
||||
/// allowed by the allowedRuntimeClassNames list. A value of nil does
|
||||
/// not mutate the Pod.</param>
|
||||
public Extensionsv1beta1RuntimeClassStrategyOptions(IList<string> allowedRuntimeClassNames, string defaultRuntimeClassName = default(string))
|
||||
{
|
||||
AllowedRuntimeClassNames = allowedRuntimeClassNames;
|
||||
DefaultRuntimeClassName = defaultRuntimeClassName;
|
||||
CustomInit();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// An initialization method that performs custom operations like setting defaults
|
||||
/// </summary>
|
||||
partial void CustomInit();
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets allowedRuntimeClassNames is a whitelist of
|
||||
/// RuntimeClass names that may be specified on a pod. A value of "*"
|
||||
/// means that any RuntimeClass name is allowed, and must be the only
|
||||
/// item in the list. An empty list requires the RuntimeClassName field
|
||||
/// to be unset.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "allowedRuntimeClassNames")]
|
||||
public IList<string> AllowedRuntimeClassNames { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets defaultRuntimeClassName is the default
|
||||
/// RuntimeClassName to set on the pod. The default MUST be allowed by
|
||||
/// the allowedRuntimeClassNames list. A value of nil does not mutate
|
||||
/// the Pod.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "defaultRuntimeClassName")]
|
||||
public string DefaultRuntimeClassName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Validate the object.
|
||||
/// </summary>
|
||||
/// <exception cref="ValidationException">
|
||||
/// Thrown if validation fails
|
||||
/// </exception>
|
||||
public virtual void Validate()
|
||||
{
|
||||
if (AllowedRuntimeClassNames == null)
|
||||
{
|
||||
throw new ValidationException(ValidationRules.CannotBeNull, "AllowedRuntimeClassNames");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -44,8 +44,10 @@ namespace k8s.Models
|
||||
/// unspecified, defaults to true.</param>
|
||||
/// <param name="allowedCSIDrivers">AllowedCSIDrivers is a whitelist of
|
||||
/// inline CSI drivers that must be explicitly set to be embedded
|
||||
/// within a pod spec. An empty value means no CSI drivers can run
|
||||
/// inline within a pod spec.</param>
|
||||
/// within a pod spec. An empty value indicates that any CSI driver can
|
||||
/// be used for inline ephemeral volumes. This is an alpha field, and
|
||||
/// is only honored if the API server enables the CSIInlineVolume
|
||||
/// feature gate.</param>
|
||||
/// <param name="allowedCapabilities">allowedCapabilities is a list of
|
||||
/// capabilities that can be requested to add to the container.
|
||||
/// Capabilities in this field may be added at the pod author's
|
||||
@@ -113,10 +115,15 @@ namespace k8s.Models
|
||||
/// dictate the allowable RunAsGroup values that may be set. If this
|
||||
/// field is omitted, the pod's RunAsGroup can take any value. This
|
||||
/// field requires the RunAsGroup feature gate to be enabled.</param>
|
||||
/// <param name="runtimeClass">runtimeClass is the strategy that will
|
||||
/// dictate the allowable RuntimeClasses for a pod. If this field is
|
||||
/// omitted, the pod's runtimeClassName field is unrestricted.
|
||||
/// Enforcement of this field depends on the RuntimeClass feature gate
|
||||
/// being enabled.</param>
|
||||
/// <param name="volumes">volumes is a white list of allowed volume
|
||||
/// plugins. Empty indicates that no volumes may be used. To allow all
|
||||
/// volumes you may use '*'.</param>
|
||||
public Policyv1beta1PodSecurityPolicySpec(Policyv1beta1FSGroupStrategyOptions fsGroup, Policyv1beta1RunAsUserStrategyOptions runAsUser, Policyv1beta1SELinuxStrategyOptions seLinux, Policyv1beta1SupplementalGroupsStrategyOptions supplementalGroups, bool? allowPrivilegeEscalation = default(bool?), IList<Policyv1beta1AllowedCSIDriver> allowedCSIDrivers = default(IList<Policyv1beta1AllowedCSIDriver>), IList<string> allowedCapabilities = default(IList<string>), IList<Policyv1beta1AllowedFlexVolume> allowedFlexVolumes = default(IList<Policyv1beta1AllowedFlexVolume>), IList<Policyv1beta1AllowedHostPath> allowedHostPaths = default(IList<Policyv1beta1AllowedHostPath>), IList<string> allowedProcMountTypes = default(IList<string>), IList<string> allowedUnsafeSysctls = default(IList<string>), IList<string> defaultAddCapabilities = default(IList<string>), bool? defaultAllowPrivilegeEscalation = default(bool?), IList<string> forbiddenSysctls = default(IList<string>), bool? hostIPC = default(bool?), bool? hostNetwork = default(bool?), bool? hostPID = default(bool?), IList<Policyv1beta1HostPortRange> hostPorts = default(IList<Policyv1beta1HostPortRange>), bool? privileged = default(bool?), bool? readOnlyRootFilesystem = default(bool?), IList<string> requiredDropCapabilities = default(IList<string>), Policyv1beta1RunAsGroupStrategyOptions runAsGroup = default(Policyv1beta1RunAsGroupStrategyOptions), IList<string> volumes = default(IList<string>))
|
||||
public Policyv1beta1PodSecurityPolicySpec(Policyv1beta1FSGroupStrategyOptions fsGroup, Policyv1beta1RunAsUserStrategyOptions runAsUser, Policyv1beta1SELinuxStrategyOptions seLinux, Policyv1beta1SupplementalGroupsStrategyOptions supplementalGroups, bool? allowPrivilegeEscalation = default(bool?), IList<Policyv1beta1AllowedCSIDriver> allowedCSIDrivers = default(IList<Policyv1beta1AllowedCSIDriver>), IList<string> allowedCapabilities = default(IList<string>), IList<Policyv1beta1AllowedFlexVolume> allowedFlexVolumes = default(IList<Policyv1beta1AllowedFlexVolume>), IList<Policyv1beta1AllowedHostPath> allowedHostPaths = default(IList<Policyv1beta1AllowedHostPath>), IList<string> allowedProcMountTypes = default(IList<string>), IList<string> allowedUnsafeSysctls = default(IList<string>), IList<string> defaultAddCapabilities = default(IList<string>), bool? defaultAllowPrivilegeEscalation = default(bool?), IList<string> forbiddenSysctls = default(IList<string>), bool? hostIPC = default(bool?), bool? hostNetwork = default(bool?), bool? hostPID = default(bool?), IList<Policyv1beta1HostPortRange> hostPorts = default(IList<Policyv1beta1HostPortRange>), bool? privileged = default(bool?), bool? readOnlyRootFilesystem = default(bool?), IList<string> requiredDropCapabilities = default(IList<string>), Policyv1beta1RunAsGroupStrategyOptions runAsGroup = default(Policyv1beta1RunAsGroupStrategyOptions), Policyv1beta1RuntimeClassStrategyOptions runtimeClass = default(Policyv1beta1RuntimeClassStrategyOptions), IList<string> volumes = default(IList<string>))
|
||||
{
|
||||
AllowPrivilegeEscalation = allowPrivilegeEscalation;
|
||||
AllowedCSIDrivers = allowedCSIDrivers;
|
||||
@@ -138,6 +145,7 @@ namespace k8s.Models
|
||||
RequiredDropCapabilities = requiredDropCapabilities;
|
||||
RunAsGroup = runAsGroup;
|
||||
RunAsUser = runAsUser;
|
||||
RuntimeClass = runtimeClass;
|
||||
SeLinux = seLinux;
|
||||
SupplementalGroups = supplementalGroups;
|
||||
Volumes = volumes;
|
||||
@@ -160,7 +168,9 @@ namespace k8s.Models
|
||||
/// <summary>
|
||||
/// Gets or sets allowedCSIDrivers is a whitelist of inline CSI drivers
|
||||
/// that must be explicitly set to be embedded within a pod spec. An
|
||||
/// empty value means no CSI drivers can run inline within a pod spec.
|
||||
/// empty value indicates that any CSI driver can be used for inline
|
||||
/// ephemeral volumes. This is an alpha field, and is only honored if
|
||||
/// the API server enables the CSIInlineVolume feature gate.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "allowedCSIDrivers")]
|
||||
public IList<Policyv1beta1AllowedCSIDriver> AllowedCSIDrivers { get; set; }
|
||||
@@ -322,6 +332,15 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "runAsUser")]
|
||||
public Policyv1beta1RunAsUserStrategyOptions RunAsUser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets runtimeClass is the strategy that will dictate the
|
||||
/// allowable RuntimeClasses for a pod. If this field is omitted, the
|
||||
/// pod's runtimeClassName field is unrestricted. Enforcement of this
|
||||
/// field depends on the RuntimeClass feature gate being enabled.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "runtimeClass")]
|
||||
public Policyv1beta1RuntimeClassStrategyOptions RuntimeClass { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets seLinux is the strategy that will dictate the
|
||||
/// allowable labels that may be set.
|
||||
@@ -406,6 +425,10 @@ namespace k8s.Models
|
||||
{
|
||||
RunAsUser.Validate();
|
||||
}
|
||||
if (RuntimeClass != null)
|
||||
{
|
||||
RuntimeClass.Validate();
|
||||
}
|
||||
if (SeLinux != null)
|
||||
{
|
||||
SeLinux.Validate();
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
// <auto-generated>
|
||||
// Code generated by Microsoft (R) AutoRest Code Generator.
|
||||
// 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;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
/// <summary>
|
||||
/// RuntimeClassStrategyOptions define the strategy that will dictate the
|
||||
/// allowable RuntimeClasses for a pod.
|
||||
/// </summary>
|
||||
public partial class Policyv1beta1RuntimeClassStrategyOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the
|
||||
/// Policyv1beta1RuntimeClassStrategyOptions class.
|
||||
/// </summary>
|
||||
public Policyv1beta1RuntimeClassStrategyOptions()
|
||||
{
|
||||
CustomInit();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the
|
||||
/// Policyv1beta1RuntimeClassStrategyOptions class.
|
||||
/// </summary>
|
||||
/// <param name="allowedRuntimeClassNames">allowedRuntimeClassNames is
|
||||
/// a whitelist of RuntimeClass names that may be specified on a pod. A
|
||||
/// value of "*" means that any RuntimeClass name is allowed, and must
|
||||
/// be the only item in the list. An empty list requires the
|
||||
/// RuntimeClassName field to be unset.</param>
|
||||
/// <param name="defaultRuntimeClassName">defaultRuntimeClassName is
|
||||
/// the default RuntimeClassName to set on the pod. The default MUST be
|
||||
/// allowed by the allowedRuntimeClassNames list. A value of nil does
|
||||
/// not mutate the Pod.</param>
|
||||
public Policyv1beta1RuntimeClassStrategyOptions(IList<string> allowedRuntimeClassNames, string defaultRuntimeClassName = default(string))
|
||||
{
|
||||
AllowedRuntimeClassNames = allowedRuntimeClassNames;
|
||||
DefaultRuntimeClassName = defaultRuntimeClassName;
|
||||
CustomInit();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// An initialization method that performs custom operations like setting defaults
|
||||
/// </summary>
|
||||
partial void CustomInit();
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets allowedRuntimeClassNames is a whitelist of
|
||||
/// RuntimeClass names that may be specified on a pod. A value of "*"
|
||||
/// means that any RuntimeClass name is allowed, and must be the only
|
||||
/// item in the list. An empty list requires the RuntimeClassName field
|
||||
/// to be unset.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "allowedRuntimeClassNames")]
|
||||
public IList<string> AllowedRuntimeClassNames { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets defaultRuntimeClassName is the default
|
||||
/// RuntimeClassName to set on the pod. The default MUST be allowed by
|
||||
/// the allowedRuntimeClassNames list. A value of nil does not mutate
|
||||
/// the Pod.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "defaultRuntimeClassName")]
|
||||
public string DefaultRuntimeClassName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Validate the object.
|
||||
/// </summary>
|
||||
/// <exception cref="ValidationException">
|
||||
/// Thrown if validation fails
|
||||
/// </exception>
|
||||
public virtual void Validate()
|
||||
{
|
||||
if (AllowedRuntimeClassNames == null)
|
||||
{
|
||||
throw new ValidationException(ValidationRules.CannotBeNull, "AllowedRuntimeClassNames");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -36,6 +36,13 @@ namespace k8s.Models
|
||||
/// <param name="volumeHandle">VolumeHandle is the unique volume name
|
||||
/// returned by the CSI volume plugin’s CreateVolume to refer to the
|
||||
/// volume on all subsequent calls. Required.</param>
|
||||
/// <param name="controllerExpandSecretRef">ControllerExpandSecretRef
|
||||
/// is a reference to the secret object containing sensitive
|
||||
/// information to pass to the CSI driver to complete the CSI
|
||||
/// ControllerExpandVolume call. This is an alpha field and requires
|
||||
/// enabling ExpandCSIVolumes feature gate. This field is optional, and
|
||||
/// may be empty if no secret is required. If the secret object
|
||||
/// contains more than one secret, all secrets are passed.</param>
|
||||
/// <param name="controllerPublishSecretRef">ControllerPublishSecretRef
|
||||
/// is a reference to the secret object containing sensitive
|
||||
/// information to pass to the CSI driver to complete the CSI
|
||||
@@ -64,8 +71,9 @@ namespace k8s.Models
|
||||
/// (read/write).</param>
|
||||
/// <param name="volumeAttributes">Attributes of the volume to
|
||||
/// publish.</param>
|
||||
public V1CSIPersistentVolumeSource(string driver, string volumeHandle, V1SecretReference controllerPublishSecretRef = default(V1SecretReference), string fsType = default(string), V1SecretReference nodePublishSecretRef = default(V1SecretReference), V1SecretReference nodeStageSecretRef = default(V1SecretReference), bool? readOnlyProperty = default(bool?), IDictionary<string, string> volumeAttributes = default(IDictionary<string, string>))
|
||||
public V1CSIPersistentVolumeSource(string driver, string volumeHandle, V1SecretReference controllerExpandSecretRef = default(V1SecretReference), V1SecretReference controllerPublishSecretRef = default(V1SecretReference), string fsType = default(string), V1SecretReference nodePublishSecretRef = default(V1SecretReference), V1SecretReference nodeStageSecretRef = default(V1SecretReference), bool? readOnlyProperty = default(bool?), IDictionary<string, string> volumeAttributes = default(IDictionary<string, string>))
|
||||
{
|
||||
ControllerExpandSecretRef = controllerExpandSecretRef;
|
||||
ControllerPublishSecretRef = controllerPublishSecretRef;
|
||||
Driver = driver;
|
||||
FsType = fsType;
|
||||
@@ -82,6 +90,18 @@ namespace k8s.Models
|
||||
/// </summary>
|
||||
partial void CustomInit();
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets controllerExpandSecretRef is a reference to the secret
|
||||
/// object containing sensitive information to pass to the CSI driver
|
||||
/// to complete the CSI ControllerExpandVolume call. This is an alpha
|
||||
/// field and requires enabling ExpandCSIVolumes feature gate. This
|
||||
/// field is optional, and may be empty if no secret is required. If
|
||||
/// the secret object contains more than one secret, all secrets are
|
||||
/// passed.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "controllerExpandSecretRef")]
|
||||
public V1SecretReference ControllerExpandSecretRef { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets controllerPublishSecretRef is a reference to the
|
||||
/// secret object containing sensitive information to pass to the CSI
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace k8s.Models
|
||||
/// <param name="key">The key to select.</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 it's key
|
||||
/// <param name="optional">Specify whether the ConfigMap or its key
|
||||
/// must be defined</param>
|
||||
public V1ConfigMapKeySelector(string key, string name = default(string), bool? optional = default(bool?))
|
||||
{
|
||||
@@ -58,7 +58,7 @@ namespace k8s.Models
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets specify whether the ConfigMap or it's key must be
|
||||
/// Gets or sets specify whether the ConfigMap or its key must be
|
||||
/// defined
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "optional")]
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace k8s.Models
|
||||
/// contain the '..' path or start with '..'.</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 it's keys
|
||||
/// <param name="optional">Specify whether the ConfigMap or its keys
|
||||
/// must be defined</param>
|
||||
public V1ConfigMapProjection(IList<V1KeyToPath> items = default(IList<V1KeyToPath>), string name = default(string), bool? optional = default(bool?))
|
||||
{
|
||||
@@ -79,7 +79,7 @@ namespace k8s.Models
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets specify whether the ConfigMap or it's keys must be
|
||||
/// Gets or sets specify whether the ConfigMap or its keys must be
|
||||
/// defined
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "optional")]
|
||||
|
||||
@@ -49,7 +49,7 @@ namespace k8s.Models
|
||||
/// contain the '..' path or start with '..'.</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 it's keys
|
||||
/// <param name="optional">Specify whether the ConfigMap or its keys
|
||||
/// must be defined</param>
|
||||
public V1ConfigMapVolumeSource(int? defaultMode = default(int?), IList<V1KeyToPath> items = default(IList<V1KeyToPath>), string name = default(string), bool? optional = default(bool?))
|
||||
{
|
||||
@@ -96,7 +96,7 @@ namespace k8s.Models
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets specify whether the ConfigMap or it's keys must be
|
||||
/// Gets or sets specify whether the ConfigMap or its keys must be
|
||||
/// defined
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "optional")]
|
||||
|
||||
@@ -30,8 +30,8 @@ namespace k8s.Models
|
||||
/// last heartbeat time</param>
|
||||
/// <param name="lastObservedTime">Time of the last occurrence
|
||||
/// observed</param>
|
||||
/// <param name="state">State of this Series: Ongoing or
|
||||
/// Finished</param>
|
||||
/// <param name="state">State of this Series: Ongoing or Finished
|
||||
/// Deprecated. Planned removal for 1.18</param>
|
||||
public V1EventSeries(int? count = default(int?), System.DateTime? lastObservedTime = default(System.DateTime?), string state = default(string))
|
||||
{
|
||||
Count = count;
|
||||
@@ -59,7 +59,8 @@ namespace k8s.Models
|
||||
public System.DateTime? LastObservedTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets state of this Series: Ongoing or Finished
|
||||
/// Gets or sets state of this Series: Ongoing or Finished Deprecated.
|
||||
/// Planned removal for 1.18
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "state")]
|
||||
public string State { get; set; }
|
||||
|
||||
@@ -37,6 +37,21 @@ namespace k8s.Models
|
||||
/// returned when using this continue value will be identical to the
|
||||
/// value in the first response, unless you have received this token
|
||||
/// from an error message.</param>
|
||||
/// <param name="remainingItemCount">remainingItemCount is the number
|
||||
/// of subsequent items in the list which are not included in this list
|
||||
/// response. If the list request contained label or field selectors,
|
||||
/// then the number of remaining items is unknown and the field will be
|
||||
/// left unset and omitted during serialization. If the list is
|
||||
/// complete (either because it is not chunking or because this is the
|
||||
/// last chunk), then there are no more remaining items and this field
|
||||
/// will be left unset and omitted during serialization. Servers older
|
||||
/// than v1.15 do not set this field. The intended use of the
|
||||
/// remainingItemCount is *estimating* the size of a collection.
|
||||
/// Clients should not rely on the remainingItemCount to be set or to
|
||||
/// be exact.
|
||||
///
|
||||
/// This field is alpha and can be changed or removed without
|
||||
/// notice.</param>
|
||||
/// <param name="resourceVersion">String that identifies the server's
|
||||
/// internal version of this object that can be used by clients to
|
||||
/// determine when objects have changed. Value must be treated as
|
||||
@@ -45,9 +60,10 @@ namespace k8s.Models
|
||||
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency</param>
|
||||
/// <param name="selfLink">selfLink is a URL representing this object.
|
||||
/// Populated by the system. Read-only.</param>
|
||||
public V1ListMeta(string continueProperty = default(string), string resourceVersion = default(string), string selfLink = default(string))
|
||||
public V1ListMeta(string continueProperty = default(string), long? remainingItemCount = default(long?), string resourceVersion = default(string), string selfLink = default(string))
|
||||
{
|
||||
ContinueProperty = continueProperty;
|
||||
RemainingItemCount = remainingItemCount;
|
||||
ResourceVersion = resourceVersion;
|
||||
SelfLink = selfLink;
|
||||
CustomInit();
|
||||
@@ -73,6 +89,24 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "continue")]
|
||||
public string ContinueProperty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets remainingItemCount is the number of subsequent items
|
||||
/// in the list which are not included in this list response. If the
|
||||
/// list request contained label or field selectors, then the number of
|
||||
/// remaining items is unknown and the field will be left unset and
|
||||
/// omitted during serialization. If the list is complete (either
|
||||
/// because it is not chunking or because this is the last chunk), then
|
||||
/// there are no more remaining items and this field will be left unset
|
||||
/// and omitted during serialization. Servers older than v1.15 do not
|
||||
/// set this field. The intended use of the remainingItemCount is
|
||||
/// *estimating* the size of a collection. Clients should not rely on
|
||||
/// the remainingItemCount to be set or to be exact.
|
||||
///
|
||||
/// This field is alpha and can be changed or removed without notice.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "remainingItemCount")]
|
||||
public long? RemainingItemCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets string that identifies the server's internal version
|
||||
/// of this object that can be used by clients to determine when
|
||||
|
||||
@@ -70,7 +70,8 @@ namespace k8s.Models
|
||||
/// <param name="sysctls">Sysctls hold a list of namespaced sysctls
|
||||
/// used for the pod. Pods with unsupported sysctls (by the container
|
||||
/// runtime) might fail to launch.</param>
|
||||
public V1PodSecurityContext(long? fsGroup = default(long?), long? runAsGroup = default(long?), bool? runAsNonRoot = default(bool?), long? runAsUser = default(long?), V1SELinuxOptions seLinuxOptions = default(V1SELinuxOptions), IList<long?> supplementalGroups = default(IList<long?>), IList<V1Sysctl> sysctls = default(IList<V1Sysctl>))
|
||||
/// <param name="windowsOptions">Windows security options.</param>
|
||||
public V1PodSecurityContext(long? fsGroup = default(long?), long? runAsGroup = default(long?), bool? runAsNonRoot = default(bool?), long? runAsUser = default(long?), V1SELinuxOptions seLinuxOptions = default(V1SELinuxOptions), IList<long?> supplementalGroups = default(IList<long?>), IList<V1Sysctl> sysctls = default(IList<V1Sysctl>), V1WindowsSecurityContextOptions windowsOptions = default(V1WindowsSecurityContextOptions))
|
||||
{
|
||||
FsGroup = fsGroup;
|
||||
RunAsGroup = runAsGroup;
|
||||
@@ -79,6 +80,7 @@ namespace k8s.Models
|
||||
SeLinuxOptions = seLinuxOptions;
|
||||
SupplementalGroups = supplementalGroups;
|
||||
Sysctls = sysctls;
|
||||
WindowsOptions = windowsOptions;
|
||||
CustomInit();
|
||||
}
|
||||
|
||||
@@ -161,5 +163,11 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "sysctls")]
|
||||
public IList<V1Sysctl> Sysctls { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets windows security options.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "windowsOptions")]
|
||||
public V1WindowsSecurityContextOptions WindowsOptions { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,6 +96,11 @@ namespace k8s.Models
|
||||
/// 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="preemptionPolicy">PreemptionPolicy is the Policy for
|
||||
/// preempting pods with lower priority. One of Never,
|
||||
/// PreemptLowerPriority. Defaults to PreemptLowerPriority if unset.
|
||||
/// This field is alpha-level and is only honored by servers that
|
||||
/// enable the NonPreemptingPriority feature.</param>
|
||||
/// <param name="priority">The priority value. Various system
|
||||
/// components use this field to find the priority of the pod. When
|
||||
/// Priority Admission Controller is enabled, it prevents users from
|
||||
@@ -125,7 +130,7 @@ namespace k8s.Models
|
||||
/// RuntimeClass will be used, which is an implicit class with an empty
|
||||
/// definition that uses the default runtime handler. More info:
|
||||
/// https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md This
|
||||
/// is an alpha feature and may change in the future.</param>
|
||||
/// is a beta feature as of Kubernetes v1.14.</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>
|
||||
@@ -165,7 +170,7 @@ namespace k8s.Models
|
||||
/// <param name="volumes">List of volumes that can be mounted by
|
||||
/// containers belonging to the pod. More info:
|
||||
/// https://kubernetes.io/docs/concepts/storage/volumes</param>
|
||||
public V1PodSpec(IList<V1Container> containers, long? activeDeadlineSeconds = default(long?), V1Affinity affinity = default(V1Affinity), bool? automountServiceAccountToken = default(bool?), V1PodDNSConfig dnsConfig = default(V1PodDNSConfig), string dnsPolicy = default(string), bool? enableServiceLinks = default(bool?), IList<V1HostAlias> hostAliases = default(IList<V1HostAlias>), bool? hostIPC = default(bool?), bool? hostNetwork = default(bool?), bool? hostPID = default(bool?), string hostname = default(string), IList<V1LocalObjectReference> imagePullSecrets = default(IList<V1LocalObjectReference>), IList<V1Container> initContainers = default(IList<V1Container>), string nodeName = default(string), IDictionary<string, string> nodeSelector = default(IDictionary<string, string>), int? priority = default(int?), string priorityClassName = default(string), IList<V1PodReadinessGate> readinessGates = default(IList<V1PodReadinessGate>), string restartPolicy = default(string), string runtimeClassName = default(string), string schedulerName = default(string), V1PodSecurityContext securityContext = default(V1PodSecurityContext), string serviceAccount = default(string), string serviceAccountName = default(string), bool? shareProcessNamespace = default(bool?), string subdomain = default(string), long? terminationGracePeriodSeconds = default(long?), IList<V1Toleration> tolerations = default(IList<V1Toleration>), IList<V1Volume> volumes = default(IList<V1Volume>))
|
||||
public V1PodSpec(IList<V1Container> containers, long? activeDeadlineSeconds = default(long?), V1Affinity affinity = default(V1Affinity), bool? automountServiceAccountToken = default(bool?), V1PodDNSConfig dnsConfig = default(V1PodDNSConfig), string dnsPolicy = default(string), bool? enableServiceLinks = default(bool?), IList<V1HostAlias> hostAliases = default(IList<V1HostAlias>), bool? hostIPC = default(bool?), bool? hostNetwork = default(bool?), bool? hostPID = default(bool?), string hostname = default(string), IList<V1LocalObjectReference> imagePullSecrets = default(IList<V1LocalObjectReference>), IList<V1Container> initContainers = default(IList<V1Container>), string nodeName = default(string), IDictionary<string, string> nodeSelector = default(IDictionary<string, string>), string preemptionPolicy = default(string), int? priority = default(int?), string priorityClassName = default(string), IList<V1PodReadinessGate> readinessGates = default(IList<V1PodReadinessGate>), string restartPolicy = default(string), string runtimeClassName = default(string), string schedulerName = default(string), V1PodSecurityContext securityContext = default(V1PodSecurityContext), string serviceAccount = default(string), string serviceAccountName = default(string), bool? shareProcessNamespace = default(bool?), string subdomain = default(string), long? terminationGracePeriodSeconds = default(long?), IList<V1Toleration> tolerations = default(IList<V1Toleration>), IList<V1Volume> volumes = default(IList<V1Volume>))
|
||||
{
|
||||
ActiveDeadlineSeconds = activeDeadlineSeconds;
|
||||
Affinity = affinity;
|
||||
@@ -183,6 +188,7 @@ namespace k8s.Models
|
||||
InitContainers = initContainers;
|
||||
NodeName = nodeName;
|
||||
NodeSelector = nodeSelector;
|
||||
PreemptionPolicy = preemptionPolicy;
|
||||
Priority = priority;
|
||||
PriorityClassName = priorityClassName;
|
||||
ReadinessGates = readinessGates;
|
||||
@@ -348,6 +354,16 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "nodeSelector")]
|
||||
public IDictionary<string, string> NodeSelector { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets preemptionPolicy is the Policy for preempting pods
|
||||
/// with lower priority. One of Never, PreemptLowerPriority. Defaults
|
||||
/// to PreemptLowerPriority if unset. This field is alpha-level and is
|
||||
/// only honored by servers that enable the NonPreemptingPriority
|
||||
/// feature.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "preemptionPolicy")]
|
||||
public string PreemptionPolicy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the priority value. Various system components use this
|
||||
/// field to find the priority of the pod. When Priority Admission
|
||||
@@ -396,7 +412,7 @@ namespace k8s.Models
|
||||
/// which is an implicit class with an empty definition that uses the
|
||||
/// default runtime handler. More info:
|
||||
/// https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md This
|
||||
/// is an alpha feature and may change in the future.
|
||||
/// is a beta feature as of Kubernetes v1.14.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "runtimeClassName")]
|
||||
public string RuntimeClassName { get; set; }
|
||||
|
||||
@@ -51,13 +51,19 @@ namespace k8s.Models
|
||||
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds</param>
|
||||
/// <param name="metadata">Standard object's metadata. More info:
|
||||
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata</param>
|
||||
public V1PriorityClass(int value, string apiVersion = default(string), string description = default(string), bool? globalDefault = default(bool?), string kind = default(string), V1ObjectMeta metadata = default(V1ObjectMeta))
|
||||
/// <param name="preemptionPolicy">PreemptionPolicy is the Policy for
|
||||
/// preempting pods with lower priority. One of Never,
|
||||
/// PreemptLowerPriority. Defaults to PreemptLowerPriority if unset.
|
||||
/// This field is alpha-level and is only honored by servers that
|
||||
/// enable the NonPreemptingPriority feature.</param>
|
||||
public V1PriorityClass(int value, string apiVersion = default(string), string description = default(string), bool? globalDefault = default(bool?), string kind = default(string), V1ObjectMeta metadata = default(V1ObjectMeta), string preemptionPolicy = default(string))
|
||||
{
|
||||
ApiVersion = apiVersion;
|
||||
Description = description;
|
||||
GlobalDefault = globalDefault;
|
||||
Kind = kind;
|
||||
Metadata = metadata;
|
||||
PreemptionPolicy = preemptionPolicy;
|
||||
Value = value;
|
||||
CustomInit();
|
||||
}
|
||||
@@ -113,6 +119,16 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "metadata")]
|
||||
public V1ObjectMeta Metadata { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets preemptionPolicy is the Policy for preempting pods
|
||||
/// with lower priority. One of Never, PreemptLowerPriority. Defaults
|
||||
/// to PreemptLowerPriority if unset. This field is alpha-level and is
|
||||
/// only honored by servers that enable the NonPreemptingPriority
|
||||
/// feature.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "preemptionPolicy")]
|
||||
public string PreemptionPolicy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the value of this priority class. This is the actual
|
||||
/// priority that pods receive when they have the name of this class in
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace k8s.Models
|
||||
/// valid secret key.</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 Secret or it's key must
|
||||
/// <param name="optional">Specify whether the Secret or its key must
|
||||
/// be defined</param>
|
||||
public V1SecretKeySelector(string key, string name = default(string), bool? optional = default(bool?))
|
||||
{
|
||||
@@ -60,7 +60,7 @@ namespace k8s.Models
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets specify whether the Secret or it's key must be defined
|
||||
/// Gets or sets specify whether the Secret or its key must be defined
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "optional")]
|
||||
public bool? Optional { get; set; }
|
||||
|
||||
@@ -45,7 +45,7 @@ namespace k8s.Models
|
||||
/// which is not present in the Secret, the volume setup will error
|
||||
/// unless it is marked optional. Paths must be relative and may not
|
||||
/// contain the '..' path or start with '..'.</param>
|
||||
/// <param name="optional">Specify whether the Secret or it's keys must
|
||||
/// <param name="optional">Specify whether the Secret or its keys must
|
||||
/// be defined</param>
|
||||
/// <param name="secretName">Name of the secret in the pod's namespace
|
||||
/// to use. More info:
|
||||
@@ -88,8 +88,7 @@ namespace k8s.Models
|
||||
public IList<V1KeyToPath> Items { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets specify whether the Secret or it's keys must be
|
||||
/// defined
|
||||
/// Gets or sets specify whether the Secret or its keys must be defined
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "optional")]
|
||||
public bool? Optional { get; set; }
|
||||
|
||||
@@ -70,7 +70,8 @@ namespace k8s.Models
|
||||
/// PodSecurityContext. If set in both SecurityContext and
|
||||
/// PodSecurityContext, the value specified in SecurityContext takes
|
||||
/// precedence.</param>
|
||||
public V1SecurityContext(bool? allowPrivilegeEscalation = default(bool?), V1Capabilities capabilities = default(V1Capabilities), bool? privileged = default(bool?), string procMount = default(string), bool? readOnlyRootFilesystem = default(bool?), long? runAsGroup = default(long?), bool? runAsNonRoot = default(bool?), long? runAsUser = default(long?), V1SELinuxOptions seLinuxOptions = default(V1SELinuxOptions))
|
||||
/// <param name="windowsOptions">Windows security options.</param>
|
||||
public V1SecurityContext(bool? allowPrivilegeEscalation = default(bool?), V1Capabilities capabilities = default(V1Capabilities), bool? privileged = default(bool?), string procMount = default(string), bool? readOnlyRootFilesystem = default(bool?), long? runAsGroup = default(long?), bool? runAsNonRoot = default(bool?), long? runAsUser = default(long?), V1SELinuxOptions seLinuxOptions = default(V1SELinuxOptions), V1WindowsSecurityContextOptions windowsOptions = default(V1WindowsSecurityContextOptions))
|
||||
{
|
||||
AllowPrivilegeEscalation = allowPrivilegeEscalation;
|
||||
Capabilities = capabilities;
|
||||
@@ -81,6 +82,7 @@ namespace k8s.Models
|
||||
RunAsNonRoot = runAsNonRoot;
|
||||
RunAsUser = runAsUser;
|
||||
SeLinuxOptions = seLinuxOptions;
|
||||
WindowsOptions = windowsOptions;
|
||||
CustomInit();
|
||||
}
|
||||
|
||||
@@ -173,5 +175,11 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "seLinuxOptions")]
|
||||
public V1SELinuxOptions SeLinuxOptions { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets windows security options.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "windowsOptions")]
|
||||
public V1WindowsSecurityContextOptions WindowsOptions { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,10 +28,14 @@ namespace k8s.Models
|
||||
/// <param name="name">Name is the name of the service</param>
|
||||
/// <param name="namespaceProperty">Namespace is the namespace of the
|
||||
/// service</param>
|
||||
public V1ServiceReference(string name = default(string), string namespaceProperty = default(string))
|
||||
/// <param name="port">If specified, the port on the service that
|
||||
/// hosting webhook. Default to 443 for backward compatibility. `port`
|
||||
/// should be a valid port number (1-65535, inclusive).</param>
|
||||
public V1ServiceReference(string name = default(string), string namespaceProperty = default(string), int? port = default(int?))
|
||||
{
|
||||
Name = name;
|
||||
NamespaceProperty = namespaceProperty;
|
||||
Port = port;
|
||||
CustomInit();
|
||||
}
|
||||
|
||||
@@ -52,5 +56,13 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "namespace")]
|
||||
public string NamespaceProperty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets if specified, the port on the service that hosting
|
||||
/// webhook. Default to 443 for backward compatibility. `port` should
|
||||
/// be a valid port number (1-65535, inclusive).
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "port")]
|
||||
public int? Port { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,10 +28,18 @@ namespace k8s.Models
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the V1VolumeAttachmentSource class.
|
||||
/// </summary>
|
||||
/// <param name="inlineVolumeSpec">inlineVolumeSpec contains all the
|
||||
/// information necessary to attach a persistent volume defined by a
|
||||
/// pod's inline VolumeSource. This field is populated only for the
|
||||
/// CSIMigration feature. It contains translated fields from a pod's
|
||||
/// inline VolumeSource to a PersistentVolumeSpec. This field is
|
||||
/// alpha-level and is only honored by servers that enabled the
|
||||
/// CSIMigration feature.</param>
|
||||
/// <param name="persistentVolumeName">Name of the persistent volume to
|
||||
/// attach.</param>
|
||||
public V1VolumeAttachmentSource(string persistentVolumeName = default(string))
|
||||
public V1VolumeAttachmentSource(V1PersistentVolumeSpec inlineVolumeSpec = default(V1PersistentVolumeSpec), string persistentVolumeName = default(string))
|
||||
{
|
||||
InlineVolumeSpec = inlineVolumeSpec;
|
||||
PersistentVolumeName = persistentVolumeName;
|
||||
CustomInit();
|
||||
}
|
||||
@@ -41,11 +49,36 @@ namespace k8s.Models
|
||||
/// </summary>
|
||||
partial void CustomInit();
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets inlineVolumeSpec contains all the information
|
||||
/// necessary to attach a persistent volume defined by a pod's inline
|
||||
/// VolumeSource. This field is populated only for the CSIMigration
|
||||
/// feature. It contains translated fields from a pod's inline
|
||||
/// VolumeSource to a PersistentVolumeSpec. This field is alpha-level
|
||||
/// and is only honored by servers that enabled the CSIMigration
|
||||
/// feature.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "inlineVolumeSpec")]
|
||||
public V1PersistentVolumeSpec InlineVolumeSpec { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets name of the persistent volume to attach.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "persistentVolumeName")]
|
||||
public string PersistentVolumeName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Validate the object.
|
||||
/// </summary>
|
||||
/// <exception cref="Microsoft.Rest.ValidationException">
|
||||
/// Thrown if validation fails
|
||||
/// </exception>
|
||||
public virtual void Validate()
|
||||
{
|
||||
if (InlineVolumeSpec != null)
|
||||
{
|
||||
InlineVolumeSpec.Validate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,6 +87,10 @@ namespace k8s.Models
|
||||
{
|
||||
throw new ValidationException(ValidationRules.CannotBeNull, "Source");
|
||||
}
|
||||
if (Source != null)
|
||||
{
|
||||
Source.Validate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace k8s.Models
|
||||
/// to SubPath but environment variable references $(VAR_NAME) are
|
||||
/// expanded using the container's environment. Defaults to ""
|
||||
/// (volume's root). SubPathExpr and SubPath are mutually exclusive.
|
||||
/// This field is alpha in 1.14.</param>
|
||||
/// This field is beta in 1.15.</param>
|
||||
public V1VolumeMount(string mountPath, string name, string mountPropagation = default(string), bool? readOnlyProperty = default(bool?), string subPath = default(string), string subPathExpr = default(string))
|
||||
{
|
||||
MountPath = mountPath;
|
||||
@@ -101,8 +101,8 @@ namespace k8s.Models
|
||||
/// container's volume should be mounted. Behaves similarly to SubPath
|
||||
/// but environment variable references $(VAR_NAME) are expanded using
|
||||
/// the container's environment. Defaults to "" (volume's root).
|
||||
/// SubPathExpr and SubPath are mutually exclusive. This field is alpha
|
||||
/// in 1.14.
|
||||
/// SubPathExpr and SubPath are mutually exclusive. This field is beta
|
||||
/// in 1.15.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "subPathExpr")]
|
||||
public string SubPathExpr { get; set; }
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
// <auto-generated>
|
||||
// Code generated by Microsoft (R) AutoRest Code Generator.
|
||||
// Changes may cause incorrect behavior and will be lost if the code is
|
||||
// regenerated.
|
||||
// </auto-generated>
|
||||
|
||||
namespace k8s.Models
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using System.Linq;
|
||||
|
||||
/// <summary>
|
||||
/// WindowsSecurityContextOptions contain Windows-specific options and
|
||||
/// credentials.
|
||||
/// </summary>
|
||||
public partial class V1WindowsSecurityContextOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the V1WindowsSecurityContextOptions
|
||||
/// class.
|
||||
/// </summary>
|
||||
public V1WindowsSecurityContextOptions()
|
||||
{
|
||||
CustomInit();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the V1WindowsSecurityContextOptions
|
||||
/// class.
|
||||
/// </summary>
|
||||
/// <param name="gmsaCredentialSpec">GMSACredentialSpec is where the
|
||||
/// GMSA admission webhook
|
||||
/// (https://github.com/kubernetes-sigs/windows-gmsa) inlines the
|
||||
/// contents of the GMSA credential spec named by the
|
||||
/// GMSACredentialSpecName field. This field is alpha-level and is only
|
||||
/// honored by servers that enable the WindowsGMSA feature
|
||||
/// flag.</param>
|
||||
/// <param name="gmsaCredentialSpecName">GMSACredentialSpecName is the
|
||||
/// name of the GMSA credential spec to use. This field is alpha-level
|
||||
/// and is only honored by servers that enable the WindowsGMSA feature
|
||||
/// flag.</param>
|
||||
public V1WindowsSecurityContextOptions(string gmsaCredentialSpec = default(string), string gmsaCredentialSpecName = default(string))
|
||||
{
|
||||
GmsaCredentialSpec = gmsaCredentialSpec;
|
||||
GmsaCredentialSpecName = gmsaCredentialSpecName;
|
||||
CustomInit();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// An initialization method that performs custom operations like setting defaults
|
||||
/// </summary>
|
||||
partial void CustomInit();
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets gMSACredentialSpec is where the GMSA admission webhook
|
||||
/// (https://github.com/kubernetes-sigs/windows-gmsa) inlines the
|
||||
/// contents of the GMSA credential spec named by the
|
||||
/// GMSACredentialSpecName field. This field is alpha-level and is only
|
||||
/// honored by servers that enable the WindowsGMSA feature flag.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "gmsaCredentialSpec")]
|
||||
public string GmsaCredentialSpec { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets gMSACredentialSpecName is the name of the GMSA
|
||||
/// credential spec to use. This field is alpha-level and is only
|
||||
/// honored by servers that enable the WindowsGMSA feature flag.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "gmsaCredentialSpecName")]
|
||||
public string GmsaCredentialSpecName { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -53,13 +53,19 @@ namespace k8s.Models
|
||||
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds</param>
|
||||
/// <param name="metadata">Standard object's metadata. More info:
|
||||
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata</param>
|
||||
public V1alpha1PriorityClass(int value, string apiVersion = default(string), string description = default(string), bool? globalDefault = default(bool?), string kind = default(string), V1ObjectMeta metadata = default(V1ObjectMeta))
|
||||
/// <param name="preemptionPolicy">PreemptionPolicy is the Policy for
|
||||
/// preempting pods with lower priority. One of Never,
|
||||
/// PreemptLowerPriority. Defaults to PreemptLowerPriority if unset.
|
||||
/// This field is alpha-level and is only honored by servers that
|
||||
/// enable the NonPreemptingPriority feature.</param>
|
||||
public V1alpha1PriorityClass(int value, string apiVersion = default(string), string description = default(string), bool? globalDefault = default(bool?), string kind = default(string), V1ObjectMeta metadata = default(V1ObjectMeta), string preemptionPolicy = default(string))
|
||||
{
|
||||
ApiVersion = apiVersion;
|
||||
Description = description;
|
||||
GlobalDefault = globalDefault;
|
||||
Kind = kind;
|
||||
Metadata = metadata;
|
||||
PreemptionPolicy = preemptionPolicy;
|
||||
Value = value;
|
||||
CustomInit();
|
||||
}
|
||||
@@ -115,6 +121,16 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "metadata")]
|
||||
public V1ObjectMeta Metadata { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets preemptionPolicy is the Policy for preempting pods
|
||||
/// with lower priority. One of Never, PreemptLowerPriority. Defaults
|
||||
/// to PreemptLowerPriority if unset. This field is alpha-level and is
|
||||
/// only honored by servers that enable the NonPreemptingPriority
|
||||
/// feature.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "preemptionPolicy")]
|
||||
public string PreemptionPolicy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the value of this priority class. This is the actual
|
||||
/// priority that pods receive when they have the name of this class in
|
||||
|
||||
@@ -32,11 +32,15 @@ namespace k8s.Models
|
||||
/// service. Required</param>
|
||||
/// <param name="path">`path` is an optional URL path which will be
|
||||
/// sent in any request to this service.</param>
|
||||
public V1alpha1ServiceReference(string name, string namespaceProperty, string path = default(string))
|
||||
/// <param name="port">If specified, the port on the service that
|
||||
/// hosting webhook. Default to 443 for backward compatibility. `port`
|
||||
/// should be a valid port number (1-65535, inclusive).</param>
|
||||
public V1alpha1ServiceReference(string name, string namespaceProperty, string path = default(string), int? port = default(int?))
|
||||
{
|
||||
Name = name;
|
||||
NamespaceProperty = namespaceProperty;
|
||||
Path = path;
|
||||
Port = port;
|
||||
CustomInit();
|
||||
}
|
||||
|
||||
@@ -64,6 +68,14 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "path")]
|
||||
public string Path { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets if specified, the port on the service that hosting
|
||||
/// webhook. Default to 443 for backward compatibility. `port` should
|
||||
/// be a valid port number (1-65535, inclusive).
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "port")]
|
||||
public int? Port { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Validate the object.
|
||||
/// </summary>
|
||||
|
||||
@@ -30,10 +30,18 @@ namespace k8s.Models
|
||||
/// Initializes a new instance of the V1alpha1VolumeAttachmentSource
|
||||
/// class.
|
||||
/// </summary>
|
||||
/// <param name="inlineVolumeSpec">inlineVolumeSpec contains all the
|
||||
/// information necessary to attach a persistent volume defined by a
|
||||
/// pod's inline VolumeSource. This field is populated only for the
|
||||
/// CSIMigration feature. It contains translated fields from a pod's
|
||||
/// inline VolumeSource to a PersistentVolumeSpec. This field is
|
||||
/// alpha-level and is only honored by servers that enabled the
|
||||
/// CSIMigration feature.</param>
|
||||
/// <param name="persistentVolumeName">Name of the persistent volume to
|
||||
/// attach.</param>
|
||||
public V1alpha1VolumeAttachmentSource(string persistentVolumeName = default(string))
|
||||
public V1alpha1VolumeAttachmentSource(V1PersistentVolumeSpec inlineVolumeSpec = default(V1PersistentVolumeSpec), string persistentVolumeName = default(string))
|
||||
{
|
||||
InlineVolumeSpec = inlineVolumeSpec;
|
||||
PersistentVolumeName = persistentVolumeName;
|
||||
CustomInit();
|
||||
}
|
||||
@@ -43,11 +51,36 @@ namespace k8s.Models
|
||||
/// </summary>
|
||||
partial void CustomInit();
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets inlineVolumeSpec contains all the information
|
||||
/// necessary to attach a persistent volume defined by a pod's inline
|
||||
/// VolumeSource. This field is populated only for the CSIMigration
|
||||
/// feature. It contains translated fields from a pod's inline
|
||||
/// VolumeSource to a PersistentVolumeSpec. This field is alpha-level
|
||||
/// and is only honored by servers that enabled the CSIMigration
|
||||
/// feature.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "inlineVolumeSpec")]
|
||||
public V1PersistentVolumeSpec InlineVolumeSpec { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets name of the persistent volume to attach.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "persistentVolumeName")]
|
||||
public string PersistentVolumeName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Validate the object.
|
||||
/// </summary>
|
||||
/// <exception cref="Microsoft.Rest.ValidationException">
|
||||
/// Thrown if validation fails
|
||||
/// </exception>
|
||||
public virtual void Validate()
|
||||
{
|
||||
if (InlineVolumeSpec != null)
|
||||
{
|
||||
InlineVolumeSpec.Validate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,6 +89,10 @@ namespace k8s.Models
|
||||
{
|
||||
throw new ValidationException(ValidationRules.CannotBeNull, "Source");
|
||||
}
|
||||
if (Source != null)
|
||||
{
|
||||
Source.Validate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,10 +35,7 @@ namespace k8s.Models
|
||||
/// this webhook. Either `service` or `url` must be specified.
|
||||
///
|
||||
/// If the webhook is running within the cluster, then you should use
|
||||
/// `service`.
|
||||
///
|
||||
/// Port 443 will be used if it is open, otherwise it is an
|
||||
/// error.</param>
|
||||
/// `service`.</param>
|
||||
/// <param name="url">`url` gives the location of the webhook, in
|
||||
/// standard URL form (`scheme://host:port/path`). Exactly one of `url`
|
||||
/// or `service` must be specified.
|
||||
@@ -91,8 +88,6 @@ namespace k8s.Models
|
||||
///
|
||||
/// If the webhook is running within the cluster, then you should use
|
||||
/// `service`.
|
||||
///
|
||||
/// Port 443 will be used if it is open, otherwise it is an error.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "service")]
|
||||
public V1alpha1ServiceReference Service { get; set; }
|
||||
|
||||
@@ -35,8 +35,9 @@ namespace k8s.Models
|
||||
/// strategy. Allowed values are: - `None`: The converter only change
|
||||
/// the apiVersion and would not touch any other field in the CR. -
|
||||
/// `Webhook`: API Server will call to an external webhook to do the
|
||||
/// conversion. Additional information is needed for this
|
||||
/// option.</param>
|
||||
/// conversion. Additional information
|
||||
/// is needed for this option. This requires spec.preserveUnknownFields
|
||||
/// to be false.</param>
|
||||
/// <param name="conversionReviewVersions">ConversionReviewVersions is
|
||||
/// an ordered list of preferred `ConversionReview` versions the
|
||||
/// Webhook expects. API server will try to use first version in the
|
||||
@@ -80,7 +81,9 @@ namespace k8s.Models
|
||||
/// values are: - `None`: The converter only change the apiVersion and
|
||||
/// would not touch any other field in the CR. - `Webhook`: API Server
|
||||
/// will call to an external webhook to do the conversion. Additional
|
||||
/// information is needed for this option.
|
||||
/// information
|
||||
/// is needed for this option. This requires spec.preserveUnknownFields
|
||||
/// to be false.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "strategy")]
|
||||
public string Strategy { get; set; }
|
||||
|
||||
@@ -31,7 +31,8 @@ namespace k8s.Models
|
||||
/// </summary>
|
||||
/// <param name="status">Status is the status of the condition. Can be
|
||||
/// True, False, Unknown.</param>
|
||||
/// <param name="type">Type is the type of the condition.</param>
|
||||
/// <param name="type">Type is the type of the condition. Types include
|
||||
/// Established, NamesAccepted and Terminating.</param>
|
||||
/// <param name="lastTransitionTime">Last time the condition
|
||||
/// transitioned from one status to another.</param>
|
||||
/// <param name="message">Human-readable message indicating details
|
||||
@@ -82,7 +83,8 @@ namespace k8s.Models
|
||||
public string Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets type is the type of the condition.
|
||||
/// Gets or sets type is the type of the condition. Types include
|
||||
/// Established, NamesAccepted and Terminating.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "type")]
|
||||
public string Type { get; set; }
|
||||
|
||||
@@ -44,6 +44,11 @@ namespace k8s.Models
|
||||
/// exclusive.</param>
|
||||
/// <param name="conversion">`conversion` defines conversion settings
|
||||
/// for the CRD.</param>
|
||||
/// <param name="preserveUnknownFields">preserveUnknownFields disables
|
||||
/// pruning of object fields which are not specified in the OpenAPI
|
||||
/// schema. apiVersion, kind, metadata and known fields inside metadata
|
||||
/// are always preserved. Defaults to true in v1beta and will default
|
||||
/// to false in v1.</param>
|
||||
/// <param name="subresources">Subresources describes the subresources
|
||||
/// for CustomResource Optional, the global subresources for all
|
||||
/// versions. Top-level and per-version subresources are mutually
|
||||
@@ -71,12 +76,13 @@ namespace k8s.Models
|
||||
/// comparing major version, then minor version. An example sorted list
|
||||
/// of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1,
|
||||
/// v11alpha2, foo1, foo10.</param>
|
||||
public V1beta1CustomResourceDefinitionSpec(string group, V1beta1CustomResourceDefinitionNames names, string scope, IList<V1beta1CustomResourceColumnDefinition> additionalPrinterColumns = default(IList<V1beta1CustomResourceColumnDefinition>), V1beta1CustomResourceConversion conversion = default(V1beta1CustomResourceConversion), V1beta1CustomResourceSubresources subresources = default(V1beta1CustomResourceSubresources), V1beta1CustomResourceValidation validation = default(V1beta1CustomResourceValidation), string version = default(string), IList<V1beta1CustomResourceDefinitionVersion> versions = default(IList<V1beta1CustomResourceDefinitionVersion>))
|
||||
public V1beta1CustomResourceDefinitionSpec(string group, V1beta1CustomResourceDefinitionNames names, string scope, IList<V1beta1CustomResourceColumnDefinition> additionalPrinterColumns = default(IList<V1beta1CustomResourceColumnDefinition>), V1beta1CustomResourceConversion conversion = default(V1beta1CustomResourceConversion), bool? preserveUnknownFields = default(bool?), V1beta1CustomResourceSubresources subresources = default(V1beta1CustomResourceSubresources), V1beta1CustomResourceValidation validation = default(V1beta1CustomResourceValidation), string version = default(string), IList<V1beta1CustomResourceDefinitionVersion> versions = default(IList<V1beta1CustomResourceDefinitionVersion>))
|
||||
{
|
||||
AdditionalPrinterColumns = additionalPrinterColumns;
|
||||
Conversion = conversion;
|
||||
Group = group;
|
||||
Names = names;
|
||||
PreserveUnknownFields = preserveUnknownFields;
|
||||
Scope = scope;
|
||||
Subresources = subresources;
|
||||
Validation = validation;
|
||||
@@ -118,6 +124,16 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "names")]
|
||||
public V1beta1CustomResourceDefinitionNames Names { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets preserveUnknownFields disables pruning of object
|
||||
/// fields which are not specified in the OpenAPI schema. apiVersion,
|
||||
/// kind, metadata and known fields inside metadata are always
|
||||
/// preserved. Defaults to true in v1beta and will default to false in
|
||||
/// v1.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "preserveUnknownFields")]
|
||||
public bool? PreserveUnknownFields { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets scope indicates whether this resource is cluster or
|
||||
/// namespace scoped. Default is namespaced
|
||||
|
||||
@@ -44,10 +44,14 @@ namespace k8s.Models
|
||||
/// <param name="labelSelectorPath">LabelSelectorPath defines the JSON
|
||||
/// path inside of a CustomResource that corresponds to
|
||||
/// Scale.Status.Selector. Only JSON paths without the array notation
|
||||
/// are allowed. Must be a JSON Path under .status. Must be set to work
|
||||
/// with HPA. If there is no value under the given path in the
|
||||
/// CustomResource, the status label selector value in the /scale
|
||||
/// subresource will default to the empty string.</param>
|
||||
/// are allowed. Must be a JSON Path under .status or .spec. Must be
|
||||
/// set to work with HPA. The field pointed by this JSON path must be a
|
||||
/// string field (not a complex selector struct) which contains a
|
||||
/// serialized label selector in string form. More info:
|
||||
/// https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions#scale-subresource
|
||||
/// If there is no value under the given path in the CustomResource,
|
||||
/// the status label selector value in the /scale subresource will
|
||||
/// default to the empty string.</param>
|
||||
public V1beta1CustomResourceSubresourceScale(string specReplicasPath, string statusReplicasPath, string labelSelectorPath = default(string))
|
||||
{
|
||||
LabelSelectorPath = labelSelectorPath;
|
||||
@@ -65,10 +69,14 @@ namespace k8s.Models
|
||||
/// Gets or sets labelSelectorPath defines the JSON path inside of a
|
||||
/// CustomResource that corresponds to Scale.Status.Selector. Only JSON
|
||||
/// paths without the array notation are allowed. Must be a JSON Path
|
||||
/// under .status. Must be set to work with HPA. If there is no value
|
||||
/// under the given path in the CustomResource, the status label
|
||||
/// selector value in the /scale subresource will default to the empty
|
||||
/// string.
|
||||
/// under .status or .spec. Must be set to work with HPA. The field
|
||||
/// pointed by this JSON path must be a string field (not a complex
|
||||
/// selector struct) which contains a serialized label selector in
|
||||
/// string form. More info:
|
||||
/// https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions#scale-subresource
|
||||
/// If there is no value under the given path in the CustomResource,
|
||||
/// the status label selector value in the /scale subresource will
|
||||
/// default to the empty string.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "labelSelectorPath")]
|
||||
public string LabelSelectorPath { get; set; }
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace k8s.Models
|
||||
/// <param name="lastObservedTime">Time when last Event from the series
|
||||
/// was seen before last heartbeat.</param>
|
||||
/// <param name="state">Information whether this series is ongoing or
|
||||
/// finished.</param>
|
||||
/// finished. Deprecated. Planned removal for 1.18</param>
|
||||
public V1beta1EventSeries(int count, System.DateTime lastObservedTime, string state)
|
||||
{
|
||||
Count = count;
|
||||
@@ -62,7 +62,7 @@ namespace k8s.Models
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets information whether this series is ongoing or
|
||||
/// finished.
|
||||
/// finished. Deprecated. Planned removal for 1.18
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "state")]
|
||||
public string State { get; set; }
|
||||
|
||||
@@ -34,16 +34,47 @@ namespace k8s.Models
|
||||
/// <param name="additionalProperties">JSONSchemaPropsOrBool represents
|
||||
/// JSONSchemaProps or a boolean value. Defaults to true for the
|
||||
/// boolean property.</param>
|
||||
/// <param name="defaultProperty">JSON represents any valid JSON value.
|
||||
/// These types are supported: bool, int64, float64, string,
|
||||
/// []interface{}, map[string]interface{} and nil.</param>
|
||||
/// <param name="defaultProperty">default is a default value for
|
||||
/// undefined object fields. Defaulting is an alpha feature under the
|
||||
/// CustomResourceDefaulting feature gate. Defaulting requires
|
||||
/// spec.preserveUnknownFields to be false.</param>
|
||||
/// <param name="example">JSON represents any valid JSON value. These
|
||||
/// types are supported: bool, int64, float64, string, []interface{},
|
||||
/// map[string]interface{} and nil.</param>
|
||||
/// <param name="items">JSONSchemaPropsOrArray represents a value that
|
||||
/// can either be a JSONSchemaProps or an array of JSONSchemaProps.
|
||||
/// Mainly here for serialization purposes.</param>
|
||||
public V1beta1JSONSchemaProps(string refProperty = default(string), string schema = default(string), object additionalItems = default(object), object additionalProperties = default(object), IList<V1beta1JSONSchemaProps> allOf = default(IList<V1beta1JSONSchemaProps>), IList<V1beta1JSONSchemaProps> anyOf = default(IList<V1beta1JSONSchemaProps>), object defaultProperty = default(object), IDictionary<string, V1beta1JSONSchemaProps> definitions = default(IDictionary<string, V1beta1JSONSchemaProps>), IDictionary<string, object> dependencies = default(IDictionary<string, object>), string description = default(string), IList<object> enumProperty = default(IList<object>), object example = default(object), bool? exclusiveMaximum = default(bool?), bool? exclusiveMinimum = default(bool?), V1beta1ExternalDocumentation externalDocs = default(V1beta1ExternalDocumentation), string format = default(string), string id = default(string), object items = default(object), long? maxItems = default(long?), long? maxLength = default(long?), long? maxProperties = default(long?), double? maximum = default(double?), long? minItems = default(long?), long? minLength = default(long?), long? minProperties = default(long?), double? minimum = default(double?), double? multipleOf = default(double?), V1beta1JSONSchemaProps not = default(V1beta1JSONSchemaProps), bool? nullable = default(bool?), IList<V1beta1JSONSchemaProps> oneOf = default(IList<V1beta1JSONSchemaProps>), string pattern = default(string), IDictionary<string, V1beta1JSONSchemaProps> patternProperties = default(IDictionary<string, V1beta1JSONSchemaProps>), IDictionary<string, V1beta1JSONSchemaProps> properties = default(IDictionary<string, V1beta1JSONSchemaProps>), IList<string> required = default(IList<string>), string title = default(string), string type = default(string), bool? uniqueItems = default(bool?))
|
||||
/// <param
|
||||
/// name="xKubernetesEmbeddedResource">x-kubernetes-embedded-resource
|
||||
/// defines that the value is an embedded Kubernetes runtime.Object,
|
||||
/// with TypeMeta and ObjectMeta. The type must be object. It is
|
||||
/// allowed to further restrict the embedded object. kind, apiVersion
|
||||
/// and metadata are validated automatically.
|
||||
/// x-kubernetes-preserve-unknown-fields is allowed to be true, but
|
||||
/// does not have to be if the object is fully specified (up to kind,
|
||||
/// apiVersion, metadata).</param>
|
||||
/// <param name="xKubernetesIntOrString">x-kubernetes-int-or-string
|
||||
/// specifies that this value is either an integer or a string. If this
|
||||
/// is true, an empty type is allowed and type as child of anyOf is
|
||||
/// permitted if following one of the following patterns:
|
||||
///
|
||||
/// 1) anyOf:
|
||||
/// - type: integer
|
||||
/// - type: string
|
||||
/// 2) allOf:
|
||||
/// - anyOf:
|
||||
/// - type: integer
|
||||
/// - type: string
|
||||
/// - ... zero or more</param>
|
||||
/// <param
|
||||
/// name="xKubernetesPreserveUnknownFields">x-kubernetes-preserve-unknown-fields
|
||||
/// stops the API server decoding step from pruning fields which are
|
||||
/// not specified in the validation schema. This affects fields
|
||||
/// recursively, but switches back to normal pruning behaviour if
|
||||
/// nested properties or additionalProperties are specified in the
|
||||
/// schema. This can either be true or undefined. False is
|
||||
/// forbidden.</param>
|
||||
public V1beta1JSONSchemaProps(string refProperty = default(string), string schema = default(string), object additionalItems = default(object), object additionalProperties = default(object), IList<V1beta1JSONSchemaProps> allOf = default(IList<V1beta1JSONSchemaProps>), IList<V1beta1JSONSchemaProps> anyOf = default(IList<V1beta1JSONSchemaProps>), object defaultProperty = default(object), IDictionary<string, V1beta1JSONSchemaProps> definitions = default(IDictionary<string, V1beta1JSONSchemaProps>), IDictionary<string, object> dependencies = default(IDictionary<string, object>), string description = default(string), IList<object> enumProperty = default(IList<object>), object example = default(object), bool? exclusiveMaximum = default(bool?), bool? exclusiveMinimum = default(bool?), V1beta1ExternalDocumentation externalDocs = default(V1beta1ExternalDocumentation), string format = default(string), string id = default(string), object items = default(object), long? maxItems = default(long?), long? maxLength = default(long?), long? maxProperties = default(long?), double? maximum = default(double?), long? minItems = default(long?), long? minLength = default(long?), long? minProperties = default(long?), double? minimum = default(double?), double? multipleOf = default(double?), V1beta1JSONSchemaProps not = default(V1beta1JSONSchemaProps), bool? nullable = default(bool?), IList<V1beta1JSONSchemaProps> oneOf = default(IList<V1beta1JSONSchemaProps>), string pattern = default(string), IDictionary<string, V1beta1JSONSchemaProps> patternProperties = default(IDictionary<string, V1beta1JSONSchemaProps>), IDictionary<string, V1beta1JSONSchemaProps> properties = default(IDictionary<string, V1beta1JSONSchemaProps>), IList<string> required = default(IList<string>), string title = default(string), string type = default(string), bool? uniqueItems = default(bool?), bool? xKubernetesEmbeddedResource = default(bool?), bool? xKubernetesIntOrString = default(bool?), bool? xKubernetesPreserveUnknownFields = default(bool?))
|
||||
{
|
||||
RefProperty = refProperty;
|
||||
Schema = schema;
|
||||
@@ -82,6 +113,9 @@ namespace k8s.Models
|
||||
Title = title;
|
||||
Type = type;
|
||||
UniqueItems = uniqueItems;
|
||||
XKubernetesEmbeddedResource = xKubernetesEmbeddedResource;
|
||||
XKubernetesIntOrString = xKubernetesIntOrString;
|
||||
XKubernetesPreserveUnknownFields = xKubernetesPreserveUnknownFields;
|
||||
CustomInit();
|
||||
}
|
||||
|
||||
@@ -125,9 +159,10 @@ namespace k8s.Models
|
||||
public IList<V1beta1JSONSchemaProps> AnyOf { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets JSON represents any valid JSON value. These types are
|
||||
/// supported: bool, int64, float64, string, []interface{},
|
||||
/// map[string]interface{} and nil.
|
||||
/// Gets or sets default is a default value for undefined object
|
||||
/// fields. Defaulting is an alpha feature under the
|
||||
/// CustomResourceDefaulting feature gate. Defaulting requires
|
||||
/// spec.preserveUnknownFields to be false.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "default")]
|
||||
public object DefaultProperty { get; set; }
|
||||
@@ -288,5 +323,46 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "uniqueItems")]
|
||||
public bool? UniqueItems { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets x-kubernetes-embedded-resource defines that the value
|
||||
/// is an embedded Kubernetes runtime.Object, with TypeMeta and
|
||||
/// ObjectMeta. The type must be object. It is allowed to further
|
||||
/// restrict the embedded object. kind, apiVersion and metadata are
|
||||
/// validated automatically. x-kubernetes-preserve-unknown-fields is
|
||||
/// allowed to be true, but does not have to be if the object is fully
|
||||
/// specified (up to kind, apiVersion, metadata).
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "x-kubernetes-embedded-resource")]
|
||||
public bool? XKubernetesEmbeddedResource { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets x-kubernetes-int-or-string specifies that this value
|
||||
/// is either an integer or a string. If this is true, an empty type is
|
||||
/// allowed and type as child of anyOf is permitted if following one of
|
||||
/// the following patterns:
|
||||
///
|
||||
/// 1) anyOf:
|
||||
/// - type: integer
|
||||
/// - type: string
|
||||
/// 2) allOf:
|
||||
/// - anyOf:
|
||||
/// - type: integer
|
||||
/// - type: string
|
||||
/// - ... zero or more
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "x-kubernetes-int-or-string")]
|
||||
public bool? XKubernetesIntOrString { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets x-kubernetes-preserve-unknown-fields stops the API
|
||||
/// server decoding step from pruning fields which are not specified in
|
||||
/// the validation schema. This affects fields recursively, but
|
||||
/// switches back to normal pruning behaviour if nested properties or
|
||||
/// additionalProperties are specified in the schema. This can either
|
||||
/// be true or undefined. False is forbidden.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "x-kubernetes-preserve-unknown-fields")]
|
||||
public bool? XKubernetesPreserveUnknownFields { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
400
src/KubernetesClient/generated/Models/V1beta1MutatingWebhook.cs
Normal file
400
src/KubernetesClient/generated/Models/V1beta1MutatingWebhook.cs
Normal file
@@ -0,0 +1,400 @@
|
||||
// <auto-generated>
|
||||
// Code generated by Microsoft (R) AutoRest Code Generator.
|
||||
// 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;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
/// <summary>
|
||||
/// MutatingWebhook describes an admission webhook and the resources and
|
||||
/// operations it applies to.
|
||||
/// </summary>
|
||||
public partial class V1beta1MutatingWebhook
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the V1beta1MutatingWebhook class.
|
||||
/// </summary>
|
||||
public V1beta1MutatingWebhook()
|
||||
{
|
||||
CustomInit();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the V1beta1MutatingWebhook class.
|
||||
/// </summary>
|
||||
/// <param name="clientConfig">ClientConfig defines how to communicate
|
||||
/// with the hook. Required</param>
|
||||
/// <param name="name">The name of the admission webhook. Name should
|
||||
/// be fully qualified, e.g., imagepolicy.kubernetes.io, where
|
||||
/// "imagepolicy" is the name of the webhook, and kubernetes.io is the
|
||||
/// name of the organization. Required.</param>
|
||||
/// <param name="admissionReviewVersions">AdmissionReviewVersions is an
|
||||
/// ordered list of preferred `AdmissionReview` versions the Webhook
|
||||
/// expects. API server will try to use first version in the list which
|
||||
/// it supports. If none of the versions specified in this list
|
||||
/// supported by API server, validation will fail for this object. If a
|
||||
/// persisted webhook configuration specifies allowed versions and does
|
||||
/// not include any versions known to the API Server, calls to the
|
||||
/// webhook will fail and be subject to the failure policy. Default to
|
||||
/// `['v1beta1']`.</param>
|
||||
/// <param name="failurePolicy">FailurePolicy defines how unrecognized
|
||||
/// errors from the admission endpoint are handled - allowed values are
|
||||
/// Ignore or Fail. Defaults to Ignore.</param>
|
||||
/// <param name="matchPolicy">matchPolicy defines how the "rules" list
|
||||
/// is used to match incoming requests. Allowed values are "Exact" or
|
||||
/// "Equivalent".
|
||||
///
|
||||
/// - Exact: match a request only if it exactly matches a specified
|
||||
/// rule. For example, if deployments can be modified via apps/v1,
|
||||
/// apps/v1beta1, and extensions/v1beta1, but "rules" only included
|
||||
/// `apiGroups:["apps"], apiVersions:["v1"], resources:
|
||||
/// ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1
|
||||
/// would not be sent to the webhook.
|
||||
///
|
||||
/// - Equivalent: match a request if modifies a resource listed in
|
||||
/// rules, even via another API group or version. For example, if
|
||||
/// deployments can be modified via apps/v1, apps/v1beta1, and
|
||||
/// extensions/v1beta1, and "rules" only included `apiGroups:["apps"],
|
||||
/// apiVersions:["v1"], resources: ["deployments"]`, a request to
|
||||
/// apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1
|
||||
/// and sent to the webhook.
|
||||
///
|
||||
/// Defaults to "Exact"</param>
|
||||
/// <param name="namespaceSelector">NamespaceSelector decides whether
|
||||
/// to run the webhook on an object based on whether the namespace for
|
||||
/// that object matches the selector. If the object itself is a
|
||||
/// namespace, the matching is performed on object.metadata.labels. If
|
||||
/// the object is another cluster scoped resource, it never skips the
|
||||
/// webhook.
|
||||
///
|
||||
/// For example, to run the webhook on any objects whose namespace is
|
||||
/// not associated with "runlevel" of "0" or "1"; you will set the
|
||||
/// selector as follows: "namespaceSelector": {
|
||||
/// "matchExpressions": [
|
||||
/// {
|
||||
/// "key": "runlevel",
|
||||
/// "operator": "NotIn",
|
||||
/// "values": [
|
||||
/// "0",
|
||||
/// "1"
|
||||
/// ]
|
||||
/// }
|
||||
/// ]
|
||||
/// }
|
||||
///
|
||||
/// If instead you want to only run the webhook on any objects whose
|
||||
/// namespace is associated with the "environment" of "prod" or
|
||||
/// "staging"; you will set the selector as follows:
|
||||
/// "namespaceSelector": {
|
||||
/// "matchExpressions": [
|
||||
/// {
|
||||
/// "key": "environment",
|
||||
/// "operator": "In",
|
||||
/// "values": [
|
||||
/// "prod",
|
||||
/// "staging"
|
||||
/// ]
|
||||
/// }
|
||||
/// ]
|
||||
/// }
|
||||
///
|
||||
/// See
|
||||
/// https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
||||
/// for more examples of label selectors.
|
||||
///
|
||||
/// Default to the empty LabelSelector, which matches
|
||||
/// everything.</param>
|
||||
/// <param name="objectSelector">ObjectSelector decides whether to run
|
||||
/// the webhook based on if the object has matching labels.
|
||||
/// objectSelector is evaluated against both the oldObject and
|
||||
/// newObject that would be sent to the webhook, and is considered to
|
||||
/// match if either object matches the selector. A null object
|
||||
/// (oldObject in the case of create, or newObject in the case of
|
||||
/// delete) or an object that cannot have labels (like a
|
||||
/// DeploymentRollback or a PodProxyOptions object) is not considered
|
||||
/// to match. Use the object selector only if the webhook is opt-in,
|
||||
/// because end users may skip the admission webhook by setting the
|
||||
/// labels. Default to the empty LabelSelector, which matches
|
||||
/// everything.</param>
|
||||
/// <param name="reinvocationPolicy">reinvocationPolicy indicates
|
||||
/// whether this webhook should be called multiple times as part of a
|
||||
/// single admission evaluation. Allowed values are "Never" and
|
||||
/// "IfNeeded".
|
||||
///
|
||||
/// Never: the webhook will not be called more than once in a single
|
||||
/// admission evaluation.
|
||||
///
|
||||
/// IfNeeded: the webhook will be called at least one additional time
|
||||
/// as part of the admission evaluation if the object being admitted is
|
||||
/// modified by other admission plugins after the initial webhook call.
|
||||
/// Webhooks that specify this option *must* be idempotent, able to
|
||||
/// process objects they previously admitted. Note: * the number of
|
||||
/// additional invocations is not guaranteed to be exactly one. * if
|
||||
/// additional invocations result in further modifications to the
|
||||
/// object, webhooks are not guaranteed to be invoked again. * webhooks
|
||||
/// that use this option may be reordered to minimize the number of
|
||||
/// additional invocations. * to validate an object after all mutations
|
||||
/// are guaranteed complete, use a validating admission webhook
|
||||
/// instead.
|
||||
///
|
||||
/// Defaults to "Never".</param>
|
||||
/// <param name="rules">Rules describes what operations on what
|
||||
/// resources/subresources the webhook cares about. The webhook cares
|
||||
/// about an operation if it matches _any_ Rule. However, in order to
|
||||
/// prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks
|
||||
/// from putting the cluster in a state which cannot be recovered from
|
||||
/// without completely disabling the plugin,
|
||||
/// ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks are never
|
||||
/// called on admission requests for ValidatingWebhookConfiguration and
|
||||
/// MutatingWebhookConfiguration objects.</param>
|
||||
/// <param name="sideEffects">SideEffects states whether this webhookk
|
||||
/// has side effects. Acceptable values are: Unknown, None, Some,
|
||||
/// NoneOnDryRun Webhooks with side effects MUST implement a
|
||||
/// reconciliation system, since a request may be rejected by a future
|
||||
/// step in the admission change and the side effects therefore need to
|
||||
/// be undone. Requests with the dryRun attribute will be auto-rejected
|
||||
/// if they match a webhook with sideEffects == Unknown or Some.
|
||||
/// Defaults to Unknown.</param>
|
||||
/// <param name="timeoutSeconds">TimeoutSeconds specifies the timeout
|
||||
/// for this webhook. After the timeout passes, the webhook call will
|
||||
/// be ignored or the API call will fail based on the failure policy.
|
||||
/// The timeout value must be between 1 and 30 seconds. Default to 30
|
||||
/// seconds.</param>
|
||||
public V1beta1MutatingWebhook(Admissionregistrationv1beta1WebhookClientConfig clientConfig, string name, IList<string> admissionReviewVersions = default(IList<string>), string failurePolicy = default(string), string matchPolicy = default(string), V1LabelSelector namespaceSelector = default(V1LabelSelector), V1LabelSelector objectSelector = default(V1LabelSelector), string reinvocationPolicy = default(string), IList<V1beta1RuleWithOperations> rules = default(IList<V1beta1RuleWithOperations>), string sideEffects = default(string), int? timeoutSeconds = default(int?))
|
||||
{
|
||||
AdmissionReviewVersions = admissionReviewVersions;
|
||||
ClientConfig = clientConfig;
|
||||
FailurePolicy = failurePolicy;
|
||||
MatchPolicy = matchPolicy;
|
||||
Name = name;
|
||||
NamespaceSelector = namespaceSelector;
|
||||
ObjectSelector = objectSelector;
|
||||
ReinvocationPolicy = reinvocationPolicy;
|
||||
Rules = rules;
|
||||
SideEffects = sideEffects;
|
||||
TimeoutSeconds = timeoutSeconds;
|
||||
CustomInit();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// An initialization method that performs custom operations like setting defaults
|
||||
/// </summary>
|
||||
partial void CustomInit();
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets admissionReviewVersions is an ordered list of
|
||||
/// preferred `AdmissionReview` versions the Webhook expects. API
|
||||
/// server will try to use first version in the list which it supports.
|
||||
/// If none of the versions specified in this list supported by API
|
||||
/// server, validation will fail for this object. If a persisted
|
||||
/// webhook configuration specifies allowed versions and does not
|
||||
/// include any versions known to the API Server, calls to the webhook
|
||||
/// will fail and be subject to the failure policy. Default to
|
||||
/// `['v1beta1']`.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "admissionReviewVersions")]
|
||||
public IList<string> AdmissionReviewVersions { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets clientConfig defines how to communicate with the hook.
|
||||
/// Required
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "clientConfig")]
|
||||
public Admissionregistrationv1beta1WebhookClientConfig ClientConfig { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets failurePolicy defines how unrecognized errors from the
|
||||
/// admission endpoint are handled - allowed values are Ignore or Fail.
|
||||
/// Defaults to Ignore.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "failurePolicy")]
|
||||
public string FailurePolicy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets matchPolicy defines how the "rules" list is used to
|
||||
/// match incoming requests. Allowed values are "Exact" or
|
||||
/// "Equivalent".
|
||||
///
|
||||
/// - Exact: match a request only if it exactly matches a specified
|
||||
/// rule. For example, if deployments can be modified via apps/v1,
|
||||
/// apps/v1beta1, and extensions/v1beta1, but "rules" only included
|
||||
/// `apiGroups:["apps"], apiVersions:["v1"], resources:
|
||||
/// ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1
|
||||
/// would not be sent to the webhook.
|
||||
///
|
||||
/// - Equivalent: match a request if modifies a resource listed in
|
||||
/// rules, even via another API group or version. For example, if
|
||||
/// deployments can be modified via apps/v1, apps/v1beta1, and
|
||||
/// extensions/v1beta1, and "rules" only included `apiGroups:["apps"],
|
||||
/// apiVersions:["v1"], resources: ["deployments"]`, a request to
|
||||
/// apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1
|
||||
/// and sent to the webhook.
|
||||
///
|
||||
/// Defaults to "Exact"
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "matchPolicy")]
|
||||
public string MatchPolicy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the name of the admission webhook. Name should be
|
||||
/// fully qualified, e.g., imagepolicy.kubernetes.io, where
|
||||
/// "imagepolicy" is the name of the webhook, and kubernetes.io is the
|
||||
/// name of the organization. Required.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "name")]
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets namespaceSelector decides whether to run the webhook
|
||||
/// on an object based on whether the namespace for that object matches
|
||||
/// the selector. If the object itself is a namespace, the matching is
|
||||
/// performed on object.metadata.labels. If the object is another
|
||||
/// cluster scoped resource, it never skips the webhook.
|
||||
///
|
||||
/// For example, to run the webhook on any objects whose namespace is
|
||||
/// not associated with "runlevel" of "0" or "1"; you will set the
|
||||
/// selector as follows: "namespaceSelector": {
|
||||
/// "matchExpressions": [
|
||||
/// {
|
||||
/// "key": "runlevel",
|
||||
/// "operator": "NotIn",
|
||||
/// "values": [
|
||||
/// "0",
|
||||
/// "1"
|
||||
/// ]
|
||||
/// }
|
||||
/// ]
|
||||
/// }
|
||||
///
|
||||
/// If instead you want to only run the webhook on any objects whose
|
||||
/// namespace is associated with the "environment" of "prod" or
|
||||
/// "staging"; you will set the selector as follows:
|
||||
/// "namespaceSelector": {
|
||||
/// "matchExpressions": [
|
||||
/// {
|
||||
/// "key": "environment",
|
||||
/// "operator": "In",
|
||||
/// "values": [
|
||||
/// "prod",
|
||||
/// "staging"
|
||||
/// ]
|
||||
/// }
|
||||
/// ]
|
||||
/// }
|
||||
///
|
||||
/// See
|
||||
/// https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
||||
/// for more examples of label selectors.
|
||||
///
|
||||
/// Default to the empty LabelSelector, which matches everything.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "namespaceSelector")]
|
||||
public V1LabelSelector NamespaceSelector { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets objectSelector decides whether to run the webhook
|
||||
/// based on if the object has matching labels. objectSelector is
|
||||
/// evaluated against both the oldObject and newObject that would be
|
||||
/// sent to the webhook, and is considered to match if either object
|
||||
/// matches the selector. A null object (oldObject in the case of
|
||||
/// create, or newObject in the case of delete) or an object that
|
||||
/// cannot have labels (like a DeploymentRollback or a PodProxyOptions
|
||||
/// object) is not considered to match. Use the object selector only if
|
||||
/// the webhook is opt-in, because end users may skip the admission
|
||||
/// webhook by setting the labels. Default to the empty LabelSelector,
|
||||
/// which matches everything.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "objectSelector")]
|
||||
public V1LabelSelector ObjectSelector { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets reinvocationPolicy indicates whether this webhook
|
||||
/// should be called multiple times as part of a single admission
|
||||
/// evaluation. Allowed values are "Never" and "IfNeeded".
|
||||
///
|
||||
/// Never: the webhook will not be called more than once in a single
|
||||
/// admission evaluation.
|
||||
///
|
||||
/// IfNeeded: the webhook will be called at least one additional time
|
||||
/// as part of the admission evaluation if the object being admitted is
|
||||
/// modified by other admission plugins after the initial webhook call.
|
||||
/// Webhooks that specify this option *must* be idempotent, able to
|
||||
/// process objects they previously admitted. Note: * the number of
|
||||
/// additional invocations is not guaranteed to be exactly one. * if
|
||||
/// additional invocations result in further modifications to the
|
||||
/// object, webhooks are not guaranteed to be invoked again. * webhooks
|
||||
/// that use this option may be reordered to minimize the number of
|
||||
/// additional invocations. * to validate an object after all mutations
|
||||
/// are guaranteed complete, use a validating admission webhook
|
||||
/// instead.
|
||||
///
|
||||
/// Defaults to "Never".
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "reinvocationPolicy")]
|
||||
public string ReinvocationPolicy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets rules describes what operations on what
|
||||
/// resources/subresources the webhook cares about. The webhook cares
|
||||
/// about an operation if it matches _any_ Rule. However, in order to
|
||||
/// prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks
|
||||
/// from putting the cluster in a state which cannot be recovered from
|
||||
/// without completely disabling the plugin,
|
||||
/// ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks are never
|
||||
/// called on admission requests for ValidatingWebhookConfiguration and
|
||||
/// MutatingWebhookConfiguration objects.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "rules")]
|
||||
public IList<V1beta1RuleWithOperations> Rules { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets sideEffects states whether this webhookk has side
|
||||
/// effects. Acceptable values are: Unknown, None, Some, NoneOnDryRun
|
||||
/// Webhooks with side effects MUST implement a reconciliation system,
|
||||
/// since a request may be rejected by a future step in the admission
|
||||
/// change and the side effects therefore need to be undone. Requests
|
||||
/// with the dryRun attribute will be auto-rejected if they match a
|
||||
/// webhook with sideEffects == Unknown or Some. Defaults to Unknown.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "sideEffects")]
|
||||
public string SideEffects { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets timeoutSeconds specifies the timeout for this webhook.
|
||||
/// After the timeout passes, the webhook call will be ignored or the
|
||||
/// API call will fail based on the failure policy. The timeout value
|
||||
/// must be between 1 and 30 seconds. Default to 30 seconds.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "timeoutSeconds")]
|
||||
public int? TimeoutSeconds { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Validate the object.
|
||||
/// </summary>
|
||||
/// <exception cref="ValidationException">
|
||||
/// Thrown if validation fails
|
||||
/// </exception>
|
||||
public virtual void Validate()
|
||||
{
|
||||
if (ClientConfig == null)
|
||||
{
|
||||
throw new ValidationException(ValidationRules.CannotBeNull, "ClientConfig");
|
||||
}
|
||||
if (Name == null)
|
||||
{
|
||||
throw new ValidationException(ValidationRules.CannotBeNull, "Name");
|
||||
}
|
||||
if (ClientConfig != null)
|
||||
{
|
||||
ClientConfig.Validate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -44,7 +44,7 @@ namespace k8s.Models
|
||||
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.</param>
|
||||
/// <param name="webhooks">Webhooks is a list of webhooks and the
|
||||
/// affected resources and operations.</param>
|
||||
public V1beta1MutatingWebhookConfiguration(string apiVersion = default(string), string kind = default(string), V1ObjectMeta metadata = default(V1ObjectMeta), IList<V1beta1Webhook> webhooks = default(IList<V1beta1Webhook>))
|
||||
public V1beta1MutatingWebhookConfiguration(string apiVersion = default(string), string kind = default(string), V1ObjectMeta metadata = default(V1ObjectMeta), IList<V1beta1MutatingWebhook> webhooks = default(IList<V1beta1MutatingWebhook>))
|
||||
{
|
||||
ApiVersion = apiVersion;
|
||||
Kind = kind;
|
||||
@@ -90,7 +90,7 @@ namespace k8s.Models
|
||||
/// resources and operations.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "webhooks")]
|
||||
public IList<V1beta1Webhook> Webhooks { get; set; }
|
||||
public IList<V1beta1MutatingWebhook> Webhooks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Validate the object.
|
||||
|
||||
@@ -53,13 +53,19 @@ namespace k8s.Models
|
||||
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds</param>
|
||||
/// <param name="metadata">Standard object's metadata. More info:
|
||||
/// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata</param>
|
||||
public V1beta1PriorityClass(int value, string apiVersion = default(string), string description = default(string), bool? globalDefault = default(bool?), string kind = default(string), V1ObjectMeta metadata = default(V1ObjectMeta))
|
||||
/// <param name="preemptionPolicy">PreemptionPolicy is the Policy for
|
||||
/// preempting pods with lower priority. One of Never,
|
||||
/// PreemptLowerPriority. Defaults to PreemptLowerPriority if unset.
|
||||
/// This field is alpha-level and is only honored by servers that
|
||||
/// enable the NonPreemptingPriority feature.</param>
|
||||
public V1beta1PriorityClass(int value, string apiVersion = default(string), string description = default(string), bool? globalDefault = default(bool?), string kind = default(string), V1ObjectMeta metadata = default(V1ObjectMeta), string preemptionPolicy = default(string))
|
||||
{
|
||||
ApiVersion = apiVersion;
|
||||
Description = description;
|
||||
GlobalDefault = globalDefault;
|
||||
Kind = kind;
|
||||
Metadata = metadata;
|
||||
PreemptionPolicy = preemptionPolicy;
|
||||
Value = value;
|
||||
CustomInit();
|
||||
}
|
||||
@@ -115,6 +121,16 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "metadata")]
|
||||
public V1ObjectMeta Metadata { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets preemptionPolicy is the Policy for preempting pods
|
||||
/// with lower priority. One of Never, PreemptLowerPriority. Defaults
|
||||
/// to PreemptLowerPriority if unset. This field is alpha-level and is
|
||||
/// only honored by servers that enable the NonPreemptingPriority
|
||||
/// feature.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "preemptionPolicy")]
|
||||
public string PreemptionPolicy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the value of this priority class. This is the actual
|
||||
/// priority that pods receive when they have the name of this class in
|
||||
|
||||
@@ -13,21 +13,21 @@ namespace k8s.Models
|
||||
using System.Linq;
|
||||
|
||||
/// <summary>
|
||||
/// Webhook describes an admission webhook and the resources and operations
|
||||
/// it applies to.
|
||||
/// ValidatingWebhook describes an admission webhook and the resources and
|
||||
/// operations it applies to.
|
||||
/// </summary>
|
||||
public partial class V1beta1Webhook
|
||||
public partial class V1beta1ValidatingWebhook
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the V1beta1Webhook class.
|
||||
/// Initializes a new instance of the V1beta1ValidatingWebhook class.
|
||||
/// </summary>
|
||||
public V1beta1Webhook()
|
||||
public V1beta1ValidatingWebhook()
|
||||
{
|
||||
CustomInit();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the V1beta1Webhook class.
|
||||
/// Initializes a new instance of the V1beta1ValidatingWebhook class.
|
||||
/// </summary>
|
||||
/// <param name="clientConfig">ClientConfig defines how to communicate
|
||||
/// with the hook. Required</param>
|
||||
@@ -47,6 +47,26 @@ namespace k8s.Models
|
||||
/// <param name="failurePolicy">FailurePolicy defines how unrecognized
|
||||
/// errors from the admission endpoint are handled - allowed values are
|
||||
/// Ignore or Fail. Defaults to Ignore.</param>
|
||||
/// <param name="matchPolicy">matchPolicy defines how the "rules" list
|
||||
/// is used to match incoming requests. Allowed values are "Exact" or
|
||||
/// "Equivalent".
|
||||
///
|
||||
/// - Exact: match a request only if it exactly matches a specified
|
||||
/// rule. For example, if deployments can be modified via apps/v1,
|
||||
/// apps/v1beta1, and extensions/v1beta1, but "rules" only included
|
||||
/// `apiGroups:["apps"], apiVersions:["v1"], resources:
|
||||
/// ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1
|
||||
/// would not be sent to the webhook.
|
||||
///
|
||||
/// - Equivalent: match a request if modifies a resource listed in
|
||||
/// rules, even via another API group or version. For example, if
|
||||
/// deployments can be modified via apps/v1, apps/v1beta1, and
|
||||
/// extensions/v1beta1, and "rules" only included `apiGroups:["apps"],
|
||||
/// apiVersions:["v1"], resources: ["deployments"]`, a request to
|
||||
/// apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1
|
||||
/// and sent to the webhook.
|
||||
///
|
||||
/// Defaults to "Exact"</param>
|
||||
/// <param name="namespaceSelector">NamespaceSelector decides whether
|
||||
/// to run the webhook on an object based on whether the namespace for
|
||||
/// that object matches the selector. If the object itself is a
|
||||
@@ -86,11 +106,23 @@ namespace k8s.Models
|
||||
/// }
|
||||
///
|
||||
/// See
|
||||
/// https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
||||
/// https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
|
||||
/// for more examples of label selectors.
|
||||
///
|
||||
/// Default to the empty LabelSelector, which matches
|
||||
/// everything.</param>
|
||||
/// <param name="objectSelector">ObjectSelector decides whether to run
|
||||
/// the webhook based on if the object has matching labels.
|
||||
/// objectSelector is evaluated against both the oldObject and
|
||||
/// newObject that would be sent to the webhook, and is considered to
|
||||
/// match if either object matches the selector. A null object
|
||||
/// (oldObject in the case of create, or newObject in the case of
|
||||
/// delete) or an object that cannot have labels (like a
|
||||
/// DeploymentRollback or a PodProxyOptions object) is not considered
|
||||
/// to match. Use the object selector only if the webhook is opt-in,
|
||||
/// because end users may skip the admission webhook by setting the
|
||||
/// labels. Default to the empty LabelSelector, which matches
|
||||
/// everything.</param>
|
||||
/// <param name="rules">Rules describes what operations on what
|
||||
/// resources/subresources the webhook cares about. The webhook cares
|
||||
/// about an operation if it matches _any_ Rule. However, in order to
|
||||
@@ -113,13 +145,15 @@ namespace k8s.Models
|
||||
/// be ignored or the API call will fail based on the failure policy.
|
||||
/// The timeout value must be between 1 and 30 seconds. Default to 30
|
||||
/// seconds.</param>
|
||||
public V1beta1Webhook(Admissionregistrationv1beta1WebhookClientConfig clientConfig, string name, IList<string> admissionReviewVersions = default(IList<string>), string failurePolicy = default(string), V1LabelSelector namespaceSelector = default(V1LabelSelector), IList<V1beta1RuleWithOperations> rules = default(IList<V1beta1RuleWithOperations>), string sideEffects = default(string), int? timeoutSeconds = default(int?))
|
||||
public V1beta1ValidatingWebhook(Admissionregistrationv1beta1WebhookClientConfig clientConfig, string name, IList<string> admissionReviewVersions = default(IList<string>), string failurePolicy = default(string), string matchPolicy = default(string), V1LabelSelector namespaceSelector = default(V1LabelSelector), V1LabelSelector objectSelector = default(V1LabelSelector), IList<V1beta1RuleWithOperations> rules = default(IList<V1beta1RuleWithOperations>), string sideEffects = default(string), int? timeoutSeconds = default(int?))
|
||||
{
|
||||
AdmissionReviewVersions = admissionReviewVersions;
|
||||
ClientConfig = clientConfig;
|
||||
FailurePolicy = failurePolicy;
|
||||
MatchPolicy = matchPolicy;
|
||||
Name = name;
|
||||
NamespaceSelector = namespaceSelector;
|
||||
ObjectSelector = objectSelector;
|
||||
Rules = rules;
|
||||
SideEffects = sideEffects;
|
||||
TimeoutSeconds = timeoutSeconds;
|
||||
@@ -160,6 +194,31 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "failurePolicy")]
|
||||
public string FailurePolicy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets matchPolicy defines how the "rules" list is used to
|
||||
/// match incoming requests. Allowed values are "Exact" or
|
||||
/// "Equivalent".
|
||||
///
|
||||
/// - Exact: match a request only if it exactly matches a specified
|
||||
/// rule. For example, if deployments can be modified via apps/v1,
|
||||
/// apps/v1beta1, and extensions/v1beta1, but "rules" only included
|
||||
/// `apiGroups:["apps"], apiVersions:["v1"], resources:
|
||||
/// ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1
|
||||
/// would not be sent to the webhook.
|
||||
///
|
||||
/// - Equivalent: match a request if modifies a resource listed in
|
||||
/// rules, even via another API group or version. For example, if
|
||||
/// deployments can be modified via apps/v1, apps/v1beta1, and
|
||||
/// extensions/v1beta1, and "rules" only included `apiGroups:["apps"],
|
||||
/// apiVersions:["v1"], resources: ["deployments"]`, a request to
|
||||
/// apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1
|
||||
/// and sent to the webhook.
|
||||
///
|
||||
/// Defaults to "Exact"
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "matchPolicy")]
|
||||
public string MatchPolicy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the name of the admission webhook. Name should be
|
||||
/// fully qualified, e.g., imagepolicy.kubernetes.io, where
|
||||
@@ -208,7 +267,7 @@ namespace k8s.Models
|
||||
/// }
|
||||
///
|
||||
/// See
|
||||
/// https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
||||
/// https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
|
||||
/// for more examples of label selectors.
|
||||
///
|
||||
/// Default to the empty LabelSelector, which matches everything.
|
||||
@@ -216,6 +275,22 @@ namespace k8s.Models
|
||||
[JsonProperty(PropertyName = "namespaceSelector")]
|
||||
public V1LabelSelector NamespaceSelector { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets objectSelector decides whether to run the webhook
|
||||
/// based on if the object has matching labels. objectSelector is
|
||||
/// evaluated against both the oldObject and newObject that would be
|
||||
/// sent to the webhook, and is considered to match if either object
|
||||
/// matches the selector. A null object (oldObject in the case of
|
||||
/// create, or newObject in the case of delete) or an object that
|
||||
/// cannot have labels (like a DeploymentRollback or a PodProxyOptions
|
||||
/// object) is not considered to match. Use the object selector only if
|
||||
/// the webhook is opt-in, because end users may skip the admission
|
||||
/// webhook by setting the labels. Default to the empty LabelSelector,
|
||||
/// which matches everything.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "objectSelector")]
|
||||
public V1LabelSelector ObjectSelector { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets rules describes what operations on what
|
||||
/// resources/subresources the webhook cares about. The webhook cares
|
||||
@@ -44,7 +44,7 @@ namespace k8s.Models
|
||||
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata.</param>
|
||||
/// <param name="webhooks">Webhooks is a list of webhooks and the
|
||||
/// affected resources and operations.</param>
|
||||
public V1beta1ValidatingWebhookConfiguration(string apiVersion = default(string), string kind = default(string), V1ObjectMeta metadata = default(V1ObjectMeta), IList<V1beta1Webhook> webhooks = default(IList<V1beta1Webhook>))
|
||||
public V1beta1ValidatingWebhookConfiguration(string apiVersion = default(string), string kind = default(string), V1ObjectMeta metadata = default(V1ObjectMeta), IList<V1beta1ValidatingWebhook> webhooks = default(IList<V1beta1ValidatingWebhook>))
|
||||
{
|
||||
ApiVersion = apiVersion;
|
||||
Kind = kind;
|
||||
@@ -90,7 +90,7 @@ namespace k8s.Models
|
||||
/// resources and operations.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "webhooks")]
|
||||
public IList<V1beta1Webhook> Webhooks { get; set; }
|
||||
public IList<V1beta1ValidatingWebhook> Webhooks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Validate the object.
|
||||
|
||||
@@ -30,10 +30,18 @@ namespace k8s.Models
|
||||
/// Initializes a new instance of the V1beta1VolumeAttachmentSource
|
||||
/// class.
|
||||
/// </summary>
|
||||
/// <param name="inlineVolumeSpec">inlineVolumeSpec contains all the
|
||||
/// information necessary to attach a persistent volume defined by a
|
||||
/// pod's inline VolumeSource. This field is populated only for the
|
||||
/// CSIMigration feature. It contains translated fields from a pod's
|
||||
/// inline VolumeSource to a PersistentVolumeSpec. This field is
|
||||
/// alpha-level and is only honored by servers that enabled the
|
||||
/// CSIMigration feature.</param>
|
||||
/// <param name="persistentVolumeName">Name of the persistent volume to
|
||||
/// attach.</param>
|
||||
public V1beta1VolumeAttachmentSource(string persistentVolumeName = default(string))
|
||||
public V1beta1VolumeAttachmentSource(V1PersistentVolumeSpec inlineVolumeSpec = default(V1PersistentVolumeSpec), string persistentVolumeName = default(string))
|
||||
{
|
||||
InlineVolumeSpec = inlineVolumeSpec;
|
||||
PersistentVolumeName = persistentVolumeName;
|
||||
CustomInit();
|
||||
}
|
||||
@@ -43,11 +51,36 @@ namespace k8s.Models
|
||||
/// </summary>
|
||||
partial void CustomInit();
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets inlineVolumeSpec contains all the information
|
||||
/// necessary to attach a persistent volume defined by a pod's inline
|
||||
/// VolumeSource. This field is populated only for the CSIMigration
|
||||
/// feature. It contains translated fields from a pod's inline
|
||||
/// VolumeSource to a PersistentVolumeSpec. This field is alpha-level
|
||||
/// and is only honored by servers that enabled the CSIMigration
|
||||
/// feature.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "inlineVolumeSpec")]
|
||||
public V1PersistentVolumeSpec InlineVolumeSpec { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets name of the persistent volume to attach.
|
||||
/// </summary>
|
||||
[JsonProperty(PropertyName = "persistentVolumeName")]
|
||||
public string PersistentVolumeName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Validate the object.
|
||||
/// </summary>
|
||||
/// <exception cref="Microsoft.Rest.ValidationException">
|
||||
/// Thrown if validation fails
|
||||
/// </exception>
|
||||
public virtual void Validate()
|
||||
{
|
||||
if (InlineVolumeSpec != null)
|
||||
{
|
||||
InlineVolumeSpec.Validate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,6 +89,10 @@ namespace k8s.Models
|
||||
{
|
||||
throw new ValidationException(ValidationRules.CannotBeNull, "Source");
|
||||
}
|
||||
if (Source != null)
|
||||
{
|
||||
Source.Validate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user