All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.k8s.api.rbac.v1.RoleBinding Maven / Gradle / Ivy

package io.k8s.api.rbac.v1;

import io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta;
import java.lang.String;
import java.util.List;

/**
 * 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 class RoleBinding {
  public String apiVersion;

  public String kind;

  public ObjectMeta metadata;

  public RoleRef roleRef;

  public List subjects;

  /**
   * 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
   */
  public RoleBinding apiVersion(String apiVersion) {
    this.apiVersion = apiVersion;
    return this;
  }

  /**
   * 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
   */
  public RoleBinding kind(String kind) {
    this.kind = kind;
    return this;
  }

  public RoleBinding metadata(ObjectMeta metadata) {
    this.metadata = metadata;
    return this;
  }

  public RoleBinding roleRef(RoleRef roleRef) {
    this.roleRef = roleRef;
    return this;
  }

  /**
   * Subjects holds references to the objects the role applies to.
   */
  public RoleBinding subjects(List subjects) {
    this.subjects = subjects;
    return this;
  }

  public static RoleBinding roleBinding() {
    return new RoleBinding();
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy