GafaelfawrIngressSpec

pydantic model gafaelfawr.models.kubernetes.GafaelfawrIngressSpec

Template for spec portion of Ingress resource.

Parameters:

data (Any)

Show JSON schema
{
   "title": "GafaelfawrIngressSpec",
   "description": "Template for ``spec`` portion of ``Ingress`` resource.",
   "type": "object",
   "properties": {
      "rules": {
         "items": {
            "$ref": "#/$defs/GafaelfawrIngressRule"
         },
         "title": "Rules",
         "type": "array"
      },
      "tls": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/GafaelfawrIngressTLS"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Tls"
      }
   },
   "$defs": {
      "GafaelfawrIngressPath": {
         "description": "A path routing rule for an ingress.",
         "properties": {
            "path": {
               "title": "Path",
               "type": "string"
            },
            "pathType": {
               "$ref": "#/$defs/PathType"
            },
            "backend": {
               "$ref": "#/$defs/GafaelfawrIngressPathBackend"
            }
         },
         "required": [
            "path",
            "pathType",
            "backend"
         ],
         "title": "GafaelfawrIngressPath",
         "type": "object"
      },
      "GafaelfawrIngressPathBackend": {
         "description": "Backend that serves a given path.",
         "properties": {
            "service": {
               "$ref": "#/$defs/GafaelfawrIngressPathService"
            }
         },
         "required": [
            "service"
         ],
         "title": "GafaelfawrIngressPathBackend",
         "type": "object"
      },
      "GafaelfawrIngressPathService": {
         "description": "Service that serves a given path.",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "port": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/GafaelfawrServicePortName"
                  },
                  {
                     "$ref": "#/$defs/GafaelfawrServicePortNumber"
                  }
               ],
               "title": "Port"
            }
         },
         "required": [
            "name",
            "port"
         ],
         "title": "GafaelfawrIngressPathService",
         "type": "object"
      },
      "GafaelfawrIngressRule": {
         "description": "A routing rule for an ingress.",
         "properties": {
            "host": {
               "title": "Host",
               "type": "string"
            },
            "http": {
               "$ref": "#/$defs/GafaelfawrIngressRuleHTTP"
            }
         },
         "required": [
            "host",
            "http"
         ],
         "title": "GafaelfawrIngressRule",
         "type": "object"
      },
      "GafaelfawrIngressRuleHTTP": {
         "description": "Routing rules for HTTP access.",
         "properties": {
            "paths": {
               "items": {
                  "$ref": "#/$defs/GafaelfawrIngressPath"
               },
               "title": "Paths",
               "type": "array"
            }
         },
         "required": [
            "paths"
         ],
         "title": "GafaelfawrIngressRuleHTTP",
         "type": "object"
      },
      "GafaelfawrIngressTLS": {
         "description": "A TLS certificate rule for an ingress.",
         "properties": {
            "hosts": {
               "items": {
                  "type": "string"
               },
               "title": "Hosts",
               "type": "array"
            },
            "secretName": {
               "title": "Secretname",
               "type": "string"
            }
         },
         "required": [
            "hosts",
            "secretName"
         ],
         "title": "GafaelfawrIngressTLS",
         "type": "object"
      },
      "GafaelfawrServicePortName": {
         "additionalProperties": false,
         "description": "Port for a service.",
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "GafaelfawrServicePortName",
         "type": "object"
      },
      "GafaelfawrServicePortNumber": {
         "additionalProperties": false,
         "description": "Port for a service.",
         "properties": {
            "number": {
               "title": "Number",
               "type": "integer"
            }
         },
         "required": [
            "number"
         ],
         "title": "GafaelfawrServicePortNumber",
         "type": "object"
      },
      "PathType": {
         "description": "Matching types for paths in ingress rules.",
         "enum": [
            "Exact",
            "ImplementationSpecific",
            "Prefix"
         ],
         "title": "PathType",
         "type": "string"
      }
   },
   "required": [
      "rules"
   ]
}

Fields:
field rules: list[GafaelfawrIngressRule] [Required]

The ingress routing rules.

field tls: list[GafaelfawrIngressTLS] | None = None

The TLS certificate rules.