// // Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is // regenerated. // namespace k8s.Models { using Microsoft.Rest; using Newtonsoft.Json; using System.Collections; using System.Collections.Generic; using System.Linq; /// /// 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. /// public partial class V1RoleBinding { /// /// Initializes a new instance of the V1RoleBinding class. /// public V1RoleBinding() { CustomInit(); } /// /// Initializes a new instance of the V1RoleBinding class. /// /// 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. /// 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 /// 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 /// Standard object's metadata. /// Subjects holds references to the objects the /// role applies to. public V1RoleBinding(V1RoleRef roleRef, string apiVersion = default(string), string kind = default(string), V1ObjectMeta metadata = default(V1ObjectMeta), IList subjects = default(IList)) { ApiVersion = apiVersion; Kind = kind; Metadata = metadata; RoleRef = roleRef; Subjects = subjects; CustomInit(); } /// /// An initialization method that performs custom operations like setting defaults /// partial void CustomInit(); /// /// 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 /// [JsonProperty(PropertyName = "apiVersion")] public string ApiVersion { get; set; } /// /// 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 /// [JsonProperty(PropertyName = "kind")] public string Kind { get; set; } /// /// Gets or sets standard object's metadata. /// [JsonProperty(PropertyName = "metadata")] public V1ObjectMeta Metadata { get; set; } /// /// Gets or sets 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. /// [JsonProperty(PropertyName = "roleRef")] public V1RoleRef RoleRef { get; set; } /// /// Gets or sets subjects holds references to the objects the role /// applies to. /// [JsonProperty(PropertyName = "subjects")] public IList Subjects { get; set; } /// /// Validate the object. /// /// /// Thrown if validation fails /// public virtual void Validate() { if (RoleRef == null) { throw new ValidationException(ValidationRules.CannotBeNull, "RoleRef"); } if (Metadata != null) { Metadata.Validate(); } if (RoleRef != null) { RoleRef.Validate(); } if (Subjects != null) { foreach (var element in Subjects) { if (element != null) { element.Validate(); } } } } } }