generate for 1.13 (#223)

* generate for 1.13 and bump ver to 1.4

* fix examples for 1.13

* update outdated cert
This commit is contained in:
Boshi Lian
2018-12-11 21:10:39 -08:00
committed by Kubernetes Prow Robot
parent b7f79c924f
commit 1600e44b00
54 changed files with 36684 additions and 9964 deletions

View File

@@ -1,3 +1,3 @@
export KUBERNETES_BRANCH=v1.12.0
export KUBERNETES_BRANCH=v1.13.0
export CLIENT_VERSION=0.0.1
export PACKAGE_NAME=k8s

View File

@@ -67,7 +67,7 @@ namespace @namespace
ListNamespaces(client);
var status = client.DeleteNamespace(new V1DeleteOptions(), ns.Metadata.Name);
var status = client.DeleteNamespace(ns.Metadata.Name, new V1DeleteOptions());
if (status.HasObject)
{

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

View File

@@ -6,7 +6,6 @@
namespace k8s.Models
{
using Microsoft.Rest;
using Newtonsoft.Json;
using System.Linq;
@@ -14,22 +13,24 @@ namespace k8s.Models
/// WebhookClientConfig contains the information to make a TLS connection
/// with the webhook
/// </summary>
public partial class V1beta1WebhookClientConfig
public partial class Admissionregistrationv1beta1WebhookClientConfig
{
/// <summary>
/// Initializes a new instance of the V1beta1WebhookClientConfig class.
/// Initializes a new instance of the
/// Admissionregistrationv1beta1WebhookClientConfig class.
/// </summary>
public V1beta1WebhookClientConfig()
public Admissionregistrationv1beta1WebhookClientConfig()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1beta1WebhookClientConfig class.
/// Initializes a new instance of the
/// Admissionregistrationv1beta1WebhookClientConfig class.
/// </summary>
/// <param name="caBundle">`caBundle` is a PEM encoded CA bundle which
/// will be used to validate the webhook's server certificate.
/// Required.</param>
/// will be used to validate the webhook's server certificate. If
/// unspecified, system trust roots on the apiserver are used.</param>
/// <param name="service">`service` is a reference to the service for
/// this webhook. Either `service` or `url` must be specified.
///
@@ -39,8 +40,8 @@ namespace k8s.Models
/// Port 443 will be used if it is open, otherwise it is an
/// error.</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.
/// standard URL form (`scheme://host:port/path`). Exactly one of `url`
/// or `service` must be specified.
///
/// The `host` should not refer to a service running in the cluster;
/// use the `service` field instead. The host might be resolved via
@@ -63,7 +64,7 @@ namespace k8s.Models
/// Attempting to use a user or basic auth e.g. "user:password@" is not
/// allowed. Fragments ("#...") and query parameters ("?...") are not
/// allowed, either.</param>
public V1beta1WebhookClientConfig(byte[] caBundle, Admissionregistrationv1beta1ServiceReference service = default(Admissionregistrationv1beta1ServiceReference), string url = default(string))
public Admissionregistrationv1beta1WebhookClientConfig(byte[] caBundle = default(byte[]), Admissionregistrationv1beta1ServiceReference service = default(Admissionregistrationv1beta1ServiceReference), string url = default(string))
{
CaBundle = caBundle;
Service = service;
@@ -78,7 +79,8 @@ namespace k8s.Models
/// <summary>
/// Gets or sets `caBundle` is a PEM encoded CA bundle which will be
/// used to validate the webhook's server certificate. Required.
/// used to validate the webhook's server certificate. If unspecified,
/// system trust roots on the apiserver are used.
/// </summary>
[JsonProperty(PropertyName = "caBundle")]
public byte[] CaBundle { get; set; }
@@ -97,7 +99,7 @@ namespace k8s.Models
/// <summary>
/// Gets or sets `url` gives the location of the webhook, in standard
/// URL form (`[scheme://]host:port/path`). Exactly one of `url` or
/// URL form (`scheme://host:port/path`). Exactly one of `url` or
/// `service` must be specified.
///
/// The `host` should not refer to a service running in the cluster;
@@ -128,15 +130,11 @@ namespace k8s.Models
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="ValidationException">
/// <exception cref="Microsoft.Rest.ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (CaBundle == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "CaBundle");
}
if (Service != null)
{
Service.Validate();

View File

@@ -0,0 +1,87 @@
// <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.Linq;
/// <summary>
/// ServiceReference holds a reference to Service.legacy.k8s.io
/// </summary>
public partial class Apiextensionsv1beta1ServiceReference
{
/// <summary>
/// Initializes a new instance of the
/// Apiextensionsv1beta1ServiceReference class.
/// </summary>
public Apiextensionsv1beta1ServiceReference()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the
/// Apiextensionsv1beta1ServiceReference class.
/// </summary>
/// <param name="name">`name` is the name of the service.
/// Required</param>
/// <param name="namespaceProperty">`namespace` is the namespace of the
/// 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))
{
Name = name;
NamespaceProperty = namespaceProperty;
Path = path;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets `name` is the name of the service. Required
/// </summary>
[JsonProperty(PropertyName = "name")]
public string Name { get; set; }
/// <summary>
/// Gets or sets `namespace` is the namespace of the service. Required
/// </summary>
[JsonProperty(PropertyName = "namespace")]
public string NamespaceProperty { get; set; }
/// <summary>
/// Gets or sets `path` is an optional URL path which will be sent in
/// any request to this service.
/// </summary>
[JsonProperty(PropertyName = "path")]
public string Path { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (Name == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Name");
}
if (NamespaceProperty == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "NamespaceProperty");
}
}
}
}

View File

@@ -0,0 +1,145 @@
// <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>
/// WebhookClientConfig contains the information to make a TLS connection
/// with the webhook. It has the same field as
/// admissionregistration.v1beta1.WebhookClientConfig.
/// </summary>
public partial class Apiextensionsv1beta1WebhookClientConfig
{
/// <summary>
/// Initializes a new instance of the
/// Apiextensionsv1beta1WebhookClientConfig class.
/// </summary>
public Apiextensionsv1beta1WebhookClientConfig()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the
/// Apiextensionsv1beta1WebhookClientConfig class.
/// </summary>
/// <param name="caBundle">`caBundle` is a PEM encoded CA bundle which
/// will be used to validate the webhook's server certificate. If
/// unspecified, system trust roots on the apiserver are used.</param>
/// <param name="service">`service` is a reference to the service for
/// 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>
/// <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.
///
/// The `host` should not refer to a service running in the cluster;
/// use the `service` field instead. The host might be resolved via
/// external DNS in some apiservers (e.g., `kube-apiserver` cannot
/// resolve in-cluster DNS as that would be a layering violation).
/// `host` may also be an IP address.
///
/// Please note that using `localhost` or `127.0.0.1` as a `host` is
/// risky unless you take great care to run this webhook on all hosts
/// which run an apiserver which might need to make calls to this
/// webhook. Such installs are likely to be non-portable, i.e., not
/// easy to turn up in a new cluster.
///
/// The scheme must be "https"; the URL must begin with "https://".
///
/// A path is optional, and if present may be any string permissible in
/// a URL. You may use the path to pass an arbitrary string to the
/// webhook, for example, a cluster identifier.
///
/// Attempting to use a user or basic auth e.g. "user:password@" is not
/// allowed. Fragments ("#...") and query parameters ("?...") are not
/// allowed, either.</param>
public Apiextensionsv1beta1WebhookClientConfig(byte[] caBundle = default(byte[]), Apiextensionsv1beta1ServiceReference service = default(Apiextensionsv1beta1ServiceReference), string url = default(string))
{
CaBundle = caBundle;
Service = service;
Url = url;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets `caBundle` is a PEM encoded CA bundle which will be
/// used to validate the webhook's server certificate. If unspecified,
/// system trust roots on the apiserver are used.
/// </summary>
[JsonProperty(PropertyName = "caBundle")]
public byte[] CaBundle { get; set; }
/// <summary>
/// Gets or sets `service` is a reference to the service for 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.
/// </summary>
[JsonProperty(PropertyName = "service")]
public Apiextensionsv1beta1ServiceReference Service { get; set; }
/// <summary>
/// Gets or sets `url` gives the location of the webhook, in standard
/// URL form (`scheme://host:port/path`). Exactly one of `url` or
/// `service` must be specified.
///
/// The `host` should not refer to a service running in the cluster;
/// use the `service` field instead. The host might be resolved via
/// external DNS in some apiservers (e.g., `kube-apiserver` cannot
/// resolve in-cluster DNS as that would be a layering violation).
/// `host` may also be an IP address.
///
/// Please note that using `localhost` or `127.0.0.1` as a `host` is
/// risky unless you take great care to run this webhook on all hosts
/// which run an apiserver which might need to make calls to this
/// webhook. Such installs are likely to be non-portable, i.e., not
/// easy to turn up in a new cluster.
///
/// The scheme must be "https"; the URL must begin with "https://".
///
/// A path is optional, and if present may be any string permissible in
/// a URL. You may use the path to pass an arbitrary string to the
/// webhook, for example, a cluster identifier.
///
/// Attempting to use a user or basic auth e.g. "user:password@" is not
/// allowed. Fragments ("#...") and query parameters ("?...") are not
/// allowed, either.
/// </summary>
[JsonProperty(PropertyName = "url")]
public string Url { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="Microsoft.Rest.ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (Service != null)
{
Service.Validate();
}
}
}
}

View File

@@ -50,7 +50,9 @@ namespace k8s.Models
/// 1.</param>
/// <param name="revisionHistoryLimit">The number of old ReplicaSets to
/// retain to allow rollback. This is a pointer to distinguish between
/// explicit zero and not specified.</param>
/// explicit zero and not specified. This is set to the max value of
/// int32 (i.e. 2147483647) by default, which means "retaining all old
/// RelicaSets".</param>
/// <param name="rollbackTo">DEPRECATED. The config this deployment is
/// rolling back to. Will be cleared after rollback is done.</param>
/// <param name="selector">Label selector for pods. Existing
@@ -116,7 +118,8 @@ namespace k8s.Models
/// <summary>
/// Gets or sets the number of old ReplicaSets to retain to allow
/// rollback. This is a pointer to distinguish between explicit zero
/// and not specified.
/// and not specified. This is set to the max value of int32 (i.e.
/// 2147483647) by default, which means "retaining all old RelicaSets".
/// </summary>
[JsonProperty(PropertyName = "revisionHistoryLimit")]
public int? RevisionHistoryLimit { get; set; }

View File

@@ -106,10 +106,14 @@ namespace k8s.Models
/// <param name="requiredDropCapabilities">requiredDropCapabilities are
/// the capabilities that will be dropped from the container. These
/// are required to be dropped and cannot be added.</param>
/// <param name="runAsGroup">RunAsGroup is the strategy that will
/// 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="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<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>), IList<string> volumes = default(IList<string>))
public Extensionsv1beta1PodSecurityPolicySpec(Extensionsv1beta1FSGroupStrategyOptions fsGroup, Extensionsv1beta1RunAsUserStrategyOptions runAsUser, Extensionsv1beta1SELinuxStrategyOptions seLinux, Extensionsv1beta1SupplementalGroupsStrategyOptions supplementalGroups, bool? allowPrivilegeEscalation = default(bool?), 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>))
{
AllowPrivilegeEscalation = allowPrivilegeEscalation;
AllowedCapabilities = allowedCapabilities;
@@ -128,6 +132,7 @@ namespace k8s.Models
Privileged = privileged;
ReadOnlyRootFilesystem = readOnlyRootFilesystem;
RequiredDropCapabilities = requiredDropCapabilities;
RunAsGroup = runAsGroup;
RunAsUser = runAsUser;
SeLinux = seLinux;
SupplementalGroups = supplementalGroups;
@@ -289,6 +294,15 @@ namespace k8s.Models
[JsonProperty(PropertyName = "requiredDropCapabilities")]
public IList<string> RequiredDropCapabilities { get; set; }
/// <summary>
/// Gets or sets runAsGroup is the strategy that will 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.
/// </summary>
[JsonProperty(PropertyName = "runAsGroup")]
public Extensionsv1beta1RunAsGroupStrategyOptions RunAsGroup { get; set; }
/// <summary>
/// Gets or sets runAsUser is the strategy that will dictate the
/// allowable RunAsUser values that may be set.
@@ -362,6 +376,10 @@ namespace k8s.Models
}
}
}
if (RunAsGroup != null)
{
RunAsGroup.Validate();
}
if (RunAsUser != null)
{
RunAsUser.Validate();

View File

@@ -0,0 +1,92 @@
// <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>
/// RunAsGroupStrategyOptions defines the strategy type and any options
/// used to create the strategy. Deprecated: use RunAsGroupStrategyOptions
/// from policy API Group instead.
/// </summary>
public partial class Extensionsv1beta1RunAsGroupStrategyOptions
{
/// <summary>
/// Initializes a new instance of the
/// Extensionsv1beta1RunAsGroupStrategyOptions class.
/// </summary>
public Extensionsv1beta1RunAsGroupStrategyOptions()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the
/// Extensionsv1beta1RunAsGroupStrategyOptions class.
/// </summary>
/// <param name="rule">rule is the strategy that will dictate the
/// allowable RunAsGroup values that may be set.</param>
/// <param name="ranges">ranges are the allowed ranges of gids that may
/// be used. If you would like to force a single gid then supply a
/// single range with the same start and end. Required for
/// MustRunAs.</param>
public Extensionsv1beta1RunAsGroupStrategyOptions(string rule, IList<Extensionsv1beta1IDRange> ranges = default(IList<Extensionsv1beta1IDRange>))
{
Ranges = ranges;
Rule = rule;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets ranges are the allowed ranges of gids that may be
/// used. If you would like to force a single gid then supply a single
/// range with the same start and end. Required for MustRunAs.
/// </summary>
[JsonProperty(PropertyName = "ranges")]
public IList<Extensionsv1beta1IDRange> Ranges { get; set; }
/// <summary>
/// Gets or sets rule is the strategy that will dictate the allowable
/// RunAsGroup values that may be set.
/// </summary>
[JsonProperty(PropertyName = "rule")]
public string Rule { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (Rule == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Rule");
}
if (Ranges != null)
{
foreach (var element in Ranges)
{
if (element != null)
{
element.Validate();
}
}
}
}
}
}

View File

@@ -105,10 +105,14 @@ namespace k8s.Models
/// <param name="requiredDropCapabilities">requiredDropCapabilities are
/// the capabilities that will be dropped from the container. These
/// are required to be dropped and cannot be added.</param>
/// <param name="runAsGroup">RunAsGroup is the strategy that will
/// 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="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<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>), IList<string> volumes = default(IList<string>))
public Policyv1beta1PodSecurityPolicySpec(Policyv1beta1FSGroupStrategyOptions fsGroup, Policyv1beta1RunAsUserStrategyOptions runAsUser, Policyv1beta1SELinuxStrategyOptions seLinux, Policyv1beta1SupplementalGroupsStrategyOptions supplementalGroups, bool? allowPrivilegeEscalation = default(bool?), 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>))
{
AllowPrivilegeEscalation = allowPrivilegeEscalation;
AllowedCapabilities = allowedCapabilities;
@@ -127,6 +131,7 @@ namespace k8s.Models
Privileged = privileged;
ReadOnlyRootFilesystem = readOnlyRootFilesystem;
RequiredDropCapabilities = requiredDropCapabilities;
RunAsGroup = runAsGroup;
RunAsUser = runAsUser;
SeLinux = seLinux;
SupplementalGroups = supplementalGroups;
@@ -288,6 +293,15 @@ namespace k8s.Models
[JsonProperty(PropertyName = "requiredDropCapabilities")]
public IList<string> RequiredDropCapabilities { get; set; }
/// <summary>
/// Gets or sets runAsGroup is the strategy that will 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.
/// </summary>
[JsonProperty(PropertyName = "runAsGroup")]
public Policyv1beta1RunAsGroupStrategyOptions RunAsGroup { get; set; }
/// <summary>
/// Gets or sets runAsUser is the strategy that will dictate the
/// allowable RunAsUser values that may be set.
@@ -361,6 +375,10 @@ namespace k8s.Models
}
}
}
if (RunAsGroup != null)
{
RunAsGroup.Validate();
}
if (RunAsUser != null)
{
RunAsUser.Validate();

View File

@@ -0,0 +1,91 @@
// <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>
/// RunAsGroupStrategyOptions defines the strategy type and any options
/// used to create the strategy.
/// </summary>
public partial class Policyv1beta1RunAsGroupStrategyOptions
{
/// <summary>
/// Initializes a new instance of the
/// Policyv1beta1RunAsGroupStrategyOptions class.
/// </summary>
public Policyv1beta1RunAsGroupStrategyOptions()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the
/// Policyv1beta1RunAsGroupStrategyOptions class.
/// </summary>
/// <param name="rule">rule is the strategy that will dictate the
/// allowable RunAsGroup values that may be set.</param>
/// <param name="ranges">ranges are the allowed ranges of gids that may
/// be used. If you would like to force a single gid then supply a
/// single range with the same start and end. Required for
/// MustRunAs.</param>
public Policyv1beta1RunAsGroupStrategyOptions(string rule, IList<Policyv1beta1IDRange> ranges = default(IList<Policyv1beta1IDRange>))
{
Ranges = ranges;
Rule = rule;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets ranges are the allowed ranges of gids that may be
/// used. If you would like to force a single gid then supply a single
/// range with the same start and end. Required for MustRunAs.
/// </summary>
[JsonProperty(PropertyName = "ranges")]
public IList<Policyv1beta1IDRange> Ranges { get; set; }
/// <summary>
/// Gets or sets rule is the strategy that will dictate the allowable
/// RunAsGroup values that may be set.
/// </summary>
[JsonProperty(PropertyName = "rule")]
public string Rule { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (Rule == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Rule");
}
if (Ranges != null)
{
foreach (var element in Ranges)
{
if (element != null)
{
element.Validate();
}
}
}
}
}
}

View File

@@ -61,8 +61,8 @@ namespace k8s.Models
/// of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1,
/// v11alpha2, foo1, foo10.</param>
/// <param name="caBundle">CABundle is a PEM encoded CA bundle which
/// will be used to validate an API server's serving
/// certificate.</param>
/// will be used to validate an API server's serving certificate. If
/// unspecified, system trust roots on the apiserver are used.</param>
/// <param name="group">Group is the API group name this server
/// hosts</param>
/// <param name="insecureSkipTLSVerify">InsecureSkipTLSVerify disables
@@ -90,7 +90,8 @@ namespace k8s.Models
/// <summary>
/// Gets or sets cABundle is a PEM encoded CA bundle which will be used
/// to validate an API server's serving certificate.
/// to validate an API server's serving certificate. If unspecified,
/// system trust roots on the apiserver are used.
/// </summary>
[JsonProperty(PropertyName = "caBundle")]
public byte[] CaBundle { get; set; }

View File

@@ -40,7 +40,7 @@ namespace k8s.Models
/// is a reference to the secret object containing sensitive
/// information to pass to the CSI driver to complete the CSI
/// ControllerPublishVolume and ControllerUnpublishVolume calls. This
/// field is optional, and may be empty if no secret is required. If
/// 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="fsType">Filesystem type to mount. Must be a filesystem
@@ -49,14 +49,14 @@ namespace k8s.Models
/// <param name="nodePublishSecretRef">NodePublishSecretRef is a
/// reference to the secret object containing sensitive information to
/// pass to the CSI driver to complete the CSI NodePublishVolume and
/// NodeUnpublishVolume calls. 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>
/// NodeUnpublishVolume calls. 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="nodeStageSecretRef">NodeStageSecretRef is a reference
/// to the secret object containing sensitive information to pass to
/// the CSI driver to complete the CSI NodeStageVolume and
/// NodeStageVolume and NodeUnstageVolume calls. This field is
/// optional, and may be empty if no secret is required. If the secret
/// 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="readOnlyProperty">Optional: The value to pass to
@@ -86,9 +86,9 @@ namespace k8s.Models
/// Gets or sets controllerPublishSecretRef is a reference to the
/// secret object containing sensitive information to pass to the CSI
/// driver to complete the CSI ControllerPublishVolume and
/// ControllerUnpublishVolume calls. 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.
/// ControllerUnpublishVolume calls. 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 = "controllerPublishSecretRef")]
public V1SecretReference ControllerPublishSecretRef { get; set; }
@@ -111,7 +111,7 @@ namespace k8s.Models
/// Gets or sets nodePublishSecretRef is a reference to the secret
/// object containing sensitive information to pass to the CSI driver
/// to complete the CSI NodePublishVolume and NodeUnpublishVolume
/// calls. This field is optional, and may be empty if no secret is
/// calls. 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>
@@ -122,7 +122,7 @@ namespace k8s.Models
/// Gets or sets nodeStageSecretRef is a reference to the secret object
/// containing sensitive information to pass to the CSI driver to
/// complete the CSI NodeStageVolume and NodeStageVolume and
/// NodeUnstageVolume calls. This field is optional, and may be empty
/// NodeUnstageVolume calls. 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>

View File

@@ -125,8 +125,8 @@ namespace k8s.Models
/// <param name="tty">Whether this container should allocate a TTY for
/// itself, also requires 'stdin' to be true. Default is false.</param>
/// <param name="volumeDevices">volumeDevices is the list of block
/// devices to be used by the container. This is an alpha feature and
/// may change in the future.</param>
/// devices to be used by the container. This is a beta
/// feature.</param>
/// <param name="volumeMounts">Pod volumes to mount into the
/// container's filesystem. Cannot be updated.</param>
/// <param name="workingDir">Container's working directory. If not
@@ -346,8 +346,7 @@ namespace k8s.Models
/// <summary>
/// Gets or sets volumeDevices is the list of block devices to be used
/// by the container. This is an alpha feature and may change in the
/// future.
/// by the container. This is a beta feature.
/// </summary>
[JsonProperty(PropertyName = "volumeDevices")]
public IList<V1VolumeDevice> VolumeDevices { get; set; }

View File

@@ -0,0 +1,111 @@
// <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.Linq;
/// <summary>
/// Represents a Glusterfs mount that lasts the lifetime of a pod.
/// Glusterfs volumes do not support ownership management or SELinux
/// relabeling.
/// </summary>
public partial class V1GlusterfsPersistentVolumeSource
{
/// <summary>
/// Initializes a new instance of the V1GlusterfsPersistentVolumeSource
/// class.
/// </summary>
public V1GlusterfsPersistentVolumeSource()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1GlusterfsPersistentVolumeSource
/// class.
/// </summary>
/// <param name="endpoints">EndpointsName is the endpoint name that
/// details Glusterfs topology. More info:
/// https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod</param>
/// <param name="path">Path is the Glusterfs volume path. More info:
/// https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod</param>
/// <param name="endpointsNamespace">EndpointsNamespace is the
/// namespace that contains Glusterfs endpoint. If this field is empty,
/// the EndpointNamespace defaults to the same namespace as the bound
/// PVC. More info:
/// https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod</param>
/// <param name="readOnlyProperty">ReadOnly here will force the
/// Glusterfs volume to be mounted with read-only permissions. Defaults
/// to false. More info:
/// https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod</param>
public V1GlusterfsPersistentVolumeSource(string endpoints, string path, string endpointsNamespace = default(string), bool? readOnlyProperty = default(bool?))
{
Endpoints = endpoints;
EndpointsNamespace = endpointsNamespace;
Path = path;
ReadOnlyProperty = readOnlyProperty;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets endpointsName is the endpoint name that details
/// Glusterfs topology. More info:
/// https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod
/// </summary>
[JsonProperty(PropertyName = "endpoints")]
public string Endpoints { get; set; }
/// <summary>
/// Gets or sets endpointsNamespace is the namespace that contains
/// Glusterfs endpoint. If this field is empty, the EndpointNamespace
/// defaults to the same namespace as the bound PVC. More info:
/// https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod
/// </summary>
[JsonProperty(PropertyName = "endpointsNamespace")]
public string EndpointsNamespace { get; set; }
/// <summary>
/// Gets or sets path is the Glusterfs volume path. More info:
/// https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod
/// </summary>
[JsonProperty(PropertyName = "path")]
public string Path { get; set; }
/// <summary>
/// Gets or sets readOnly here will force the Glusterfs volume to be
/// mounted with read-only permissions. Defaults to false. More info:
/// https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod
/// </summary>
[JsonProperty(PropertyName = "readOnly")]
public bool? ReadOnlyProperty { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (Endpoints == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Endpoints");
}
if (Path == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Path");
}
}
}
}

View File

@@ -12,8 +12,8 @@ namespace k8s.Models
/// <summary>
/// OwnerReference contains enough information to let you identify an
/// owning object. Currently, an owning object must be in the same
/// namespace, so there is no namespace field.
/// owning object. An owning object must be in the same namespace as the
/// dependent, or be cluster-scoped, so there is no namespace field.
/// </summary>
public partial class V1OwnerReference
{

View File

@@ -52,8 +52,7 @@ namespace k8s.Models
/// https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1</param>
/// <param name="volumeMode">volumeMode defines what type of volume is
/// required by the claim. Value of Filesystem is implied when not
/// included in claim spec. This is an alpha feature and may change in
/// the future.</param>
/// included in claim spec. This is a beta feature.</param>
/// <param name="volumeName">VolumeName is the binding reference to the
/// PersistentVolume backing this claim.</param>
public V1PersistentVolumeClaimSpec(IList<string> accessModes = default(IList<string>), V1TypedLocalObjectReference dataSource = default(V1TypedLocalObjectReference), V1ResourceRequirements resources = default(V1ResourceRequirements), V1LabelSelector selector = default(V1LabelSelector), string storageClassName = default(string), string volumeMode = default(string), string volumeName = default(string))
@@ -120,7 +119,7 @@ namespace k8s.Models
/// <summary>
/// Gets or sets volumeMode defines what type of volume is required by
/// the claim. Value of Filesystem is implied when not included in
/// claim spec. This is an alpha feature and may change in the future.
/// claim spec. This is a beta feature.
/// </summary>
[JsonProperty(PropertyName = "volumeMode")]
public string VolumeMode { get; set; }

View File

@@ -120,10 +120,10 @@ namespace k8s.Models
/// <param name="volumeMode">volumeMode defines if a volume is intended
/// to be used with a formatted filesystem or to remain in raw block
/// state. Value of Filesystem is implied when not included in spec.
/// This is an alpha feature and may change in the future.</param>
/// This is a beta feature.</param>
/// <param name="vsphereVolume">VsphereVolume represents a vSphere
/// volume attached and mounted on kubelets host machine</param>
public V1PersistentVolumeSpec(IList<string> accessModes = default(IList<string>), V1AWSElasticBlockStoreVolumeSource awsElasticBlockStore = default(V1AWSElasticBlockStoreVolumeSource), V1AzureDiskVolumeSource azureDisk = default(V1AzureDiskVolumeSource), V1AzureFilePersistentVolumeSource azureFile = default(V1AzureFilePersistentVolumeSource), IDictionary<string, ResourceQuantity> capacity = default(IDictionary<string, ResourceQuantity>), V1CephFSPersistentVolumeSource cephfs = default(V1CephFSPersistentVolumeSource), V1CinderPersistentVolumeSource cinder = default(V1CinderPersistentVolumeSource), V1ObjectReference claimRef = default(V1ObjectReference), V1CSIPersistentVolumeSource csi = default(V1CSIPersistentVolumeSource), V1FCVolumeSource fc = default(V1FCVolumeSource), V1FlexPersistentVolumeSource flexVolume = default(V1FlexPersistentVolumeSource), V1FlockerVolumeSource flocker = default(V1FlockerVolumeSource), V1GCEPersistentDiskVolumeSource gcePersistentDisk = default(V1GCEPersistentDiskVolumeSource), V1GlusterfsVolumeSource glusterfs = default(V1GlusterfsVolumeSource), V1HostPathVolumeSource hostPath = default(V1HostPathVolumeSource), V1ISCSIPersistentVolumeSource iscsi = default(V1ISCSIPersistentVolumeSource), V1LocalVolumeSource local = default(V1LocalVolumeSource), IList<string> mountOptions = default(IList<string>), V1NFSVolumeSource nfs = default(V1NFSVolumeSource), V1VolumeNodeAffinity nodeAffinity = default(V1VolumeNodeAffinity), string persistentVolumeReclaimPolicy = default(string), V1PhotonPersistentDiskVolumeSource photonPersistentDisk = default(V1PhotonPersistentDiskVolumeSource), V1PortworxVolumeSource portworxVolume = default(V1PortworxVolumeSource), V1QuobyteVolumeSource quobyte = default(V1QuobyteVolumeSource), V1RBDPersistentVolumeSource rbd = default(V1RBDPersistentVolumeSource), V1ScaleIOPersistentVolumeSource scaleIO = default(V1ScaleIOPersistentVolumeSource), string storageClassName = default(string), V1StorageOSPersistentVolumeSource storageos = default(V1StorageOSPersistentVolumeSource), string volumeMode = default(string), V1VsphereVirtualDiskVolumeSource vsphereVolume = default(V1VsphereVirtualDiskVolumeSource))
public V1PersistentVolumeSpec(IList<string> accessModes = default(IList<string>), V1AWSElasticBlockStoreVolumeSource awsElasticBlockStore = default(V1AWSElasticBlockStoreVolumeSource), V1AzureDiskVolumeSource azureDisk = default(V1AzureDiskVolumeSource), V1AzureFilePersistentVolumeSource azureFile = default(V1AzureFilePersistentVolumeSource), IDictionary<string, ResourceQuantity> capacity = default(IDictionary<string, ResourceQuantity>), V1CephFSPersistentVolumeSource cephfs = default(V1CephFSPersistentVolumeSource), V1CinderPersistentVolumeSource cinder = default(V1CinderPersistentVolumeSource), V1ObjectReference claimRef = default(V1ObjectReference), V1CSIPersistentVolumeSource csi = default(V1CSIPersistentVolumeSource), V1FCVolumeSource fc = default(V1FCVolumeSource), V1FlexPersistentVolumeSource flexVolume = default(V1FlexPersistentVolumeSource), V1FlockerVolumeSource flocker = default(V1FlockerVolumeSource), V1GCEPersistentDiskVolumeSource gcePersistentDisk = default(V1GCEPersistentDiskVolumeSource), V1GlusterfsPersistentVolumeSource glusterfs = default(V1GlusterfsPersistentVolumeSource), V1HostPathVolumeSource hostPath = default(V1HostPathVolumeSource), V1ISCSIPersistentVolumeSource iscsi = default(V1ISCSIPersistentVolumeSource), V1LocalVolumeSource local = default(V1LocalVolumeSource), IList<string> mountOptions = default(IList<string>), V1NFSVolumeSource nfs = default(V1NFSVolumeSource), V1VolumeNodeAffinity nodeAffinity = default(V1VolumeNodeAffinity), string persistentVolumeReclaimPolicy = default(string), V1PhotonPersistentDiskVolumeSource photonPersistentDisk = default(V1PhotonPersistentDiskVolumeSource), V1PortworxVolumeSource portworxVolume = default(V1PortworxVolumeSource), V1QuobyteVolumeSource quobyte = default(V1QuobyteVolumeSource), V1RBDPersistentVolumeSource rbd = default(V1RBDPersistentVolumeSource), V1ScaleIOPersistentVolumeSource scaleIO = default(V1ScaleIOPersistentVolumeSource), string storageClassName = default(string), V1StorageOSPersistentVolumeSource storageos = default(V1StorageOSPersistentVolumeSource), string volumeMode = default(string), V1VsphereVirtualDiskVolumeSource vsphereVolume = default(V1VsphereVirtualDiskVolumeSource))
{
AccessModes = accessModes;
AwsElasticBlockStore = awsElasticBlockStore;
@@ -272,7 +272,7 @@ namespace k8s.Models
/// https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md
/// </summary>
[JsonProperty(PropertyName = "glusterfs")]
public V1GlusterfsVolumeSource Glusterfs { get; set; }
public V1GlusterfsPersistentVolumeSource Glusterfs { get; set; }
/// <summary>
/// Gets or sets hostPath represents a directory on the host.
@@ -392,8 +392,8 @@ namespace k8s.Models
/// <summary>
/// Gets or sets volumeMode defines if a volume is intended to be used
/// with a formatted filesystem or to remain in raw block state. Value
/// of Filesystem is implied when not included in spec. This is an
/// alpha feature and may change in the future.
/// of Filesystem is implied when not included in spec. This is a beta
/// feature.
/// </summary>
[JsonProperty(PropertyName = "volumeMode")]
public string VolumeMode { get; set; }

View File

@@ -50,6 +50,9 @@ namespace k8s.Models
/// DNSConfig will be merged with the policy selected with DNSPolicy.
/// To have DNS options set along with hostNetwork, you have to specify
/// DNS policy explicitly to 'ClusterFirstWithHostNet'.</param>
/// <param name="enableServiceLinks">EnableServiceLinks indicates
/// whether information about services should be injected into pod's
/// environment variables, matching the syntax of Docker links.</param>
/// <param name="hostAliases">HostAliases is an optional list of hosts
/// and IPs that will be injected into the pod's hosts file if
/// specified. This is only valid for non-hostNetwork pods.</param>
@@ -161,7 +164,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), 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>), 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;
@@ -169,6 +172,7 @@ namespace k8s.Models
Containers = containers;
DnsConfig = dnsConfig;
DnsPolicy = dnsPolicy;
EnableServiceLinks = enableServiceLinks;
HostAliases = hostAliases;
HostIPC = hostIPC;
HostNetwork = hostNetwork;
@@ -249,6 +253,14 @@ namespace k8s.Models
[JsonProperty(PropertyName = "dnsPolicy")]
public string DnsPolicy { get; set; }
/// <summary>
/// Gets or sets enableServiceLinks indicates whether information about
/// services should be injected into pod's environment variables,
/// matching the syntax of Docker links.
/// </summary>
[JsonProperty(PropertyName = "enableServiceLinks")]
public bool? EnableServiceLinks { get; set; }
/// <summary>
/// Gets or sets hostAliases is an optional list of hosts and IPs that
/// will be injected into the pod's hosts file if specified. This is

View File

@@ -7,6 +7,8 @@
namespace k8s.Models
{
using Newtonsoft.Json;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
/// <summary>
@@ -25,9 +27,16 @@ namespace k8s.Models
/// <summary>
/// Initializes a new instance of the V1TokenReviewSpec class.
/// </summary>
/// <param name="audiences">Audiences is a list of the identifiers that
/// the resource server presented with the token identifies as.
/// Audience-aware token authenticators will verify that the token was
/// intended for at least one of the audiences in this list. If no
/// audiences are provided, the audience will default to the audience
/// of the Kubernetes apiserver.</param>
/// <param name="token">Token is the opaque bearer token.</param>
public V1TokenReviewSpec(string token = default(string))
public V1TokenReviewSpec(IList<string> audiences = default(IList<string>), string token = default(string))
{
Audiences = audiences;
Token = token;
CustomInit();
}
@@ -37,6 +46,17 @@ namespace k8s.Models
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets audiences is a list of the identifiers that the
/// resource server presented with the token identifies as.
/// Audience-aware token authenticators will verify that the token was
/// intended for at least one of the audiences in this list. If no
/// audiences are provided, the audience will default to the audience
/// of the Kubernetes apiserver.
/// </summary>
[JsonProperty(PropertyName = "audiences")]
public IList<string> Audiences { get; set; }
/// <summary>
/// Gets or sets token is the opaque bearer token.
/// </summary>

View File

@@ -7,6 +7,8 @@
namespace k8s.Models
{
using Newtonsoft.Json;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
/// <summary>
@@ -25,14 +27,25 @@ namespace k8s.Models
/// <summary>
/// Initializes a new instance of the V1TokenReviewStatus class.
/// </summary>
/// <param name="audiences">Audiences are audience identifiers chosen
/// by the authenticator that are compatible with both the TokenReview
/// and token. An identifier is any identifier in the intersection of
/// the TokenReviewSpec audiences and the token's audiences. A client
/// of the TokenReview API that sets the spec.audiences field should
/// validate that a compatible audience identifier is returned in the
/// status.audiences field to ensure that the TokenReview server is
/// audience aware. If a TokenReview returns an empty status.audience
/// field where status.authenticated is "true", the token is valid
/// against the audience of the Kubernetes API server.</param>
/// <param name="authenticated">Authenticated indicates that the token
/// was associated with a known user.</param>
/// <param name="error">Error indicates that the token couldn't be
/// checked</param>
/// <param name="user">User is the UserInfo associated with the
/// provided token.</param>
public V1TokenReviewStatus(bool? authenticated = default(bool?), string error = default(string), V1UserInfo user = default(V1UserInfo))
public V1TokenReviewStatus(IList<string> audiences = default(IList<string>), bool? authenticated = default(bool?), string error = default(string), V1UserInfo user = default(V1UserInfo))
{
Audiences = audiences;
Authenticated = authenticated;
Error = error;
User = user;
@@ -44,6 +57,21 @@ namespace k8s.Models
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets audiences are audience identifiers chosen by the
/// authenticator that are compatible with both the TokenReview and
/// token. An identifier is any identifier in the intersection of the
/// TokenReviewSpec audiences and the token's audiences. A client of
/// the TokenReview API that sets the spec.audiences field should
/// validate that a compatible audience identifier is returned in the
/// status.audiences field to ensure that the TokenReview server is
/// audience aware. If a TokenReview returns an empty status.audience
/// field where status.authenticated is "true", the token is valid
/// against the audience of the Kubernetes API server.
/// </summary>
[JsonProperty(PropertyName = "audiences")]
public IList<string> Audiences { get; set; }
/// <summary>
/// Gets or sets authenticated indicates that the token was associated
/// with a known user.

View File

@@ -0,0 +1,132 @@
// <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.Linq;
/// <summary>
/// VolumeAttachment captures the intent to attach or detach the specified
/// volume to/from the specified node.
///
/// VolumeAttachment objects are non-namespaced.
/// </summary>
public partial class V1VolumeAttachment
{
/// <summary>
/// Initializes a new instance of the V1VolumeAttachment class.
/// </summary>
public V1VolumeAttachment()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1VolumeAttachment class.
/// </summary>
/// <param name="spec">Specification of the desired attach/detach
/// volume behavior. Populated by the Kubernetes system.</param>
/// <param name="apiVersion">APIVersion defines the versioned schema of
/// this representation of an object. Servers should convert recognized
/// schemas to the latest internal value, and may reject unrecognized
/// values. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#resources</param>
/// <param name="kind">Kind is a string value representing the REST
/// resource this object represents. Servers may infer this from the
/// endpoint the client submits requests to. Cannot be updated. In
/// CamelCase. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds</param>
/// <param name="metadata">Standard object metadata. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata</param>
/// <param name="status">Status of the VolumeAttachment request.
/// Populated by the entity completing the attach or detach operation,
/// i.e. the external-attacher.</param>
public V1VolumeAttachment(V1VolumeAttachmentSpec spec, string apiVersion = default(string), string kind = default(string), V1ObjectMeta metadata = default(V1ObjectMeta), V1VolumeAttachmentStatus status = default(V1VolumeAttachmentStatus))
{
ApiVersion = apiVersion;
Kind = kind;
Metadata = metadata;
Spec = spec;
Status = status;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets aPIVersion defines the versioned schema of this
/// representation of an object. Servers should convert recognized
/// schemas to the latest internal value, and may reject unrecognized
/// values. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
/// </summary>
[JsonProperty(PropertyName = "apiVersion")]
public string ApiVersion { get; set; }
/// <summary>
/// Gets or sets kind is a string value representing the REST resource
/// this object represents. Servers may infer this from the endpoint
/// the client submits requests to. Cannot be updated. In CamelCase.
/// More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
/// </summary>
[JsonProperty(PropertyName = "kind")]
public string Kind { get; set; }
/// <summary>
/// Gets or sets standard object metadata. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
/// </summary>
[JsonProperty(PropertyName = "metadata")]
public V1ObjectMeta Metadata { get; set; }
/// <summary>
/// Gets or sets specification of the desired attach/detach volume
/// behavior. Populated by the Kubernetes system.
/// </summary>
[JsonProperty(PropertyName = "spec")]
public V1VolumeAttachmentSpec Spec { get; set; }
/// <summary>
/// Gets or sets status of the VolumeAttachment request. Populated by
/// the entity completing the attach or detach operation, i.e. the
/// external-attacher.
/// </summary>
[JsonProperty(PropertyName = "status")]
public V1VolumeAttachmentStatus Status { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (Spec == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Spec");
}
if (Metadata != null)
{
Metadata.Validate();
}
if (Spec != null)
{
Spec.Validate();
}
if (Status != null)
{
Status.Validate();
}
}
}
}

View File

@@ -0,0 +1,115 @@
// <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>
/// VolumeAttachmentList is a collection of VolumeAttachment objects.
/// </summary>
public partial class V1VolumeAttachmentList
{
/// <summary>
/// Initializes a new instance of the V1VolumeAttachmentList class.
/// </summary>
public V1VolumeAttachmentList()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1VolumeAttachmentList class.
/// </summary>
/// <param name="items">Items is the list of VolumeAttachments</param>
/// <param name="apiVersion">APIVersion defines the versioned schema of
/// this representation of an object. Servers should convert recognized
/// schemas to the latest internal value, and may reject unrecognized
/// values. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#resources</param>
/// <param name="kind">Kind is a string value representing the REST
/// resource this object represents. Servers may infer this from the
/// endpoint the client submits requests to. Cannot be updated. In
/// CamelCase. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds</param>
/// <param name="metadata">Standard list metadata More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata</param>
public V1VolumeAttachmentList(IList<V1VolumeAttachment> items, string apiVersion = default(string), string kind = default(string), V1ListMeta metadata = default(V1ListMeta))
{
ApiVersion = apiVersion;
Items = items;
Kind = kind;
Metadata = metadata;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets aPIVersion defines the versioned schema of this
/// representation of an object. Servers should convert recognized
/// schemas to the latest internal value, and may reject unrecognized
/// values. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
/// </summary>
[JsonProperty(PropertyName = "apiVersion")]
public string ApiVersion { get; set; }
/// <summary>
/// Gets or sets items is the list of VolumeAttachments
/// </summary>
[JsonProperty(PropertyName = "items")]
public IList<V1VolumeAttachment> Items { get; set; }
/// <summary>
/// Gets or sets kind is a string value representing the REST resource
/// this object represents. Servers may infer this from the endpoint
/// the client submits requests to. Cannot be updated. In CamelCase.
/// More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
/// </summary>
[JsonProperty(PropertyName = "kind")]
public string Kind { get; set; }
/// <summary>
/// Gets or sets standard list metadata More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
/// </summary>
[JsonProperty(PropertyName = "metadata")]
public V1ListMeta Metadata { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (Items == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Items");
}
if (Items != null)
{
foreach (var element in Items)
{
if (element != null)
{
element.Validate();
}
}
}
}
}
}

View File

@@ -0,0 +1,51 @@
// <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>
/// VolumeAttachmentSource represents a volume that should be attached.
/// Right now only PersistenVolumes can be attached via external attacher,
/// in future we may allow also inline volumes in pods. Exactly one member
/// can be set.
/// </summary>
public partial class V1VolumeAttachmentSource
{
/// <summary>
/// Initializes a new instance of the V1VolumeAttachmentSource class.
/// </summary>
public V1VolumeAttachmentSource()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1VolumeAttachmentSource class.
/// </summary>
/// <param name="persistentVolumeName">Name of the persistent volume to
/// attach.</param>
public V1VolumeAttachmentSource(string persistentVolumeName = default(string))
{
PersistentVolumeName = persistentVolumeName;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets name of the persistent volume to attach.
/// </summary>
[JsonProperty(PropertyName = "persistentVolumeName")]
public string PersistentVolumeName { get; set; }
}
}

View File

@@ -0,0 +1,92 @@
// <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.Linq;
/// <summary>
/// VolumeAttachmentSpec is the specification of a VolumeAttachment
/// request.
/// </summary>
public partial class V1VolumeAttachmentSpec
{
/// <summary>
/// Initializes a new instance of the V1VolumeAttachmentSpec class.
/// </summary>
public V1VolumeAttachmentSpec()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1VolumeAttachmentSpec class.
/// </summary>
/// <param name="attacher">Attacher indicates the name of the volume
/// driver that MUST handle this request. This is the name returned by
/// GetPluginName().</param>
/// <param name="nodeName">The node that the volume should be attached
/// to.</param>
/// <param name="source">Source represents the volume that should be
/// attached.</param>
public V1VolumeAttachmentSpec(string attacher, string nodeName, V1VolumeAttachmentSource source)
{
Attacher = attacher;
NodeName = nodeName;
Source = source;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets attacher indicates the name of the volume driver that
/// MUST handle this request. This is the name returned by
/// GetPluginName().
/// </summary>
[JsonProperty(PropertyName = "attacher")]
public string Attacher { get; set; }
/// <summary>
/// Gets or sets the node that the volume should be attached to.
/// </summary>
[JsonProperty(PropertyName = "nodeName")]
public string NodeName { get; set; }
/// <summary>
/// Gets or sets source represents the volume that should be attached.
/// </summary>
[JsonProperty(PropertyName = "source")]
public V1VolumeAttachmentSource Source { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (Attacher == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Attacher");
}
if (NodeName == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "NodeName");
}
if (Source == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Source");
}
}
}
}

View File

@@ -0,0 +1,104 @@
// <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.Collections;
using System.Collections.Generic;
using System.Linq;
/// <summary>
/// VolumeAttachmentStatus is the status of a VolumeAttachment request.
/// </summary>
public partial class V1VolumeAttachmentStatus
{
/// <summary>
/// Initializes a new instance of the V1VolumeAttachmentStatus class.
/// </summary>
public V1VolumeAttachmentStatus()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1VolumeAttachmentStatus class.
/// </summary>
/// <param name="attached">Indicates the volume is successfully
/// attached. This field must only be set by the entity completing the
/// attach operation, i.e. the external-attacher.</param>
/// <param name="attachError">The last error encountered during attach
/// operation, if any. This field must only be set by the entity
/// completing the attach operation, i.e. the
/// external-attacher.</param>
/// <param name="attachmentMetadata">Upon successful attach, this field
/// is populated with any information returned by the attach operation
/// that must be passed into subsequent WaitForAttach or Mount calls.
/// This field must only be set by the entity completing the attach
/// operation, i.e. the external-attacher.</param>
/// <param name="detachError">The last error encountered during detach
/// operation, if any. This field must only be set by the entity
/// completing the detach operation, i.e. the
/// external-attacher.</param>
public V1VolumeAttachmentStatus(bool attached, V1VolumeError attachError = default(V1VolumeError), IDictionary<string, string> attachmentMetadata = default(IDictionary<string, string>), V1VolumeError detachError = default(V1VolumeError))
{
AttachError = attachError;
Attached = attached;
AttachmentMetadata = attachmentMetadata;
DetachError = detachError;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets the last error encountered during attach operation, if
/// any. This field must only be set by the entity completing the
/// attach operation, i.e. the external-attacher.
/// </summary>
[JsonProperty(PropertyName = "attachError")]
public V1VolumeError AttachError { get; set; }
/// <summary>
/// Gets or sets indicates the volume is successfully attached. This
/// field must only be set by the entity completing the attach
/// operation, i.e. the external-attacher.
/// </summary>
[JsonProperty(PropertyName = "attached")]
public bool Attached { get; set; }
/// <summary>
/// Gets or sets upon successful attach, this field is populated with
/// any information returned by the attach operation that must be
/// passed into subsequent WaitForAttach or Mount calls. This field
/// must only be set by the entity completing the attach operation,
/// i.e. the external-attacher.
/// </summary>
[JsonProperty(PropertyName = "attachmentMetadata")]
public IDictionary<string, string> AttachmentMetadata { get; set; }
/// <summary>
/// Gets or sets the last error encountered during detach operation, if
/// any. This field must only be set by the entity completing the
/// detach operation, i.e. the external-attacher.
/// </summary>
[JsonProperty(PropertyName = "detachError")]
public V1VolumeError DetachError { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="Microsoft.Rest.ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
}
}
}

View File

@@ -0,0 +1,59 @@
// <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>
/// VolumeError captures an error encountered during a volume operation.
/// </summary>
public partial class V1VolumeError
{
/// <summary>
/// Initializes a new instance of the V1VolumeError class.
/// </summary>
public V1VolumeError()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1VolumeError class.
/// </summary>
/// <param name="message">String detailing the error encountered during
/// Attach or Detach operation. This string maybe logged, so it should
/// not contain sensitive information.</param>
/// <param name="time">Time the error was encountered.</param>
public V1VolumeError(string message = default(string), System.DateTime? time = default(System.DateTime?))
{
Message = message;
Time = time;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets string detailing the error encountered during Attach
/// or Detach operation. This string maybe logged, so it should not
/// contain sensitive information.
/// </summary>
[JsonProperty(PropertyName = "message")]
public string Message { get; set; }
/// <summary>
/// Gets or sets time the error was encountered.
/// </summary>
[JsonProperty(PropertyName = "time")]
public System.DateTime? Time { get; set; }
}
}

View File

@@ -0,0 +1,103 @@
// <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>
/// AuditSink represents a cluster level audit sink
/// </summary>
public partial class V1alpha1AuditSink
{
/// <summary>
/// Initializes a new instance of the V1alpha1AuditSink class.
/// </summary>
public V1alpha1AuditSink()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1alpha1AuditSink class.
/// </summary>
/// <param name="apiVersion">APIVersion defines the versioned schema of
/// this representation of an object. Servers should convert recognized
/// schemas to the latest internal value, and may reject unrecognized
/// values. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#resources</param>
/// <param name="kind">Kind is a string value representing the REST
/// resource this object represents. Servers may infer this from the
/// endpoint the client submits requests to. Cannot be updated. In
/// CamelCase. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds</param>
/// <param name="spec">Spec defines the audit configuration
/// spec</param>
public V1alpha1AuditSink(string apiVersion = default(string), string kind = default(string), V1ObjectMeta metadata = default(V1ObjectMeta), V1alpha1AuditSinkSpec spec = default(V1alpha1AuditSinkSpec))
{
ApiVersion = apiVersion;
Kind = kind;
Metadata = metadata;
Spec = spec;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets aPIVersion defines the versioned schema of this
/// representation of an object. Servers should convert recognized
/// schemas to the latest internal value, and may reject unrecognized
/// values. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
/// </summary>
[JsonProperty(PropertyName = "apiVersion")]
public string ApiVersion { get; set; }
/// <summary>
/// Gets or sets kind is a string value representing the REST resource
/// this object represents. Servers may infer this from the endpoint
/// the client submits requests to. Cannot be updated. In CamelCase.
/// More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
/// </summary>
[JsonProperty(PropertyName = "kind")]
public string Kind { get; set; }
/// <summary>
/// </summary>
[JsonProperty(PropertyName = "metadata")]
public V1ObjectMeta Metadata { get; set; }
/// <summary>
/// Gets or sets spec defines the audit configuration spec
/// </summary>
[JsonProperty(PropertyName = "spec")]
public V1alpha1AuditSinkSpec Spec { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="Microsoft.Rest.ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (Metadata != null)
{
Metadata.Validate();
}
if (Spec != null)
{
Spec.Validate();
}
}
}
}

View File

@@ -0,0 +1,111 @@
// <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>
/// AuditSinkList is a list of AuditSink items.
/// </summary>
public partial class V1alpha1AuditSinkList
{
/// <summary>
/// Initializes a new instance of the V1alpha1AuditSinkList class.
/// </summary>
public V1alpha1AuditSinkList()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1alpha1AuditSinkList class.
/// </summary>
/// <param name="items">List of audit configurations.</param>
/// <param name="apiVersion">APIVersion defines the versioned schema of
/// this representation of an object. Servers should convert recognized
/// schemas to the latest internal value, and may reject unrecognized
/// values. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#resources</param>
/// <param name="kind">Kind is a string value representing the REST
/// resource this object represents. Servers may infer this from the
/// endpoint the client submits requests to. Cannot be updated. In
/// CamelCase. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds</param>
public V1alpha1AuditSinkList(IList<V1alpha1AuditSink> items, string apiVersion = default(string), string kind = default(string), V1ListMeta metadata = default(V1ListMeta))
{
ApiVersion = apiVersion;
Items = items;
Kind = kind;
Metadata = metadata;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets aPIVersion defines the versioned schema of this
/// representation of an object. Servers should convert recognized
/// schemas to the latest internal value, and may reject unrecognized
/// values. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
/// </summary>
[JsonProperty(PropertyName = "apiVersion")]
public string ApiVersion { get; set; }
/// <summary>
/// Gets or sets list of audit configurations.
/// </summary>
[JsonProperty(PropertyName = "items")]
public IList<V1alpha1AuditSink> Items { get; set; }
/// <summary>
/// Gets or sets kind is a string value representing the REST resource
/// this object represents. Servers may infer this from the endpoint
/// the client submits requests to. Cannot be updated. In CamelCase.
/// More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
/// </summary>
[JsonProperty(PropertyName = "kind")]
public string Kind { get; set; }
/// <summary>
/// </summary>
[JsonProperty(PropertyName = "metadata")]
public V1ListMeta Metadata { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (Items == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Items");
}
if (Items != null)
{
foreach (var element in Items)
{
if (element != null)
{
element.Validate();
}
}
}
}
}
}

View File

@@ -0,0 +1,83 @@
// <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.Linq;
/// <summary>
/// AuditSinkSpec holds the spec for the audit sink
/// </summary>
public partial class V1alpha1AuditSinkSpec
{
/// <summary>
/// Initializes a new instance of the V1alpha1AuditSinkSpec class.
/// </summary>
public V1alpha1AuditSinkSpec()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1alpha1AuditSinkSpec class.
/// </summary>
/// <param name="policy">Policy defines the policy for selecting which
/// events should be sent to the webhook required</param>
/// <param name="webhook">Webhook to send events required</param>
public V1alpha1AuditSinkSpec(V1alpha1Policy policy, V1alpha1Webhook webhook)
{
Policy = policy;
Webhook = webhook;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets policy defines the policy for selecting which events
/// should be sent to the webhook required
/// </summary>
[JsonProperty(PropertyName = "policy")]
public V1alpha1Policy Policy { get; set; }
/// <summary>
/// Gets or sets webhook to send events required
/// </summary>
[JsonProperty(PropertyName = "webhook")]
public V1alpha1Webhook Webhook { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (Policy == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Policy");
}
if (Webhook == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Webhook");
}
if (Policy != null)
{
Policy.Validate();
}
if (Webhook != null)
{
Webhook.Validate();
}
}
}
}

View File

@@ -0,0 +1,76 @@
// <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>
/// Policy defines the configuration of how audit events are logged
/// </summary>
public partial class V1alpha1Policy
{
/// <summary>
/// Initializes a new instance of the V1alpha1Policy class.
/// </summary>
public V1alpha1Policy()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1alpha1Policy class.
/// </summary>
/// <param name="level">The Level that all requests are recorded at.
/// available options: None, Metadata, Request, RequestResponse
/// required</param>
/// <param name="stages">Stages is a list of stages for which events
/// are created.</param>
public V1alpha1Policy(string level, IList<string> stages = default(IList<string>))
{
Level = level;
Stages = stages;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets the Level that all requests are recorded at. available
/// options: None, Metadata, Request, RequestResponse required
/// </summary>
[JsonProperty(PropertyName = "level")]
public string Level { get; set; }
/// <summary>
/// Gets or sets stages is a list of stages for which events are
/// created.
/// </summary>
[JsonProperty(PropertyName = "stages")]
public IList<string> Stages { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (Level == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Level");
}
}
}
}

View File

@@ -0,0 +1,85 @@
// <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.Linq;
/// <summary>
/// ServiceReference holds a reference to Service.legacy.k8s.io
/// </summary>
public partial class V1alpha1ServiceReference
{
/// <summary>
/// Initializes a new instance of the V1alpha1ServiceReference class.
/// </summary>
public V1alpha1ServiceReference()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1alpha1ServiceReference class.
/// </summary>
/// <param name="name">`name` is the name of the service.
/// Required</param>
/// <param name="namespaceProperty">`namespace` is the namespace of the
/// 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))
{
Name = name;
NamespaceProperty = namespaceProperty;
Path = path;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets `name` is the name of the service. Required
/// </summary>
[JsonProperty(PropertyName = "name")]
public string Name { get; set; }
/// <summary>
/// Gets or sets `namespace` is the namespace of the service. Required
/// </summary>
[JsonProperty(PropertyName = "namespace")]
public string NamespaceProperty { get; set; }
/// <summary>
/// Gets or sets `path` is an optional URL path which will be sent in
/// any request to this service.
/// </summary>
[JsonProperty(PropertyName = "path")]
public string Path { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (Name == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Name");
}
if (NamespaceProperty == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "NamespaceProperty");
}
}
}
}

View File

@@ -0,0 +1,76 @@
// <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.Linq;
/// <summary>
/// Webhook holds the configuration of the webhook
/// </summary>
public partial class V1alpha1Webhook
{
/// <summary>
/// Initializes a new instance of the V1alpha1Webhook class.
/// </summary>
public V1alpha1Webhook()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1alpha1Webhook class.
/// </summary>
/// <param name="clientConfig">ClientConfig holds the connection
/// parameters for the webhook required</param>
/// <param name="throttle">Throttle holds the options for throttling
/// the webhook</param>
public V1alpha1Webhook(V1alpha1WebhookClientConfig clientConfig, V1alpha1WebhookThrottleConfig throttle = default(V1alpha1WebhookThrottleConfig))
{
ClientConfig = clientConfig;
Throttle = throttle;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets clientConfig holds the connection parameters for the
/// webhook required
/// </summary>
[JsonProperty(PropertyName = "clientConfig")]
public V1alpha1WebhookClientConfig ClientConfig { get; set; }
/// <summary>
/// Gets or sets throttle holds the options for throttling the webhook
/// </summary>
[JsonProperty(PropertyName = "throttle")]
public V1alpha1WebhookThrottleConfig Throttle { 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 (ClientConfig != null)
{
ClientConfig.Validate();
}
}
}
}

View File

@@ -0,0 +1,144 @@
// <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>
/// WebhookClientConfig contains the information to make a connection with
/// the webhook
/// </summary>
public partial class V1alpha1WebhookClientConfig
{
/// <summary>
/// Initializes a new instance of the V1alpha1WebhookClientConfig
/// class.
/// </summary>
public V1alpha1WebhookClientConfig()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1alpha1WebhookClientConfig
/// class.
/// </summary>
/// <param name="caBundle">`caBundle` is a PEM encoded CA bundle which
/// will be used to validate the webhook's server certificate. If
/// unspecified, system trust roots on the apiserver are used.</param>
/// <param name="service">`service` is a reference to the service for
/// 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>
/// <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.
///
/// The `host` should not refer to a service running in the cluster;
/// use the `service` field instead. The host might be resolved via
/// external DNS in some apiservers (e.g., `kube-apiserver` cannot
/// resolve in-cluster DNS as that would be a layering violation).
/// `host` may also be an IP address.
///
/// Please note that using `localhost` or `127.0.0.1` as a `host` is
/// risky unless you take great care to run this webhook on all hosts
/// which run an apiserver which might need to make calls to this
/// webhook. Such installs are likely to be non-portable, i.e., not
/// easy to turn up in a new cluster.
///
/// The scheme must be "https"; the URL must begin with "https://".
///
/// A path is optional, and if present may be any string permissible in
/// a URL. You may use the path to pass an arbitrary string to the
/// webhook, for example, a cluster identifier.
///
/// Attempting to use a user or basic auth e.g. "user:password@" is not
/// allowed. Fragments ("#...") and query parameters ("?...") are not
/// allowed, either.</param>
public V1alpha1WebhookClientConfig(byte[] caBundle = default(byte[]), V1alpha1ServiceReference service = default(V1alpha1ServiceReference), string url = default(string))
{
CaBundle = caBundle;
Service = service;
Url = url;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets `caBundle` is a PEM encoded CA bundle which will be
/// used to validate the webhook's server certificate. If unspecified,
/// system trust roots on the apiserver are used.
/// </summary>
[JsonProperty(PropertyName = "caBundle")]
public byte[] CaBundle { get; set; }
/// <summary>
/// Gets or sets `service` is a reference to the service for 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.
/// </summary>
[JsonProperty(PropertyName = "service")]
public V1alpha1ServiceReference Service { get; set; }
/// <summary>
/// Gets or sets `url` gives the location of the webhook, in standard
/// URL form (`scheme://host:port/path`). Exactly one of `url` or
/// `service` must be specified.
///
/// The `host` should not refer to a service running in the cluster;
/// use the `service` field instead. The host might be resolved via
/// external DNS in some apiservers (e.g., `kube-apiserver` cannot
/// resolve in-cluster DNS as that would be a layering violation).
/// `host` may also be an IP address.
///
/// Please note that using `localhost` or `127.0.0.1` as a `host` is
/// risky unless you take great care to run this webhook on all hosts
/// which run an apiserver which might need to make calls to this
/// webhook. Such installs are likely to be non-portable, i.e., not
/// easy to turn up in a new cluster.
///
/// The scheme must be "https"; the URL must begin with "https://".
///
/// A path is optional, and if present may be any string permissible in
/// a URL. You may use the path to pass an arbitrary string to the
/// webhook, for example, a cluster identifier.
///
/// Attempting to use a user or basic auth e.g. "user:password@" is not
/// allowed. Fragments ("#...") and query parameters ("?...") are not
/// allowed, either.
/// </summary>
[JsonProperty(PropertyName = "url")]
public string Url { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="Microsoft.Rest.ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (Service != null)
{
Service.Validate();
}
}
}
}

View File

@@ -0,0 +1,61 @@
// <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>
/// WebhookThrottleConfig holds the configuration for throttling events
/// </summary>
public partial class V1alpha1WebhookThrottleConfig
{
/// <summary>
/// Initializes a new instance of the V1alpha1WebhookThrottleConfig
/// class.
/// </summary>
public V1alpha1WebhookThrottleConfig()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1alpha1WebhookThrottleConfig
/// class.
/// </summary>
/// <param name="burst">ThrottleBurst is the maximum number of events
/// sent at the same moment default 15 QPS</param>
/// <param name="qps">ThrottleQPS maximum number of batches per second
/// default 10 QPS</param>
public V1alpha1WebhookThrottleConfig(long? burst = default(long?), long? qps = default(long?))
{
Burst = burst;
Qps = qps;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets throttleBurst is the maximum number of events sent at
/// the same moment default 15 QPS
/// </summary>
[JsonProperty(PropertyName = "burst")]
public long? Burst { get; set; }
/// <summary>
/// Gets or sets throttleQPS maximum number of batches per second
/// default 10 QPS
/// </summary>
[JsonProperty(PropertyName = "qps")]
public long? Qps { get; set; }
}
}

View File

@@ -61,8 +61,8 @@ namespace k8s.Models
/// of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1,
/// v11alpha2, foo1, foo10.</param>
/// <param name="caBundle">CABundle is a PEM encoded CA bundle which
/// will be used to validate an API server's serving
/// certificate.</param>
/// will be used to validate an API server's serving certificate. If
/// unspecified, system trust roots on the apiserver are used.</param>
/// <param name="group">Group is the API group name this server
/// hosts</param>
/// <param name="insecureSkipTLSVerify">InsecureSkipTLSVerify disables
@@ -90,7 +90,8 @@ namespace k8s.Models
/// <summary>
/// Gets or sets cABundle is a PEM encoded CA bundle which will be used
/// to validate an API server's serving certificate.
/// to validate an API server's serving certificate. If unspecified,
/// system trust roots on the apiserver are used.
/// </summary>
[JsonProperty(PropertyName = "caBundle")]
public byte[] CaBundle { get; set; }

View File

@@ -0,0 +1,91 @@
// <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.Linq;
/// <summary>
/// CustomResourceConversion describes how to convert different versions of
/// a CR.
/// </summary>
public partial class V1beta1CustomResourceConversion
{
/// <summary>
/// Initializes a new instance of the V1beta1CustomResourceConversion
/// class.
/// </summary>
public V1beta1CustomResourceConversion()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1beta1CustomResourceConversion
/// class.
/// </summary>
/// <param name="strategy">`strategy` specifies the conversion
/// 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>
/// <param name="webhookClientConfig">`webhookClientConfig` is the
/// instructions for how to call the webhook if strategy is `Webhook`.
/// This field is alpha-level and is only honored by servers that
/// enable the CustomResourceWebhookConversion feature.</param>
public V1beta1CustomResourceConversion(string strategy, Apiextensionsv1beta1WebhookClientConfig webhookClientConfig = default(Apiextensionsv1beta1WebhookClientConfig))
{
Strategy = strategy;
WebhookClientConfig = webhookClientConfig;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets `strategy` specifies the conversion 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.
/// </summary>
[JsonProperty(PropertyName = "strategy")]
public string Strategy { get; set; }
/// <summary>
/// Gets or sets `webhookClientConfig` is the instructions for how to
/// call the webhook if strategy is `Webhook`. This field is
/// alpha-level and is only honored by servers that enable the
/// CustomResourceWebhookConversion feature.
/// </summary>
[JsonProperty(PropertyName = "webhookClientConfig")]
public Apiextensionsv1beta1WebhookClientConfig WebhookClientConfig { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (Strategy == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Strategy");
}
if (WebhookClientConfig != null)
{
WebhookClientConfig.Validate();
}
}
}
}

View File

@@ -39,11 +39,19 @@ namespace k8s.Models
/// cluster or namespace scoped. Default is namespaced</param>
/// <param name="additionalPrinterColumns">AdditionalPrinterColumns are
/// additional columns shown e.g. in kubectl next to the name. Defaults
/// to a created-at column.</param>
/// to a created-at column. Optional, the global columns for all
/// versions. Top-level and per-version columns are mutually
/// exclusive.</param>
/// <param name="conversion">`conversion` defines conversion settings
/// for the CRD.</param>
/// <param name="subresources">Subresources describes the subresources
/// for CustomResources</param>
/// for CustomResource Optional, the global subresources for all
/// versions. Top-level and per-version subresources are mutually
/// exclusive.</param>
/// <param name="validation">Validation describes the validation
/// methods for CustomResources</param>
/// methods for CustomResources Optional, the global validation schema
/// for all versions. Top-level and per-version schemas are mutually
/// exclusive.</param>
/// <param name="version">Version is the version this resource belongs
/// in Should be always first item in Versions field if provided.
/// Optional, but at least one of Version or Versions must be set.
@@ -63,9 +71,10 @@ 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>), 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), 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;
Scope = scope;
@@ -84,10 +93,18 @@ namespace k8s.Models
/// <summary>
/// Gets or sets additionalPrinterColumns are additional columns shown
/// e.g. in kubectl next to the name. Defaults to a created-at column.
/// Optional, the global columns for all versions. Top-level and
/// per-version columns are mutually exclusive.
/// </summary>
[JsonProperty(PropertyName = "additionalPrinterColumns")]
public IList<V1beta1CustomResourceColumnDefinition> AdditionalPrinterColumns { get; set; }
/// <summary>
/// Gets or sets `conversion` defines conversion settings for the CRD.
/// </summary>
[JsonProperty(PropertyName = "conversion")]
public V1beta1CustomResourceConversion Conversion { get; set; }
/// <summary>
/// Gets or sets group is the group this resource belongs in
/// </summary>
@@ -110,14 +127,16 @@ namespace k8s.Models
/// <summary>
/// Gets or sets subresources describes the subresources for
/// CustomResources
/// CustomResource Optional, the global subresources for all versions.
/// Top-level and per-version subresources are mutually exclusive.
/// </summary>
[JsonProperty(PropertyName = "subresources")]
public V1beta1CustomResourceSubresources Subresources { get; set; }
/// <summary>
/// Gets or sets validation describes the validation methods for
/// CustomResources
/// CustomResources Optional, the global validation schema for all
/// versions. Top-level and per-version schemas are mutually exclusive.
/// </summary>
[JsonProperty(PropertyName = "validation")]
public V1beta1CustomResourceValidation Validation { get; set; }
@@ -181,6 +200,10 @@ namespace k8s.Models
}
}
}
if (Conversion != null)
{
Conversion.Validate();
}
if (Names != null)
{
Names.Validate();

View File

@@ -8,8 +8,13 @@ namespace k8s.Models
{
using Microsoft.Rest;
using Newtonsoft.Json;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
/// <summary>
/// CustomResourceDefinitionVersion describes a version for CRD.
/// </summary>
public partial class V1beta1CustomResourceDefinitionVersion
{
/// <summary>
@@ -31,11 +36,38 @@ namespace k8s.Models
/// version from being served via REST APIs</param>
/// <param name="storage">Storage flags the version as storage version.
/// There must be exactly one flagged as storage version.</param>
public V1beta1CustomResourceDefinitionVersion(string name, bool served, bool storage)
/// <param name="additionalPrinterColumns">AdditionalPrinterColumns are
/// additional columns shown e.g. in kubectl next to the name. Defaults
/// to a created-at column. Top-level and per-version columns are
/// mutually exclusive. Per-version columns must not all be set to
/// identical values (top-level columns should be used instead) This
/// field is alpha-level and is only honored by servers that enable the
/// CustomResourceWebhookConversion feature. NOTE: CRDs created prior
/// to 1.13 populated the top-level additionalPrinterColumns field by
/// default. To apply an update that changes to per-version
/// additionalPrinterColumns, the top-level additionalPrinterColumns
/// field must be explicitly set to null</param>
/// <param name="schema">Schema describes the schema for CustomResource
/// used in validation, pruning, and defaulting. Top-level and
/// per-version schemas are mutually exclusive. Per-version schemas
/// must not all be set to identical values (top-level validation
/// schema should be used instead) This field is alpha-level and is
/// only honored by servers that enable the
/// CustomResourceWebhookConversion feature.</param>
/// <param name="subresources">Subresources describes the subresources
/// for CustomResource Top-level and per-version subresources are
/// mutually exclusive. Per-version subresources must not all be set to
/// identical values (top-level subresources should be used instead)
/// This field is alpha-level and is only honored by servers that
/// enable the CustomResourceWebhookConversion feature.</param>
public V1beta1CustomResourceDefinitionVersion(string name, bool served, bool storage, IList<V1beta1CustomResourceColumnDefinition> additionalPrinterColumns = default(IList<V1beta1CustomResourceColumnDefinition>), V1beta1CustomResourceValidation schema = default(V1beta1CustomResourceValidation), V1beta1CustomResourceSubresources subresources = default(V1beta1CustomResourceSubresources))
{
AdditionalPrinterColumns = additionalPrinterColumns;
Name = name;
Schema = schema;
Served = served;
Storage = storage;
Subresources = subresources;
CustomInit();
}
@@ -44,12 +76,39 @@ namespace k8s.Models
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets additionalPrinterColumns are additional columns shown
/// e.g. in kubectl next to the name. Defaults to a created-at column.
/// Top-level and per-version columns are mutually exclusive.
/// Per-version columns must not all be set to identical values
/// (top-level columns should be used instead) This field is
/// alpha-level and is only honored by servers that enable the
/// CustomResourceWebhookConversion feature. NOTE: CRDs created prior
/// to 1.13 populated the top-level additionalPrinterColumns field by
/// default. To apply an update that changes to per-version
/// additionalPrinterColumns, the top-level additionalPrinterColumns
/// field must be explicitly set to null
/// </summary>
[JsonProperty(PropertyName = "additionalPrinterColumns")]
public IList<V1beta1CustomResourceColumnDefinition> AdditionalPrinterColumns { get; set; }
/// <summary>
/// Gets or sets name is the version name, e.g. “v1”, “v2beta1”, etc.
/// </summary>
[JsonProperty(PropertyName = "name")]
public string Name { get; set; }
/// <summary>
/// Gets or sets schema describes the schema for CustomResource used in
/// validation, pruning, and defaulting. Top-level and per-version
/// schemas are mutually exclusive. Per-version schemas must not all be
/// set to identical values (top-level validation schema should be used
/// instead) This field is alpha-level and is only honored by servers
/// that enable the CustomResourceWebhookConversion feature.
/// </summary>
[JsonProperty(PropertyName = "schema")]
public V1beta1CustomResourceValidation Schema { get; set; }
/// <summary>
/// Gets or sets served is a flag enabling/disabling this version from
/// being served via REST APIs
@@ -64,6 +123,17 @@ namespace k8s.Models
[JsonProperty(PropertyName = "storage")]
public bool Storage { get; set; }
/// <summary>
/// Gets or sets subresources describes the subresources for
/// CustomResource Top-level and per-version subresources are mutually
/// exclusive. Per-version subresources must not all be set to
/// identical values (top-level subresources should be used instead)
/// This field is alpha-level and is only honored by servers that
/// enable the CustomResourceWebhookConversion feature.
/// </summary>
[JsonProperty(PropertyName = "subresources")]
public V1beta1CustomResourceSubresources Subresources { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
@@ -76,6 +146,20 @@ namespace k8s.Models
{
throw new ValidationException(ValidationRules.CannotBeNull, "Name");
}
if (AdditionalPrinterColumns != null)
{
foreach (var element in AdditionalPrinterColumns)
{
if (element != null)
{
element.Validate();
}
}
}
if (Subresources != null)
{
Subresources.Validate();
}
}
}
}

View File

@@ -7,6 +7,8 @@
namespace k8s.Models
{
using Newtonsoft.Json;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
/// <summary>
@@ -25,9 +27,16 @@ namespace k8s.Models
/// <summary>
/// Initializes a new instance of the V1beta1TokenReviewSpec class.
/// </summary>
/// <param name="audiences">Audiences is a list of the identifiers that
/// the resource server presented with the token identifies as.
/// Audience-aware token authenticators will verify that the token was
/// intended for at least one of the audiences in this list. If no
/// audiences are provided, the audience will default to the audience
/// of the Kubernetes apiserver.</param>
/// <param name="token">Token is the opaque bearer token.</param>
public V1beta1TokenReviewSpec(string token = default(string))
public V1beta1TokenReviewSpec(IList<string> audiences = default(IList<string>), string token = default(string))
{
Audiences = audiences;
Token = token;
CustomInit();
}
@@ -37,6 +46,17 @@ namespace k8s.Models
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets audiences is a list of the identifiers that the
/// resource server presented with the token identifies as.
/// Audience-aware token authenticators will verify that the token was
/// intended for at least one of the audiences in this list. If no
/// audiences are provided, the audience will default to the audience
/// of the Kubernetes apiserver.
/// </summary>
[JsonProperty(PropertyName = "audiences")]
public IList<string> Audiences { get; set; }
/// <summary>
/// Gets or sets token is the opaque bearer token.
/// </summary>

View File

@@ -7,6 +7,8 @@
namespace k8s.Models
{
using Newtonsoft.Json;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
/// <summary>
@@ -25,14 +27,25 @@ namespace k8s.Models
/// <summary>
/// Initializes a new instance of the V1beta1TokenReviewStatus class.
/// </summary>
/// <param name="audiences">Audiences are audience identifiers chosen
/// by the authenticator that are compatible with both the TokenReview
/// and token. An identifier is any identifier in the intersection of
/// the TokenReviewSpec audiences and the token's audiences. A client
/// of the TokenReview API that sets the spec.audiences field should
/// validate that a compatible audience identifier is returned in the
/// status.audiences field to ensure that the TokenReview server is
/// audience aware. If a TokenReview returns an empty status.audience
/// field where status.authenticated is "true", the token is valid
/// against the audience of the Kubernetes API server.</param>
/// <param name="authenticated">Authenticated indicates that the token
/// was associated with a known user.</param>
/// <param name="error">Error indicates that the token couldn't be
/// checked</param>
/// <param name="user">User is the UserInfo associated with the
/// provided token.</param>
public V1beta1TokenReviewStatus(bool? authenticated = default(bool?), string error = default(string), V1beta1UserInfo user = default(V1beta1UserInfo))
public V1beta1TokenReviewStatus(IList<string> audiences = default(IList<string>), bool? authenticated = default(bool?), string error = default(string), V1beta1UserInfo user = default(V1beta1UserInfo))
{
Audiences = audiences;
Authenticated = authenticated;
Error = error;
User = user;
@@ -44,6 +57,21 @@ namespace k8s.Models
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets audiences are audience identifiers chosen by the
/// authenticator that are compatible with both the TokenReview and
/// token. An identifier is any identifier in the intersection of the
/// TokenReviewSpec audiences and the token's audiences. A client of
/// the TokenReview API that sets the spec.audiences field should
/// validate that a compatible audience identifier is returned in the
/// status.audiences field to ensure that the TokenReview server is
/// audience aware. If a TokenReview returns an empty status.audience
/// field where status.authenticated is "true", the token is valid
/// against the audience of the Kubernetes API server.
/// </summary>
[JsonProperty(PropertyName = "audiences")]
public IList<string> Audiences { get; set; }
/// <summary>
/// Gets or sets authenticated indicates that the token was associated
/// with a known user.

View File

@@ -99,7 +99,7 @@ namespace k8s.Models
/// 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>
public V1beta1Webhook(V1beta1WebhookClientConfig clientConfig, string name, string failurePolicy = default(string), V1LabelSelector namespaceSelector = default(V1LabelSelector), IList<V1beta1RuleWithOperations> rules = default(IList<V1beta1RuleWithOperations>), string sideEffects = default(string))
public V1beta1Webhook(Admissionregistrationv1beta1WebhookClientConfig clientConfig, string name, string failurePolicy = default(string), V1LabelSelector namespaceSelector = default(V1LabelSelector), IList<V1beta1RuleWithOperations> rules = default(IList<V1beta1RuleWithOperations>), string sideEffects = default(string))
{
ClientConfig = clientConfig;
FailurePolicy = failurePolicy;
@@ -120,7 +120,7 @@ namespace k8s.Models
/// Required
/// </summary>
[JsonProperty(PropertyName = "clientConfig")]
public V1beta1WebhookClientConfig ClientConfig { get; set; }
public Admissionregistrationv1beta1WebhookClientConfig ClientConfig { get; set; }
/// <summary>
/// Gets or sets failurePolicy defines how unrecognized errors from the

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -31,7 +31,7 @@ namespace k8s.Tests
Host = server.Uri.ToString()
});
var status = client.DeleteNamespace(new V1DeleteOptions(), "test");
var status = client.DeleteNamespace("test", new V1DeleteOptions());
Assert.False(status.HasObject);
Assert.Equal(v1Status.Message, status.Message);
@@ -61,7 +61,7 @@ namespace k8s.Tests
Host = server.Uri.ToString()
});
var status = client.DeleteNamespace(new V1DeleteOptions(), "test");
var status = client.DeleteNamespace("test", new V1DeleteOptions());
Assert.True(status.HasObject);

View File

@@ -634,9 +634,9 @@ namespace k8s.Tests
Assert.True(connectionClosed.IsSet);
await kubernetes.DeleteNamespacedJobAsync(
new V1DeleteOptions(),
job.Metadata.Name,
job.Metadata.NamespaceProperty);
job.Metadata.NamespaceProperty,
new V1DeleteOptions());
}
[Fact(Skip = "https://github.com/kubernetes-client/csharp/issues/165")]

