| File: Resources\ClusterRoleBindingV1.cs | Web Access |
| Project: src\src\Aspire.Hosting.Kubernetes\Aspire.Hosting.Kubernetes.csproj (Aspire.Hosting.Kubernetes) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using YamlDotNet.Serialization; namespace Aspire.Hosting.Kubernetes.Resources; /// <summary> /// Represents a ClusterRoleBinding in a Kubernetes cluster. /// </summary> /// <remarks> /// A ClusterRoleBinding grants access to cluster-scoped resources by binding a ClusterRole /// to one or more subjects. It contains a reference to a ClusterRole and a collection /// of subjects, such as users, groups, or service accounts, to which it applies. /// </remarks> [YamlSerializable] public sealed class ClusterRoleBinding() : BaseKubernetesResource("rbac.authorization.k8s.io/v1", "ClusterRoleBinding") { /// <summary> /// Gets or sets the RoleRef property, which contains information /// pointing to the Kubernetes role being referenced within the /// ClusterRoleBinding configuration. The RoleRef property defines /// the role name, kind, and the group for API access, to ensure the /// binding is correctly associated with the intended permissions and scope. /// </summary> [YamlMember(Alias = "roleRef")] public RoleRefV1 RoleRef { get; set; } = new(); /// <summary> /// Gets the list of subjects associated with the ClusterRoleBinding. /// Subjects refer to the entities (users, groups, or service accounts) that the role binding applies to. /// </summary> /// <remarks> /// Each subject in the list can represent a specific user, group, or Kubernetes resource that is granted /// the permissions defined in the associated role. This property is initialized as an empty list and can /// contain zero or more subjects. /// </remarks> [YamlMember(Alias = "subjects")] public List<SubjectV1> Subjects { get; } = []; }