Files
csharp/src/KubernetesClient/generated/Models/V1RoleBinding.cs
Boshi Lian 463e2d94df Fix 712 (#713)
* fix iter obj validate might npe

* generated models
2021-09-24 19:34:21 -07:00

133 lines
5.2 KiB
C#
Generated

// <auto-generated>
// Code generated by https://github.com/kubernetes-client/csharp/tree/master/gen/KubernetesGenerator
// Changes may cause incorrect behavior and will be lost if the code is
// regenerated.
// </auto-generated>
namespace k8s.Models
{
using Microsoft.Rest;
using Newtonsoft.Json;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
/// <summary>
/// RoleBinding references a role, but does not contain it. It can reference a Role
/// in the same namespace or a ClusterRole in the global namespace. It adds who
/// information via Subjects and namespace information by which namespace it exists
/// in. RoleBindings in a given namespace only have effect in that namespace.
/// </summary>
public partial class V1RoleBinding
{
/// <summary>
/// Initializes a new instance of the V1RoleBinding class.
/// </summary>
public V1RoleBinding()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1RoleBinding class.
/// </summary>
/// <param name="roleRef">
/// RoleRef can reference a Role in the current namespace or a ClusterRole in the
/// global namespace. If the RoleRef cannot be resolved, the Authorizer must return
/// an error.
/// </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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds
/// </param>
/// <param name="metadata">
/// Standard object&apos;s metadata.
/// </param>
/// <param name="subjects">
/// Subjects holds references to the objects the role applies to.
/// </param>
public V1RoleBinding(V1RoleRef roleRef, string apiVersion = null, string kind = null, V1ObjectMeta metadata = null, IList<V1Subject> subjects = null)
{
ApiVersion = apiVersion;
Kind = kind;
Metadata = metadata;
RoleRef = roleRef;
Subjects = subjects;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// 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/sig-architecture/api-conventions.md#resources
/// </summary>
[JsonProperty(PropertyName = "apiVersion")]
public string ApiVersion { get; set; }
/// <summary>
/// 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/sig-architecture/api-conventions.md#types-kinds
/// </summary>
[JsonProperty(PropertyName = "kind")]
public string Kind { get; set; }
/// <summary>
/// Standard object&apos;s metadata.
/// </summary>
[JsonProperty(PropertyName = "metadata")]
public V1ObjectMeta Metadata { get; set; }
/// <summary>
/// RoleRef can reference a Role in the current namespace or a ClusterRole in the
/// global namespace. If the RoleRef cannot be resolved, the Authorizer must return
/// an error.
/// </summary>
[JsonProperty(PropertyName = "roleRef")]
public V1RoleRef RoleRef { get; set; }
/// <summary>
/// Subjects holds references to the objects the role applies to.
/// </summary>
[JsonProperty(PropertyName = "subjects")]
public IList<V1Subject> Subjects { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (RoleRef == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "RoleRef");
}
Metadata?.Validate();
RoleRef?.Validate();
if (Subjects != null){
foreach(var obj in Subjects)
{
obj.Validate();
}
}
}
}
}