View File

@@ -1 +1 @@
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

View File

@@ -1 +1 @@
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlEUkRDQ0FpeWdBd0lCQWdJSUxzVmNxZ0pmOWdZd0RRWUpLb1pJaHZjTkFRRUxCUUF3RXpFUk1BOEdBMVVFQXd3SVlXTnphemh6DQpZMkV3SGhjTk1UY3dPVEl3TURBd01EQXdXaGNOTVRrd09USXdNREF3TURBd1dqQVZNUk13RVFZRFZRUUREQXByZFdKbFkyOXVabWxuDQpNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXJQVjB0Rmp3ZkxVL0p6M3RaUXRRblNSRG5aMGpLTGtjDQpRcnJ2a2pwbEhpVkFVOVNkRG9nT0VneUVWQjJoMU0xSWNYSVZYM2lCTGFHS04rSTl2dGZQSFQ2QmViTzVKNzFaOHRGMytJU1pNRzBLDQpzSWwzQS94VEJWKzlwRHVEU3pXTGNVTVoxbnhWV1Bma0paRkVTQTNCakxFT1NGWWYySUF4V0g2cjJDRHp0SDMySzVLbUNaLzR1NFFsDQpCT204YWoxVkFUbUZvK3BJaTNmUXVKcm1TblBSRGRlSW5HVGYwaEYyQ3oybzYrNU1TSzAxbURuaERyZVF5eTJHNXZXRnlWUjNxZ3pGDQpOMHFyaUEvSFRGcklSazdtbFZtaEpPM3A5cU0wRGdJc29XdHg0Ukdqc1lycTBmOTBnREhna1YvS0E3UEhZQlhheVVnQjhLcTUwS2xHDQpxczRyYVFJREFRQUJvNEdaTUlHV01FSUdBMVVkSXdRN01EbUFGS0FXL3JnbWJ4YUtWcUZoaFl4bEl5TEhQbEkyb1Jla0ZUQVRNUkV3DQpEd1lEVlFRRERBaGhZM05yT0hOallZSUlSbWp6U3h0U2d5TXdIUVlEVlIwT0JCWUVGSk5mZDNaZlJZZnlQdGJZbE1NUDYvKzcrU3dIDQpNQXdHQTFVZEV3RUIvd1FDTUFBd0RnWURWUjBQQVFIL0JBUURBZ1dnTUJNR0ExVWRKUVFNTUFvR0NDc0dBUVVGQndNQ01BMEdDU3FHDQpTSWIzRFFFQkN3VUFBNElCQVFCRVd0U1JMU0lTODhFUWpRdWp4bitQdmQ0OVNxSkdTUmRFNnlraUkwcXZ5RmY1c1lnV2FlYTdaME43DQpuK3k3SmlQQXQ1MEFkdGdvYTF1bWV4bG9VZE02WDJQYTB4RUpDaklGOFArcjhPOU41U0N5NVRXYTd0VTFrWkdoZHJFOERMS2RJbXk4DQpqblhnUlBjUHVlVnRkam50TFdUMGpETDI5YVg3ZUhLcllTMWQ2dkUyWXE3djZVNFNKN2JLU0NGbFNjS1h0VjhxUFVteXFlbXd5WHNBDQpVdEtBelRKS0l0UGw3eG5icXduVm5tY3Q0a0Q1VHZBUEFTdmZGTkR0eEU0WTU1ZHNYTERSVEc3NU5VK044bi94ZnBzcnlBZkQrUGZ6DQpNR05OWVhLb0hwbm93R1Z4V3UxRHZNY2kxQTl4STF6VnFsS2FpVTZSNm9qWmx6Q2xsVU54QUhzZA0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ0K
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURrVENDQW5tZ0F3SUJBZ0lVTzlVTkdpbHhmSHpMbVJXcWU2dVMyRVZ1NVhVd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1FURUxNQWtHQTFVRUJoTUNWVk14RURBT0JnTlZCQWdUQjFKbFpHMXZibVF4Q3pBSkJnTlZCQWNUQWxkQgpNUk13RVFZRFZRUURFd3ByZFdKbGNtNWxkR1Z6TUNBWERURTRNVEl3T0RBNU5URXdNRm9ZRHpJeE1UZ3hNVEUwCk1EazFNVEF3V2pCQk1Rc3dDUVlEVlFRR0V3SlZVekVRTUE0R0ExVUVDQk1IVW1Wa2JXOXVaREVMTUFrR0ExVUUKQnhNQ1YwRXhFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQgpEd0F3Z2dFS0FvSUJBUUM4WkVRS296SE8zOExmRzRpcHFYWnRLTzNxSENjL1Z1WjUxWnZSeWJuTnpCYU5iMk9oClM0cU1nNDF6cFdzL3dMQnk4ZndPclpoOHpHb28wbHllQXVCSlBPWFc5SmswMmhOc1Y3ZHBqYXBZWFMrSXJvN04KcUxhWDB5amQxWWllSWFlb3NtV2xib2ZpcDVzS3dzVUI3bGREeXJpQklBYTEwNlhhTng5ZG82UEh1TDNibStldwpiaWRoRTlNUFRHY2V5WW9rZ3pNbGppanordk0yUnN5Z05ncmR4VDhROC9GRER2ZndTRmZUaEZlYXIzckQvRkJGCmVYb0Y5MHp6cG1aZlphTDlyZ2NjQ0pzQ2JSZlpiellVVERRVHo2dStaUVhUdGlrbVMvQ3d2d0hXa0w3bGhQNXYKQU0yVFpETEJhQXQwOU14dGlORFNWaFFTWVR2QWpKRmU4SzJoQWdNQkFBR2pmekI5TUE0R0ExVWREd0VCL3dRRQpBd0lGb0RBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUlLd1lCQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3CkFEQWRCZ05WSFE0RUZnUVVuQmo0T3Y3MnFlWWJ5YjVYSHJma1pkazd6VUF3SHdZRFZSMGpCQmd3Rm9BVUxwemQKRlplYkR6N0RmZUNkZkJqNmNkUWJmNk13RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQU1CL1RDaElEbTNkeDA4SApJeXlFS2dYUHh1d3A1cTB5QkFoT0pUS1JOVXNpayt6ZVUyUGpibnV0M3B1WnBENkZoTGFKQUZPbTdsMHhkNU1ZCkFZOVloSy9wa1U3Rmw1TFg0MitxQzRqK05JdGhBbFM5clNtNkRvNlN1b3JRcjdNajErY0syTjFkZHBtRWZya3kKZXZnMm02aFB5YTFlV0hNanVCd250bkJmV2EzWHBWMWVGZVBvd21zY3R6UmRJYUh3WDM3Yit3c2JmbkppczRvTgo2bHk0THBQb2xtYld3ZTRnaEtPWXNuL3lMT3FrUGJMZVpLeU5yaWJpSGhSQTM0NUVHUGJleXNmSlNIWWFqMnBaCmE0VmRTRFhnT2JlM3Vtdk9keXVEaGl5RFJ3TFozbVJLWlpIR0lzZC9ORzRncWo3a0gzV2N2Wm5mSkVHMXY2cG0KQTZFYTJiRT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=

