NodeAffinity¶
- pydantic model controller.models.domain.kubernetes.NodeAffinity¶
Node affinity rules.
- Parameters:
data (
Any
)
Show JSON schema
{ "title": "NodeAffinity", "description": "Node affinity rules.", "type": "object", "properties": { "preferredDuringSchedulingIgnoredDuringExecution": { "default": [], "description": "Preference rules used for scheduling and ignored afterwards", "items": { "$ref": "#/$defs/PreferredSchedulingTerm" }, "title": "Scheduling terms", "type": "array" }, "requiredDuringSchedulingIgnoredDuringExecution": { "anyOf": [ { "$ref": "#/$defs/NodeSelector" }, { "type": "null" } ], "default": null, "description": "Required node selection rules", "title": "Node selectors" } }, "$defs": { "NodeSelector": { "additionalProperties": false, "description": "Matching terms for nodes.", "properties": { "nodeSelectorTerms": { "default": [], "description": "Matching terms for nodes", "items": { "$ref": "#/$defs/NodeSelectorTerm" }, "title": "Terms", "type": "array" } }, "title": "NodeSelector", "type": "object" }, "NodeSelectorOperator": { "description": "Match operations for node selectors.", "enum": [ "In", "NotIn", "Exists", "DoesNotExist", "Gt", "Lt" ], "title": "NodeSelectorOperator", "type": "string" }, "NodeSelectorRequirement": { "additionalProperties": false, "description": "Individual match rule for nodes.", "properties": { "key": { "description": "Label key to match", "title": "Key", "type": "string" }, "operator": { "$ref": "#/$defs/NodeSelectorOperator", "description": "Match operation to use", "title": "Operator" }, "values": { "default": [], "description": "For ``In`` and ``NotIn``, matches any value in this list. For ``Gt`` or ``Lt``, must contain a single member interpreted as an integer. For ``Exists`` or ``DoesNotExist``, must be empty.", "items": { "type": "string" }, "title": "Matching values", "type": "array" } }, "required": [ "key", "operator" ], "title": "NodeSelectorRequirement", "type": "object" }, "NodeSelectorTerm": { "additionalProperties": false, "description": "Term to match nodes.", "properties": { "matchExpressions": { "default": [], "description": "Matching rules applied to node labels", "items": { "$ref": "#/$defs/NodeSelectorRequirement" }, "title": "Rules for node labels", "type": "array" }, "matchFields": { "default": [], "description": "Matching rules applied to node fields", "items": { "$ref": "#/$defs/NodeSelectorRequirement" }, "title": "Rules for node fields", "type": "array" } }, "title": "NodeSelectorTerm", "type": "object" }, "PreferredSchedulingTerm": { "additionalProperties": false, "description": "Scheduling term with a weight, used to find preferred nodes.", "properties": { "preference": { "$ref": "#/$defs/NodeSelectorTerm", "description": "Selector term for a node", "title": "Node selector" }, "weight": { "description": "Weight to assign to nodes matching this term", "title": "Weight", "type": "integer" } }, "required": [ "preference", "weight" ], "title": "PreferredSchedulingTerm", "type": "object" } }, "additionalProperties": false }
- Fields:
- field preferredDuringSchedulingIgnoredDuringExecution: Annotated[list[PreferredSchedulingTerm], Field(title='Scheduling terms', description='Preference rules used for scheduling and ignored afterwards', alias='preferredDuringSchedulingIgnoredDuringExecution')] = [] (name 'preferred')¶
Preference rules used for scheduling and ignored afterwards
- field requiredDuringSchedulingIgnoredDuringExecution: Annotated[NodeSelector | None, Field(title='Node selectors', description='Required node selection rules', alias='requiredDuringSchedulingIgnoredDuringExecution')] = None (name 'required')¶
Required node selection rules
- to_kubernetes()¶
Convert to the corresponding Kubernetes model.
- Return type:
V1NodeAffinity