Class V1FieldSelectorAttributes
FieldSelectorAttributes indicates a field limited access. Webhook authors are
encouraged to * ensure rawSelector and requirements are not both set * consider
the requirements field if set * not try to parse or consider the rawSelector
field if set. This is to avoid another CVE-2022-2880 (i.e. getting different
systems to agree on how exactly to parse a query is not something we want), see
https://www.oxeye.io/resources/golang-parameter-smuggling-attack for more
details. For the *SubjectAccessReview endpoints of the kube-apiserver: * If
rawSelector is empty and requirements are empty, the request is not limited. *
If rawSelector is present and requirements are empty, the rawSelector will be
parsed and limited if the parsing succeeds. * If rawSelector is empty and
requirements are present, the requirements should be honored * If rawSelector is
present and requirements are present, the request is invalid.
Inheritance
V1FieldSelectorAttributes
Assembly: KubernetesClient.dll
Syntax
public record V1FieldSelectorAttributes : IEquatable<V1FieldSelectorAttributes>
Constructors
V1FieldSelectorAttributes()
Declaration
public V1FieldSelectorAttributes()
V1FieldSelectorAttributes(V1FieldSelectorAttributes)
Declaration
protected V1FieldSelectorAttributes(V1FieldSelectorAttributes original)
Parameters
Properties
EqualityContract
Declaration
protected virtual Type EqualityContract { get; }
Property Value
RawSelector
rawSelector is the serialization of a field selector that would be included in a
query parameter. Webhook implementations are encouraged to ignore rawSelector.
The kube-apiserver's *SubjectAccessReview will parse the rawSelector as long as
the requirements are not present.
Declaration
[JsonPropertyName("rawSelector")]
public string RawSelector { get; set; }
Property Value
Requirements
requirements is the parsed interpretation of a field selector. All requirements
must be met for a resource instance to match the selector. Webhook
implementations should handle requirements, but how to handle them is up to the
webhook. Since requirements can only limit the request, it is safe to authorize
as unlimited request if the requirements are not understood.
Declaration
[JsonPropertyName("requirements")]
public IList<V1FieldSelectorRequirement> Requirements { get; set; }
Property Value
Methods
Equals(object?)
Declaration
public override bool Equals(object? obj)
Parameters
| Type |
Name |
Description |
| object |
obj |
|
Returns
Overrides
Equals(V1FieldSelectorAttributes?)
Declaration
public virtual bool Equals(V1FieldSelectorAttributes? other)
Parameters
Returns
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Overrides
PrintMembers(StringBuilder)
Declaration
protected virtual bool PrintMembers(StringBuilder builder)
Parameters
Returns
ToString()
Declaration
public override string ToString()
Returns
Overrides
Operators
operator ==(V1FieldSelectorAttributes?, V1FieldSelectorAttributes?)
Declaration
public static bool operator ==(V1FieldSelectorAttributes? left, V1FieldSelectorAttributes? right)
Parameters
Returns
operator !=(V1FieldSelectorAttributes?, V1FieldSelectorAttributes?)
Declaration
public static bool operator !=(V1FieldSelectorAttributes? left, V1FieldSelectorAttributes? right)
Parameters
Returns
Implements