View File

@@ -1 +1 @@
LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQ0KTUlJRW93SUJBQUtDQVFFQXJQVjB0Rmp3ZkxVL0p6M3RaUXRRblNSRG5aMGpLTGtjUXJydmtqcGxIaVZBVTlTZA0KRG9nT0VneUVWQjJoMU0xSWNYSVZYM2lCTGFHS04rSTl2dGZQSFQ2QmViTzVKNzFaOHRGMytJU1pNRzBLc0lsMw0KQS94VEJWKzlwRHVEU3pXTGNVTVoxbnhWV1Bma0paRkVTQTNCakxFT1NGWWYySUF4V0g2cjJDRHp0SDMySzVLbQ0KQ1ovNHU0UWxCT204YWoxVkFUbUZvK3BJaTNmUXVKcm1TblBSRGRlSW5HVGYwaEYyQ3oybzYrNU1TSzAxbURuaA0KRHJlUXl5Mkc1dldGeVZSM3FnekZOMHFyaUEvSFRGcklSazdtbFZtaEpPM3A5cU0wRGdJc29XdHg0Ukdqc1lycQ0KMGY5MGdESGdrVi9LQTdQSFlCWGF5VWdCOEtxNTBLbEdxczRyYVFJREFRQUJBb0lCQUJpaUpPc0N0ODJyS3NGMg0KQ25lWHN2V09rcXJDRkozYUwzSTVtYUZqKzc3ZFkxb05NQWsveTNFNm95WXZ5anE2dWhTZVFQa0YrcS83RCtxQg0KcUhXajJ2VzVUMHQ4RTJUYmpSSU9UMTN2MUxtVzdpelNoMGJrQ3hiNjJkR29RRHpYOVhJK01sSGdCMi9TYm9ZRA0KT0l4aW1TeG1remd1Ty83ajB5TmRkekFqRVZLbFdoYkZ6ajBFV01lazJ4L0VtWXBKSGlYdktZTjA3dXlxcTVMRA0KRlRNSjN1T2dsWis3U1E3eGtQcHl1OW1yMWxVZzVPeXdTV0dRVWR4Mk9IcTZXMlVHNFU4QTNXTFVwSFlLWEhqRQ0KVmg5UVNzdnNvUmptRWNaRllSRlpsRk9raVVCRC9HWm9Ya1doc3BCYU5mODRmUVdJenkzaFpyZ0MwWFc2MmszMQ0KRklVczhMa0NnWUVBMVBTRjR4MitYSnVqU2N1RXBhZWhLS2E3dmt6TXo2SlVlWHFJQlFRbmV1TE5QaVJlUThCWQ0KTVBTajNMV3ZZVzNEenNFQXBQVmMvSDNXZ0Q3V2s1bW1Dbm56elo0eDZ0eE1zaW5vVzZtNk8wWUd4b040YmZ1bg0KblliVFRucFRyRTEvS1VSZUJ6c2JaWmR1SGxwWUtocldMdmJNOW95UEJPbVNvcWk2MEdLQjNhOENnWUVBeit0TQ0KNlhYdVNWbnNUTExLNmx3U1FxWmZTNkVaa1RpOXZ2eEpaN2R1V1BxNm5CVHZtcjhZL2F0Q3l0UlhZY0FjRmF0Yw0KMVNURmdRYjJCUW82K1FGRW12NVhSUThqMmphODBMT2ZET2NCVkpTNmphOC8rK09IWDBWWGFjYUhDMkh6Y01MeA0KMlNyVXNhaEtkL1dUbW5xQmJDQTBUaDY3Q0UvOFIyZVQvdmc2Sm1jQ2dZQXV5YmFzNnJrTFljcWppUXFRMXQ2cQ0KcnM5ckJUYXVtK3pSYitGNHNLdjM3T0xKTjNaYWptVVNCSDRJSFFiMmNnWm1ZN00vaXdVdUdIdkxXNE1MbE9PTg0KUTdRVVJpQ1RpR2wxYjQyMHJmclQwUlBtQTdhdSsyNmRScVVnaGZIaVZuaU0yWStMS1NwZ3pMK04vYTJIT3JRNg0KUjFGTERpRFNKSHRxTDRZMENLQ2Qwd0tCZ0NGRWJ0dno2SnFIN3MwZTFtVEZNbzdEZS8vbjJPVnBoTUtvTHo2UA0KRlBMYnV6djZCWlJtK3lLcllsWjl2elYrdlgraUdZcHBCY2p0U2pQb1BTTldWcG5PRkR5U2ZaUU9xZ3Rpa2hKSQ0KYStnU20vN0xpWnROL256NTVWQ2hXVDR5Ly9hTTJwRjZ6dWxXR2dRem9OaFl2WmlGVnBraFJaL0EzSWE0UmUvSA0KMjlZRkFvR0JBSU81QVV6V3V1SHN5Wi9MeXMyZTg5d0w4OU5hVE1OVFcwQVlEZjhVQndMeWhyNEsrUmVsOHdiNw0KOXZ2L04wVTE0WURNT0c2S0lGQ05nZjRKZWJDOGIyOGp4cXFmTzV4clFRZWRsemU2TFFmMUhzUDJ5WVlOVkRjeg0KUWZ6bG9EOE96bmp5Y3pJY0doMkszU0cvWnJmWWtXWUxlUkVZRGpiU0VUN1cybERBa1FsVA0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0NCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBdkdSRUNxTXh6dC9DM3h1SXFhbDJiU2p0Nmh3blAxYm1lZFdiMGNtNXpjd1dqVzlqCm9VdUtqSU9OYzZWclA4Q3djdkg4RHEyWWZNeHFLTkpjbmdMZ1NUemwxdlNaTk5vVGJGZTNhWTJxV0YwdmlLNk8KemFpMmw5TW8zZFdJbmlHbnFMSmxwVzZINHFlYkNzTEZBZTVYUThxNGdTQUd0ZE9sMmpjZlhhT2p4N2k5MjV2bgpzRzRuWVJQVEQweG5Ic21LSklNekpZNG84L3J6TmtiTW9EWUszY1UvRVBQeFF3NzM4RWhYMDRSWG1xOTZ3L3hRClJYbDZCZmRNODZabVgyV2kvYTRISEFpYkFtMFgyVzgyRkV3MEU4K3J2bVVGMDdZcEprdndzTDhCMXBDKzVZVCsKYndETmsyUXl3V2dMZFBUTWJZalEwbFlVRW1FN3dJeVJYdkN0b1FJREFRQUJBb0lCQUNCYk9EUjdndnA5QkFNOQp2Mk1rYitxZnRQMFlpTVVnTDhXTklvNE5qNVFCRVg2Sk94dGcxaEw4SlRkUG1mUUJMRTBSc3JEeXI5WC9aZHhOCkJRcytnemNROW9qTXllT0I4UVFTckxXOFZ4MkdJN3ZkL3pqaldUa0tVMktHWWtpR2p6MHlKck1iSU11VTdkUVQKVDdMZE5LKzRDYWhqejhNNjdxbGova2NlNitwSlRLdHZKR2tNSDRYUXJyMFRmU3hLMmEwUUNmNkZwSXp2OFFEMApISE9HbFJaWlBYK1dXYVA2UFpFU3JSZG1vbmFKaTJlRG03b1Y1WU1DMExWTHJzMVprZS9FT01CODZYOVlraGJUCmJsRkxRZjlNR1hTdWtGeW1MSnFSd01DUjJxZytKSXpEU1BuYzkzbjNwcHl4Nys3UkhFeXZNMFVNOVhyeHQrNHcKUkd3ZVZlRUNnWUVBeElkaFRCdW4rRk52YkVhSHZUdlpzNkVCa1lJUXUyV0NDR3dWN1lPbTZzc0hzczJBaldrVgprQ0pMajhZMTFpMHd0Y21yOG9DcE1EN0FDRWxMSWFEK3RubW5CTzlkQ2NnTzJoNXFCSkY1UytJeFlGcVZ5ZVBsCnptQkE2VzFvdzB2Y1hsYmkrVUg4SWF3WnNLaFlMaklscmdmQ3YwaU9LNzBYaEF3YzZ6Vlk4TjhDZ1lFQTlXYUUKMklkNjJEaGxLWVRaNW5yY3g1aVN3WU1jaitMTE5FYTFZMlZFNEhZZktvbjFkRnNSa2NKV1YyRVpoRGlqcVIyaQpXZEdEVldiMVVaVEpiM3BZWW1NakJFQXhFbEJXTSt0SzhialRqMWhxbXJPQWhLU0ZYUjg4RkNEanVkcStSbmo4CklyZFlWanNCdDA5RkVkT2RqdVFseGgyRVdQWDNPdVFhRXd5WnNYOENnWUJzekNtZ0VadHVqUG9kTGZxTlZ5blIKR0t3ZW1xdWFvcnBXNFVkT1l0aXdHTS9kTzRrVVAvMlErbnRzVDZXVU9SWkRQUzgwbytlRjd1Y3VieXpwcEEvKwpndUJraWdLdW5KTWtTendUNVZrS0dtR05YdmlYZU5QSzZWeG1IWXltdVVONDhvN2F3SjNOSWxKaWl2K3VLMUxTCndqY2M0QlRjditUWjFEN2FNNEZXYndLQmdHY1MyNE96VEJiYmdTb3lRZS83OVJYazhPZFU4YjlCN0VZVjJRUloKdWRkcDVlZFJNUWJoWlh6S21zZHk0bXZWK25BRElYa0dkbHA5dDFhLzN1ZnpCSUsyenpOdTN1MnBUcnZaL1kyUQpLMVJQTjkrb3U3ZDYvd1ZCSkZQMENKSzgzU1R1bGtEaXI3andhZVViNTQvNFNYcUdPNU4rUEdPOVZFMnBGNGFlCnlVTnpBb0dCQUptMU1vcFQ4N0llelBmQ010ck51cXVqQjFpdStvb1lIYm9IbGJXZUNxS3RSRnNYMWhXOWpTY1UKQ0ZRanhSVCtPcENVWndjbDdkY2xsTUlxQTRWQ1NmUUFRMW9CMU41WENRWE8xVFlXOHU1K1BRTUdUcFEvQlVEawp6WmRJZzZqQkFXd3R6YkNzKzRjVkFoclN3cDRBSXFvcndTZU1qRmdsTmNoNzgxMEF6emNJCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==

