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

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

package io.k8s.api.rbac.v1;

import java.lang.String;

/**
 * Subject contains a reference to the object or user identities a role binding applies to.  This can either hold a direct API object reference, or a value for non-objects such as user and group names.
 */
public class Subject {
  public String apiGroup;

  public String kind;

  public String name;

  public String namespace;

  /**
   * APIGroup holds the API group of the referenced subject. Defaults to "" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io" for User and Group subjects.
   */
  public Subject apiGroup(String apiGroup) {
    this.apiGroup = apiGroup;
    return this;
  }

  /**
   * Kind of object being referenced. Values defined by this API group are "User", "Group", and "ServiceAccount". If the Authorizer does not recognized the kind value, the Authorizer should report an error.
   */
  public Subject kind(String kind) {
    this.kind = kind;
    return this;
  }

  /**
   * Name of the object being referenced.
   */
  public Subject name(String name) {
    this.name = name;
    return this;
  }

  /**
   * Namespace of the referenced object.  If the object kind is non-namespace, such as "User" or "Group", and this value is not empty the Authorizer should report an error.
   */
  public Subject namespace(String namespace) {
    this.namespace = namespace;
    return this;
  }

  public static Subject subject() {
    return new Subject();
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy