Service#

pydantic model phalanx.models.kubernetes.Service#

A Service.

Parameters:

data (Any)

Show JSON schema
{
   "title": "Service",
   "description": "A Service.",
   "type": "object",
   "properties": {
      "kind": {
         "const": "Service",
         "title": "Kind",
         "type": "string"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "finalizers": {
         "default": [],
         "items": {
            "type": "string"
         },
         "title": "Finalizers",
         "type": "array"
      },
      "status": {
         "anyOf": [
            {
               "$ref": "#/$defs/Status"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "namespace": {
         "title": "Namespace",
         "type": "string"
      },
      "previous_loadbalancer_ip": {
         "anyOf": [
            {
               "format": "ipv4",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Previous Loadbalancer Ip"
      },
      "previous_external_traffic_policy": {
         "anyOf": [
            {
               "$ref": "#/$defs/ServiceExternalTrafficPolicy"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "external_traffic_policy": {
         "anyOf": [
            {
               "$ref": "#/$defs/ServiceExternalTrafficPolicy"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "load_balancer_ip": {
         "anyOf": [
            {
               "format": "ipv4",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Load Balancer Ip"
      },
      "status_load_balancer_ip": {
         "anyOf": [
            {
               "format": "ipv4",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Status Load Balancer Ip"
      }
   },
   "$defs": {
      "Condition": {
         "description": "A Kubernetes condition.",
         "properties": {
            "type": {
               "title": "Type",
               "type": "string"
            },
            "status": {
               "$ref": "#/$defs/ConditionStatus"
            }
         },
         "required": [
            "type",
            "status"
         ],
         "title": "Condition",
         "type": "object"
      },
      "ConditionStatus": {
         "description": "Valid values for the spec.type field of a Service.",
         "enum": [
            "True",
            "False",
            "Unknown"
         ],
         "title": "ConditionStatus",
         "type": "string"
      },
      "ServiceExternalTrafficPolicy": {
         "description": "Valid values for the spec.externalTrafficPolicy field of a Service.",
         "enum": [
            "Cluster",
            "Local"
         ],
         "title": "ServiceExternalTrafficPolicy",
         "type": "string"
      },
      "Status": {
         "description": "The status field of a Kubernetes resource.",
         "properties": {
            "conditions": {
               "default": [],
               "items": {
                  "$ref": "#/$defs/Condition"
               },
               "title": "Conditions",
               "type": "array"
            }
         },
         "title": "Status",
         "type": "object"
      }
   },
   "required": [
      "kind",
      "name",
      "namespace"
   ]
}

Config:
  • validate_by_name: bool = True

Fields:
field external_traffic_policy: Optional[ServiceExternalTrafficPolicy] = None#

The externalTrafficPolicy set in the spec

field finalizers: list[str] = []#

Finalizers on this resource.

field kind: Literal['Service'] [Required]#

The kind of a Service is always Service.

field load_balancer_ip: Optional[IPv4Address] = None#

The load balancer IP set in the spec

field name: str [Required]#

The name of the resource.

field namespace: str [Required]#

The namespace the resource is in.

field previous_external_traffic_policy: Optional[ServiceExternalTrafficPolicy] = None#

The original externalTrafficPolicy, if we previously released the IP.

field previous_loadbalancer_ip: Optional[IPv4Address] = None#

The original loadBalancerIP, if we previously released it.

field status: Status | None = None#

Information about the status of this resource.

field status_load_balancer_ip: Optional[IPv4Address] = None#

The load balancer IP in the ingress in the status.

get_kind_name()#

Get the kind-qualified name of this resource.

Returns:

The kind-qualified name of this resource.

Return type:

str

is_ready()#

Return whether or not this resource is ready.

Return type:

bool