View File

@@ -49,5 +49,5 @@ users:
token: black-token
- name: red-user
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlEUkRDQ0FpeWdBd0lCQWdJSUxzVmNxZ0pmOWdZd0RRWUpLb1pJaHZjTkFRRUxCUUF3RXpFUk1BOEdBMVVFQXd3SVlXTnphemh6DQpZMkV3SGhjTk1UY3dPVEl3TURBd01EQXdXaGNOTVRrd09USXdNREF3TURBd1dqQVZNUk13RVFZRFZRUUREQXByZFdKbFkyOXVabWxuDQpNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXJQVjB0Rmp3ZkxVL0p6M3RaUXRRblNSRG5aMGpLTGtjDQpRcnJ2a2pwbEhpVkFVOVNkRG9nT0VneUVWQjJoMU0xSWNYSVZYM2lCTGFHS04rSTl2dGZQSFQ2QmViTzVKNzFaOHRGMytJU1pNRzBLDQpzSWwzQS94VEJWKzlwRHVEU3pXTGNVTVoxbnhWV1Bma0paRkVTQTNCakxFT1NGWWYySUF4V0g2cjJDRHp0SDMySzVLbUNaLzR1NFFsDQpCT204YWoxVkFUbUZvK3BJaTNmUXVKcm1TblBSRGRlSW5HVGYwaEYyQ3oybzYrNU1TSzAxbURuaERyZVF5eTJHNXZXRnlWUjNxZ3pGDQpOMHFyaUEvSFRGcklSazdtbFZtaEpPM3A5cU0wRGdJc29XdHg0Ukdqc1lycTBmOTBnREhna1YvS0E3UEhZQlhheVVnQjhLcTUwS2xHDQpxczRyYVFJREFRQUJvNEdaTUlHV01FSUdBMVVkSXdRN01EbUFGS0FXL3JnbWJ4YUtWcUZoaFl4bEl5TEhQbEkyb1Jla0ZUQVRNUkV3DQpEd1lEVlFRRERBaGhZM05yT0hOallZSUlSbWp6U3h0U2d5TXdIUVlEVlIwT0JCWUVGSk5mZDNaZlJZZnlQdGJZbE1NUDYvKzcrU3dIDQpNQXdHQTFVZEV3RUIvd1FDTUFBd0RnWURWUjBQQVFIL0JBUURBZ1dnTUJNR0ExVWRKUVFNTUFvR0NDc0dBUVVGQndNQ01BMEdDU3FHDQpTSWIzRFFFQkN3VUFBNElCQVFCRVd0U1JMU0lTODhFUWpRdWp4bitQdmQ0OVNxSkdTUmRFNnlraUkwcXZ5RmY1c1lnV2FlYTdaME43DQpuK3k3SmlQQXQ1MEFkdGdvYTF1bWV4bG9VZE02WDJQYTB4RUpDaklGOFArcjhPOU41U0N5NVRXYTd0VTFrWkdoZHJFOERMS2RJbXk4DQpqblhnUlBjUHVlVnRkam50TFdUMGpETDI5YVg3ZUhLcllTMWQ2dkUyWXE3djZVNFNKN2JLU0NGbFNjS1h0VjhxUFVteXFlbXd5WHNBDQpVdEtBelRKS0l0UGw3eG5icXduVm5tY3Q0a0Q1VHZBUEFTdmZGTkR0eEU0WTU1ZHNYTERSVEc3NU5VK044bi94ZnBzcnlBZkQrUGZ6DQpNR05OWVhLb0hwbm93R1Z4V3UxRHZNY2kxQTl4STF6VnFsS2FpVTZSNm9qWmx6Q2xsVU54QUhzZA0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ0K
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQ0KTUlJRW93SUJBQUtDQVFFQXJQVjB0Rmp3ZkxVL0p6M3RaUXRRblNSRG5aMGpLTGtjUXJydmtqcGxIaVZBVTlTZA0KRG9nT0VneUVWQjJoMU0xSWNYSVZYM2lCTGFHS04rSTl2dGZQSFQ2QmViTzVKNzFaOHRGMytJU1pNRzBLc0lsMw0KQS94VEJWKzlwRHVEU3pXTGNVTVoxbnhWV1Bma0paRkVTQTNCakxFT1NGWWYySUF4V0g2cjJDRHp0SDMySzVLbQ0KQ1ovNHU0UWxCT204YWoxVkFUbUZvK3BJaTNmUXVKcm1TblBSRGRlSW5HVGYwaEYyQ3oybzYrNU1TSzAxbURuaA0KRHJlUXl5Mkc1dldGeVZSM3FnekZOMHFyaUEvSFRGcklSazdtbFZtaEpPM3A5cU0wRGdJc29XdHg0Ukdqc1lycQ0KMGY5MGdESGdrVi9LQTdQSFlCWGF5VWdCOEtxNTBLbEdxczRyYVFJREFRQUJBb0lCQUJpaUpPc0N0ODJyS3NGMg0KQ25lWHN2V09rcXJDRkozYUwzSTVtYUZqKzc3ZFkxb05NQWsveTNFNm95WXZ5anE2dWhTZVFQa0YrcS83RCtxQg0KcUhXajJ2VzVUMHQ4RTJUYmpSSU9UMTN2MUxtVzdpelNoMGJrQ3hiNjJkR29RRHpYOVhJK01sSGdCMi9TYm9ZRA0KT0l4aW1TeG1remd1Ty83ajB5TmRkekFqRVZLbFdoYkZ6ajBFV01lazJ4L0VtWXBKSGlYdktZTjA3dXlxcTVMRA0KRlRNSjN1T2dsWis3U1E3eGtQcHl1OW1yMWxVZzVPeXdTV0dRVWR4Mk9IcTZXMlVHNFU4QTNXTFVwSFlLWEhqRQ0KVmg5UVNzdnNvUmptRWNaRllSRlpsRk9raVVCRC9HWm9Ya1doc3BCYU5mODRmUVdJenkzaFpyZ0MwWFc2MmszMQ0KRklVczhMa0NnWUVBMVBTRjR4MitYSnVqU2N1RXBhZWhLS2E3dmt6TXo2SlVlWHFJQlFRbmV1TE5QaVJlUThCWQ0KTVBTajNMV3ZZVzNEenNFQXBQVmMvSDNXZ0Q3V2s1bW1Dbm56elo0eDZ0eE1zaW5vVzZtNk8wWUd4b040YmZ1bg0KblliVFRucFRyRTEvS1VSZUJ6c2JaWmR1SGxwWUtocldMdmJNOW95UEJPbVNvcWk2MEdLQjNhOENnWUVBeit0TQ0KNlhYdVNWbnNUTExLNmx3U1FxWmZTNkVaa1RpOXZ2eEpaN2R1V1BxNm5CVHZtcjhZL2F0Q3l0UlhZY0FjRmF0Yw0KMVNURmdRYjJCUW82K1FGRW12NVhSUThqMmphODBMT2ZET2NCVkpTNmphOC8rK09IWDBWWGFjYUhDMkh6Y01MeA0KMlNyVXNhaEtkL1dUbW5xQmJDQTBUaDY3Q0UvOFIyZVQvdmc2Sm1jQ2dZQXV5YmFzNnJrTFljcWppUXFRMXQ2cQ0KcnM5ckJUYXVtK3pSYitGNHNLdjM3T0xKTjNaYWptVVNCSDRJSFFiMmNnWm1ZN00vaXdVdUdIdkxXNE1MbE9PTg0KUTdRVVJpQ1RpR2wxYjQyMHJmclQwUlBtQTdhdSsyNmRScVVnaGZIaVZuaU0yWStMS1NwZ3pMK04vYTJIT3JRNg0KUjFGTERpRFNKSHRxTDRZMENLQ2Qwd0tCZ0NGRWJ0dno2SnFIN3MwZTFtVEZNbzdEZS8vbjJPVnBoTUtvTHo2UA0KRlBMYnV6djZCWlJtK3lLcllsWjl2elYrdlgraUdZcHBCY2p0U2pQb1BTTldWcG5PRkR5U2ZaUU9xZ3Rpa2hKSQ0KYStnU20vN0xpWnROL256NTVWQ2hXVDR5Ly9hTTJwRjZ6dWxXR2dRem9OaFl2WmlGVnBraFJaL0EzSWE0UmUvSA0KMjlZRkFvR0JBSU81QVV6V3V1SHN5Wi9MeXMyZTg5d0w4OU5hVE1OVFcwQVlEZjhVQndMeWhyNEsrUmVsOHdiNw0KOXZ2L04wVTE0WURNT0c2S0lGQ05nZjRKZWJDOGIyOGp4cXFmTzV4clFRZWRsemU2TFFmMUhzUDJ5WVlOVkRjeg0KUWZ6bG9EOE96bmp5Y3pJY0doMkszU0cvWnJmWWtXWUxlUkVZRGpiU0VUN1cybERBa1FsVA0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0NCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURrVENDQW5tZ0F3SUJBZ0lVTzlVTkdpbHhmSHpMbVJXcWU2dVMyRVZ1NVhVd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1FURUxNQWtHQTFVRUJoTUNWVk14RURBT0JnTlZCQWdUQjFKbFpHMXZibVF4Q3pBSkJnTlZCQWNUQWxkQgpNUk13RVFZRFZRUURFd3ByZFdKbGNtNWxkR1Z6TUNBWERURTRNVEl3T0RBNU5URXdNRm9ZRHpJeE1UZ3hNVEUwCk1EazFNVEF3V2pCQk1Rc3dDUVlEVlFRR0V3SlZVekVRTUE0R0ExVUVDQk1IVW1Wa2JXOXVaREVMTUFrR0ExVUUKQnhNQ1YwRXhFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQgpEd0F3Z2dFS0FvSUJBUUM4WkVRS296SE8zOExmRzRpcHFYWnRLTzNxSENjL1Z1WjUxWnZSeWJuTnpCYU5iMk9oClM0cU1nNDF6cFdzL3dMQnk4ZndPclpoOHpHb28wbHllQXVCSlBPWFc5SmswMmhOc1Y3ZHBqYXBZWFMrSXJvN04KcUxhWDB5amQxWWllSWFlb3NtV2xib2ZpcDVzS3dzVUI3bGREeXJpQklBYTEwNlhhTng5ZG82UEh1TDNibStldwpiaWRoRTlNUFRHY2V5WW9rZ3pNbGppanordk0yUnN5Z05ncmR4VDhROC9GRER2ZndTRmZUaEZlYXIzckQvRkJGCmVYb0Y5MHp6cG1aZlphTDlyZ2NjQ0pzQ2JSZlpiellVVERRVHo2dStaUVhUdGlrbVMvQ3d2d0hXa0w3bGhQNXYKQU0yVFpETEJhQXQwOU14dGlORFNWaFFTWVR2QWpKRmU4SzJoQWdNQkFBR2pmekI5TUE0R0ExVWREd0VCL3dRRQpBd0lGb0RBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUlLd1lCQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3CkFEQWRCZ05WSFE0RUZnUVVuQmo0T3Y3MnFlWWJ5YjVYSHJma1pkazd6VUF3SHdZRFZSMGpCQmd3Rm9BVUxwemQKRlplYkR6N0RmZUNkZkJqNmNkUWJmNk13RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQU1CL1RDaElEbTNkeDA4SApJeXlFS2dYUHh1d3A1cTB5QkFoT0pUS1JOVXNpayt6ZVUyUGpibnV0M3B1WnBENkZoTGFKQUZPbTdsMHhkNU1ZCkFZOVloSy9wa1U3Rmw1TFg0MitxQzRqK05JdGhBbFM5clNtNkRvNlN1b3JRcjdNajErY0syTjFkZHBtRWZya3kKZXZnMm02aFB5YTFlV0hNanVCd250bkJmV2EzWHBWMWVGZVBvd21zY3R6UmRJYUh3WDM3Yit3c2JmbkppczRvTgo2bHk0THBQb2xtYld3ZTRnaEtPWXNuL3lMT3FrUGJMZVpLeU5yaWJpSGhSQTM0NUVHUGJleXNmSlNIWWFqMnBaCmE0VmRTRFhnT2JlM3Vtdk9keXVEaGl5RFJ3TFozbVJLWlpIR0lzZC9ORzRncWo3a0gzV2N2Wm5mSkVHMXY2cG0KQTZFYTJiRT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBdkdSRUNxTXh6dC9DM3h1SXFhbDJiU2p0Nmh3blAxYm1lZFdiMGNtNXpjd1dqVzlqCm9VdUtqSU9OYzZWclA4Q3djdkg4RHEyWWZNeHFLTkpjbmdMZ1NUemwxdlNaTk5vVGJGZTNhWTJxV0YwdmlLNk8KemFpMmw5TW8zZFdJbmlHbnFMSmxwVzZINHFlYkNzTEZBZTVYUThxNGdTQUd0ZE9sMmpjZlhhT2p4N2k5MjV2bgpzRzRuWVJQVEQweG5Ic21LSklNekpZNG84L3J6TmtiTW9EWUszY1UvRVBQeFF3NzM4RWhYMDRSWG1xOTZ3L3hRClJYbDZCZmRNODZabVgyV2kvYTRISEFpYkFtMFgyVzgyRkV3MEU4K3J2bVVGMDdZcEprdndzTDhCMXBDKzVZVCsKYndETmsyUXl3V2dMZFBUTWJZalEwbFlVRW1FN3dJeVJYdkN0b1FJREFRQUJBb0lCQUNCYk9EUjdndnA5QkFNOQp2Mk1rYitxZnRQMFlpTVVnTDhXTklvNE5qNVFCRVg2Sk94dGcxaEw4SlRkUG1mUUJMRTBSc3JEeXI5WC9aZHhOCkJRcytnemNROW9qTXllT0I4UVFTckxXOFZ4MkdJN3ZkL3pqaldUa0tVMktHWWtpR2p6MHlKck1iSU11VTdkUVQKVDdMZE5LKzRDYWhqejhNNjdxbGova2NlNitwSlRLdHZKR2tNSDRYUXJyMFRmU3hLMmEwUUNmNkZwSXp2OFFEMApISE9HbFJaWlBYK1dXYVA2UFpFU3JSZG1vbmFKaTJlRG03b1Y1WU1DMExWTHJzMVprZS9FT01CODZYOVlraGJUCmJsRkxRZjlNR1hTdWtGeW1MSnFSd01DUjJxZytKSXpEU1BuYzkzbjNwcHl4Nys3UkhFeXZNMFVNOVhyeHQrNHcKUkd3ZVZlRUNnWUVBeElkaFRCdW4rRk52YkVhSHZUdlpzNkVCa1lJUXUyV0NDR3dWN1lPbTZzc0hzczJBaldrVgprQ0pMajhZMTFpMHd0Y21yOG9DcE1EN0FDRWxMSWFEK3RubW5CTzlkQ2NnTzJoNXFCSkY1UytJeFlGcVZ5ZVBsCnptQkE2VzFvdzB2Y1hsYmkrVUg4SWF3WnNLaFlMaklscmdmQ3YwaU9LNzBYaEF3YzZ6Vlk4TjhDZ1lFQTlXYUUKMklkNjJEaGxLWVRaNW5yY3g1aVN3WU1jaitMTE5FYTFZMlZFNEhZZktvbjFkRnNSa2NKV1YyRVpoRGlqcVIyaQpXZEdEVldiMVVaVEpiM3BZWW1NakJFQXhFbEJXTSt0SzhialRqMWhxbXJPQWhLU0ZYUjg4RkNEanVkcStSbmo4CklyZFlWanNCdDA5RkVkT2RqdVFseGgyRVdQWDNPdVFhRXd5WnNYOENnWUJzekNtZ0VadHVqUG9kTGZxTlZ5blIKR0t3ZW1xdWFvcnBXNFVkT1l0aXdHTS9kTzRrVVAvMlErbnRzVDZXVU9SWkRQUzgwbytlRjd1Y3VieXpwcEEvKwpndUJraWdLdW5KTWtTendUNVZrS0dtR05YdmlYZU5QSzZWeG1IWXltdVVONDhvN2F3SjNOSWxKaWl2K3VLMUxTCndqY2M0QlRjditUWjFEN2FNNEZXYndLQmdHY1MyNE96VEJiYmdTb3lRZS83OVJYazhPZFU4YjlCN0VZVjJRUloKdWRkcDVlZFJNUWJoWlh6S21zZHk0bXZWK25BRElYa0dkbHA5dDFhLzN1ZnpCSUsyenpOdTN1MnBUcnZaL1kyUQpLMVJQTjkrb3U3ZDYvd1ZCSkZQMENKSzgzU1R1bGtEaXI3andhZVViNTQvNFNYcUdPNU4rUEdPOVZFMnBGNGFlCnlVTnpBb0dCQUptMU1vcFQ4N0llelBmQ010ck51cXVqQjFpdStvb1lIYm9IbGJXZUNxS3RSRnNYMWhXOWpTY1UKQ0ZRanhSVCtPcENVWndjbDdkY2xsTUlxQTRWQ1NmUUFRMW9CMU41WENRWE8xVFlXOHU1K1BRTUdUcFEvQlVEawp6WmRJZzZqQkFXd3R6YkNzKzRjVkFoclN3cDRBSXFvcndTZU1qRmdsTmNoNzgxMEF6emNJCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==

