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();
}
}