// // 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. // namespace k8s.Models { using Microsoft.Rest; using Newtonsoft.Json; using System.Collections.Generic; using System.Collections; using System.Linq; /// /// ClusterRole is a cluster level, logical grouping of PolicyRules that can be /// referenced as a unit by a RoleBinding or ClusterRoleBinding. /// public partial class V1ClusterRole { /// /// Initializes a new instance of the V1ClusterRole class. /// public V1ClusterRole() { CustomInit(); } /// /// Initializes a new instance of the V1ClusterRole class. /// /// /// AggregationRule is an optional field that describes how to build the Rules for /// this ClusterRole. If AggregationRule is set, then the Rules are controller /// managed and direct changes to Rules will be stomped by the controller. /// /// /// 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 /// /// /// 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 /// /// /// Standard object's metadata. /// /// /// Rules holds all the PolicyRules for this ClusterRole /// public V1ClusterRole(V1AggregationRule aggregationRule = null, string apiVersion = null, string kind = null, V1ObjectMeta metadata = null, IList rules = null) { AggregationRule = aggregationRule; ApiVersion = apiVersion; Kind = kind; Metadata = metadata; Rules = rules; CustomInit(); } /// /// An initialization method that performs custom operations like setting defaults /// partial void CustomInit(); /// /// AggregationRule is an optional field that describes how to build the Rules for /// this ClusterRole. If AggregationRule is set, then the Rules are controller /// managed and direct changes to Rules will be stomped by the controller. /// [JsonProperty(PropertyName = "aggregationRule")] public V1AggregationRule AggregationRule { get; set; } /// /// 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 /// [JsonProperty(PropertyName = "apiVersion")] public string ApiVersion { get; set; } /// /// 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 /// [JsonProperty(PropertyName = "kind")] public string Kind { get; set; } /// /// Standard object's metadata. /// [JsonProperty(PropertyName = "metadata")] public V1ObjectMeta Metadata { get; set; } /// /// Rules holds all the PolicyRules for this ClusterRole /// [JsonProperty(PropertyName = "rules")] public IList Rules { get; set; } /// /// Validate the object. /// /// /// Thrown if validation fails /// public virtual void Validate() { AggregationRule?.Validate(); Metadata?.Validate(); if (Rules != null){ foreach(var obj in Rules) { obj.Validate(); } } } } }