View File

@@ -49,5 +49,5 @@ users:
token: black-token
- name: red-user
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlEUkRDQ0FpeWdBd0lCQWdJSUxzVmNxZ0pmOWdZd0RRWUpLb1pJaHZjTkFRRUxCUUF3RXpFUk1BOEdBMVVFQXd3SVlXTnphemh6DQpZMkV3SGhjTk1UY3dPVEl3TURBd01EQXdXaGNOTVRrd09USXdNREF3TURBd1dqQVZNUk13RVFZRFZRUUREQXByZFdKbFkyOXVabWxuDQpNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXJQVjB0Rmp3ZkxVL0p6M3RaUXRRblNSRG5aMGpLTGtjDQpRcnJ2a2pwbEhpVkFVOVNkRG9nT0VneUVWQjJoMU0xSWNYSVZYM2lCTGFHS04rSTl2dGZQSFQ2QmViTzVKNzFaOHRGMytJU1pNRzBLDQpzSWwzQS94VEJWKzlwRHVEU3pXTGNVTVoxbnhWV1Bma0paRkVTQTNCakxFT1NGWWYySUF4V0g2cjJDRHp0SDMySzVLbUNaLzR1NFFsDQpCT204YWoxVkFUbUZvK3BJaTNmUXVKcm1TblBSRGRlSW5HVGYwaEYyQ3oybzYrNU1TSzAxbURuaERyZVF5eTJHNXZXRnlWUjNxZ3pGDQpOMHFyaUEvSFRGcklSazdtbFZtaEpPM3A5cU0wRGdJc29XdHg0Ukdqc1lycTBmOTBnREhna1YvS0E3UEhZQlhheVVnQjhLcTUwS2xHDQpxczRyYVFJREFRQUJvNEdaTUlHV01FSUdBMVVkSXdRN01EbUFGS0FXL3JnbWJ4YUtWcUZoaFl4bEl5TEhQbEkyb1Jla0ZUQVRNUkV3DQpEd1lEVlFRRERBaGhZM05yT0hOallZSUlSbWp6U3h0U2d5TXdIUVlEVlIwT0JCWUVGSk5mZDNaZlJZZnlQdGJZbE1NUDYvKzcrU3dIDQpNQXdHQTFVZEV3RUIvd1FDTUFBd0RnWURWUjBQQVFIL0JBUURBZ1dnTUJNR0ExVWRKUVFNTUFvR0NDc0dBUVVGQndNQ01BMEdDU3FHDQpTSWIzRFFFQkN3VUFBNElCQVFCRVd0U1JMU0lTODhFUWpRdWp4bitQdmQ0OVNxSkdTUmRFNnlraUkwcXZ5RmY1c1lnV2FlYTdaME43DQpuK3k3SmlQQXQ1MEFkdGdvYTF1bWV4bG9VZE02WDJQYTB4RUpDaklGOFArcjhPOU41U0N5NVRXYTd0VTFrWkdoZHJFOERMS2RJbXk4DQpqblhnUlBjUHVlVnRkam50TFdUMGpETDI5YVg3ZUhLcllTMWQ2dkUyWXE3djZVNFNKN2JLU0NGbFNjS1h0VjhxUFVteXFlbXd5WHNBDQpVdEtBelRKS0l0UGw3eG5icXduVm5tY3Q0a0Q1VHZBUEFTdmZGTkR0eEU0WTU1ZHNYTERSVEc3NU5VK044bi94ZnBzcnlBZkQrUGZ6DQpNR05OWVhLb0hwbm93R1Z4V3UxRHZNY2kxQTl4STF6VnFsS2FpVTZSNm9qWmx6Q2xsVU54QUhzZA0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ0K
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQ0KTUlJRW93SUJBQUtDQVFFQXJQVjB0Rmp3ZkxVL0p6M3RaUXRRblNSRG5aMGpLTGtjUXJydmtqcGxIaVZBVTlTZA0KRG9nT0VneUVWQjJoMU0xSWNYSVZYM2lCTGFHS04rSTl2dGZQSFQ2QmViTzVKNzFaOHRGMytJU1pNRzBLc0lsMw0KQS94VEJWKzlwRHVEU3pXTGNVTVoxbnhWV1Bma0paRkVTQTNCakxFT1NGWWYySUF4V0g2cjJDRHp0SDMySzVLbQ0KQ1ovNHU0UWxCT204YWoxVkFUbUZvK3BJaTNmUXVKcm1TblBSRGRlSW5HVGYwaEYyQ3oybzYrNU1TSzAxbURuaA0KRHJlUXl5Mkc1dldGeVZSM3FnekZOMHFyaUEvSFRGcklSazdtbFZtaEpPM3A5cU0wRGdJc29XdHg0Ukdqc1lycQ0KMGY5MGdESGdrVi9LQTdQSFlCWGF5VWdCOEtxNTBLbEdxczRyYVFJREFRQUJBb0lCQUJpaUpPc0N0ODJyS3NGMg0KQ25lWHN2V09rcXJDRkozYUwzSTVtYUZqKzc3ZFkxb05NQWsveTNFNm95WXZ5anE2dWhTZVFQa0YrcS83RCtxQg0KcUhXajJ2VzVUMHQ4RTJUYmpSSU9UMTN2MUxtVzdpelNoMGJrQ3hiNjJkR29RRHpYOVhJK01sSGdCMi9TYm9ZRA0KT0l4aW1TeG1remd1Ty83ajB5TmRkekFqRVZLbFdoYkZ6ajBFV01lazJ4L0VtWXBKSGlYdktZTjA3dXlxcTVMRA0KRlRNSjN1T2dsWis3U1E3eGtQcHl1OW1yMWxVZzVPeXdTV0dRVWR4Mk9IcTZXMlVHNFU4QTNXTFVwSFlLWEhqRQ0KVmg5UVNzdnNvUmptRWNaRllSRlpsRk9raVVCRC9HWm9Ya1doc3BCYU5mODRmUVdJenkzaFpyZ0MwWFc2MmszMQ0KRklVczhMa0NnWUVBMVBTRjR4MitYSnVqU2N1RXBhZWhLS2E3dmt6TXo2SlVlWHFJQlFRbmV1TE5QaVJlUThCWQ0KTVBTajNMV3ZZVzNEenNFQXBQVmMvSDNXZ0Q3V2s1bW1Dbm56elo0eDZ0eE1zaW5vVzZtNk8wWUd4b040YmZ1bg0KblliVFRucFRyRTEvS1VSZUJ6c2JaWmR1SGxwWUtocldMdmJNOW95UEJPbVNvcWk2MEdLQjNhOENnWUVBeit0TQ0KNlhYdVNWbnNUTExLNmx3U1FxWmZTNkVaa1RpOXZ2eEpaN2R1V1BxNm5CVHZtcjhZL2F0Q3l0UlhZY0FjRmF0Yw0KMVNURmdRYjJCUW82K1FGRW12NVhSUThqMmphODBMT2ZET2NCVkpTNmphOC8rK09IWDBWWGFjYUhDMkh6Y01MeA0KMlNyVXNhaEtkL1dUbW5xQmJDQTBUaDY3Q0UvOFIyZVQvdmc2Sm1jQ2dZQXV5YmFzNnJrTFljcWppUXFRMXQ2cQ0KcnM5ckJUYXVtK3pSYitGNHNLdjM3T0xKTjNaYWptVVNCSDRJSFFiMmNnWm1ZN00vaXdVdUdIdkxXNE1MbE9PTg0KUTdRVVJpQ1RpR2wxYjQyMHJmclQwUlBtQTdhdSsyNmRScVVnaGZIaVZuaU0yWStMS1NwZ3pMK04vYTJIT3JRNg0KUjFGTERpRFNKSHRxTDRZMENLQ2Qwd0tCZ0NGRWJ0dno2SnFIN3MwZTFtVEZNbzdEZS8vbjJPVnBoTUtvTHo2UA0KRlBMYnV6djZCWlJtK3lLcllsWjl2elYrdlgraUdZcHBCY2p0U2pQb1BTTldWcG5PRkR5U2ZaUU9xZ3Rpa2hKSQ0KYStnU20vN0xpWnROL256NTVWQ2hXVDR5Ly9hTTJwRjZ6dWxXR2dRem9OaFl2WmlGVnBraFJaL0EzSWE0UmUvSA0KMjlZRkFvR0JBSU81QVV6V3V1SHN5Wi9MeXMyZTg5d0w4OU5hVE1OVFcwQVlEZjhVQndMeWhyNEsrUmVsOHdiNw0KOXZ2L04wVTE0WURNT0c2S0lGQ05nZjRKZWJDOGIyOGp4cXFmTzV4clFRZWRsemU2TFFmMUhzUDJ5WVlOVkRjeg0KUWZ6bG9EOE96bmp5Y3pJY0doMkszU0cvWnJmWWtXWUxlUkVZRGpiU0VUN1cybERBa1FsVA0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0NCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURrVENDQW5tZ0F3SUJBZ0lVTzlVTkdpbHhmSHpMbVJXcWU2dVMyRVZ1NVhVd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1FURUxNQWtHQTFVRUJoTUNWVk14RURBT0JnTlZCQWdUQjFKbFpHMXZibVF4Q3pBSkJnTlZCQWNUQWxkQgpNUk13RVFZRFZRUURFd3ByZFdKbGNtNWxkR1Z6TUNBWERURTRNVEl3T0RBNU5URXdNRm9ZRHpJeE1UZ3hNVEUwCk1EazFNVEF3V2pCQk1Rc3dDUVlEVlFRR0V3SlZVekVRTUE0R0ExVUVDQk1IVW1Wa2JXOXVaREVMTUFrR0ExVUUKQnhNQ1YwRXhFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQgpEd0F3Z2dFS0FvSUJBUUM4WkVRS296SE8zOExmRzRpcHFYWnRLTzNxSENjL1Z1WjUxWnZSeWJuTnpCYU5iMk9oClM0cU1nNDF6cFdzL3dMQnk4ZndPclpoOHpHb28wbHllQXVCSlBPWFc5SmswMmhOc1Y3ZHBqYXBZWFMrSXJvN04KcUxhWDB5amQxWWllSWFlb3NtV2xib2ZpcDVzS3dzVUI3bGREeXJpQklBYTEwNlhhTng5ZG82UEh1TDNibStldwpiaWRoRTlNUFRHY2V5WW9rZ3pNbGppanordk0yUnN5Z05ncmR4VDhROC9GRER2ZndTRmZUaEZlYXIzckQvRkJGCmVYb0Y5MHp6cG1aZlphTDlyZ2NjQ0pzQ2JSZlpiellVVERRVHo2dStaUVhUdGlrbVMvQ3d2d0hXa0w3bGhQNXYKQU0yVFpETEJhQXQwOU14dGlORFNWaFFTWVR2QWpKRmU4SzJoQWdNQkFBR2pmekI5TUE0R0ExVWREd0VCL3dRRQpBd0lGb0RBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUlLd1lCQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3CkFEQWRCZ05WSFE0RUZnUVVuQmo0T3Y3MnFlWWJ5YjVYSHJma1pkazd6VUF3SHdZRFZSMGpCQmd3Rm9BVUxwemQKRlplYkR6N0RmZUNkZkJqNmNkUWJmNk13RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQU1CL1RDaElEbTNkeDA4SApJeXlFS2dYUHh1d3A1cTB5QkFoT0pUS1JOVXNpayt6ZVUyUGpibnV0M3B1WnBENkZoTGFKQUZPbTdsMHhkNU1ZCkFZOVloSy9wa1U3Rmw1TFg0MitxQzRqK05JdGhBbFM5clNtNkRvNlN1b3JRcjdNajErY0syTjFkZHBtRWZya3kKZXZnMm02aFB5YTFlV0hNanVCd250bkJmV2EzWHBWMWVGZVBvd21zY3R6UmRJYUh3WDM3Yit3c2JmbkppczRvTgo2bHk0THBQb2xtYld3ZTRnaEtPWXNuL3lMT3FrUGJMZVpLeU5yaWJpSGhSQTM0NUVHUGJleXNmSlNIWWFqMnBaCmE0VmRTRFhnT2JlM3Vtdk9keXVEaGl5RFJ3TFozbVJLWlpIR0lzZC9ORzRncWo3a0gzV2N2Wm5mSkVHMXY2cG0KQTZFYTJiRT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBdkdSRUNxTXh6dC9DM3h1SXFhbDJiU2p0Nmh3blAxYm1lZFdiMGNtNXpjd1dqVzlqCm9VdUtqSU9OYzZWclA4Q3djdkg4RHEyWWZNeHFLTkpjbmdMZ1NUemwxdlNaTk5vVGJGZTNhWTJxV0YwdmlLNk8KemFpMmw5TW8zZFdJbmlHbnFMSmxwVzZINHFlYkNzTEZBZTVYUThxNGdTQUd0ZE9sMmpjZlhhT2p4N2k5MjV2bgpzRzRuWVJQVEQweG5Ic21LSklNekpZNG84L3J6TmtiTW9EWUszY1UvRVBQeFF3NzM4RWhYMDRSWG1xOTZ3L3hRClJYbDZCZmRNODZabVgyV2kvYTRISEFpYkFtMFgyVzgyRkV3MEU4K3J2bVVGMDdZcEprdndzTDhCMXBDKzVZVCsKYndETmsyUXl3V2dMZFBUTWJZalEwbFlVRW1FN3dJeVJYdkN0b1FJREFRQUJBb0lCQUNCYk9EUjdndnA5QkFNOQp2Mk1rYitxZnRQMFlpTVVnTDhXTklvNE5qNVFCRVg2Sk94dGcxaEw4SlRkUG1mUUJMRTBSc3JEeXI5WC9aZHhOCkJRcytnemNROW9qTXllT0I4UVFTckxXOFZ4MkdJN3ZkL3pqaldUa0tVMktHWWtpR2p6MHlKck1iSU11VTdkUVQKVDdMZE5LKzRDYWhqejhNNjdxbGova2NlNitwSlRLdHZKR2tNSDRYUXJyMFRmU3hLMmEwUUNmNkZwSXp2OFFEMApISE9HbFJaWlBYK1dXYVA2UFpFU3JSZG1vbmFKaTJlRG03b1Y1WU1DMExWTHJzMVprZS9FT01CODZYOVlraGJUCmJsRkxRZjlNR1hTdWtGeW1MSnFSd01DUjJxZytKSXpEU1BuYzkzbjNwcHl4Nys3UkhFeXZNMFVNOVhyeHQrNHcKUkd3ZVZlRUNnWUVBeElkaFRCdW4rRk52YkVhSHZUdlpzNkVCa1lJUXUyV0NDR3dWN1lPbTZzc0hzczJBaldrVgprQ0pMajhZMTFpMHd0Y21yOG9DcE1EN0FDRWxMSWFEK3RubW5CTzlkQ2NnTzJoNXFCSkY1UytJeFlGcVZ5ZVBsCnptQkE2VzFvdzB2Y1hsYmkrVUg4SWF3WnNLaFlMaklscmdmQ3YwaU9LNzBYaEF3YzZ6Vlk4TjhDZ1lFQTlXYUUKMklkNjJEaGxLWVRaNW5yY3g1aVN3WU1jaitMTE5FYTFZMlZFNEhZZktvbjFkRnNSa2NKV1YyRVpoRGlqcVIyaQpXZEdEVldiMVVaVEpiM3BZWW1NakJFQXhFbEJXTSt0SzhialRqMWhxbXJPQWhLU0ZYUjg4RkNEanVkcStSbmo4CklyZFlWanNCdDA5RkVkT2RqdVFseGgyRVdQWDNPdVFhRXd5WnNYOENnWUJzekNtZ0VadHVqUG9kTGZxTlZ5blIKR0t3ZW1xdWFvcnBXNFVkT1l0aXdHTS9kTzRrVVAvMlErbnRzVDZXVU9SWkRQUzgwbytlRjd1Y3VieXpwcEEvKwpndUJraWdLdW5KTWtTendUNVZrS0dtR05YdmlYZU5QSzZWeG1IWXltdVVONDhvN2F3SjNOSWxKaWl2K3VLMUxTCndqY2M0QlRjditUWjFEN2FNNEZXYndLQmdHY1MyNE96VEJiYmdTb3lRZS83OVJYazhPZFU4YjlCN0VZVjJRUloKdWRkcDVlZFJNUWJoWlh6S21zZHk0bXZWK25BRElYa0dkbHA5dDFhLzN1ZnpCSUsyenpOdTN1MnBUcnZaL1kyUQpLMVJQTjkrb3U3ZDYvd1ZCSkZQMENKSzgzU1R1bGtEaXI3andhZVViNTQvNFNYcUdPNU4rUEdPOVZFMnBGNGFlCnlVTnpBb0dCQUptMU1vcFQ4N0llelBmQ010ck51cXVqQjFpdStvb1lIYm9IbGJXZUNxS3RSRnNYMWhXOWpTY1UKQ0ZRanhSVCtPcENVWndjbDdkY2xsTUlxQTRWQ1NmUUFRMW9CMU41WENRWE8xVFlXOHU1K1BRTUdUcFEvQlVEawp6WmRJZzZqQkFXd3R6YkNzKzRjVkFoclN3cDRBSXFvcndTZU1qRmdsTmNoNzgxMEF6emNJCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==

View File

@@ -1,6 +1,6 @@
{
"$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
"version": "1.3",
"version": "1.4",
"publicReleaseRefSpec": [
"^refs/heads/master$", // we release out of master
],