Class ResourcePolicyRule
- java.lang.Object
-
- com.marcnuri.yakc.model.io.k8s.api.flowcontrol.v1beta3.ResourcePolicyRule
-
- All Implemented Interfaces:
com.marcnuri.yakc.model.Model
public class ResourcePolicyRule extends java.lang.Object implements com.marcnuri.yakc.model.Model
ResourcePolicyRule is a predicate that matches some resource requests, testing the request's verb and the target resource. A ResourcePolicyRule matches a resource request if and only if: (a) at least one member of verbs matches the request, (b) at least one member of apiGroups matches the request, (c) at least one member of resources matches the request, and (d) either (d1) the request does not specify a namespace (i.e., `Namespace==""`) and clusterScope is true or (d2) the request specifies a namespace and least one member of namespaces matches the request's namespace.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ResourcePolicyRule.Builder
-
Constructor Summary
Constructors Constructor Description ResourcePolicyRule()
ResourcePolicyRule(@NonNull java.util.List<java.lang.String> apiGroups, java.lang.Boolean clusterScope, java.util.List<java.lang.String> namespaces, @NonNull java.util.List<java.lang.String> resources, @NonNull java.util.List<java.lang.String> verbs)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ResourcePolicyRule.Builder
builder()
protected boolean
canEqual(java.lang.Object other)
boolean
equals(java.lang.Object o)
@NonNull java.util.List<java.lang.String>
getApiGroups()
`apiGroups` is a list of matching API groups and may not be empty.java.lang.Boolean
getClusterScope()
`clusterScope` indicates whether to match requests that do not specify a namespace (which happens either because the resource is not namespaced or the request targets all namespaces).java.util.List<java.lang.String>
getNamespaces()
`namespaces` is a list of target namespaces that restricts matches.@NonNull java.util.List<java.lang.String>
getResources()
`resources` is a list of matching resources (i.e., lowercase and plural) with, if desired, subresource.@NonNull java.util.List<java.lang.String>
getVerbs()
`verbs` is a list of matching verbs and may not be empty.int
hashCode()
void
setApiGroups(@NonNull java.util.List<java.lang.String> apiGroups)
`apiGroups` is a list of matching API groups and may not be empty.void
setClusterScope(java.lang.Boolean clusterScope)
`clusterScope` indicates whether to match requests that do not specify a namespace (which happens either because the resource is not namespaced or the request targets all namespaces).void
setNamespaces(java.util.List<java.lang.String> namespaces)
`namespaces` is a list of target namespaces that restricts matches.void
setResources(@NonNull java.util.List<java.lang.String> resources)
`resources` is a list of matching resources (i.e., lowercase and plural) with, if desired, subresource.void
setVerbs(@NonNull java.util.List<java.lang.String> verbs)
`verbs` is a list of matching verbs and may not be empty.ResourcePolicyRule.Builder
toBuilder()
java.lang.String
toString()
-
-
-
Constructor Detail
-
ResourcePolicyRule
public ResourcePolicyRule(@NonNull @NonNull java.util.List<java.lang.String> apiGroups, java.lang.Boolean clusterScope, java.util.List<java.lang.String> namespaces, @NonNull @NonNull java.util.List<java.lang.String> resources, @NonNull @NonNull java.util.List<java.lang.String> verbs)
-
ResourcePolicyRule
public ResourcePolicyRule()
-
-
Method Detail
-
builder
public static ResourcePolicyRule.Builder builder()
-
toBuilder
public ResourcePolicyRule.Builder toBuilder()
-
getApiGroups
@NonNull public @NonNull java.util.List<java.lang.String> getApiGroups()
`apiGroups` is a list of matching API groups and may not be empty. "*" matches all API groups and, if present, must be the only entry. Required.
-
getClusterScope
public java.lang.Boolean getClusterScope()
`clusterScope` indicates whether to match requests that do not specify a namespace (which happens either because the resource is not namespaced or the request targets all namespaces). If this field is omitted or false then the `namespaces` field must contain a non-empty list.
-
getNamespaces
public java.util.List<java.lang.String> getNamespaces()
`namespaces` is a list of target namespaces that restricts matches. A request that specifies a target namespace matches only if either (a) this list contains that target namespace or (b) this list contains "*". Note that "*" matches any specified namespace but does not match a request that _does not specify_ a namespace (see the `clusterScope` field for that). This list may be empty, but only if `clusterScope` is true.
-
getResources
@NonNull public @NonNull java.util.List<java.lang.String> getResources()
`resources` is a list of matching resources (i.e., lowercase and plural) with, if desired, subresource. For example, [ "services", "nodes/status" ]. This list may not be empty. "*" matches all resources and, if present, must be the only entry. Required.
-
getVerbs
@NonNull public @NonNull java.util.List<java.lang.String> getVerbs()
`verbs` is a list of matching verbs and may not be empty. "*" matches all verbs and, if present, must be the only entry. Required.
-
setApiGroups
public void setApiGroups(@NonNull @NonNull java.util.List<java.lang.String> apiGroups)
`apiGroups` is a list of matching API groups and may not be empty. "*" matches all API groups and, if present, must be the only entry. Required.
-
setClusterScope
public void setClusterScope(java.lang.Boolean clusterScope)
`clusterScope` indicates whether to match requests that do not specify a namespace (which happens either because the resource is not namespaced or the request targets all namespaces). If this field is omitted or false then the `namespaces` field must contain a non-empty list.
-
setNamespaces
public void setNamespaces(java.util.List<java.lang.String> namespaces)
`namespaces` is a list of target namespaces that restricts matches. A request that specifies a target namespace matches only if either (a) this list contains that target namespace or (b) this list contains "*". Note that "*" matches any specified namespace but does not match a request that _does not specify_ a namespace (see the `clusterScope` field for that). This list may be empty, but only if `clusterScope` is true.
-
setResources
public void setResources(@NonNull @NonNull java.util.List<java.lang.String> resources)
`resources` is a list of matching resources (i.e., lowercase and plural) with, if desired, subresource. For example, [ "services", "nodes/status" ]. This list may not be empty. "*" matches all resources and, if present, must be the only entry. Required.
-
setVerbs
public void setVerbs(@NonNull @NonNull java.util.List<java.lang.String> verbs)
`verbs` is a list of matching verbs and may not be empty. "*" matches all verbs and, if present, must be the only entry. Required.
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
canEqual
protected boolean canEqual(java.lang.Object other)
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-