kubernetes reference Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend kind Ingress contenttype apireference title Ingress apimetadata weight 4 autogenerated true import k8s io api networking v1 apiVersion networking k8s io v1

Answer:
---
api_metadata:
  apiVersion: "networking.k8s.io/v1"
  import: "k8s.io/api/networking/v1"
  kind: "Ingress"
content_type: "api_reference"
description: "Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend."
title: "Ingress"
weight: 4
auto_generated: true
---

`apiVersion: networking.k8s.io/v1`

`import "k8s.io/api/networking/v1"`

## Ingress {#Ingress}

Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend. An Ingress can be configured to give services externally-reachable urls, load balance traffic, terminate SSL, offer name based virtual hosting etc.

- **apiVersion**: networking.k8s.io/v1

- **kind**: Ingress

- **metadata** (ObjectMeta)

  Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

- **spec** (IngressSpec)

  spec is the desired state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

- **status** (IngressStatus)

  status is the current state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

## IngressSpec {#IngressSpec}

IngressSpec describes the Ingress the user wishes to exist.

- **defaultBackend** (IngressBackend)

  defaultBackend is the backend that should handle requests that don't match any rule. If Rules are not specified, DefaultBackend must be specified. If DefaultBackend is not set, the handling of requests that do not match any of the rules will be up to the Ingress controller.

- **ingressClassName** (string)

  ingressClassName is the name of an IngressClass cluster resource. Ingress controller implementations use this field to know whether they should be serving this Ingress resource, by a transitive connection (controller -> IngressClass -> Ingress resource). Although the `kubernetes.io/ingress.class` annotation (simple constant name) was never formally defined, it was widely supported by Ingress controllers to create a direct binding between Ingress controller and Ingress resources. Newly created Ingress resources should prefer using the field. However, even though the annotation is officially deprecated, for backwards compatibility reasons, ingress controllers should still honor that annotation if present.

- **rules** ([]IngressRule)

  *Atomic: will be replaced during a merge*

  rules is a list of host rules used to configure the Ingress. If unspecified, or no rule matches, all traffic is sent to the default backend.

  *IngressRule represents the rules mapping the paths under a specified host to the related backend services. Incoming requests are first evaluated for a host match, then routed to the backend associated with the matching IngressRuleValue.*

  - **rules.host** (string)

    host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the "host" part of the URI as defined in RFC 3986: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to
       the IP in the Spec of the parent Ingress.
    2. The `:` delimiter is not respected because ports are not allowed.
    	  Currently the port of an Ingress is implicitly :80 for http and
    	  :443 for https.
    Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.

    host can be "precise" which is a domain name without the terminating dot of a network host (e.g. "foo.bar.com") or "wildcard", which is a domain name prefixed with a single wildcard label (e.g. "*.foo.com"). The wildcard character '*' must appear by itself as the first DNS label and matches only a single label. You cannot have a wildcard label by itself (e.g. Host == "*"). Requests will be matched against the Host field in the following way: 1. If host is precise, the request matches this rule if the http host header is equal to Host. 2. If host is a wildcard, then the request matches this rule if the http host header is to equal to the suffix (removing the first label) of the wildcard rule.

  - **rules.http** (HTTPIngressRuleValue)

    *HTTPIngressRuleValue is a list of http selectors pointing to backends. In the example: http://<host>/<path>?<searchpart> -> backend where where parts of the url correspond to RFC 3986, this resource will be used to match against everything after the last '/' and before the first '?' or '#'.*

    - **rules.http.paths** ([]HTTPIngressPath), required

      *Atomic: will be replaced during a merge*

      paths is a collection of paths that map requests to backends.

      *HTTPIngressPath associates a path with a backend. Incoming urls matching the path are forwarded to the backend.*

      - **rules.http.paths.backend** (IngressBackend), required

        backend defines the referenced service endpoint to which the traffic will be forwarded to.

      - **rules.http.paths.pathType** (string), required

        pathType determines the interpretation of the path matching. PathType can be one of the following values: * Exact: Matches the URL path exactly. * Prefix: Matches based on a URL path prefix split by '/'. Matching is
          done on a path element by element basis. A path element refers is the
          list of labels in the path split by the '/' separator. A request is a
          match for path p if every p is an element-wise prefix of p of the
          request path. Note that if the last element of the path is a substring
          of the last element in request path, it is not a match (e.g. /foo/bar
          matches /foo/bar/baz, but does not match /foo/barbaz).
        * ImplementationSpecific: Interpretation of the Path matching is up to
          the IngressClass. Implementations can treat this as a separate PathType
          or treat it identically to Prefix or Exact path types.
        Implementations are required to support all path types.

      - **rules.http.paths.path** (string)

        path is matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional "path" part of a URL as defined by RFC 3986. Paths must begin with a '/' and must be present when using PathType with value "Exact" or "Prefix".

- **tls** ([]IngressTLS)

  *Atomic: will be replaced during a merge*

  tls represents the TLS configuration. Currently the Ingress only supports a single TLS port, 443. If multiple members of this list specify different hosts, they will be multiplexed on the same port according to the hostname specified through the SNI TLS extension, if the ingress controller fulfilling the ingress supports SNI.

  *IngressTLS describes the transport layer security associated with an ingress.*

  - **tls.hosts** ([]string)

    *Atomic: will be replaced during a merge*

    hosts is a list of hosts included in the TLS certificate. The values in this list must match the name/s used in the tlsSecret. Defaults to the wildcard host setting for the loadbalancer controller fulfilling this Ingress, if left unspecified.

  - **tls.secretName** (string)

    secretName is the name of the secret used to terminate TLS traffic on port 443. Field is left optional to allow TLS routing based on SNI hostname alone. If the SNI host in a listener conflicts with the "Host" header field used by an IngressRule, the SNI host is used for termination and value of the "Host" header is used for routing.

## IngressBackend {#IngressBackend}

IngressBackend describes all endpoints for a given service and port.

- **resource** (TypedLocalObjectReference)

  resource is an ObjectRef to another Kubernetes resource in the namespace of the Ingress object. If resource is specified, a service.Name and service.Port must not be specified. This is a mutually exclusive setting with "Service".

- **service** (IngressServiceBackend)

  service references a service as a backend. This is a mutually exclusive setting with "Resource".

  *IngressServiceBackend references a Kubernetes Service as a Backend.*

  - **service.name** (string), required

    name is the referenced service. The service must exist in the same namespace as the Ingress object.

  - **service.port** (ServiceBackendPort)

    port of the referenced service. A port name or port number is required for a IngressServiceBackend.

    *ServiceBackendPort is the service port being referenced.*

    - **service.port.name** (string)

      name is the name of the port on the Service. This is a mutually exclusive setting with "Number".

    - **service.port.number** (int32)

      number is the numerical port number (e.g. 80) on the Service. This is a mutually exclusive setting with "Name".

## IngressStatus {#IngressStatus}

IngressStatus describe the current state of the Ingress.

- **loadBalancer** (IngressLoadBalancerStatus)

  loadBalancer contains the current status of the load-balancer.

  *IngressLoadBalancerStatus represents the status of a load-balancer.*

  - **loadBalancer.ingress** ([]IngressLoadBalancerIngress)

    *Atomic: will be replaced during a merge*

    ingress is a list containing ingress points for the load-balancer.

    *IngressLoadBalancerIngress represents the status of a load-balancer ingress point.*

    - **loadBalancer.ingress.hostname** (string)

      hostname is set for load-balancer ingress points that are DNS based.

    - **loadBalancer.ingress.ip** (string)

      ip is set for load-balancer ingress points that are IP based.

    - **loadBalancer.ingress.ports** ([]IngressPortStatus)

      *Atomic: will be replaced during a merge*

      ports provides information about the ports exposed by this LoadBalancer.

      *IngressPortStatus represents the error condition of a service port*

      - **loadBalancer.ingress.ports.port** (int32), required

        port is the port number of the ingress port.

      - **loadBalancer.ingress.ports.protocol** (string), required

        protocol is the protocol of the ingress port. The supported values are: "TCP", "UDP", "SCTP"

      - **loadBalancer.ingress.ports.error** (string)

        error is to record the problem with the service port The format of the error shall comply with the following rules: - built-in error values shall be specified in this file and those shall use
          CamelCase names
        - cloud provider specific error values must have names that comply with the
          format foo.example.com/CamelCase.

## IngressList {#IngressList}

IngressList is a collection of Ingress.

- **items** ([]Ingress), required

  items is the list of Ingress.

- **apiVersion** (string)

  APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

- **kind** (string)

  Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

- **metadata** (ListMeta)

  Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

## Operations {#Operations}

### `get` read the specified Ingress

#### HTTP Request

GET /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}

#### Parameters

- **name** (*in path*): string, required

  name of the Ingress

- **namespace** (*in path*): string, required

  namespace

- **pretty** (*in query*): string

  pretty

#### Response

200 (Ingress): OK

401: Unauthorized

### `get` read status of the specified Ingress

#### HTTP Request

GET /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}/status

#### Parameters

- **name** (*in path*): string, required

  name of the Ingress

- **namespace** (*in path*): string, required

  namespace

- **pretty** (*in query*): string

  pretty

#### Response

200 (Ingress): OK

401: Unauthorized

### `list` list or watch objects of kind Ingress

#### HTTP Request

GET /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses

#### Parameters

- **namespace** (*in path*): string, required

  namespace

- **allowWatchBookmarks** (*in query*): boolean

  allowWatchBookmarks

- **continue** (*in query*): string

  continue

- **fieldSelector** (*in query*): string

  fieldSelector

- **labelSelector** (*in query*): string

  labelSelector

- **limit** (*in query*): integer

  limit

- **pretty** (*in query*): string

  pretty

- **resourceVersion** (*in query*): string

  resourceVersion

- **resourceVersionMatch** (*in query*): string

  resourceVersionMatch

- **sendInitialEvents** (*in query*): boolean

  sendInitialEvents

- **timeoutSeconds** (*in query*): integer

  timeoutSeconds

- **watch** (*in query*): boolean

  watch

#### Response

200 (IngressList): OK

401: Unauthorized

### `list` list or watch objects of kind Ingress

#### HTTP Request

GET /apis/networking.k8s.io/v1/ingresses

#### Parameters

- **allowWatchBookmarks** (*in query*): boolean

  allowWatchBookmarks

- **continue** (*in query*): string

  continue

- **fieldSelector** (*in query*): string

  fieldSelector

- **labelSelector** (*in query*): string

  labelSelector

- **limit** (*in query*): integer

  limit

- **pretty** (*in query*): string

  pretty

- **resourceVersion** (*in query*): string

  resourceVersion

- **resourceVersionMatch** (*in query*): string

  resourceVersionMatch

- **sendInitialEvents** (*in query*): boolean

  sendInitialEvents

- **timeoutSeconds** (*in query*): integer

  timeoutSeconds

- **watch** (*in query*): boolean

  watch

#### Response

200 (IngressList): OK

401: Unauthorized

### `create` create an Ingress

#### HTTP Request

POST /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses

#### Parameters

- **namespace** (*in path*): string, required

  namespace

- **body**: Ingress, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **pretty** (*in query*): string

  pretty

#### Response

200 (Ingress): OK

201 (Ingress): Created

202 (Ingress): Accepted

401: Unauthorized

### `update` replace the specified Ingress

#### HTTP Request

PUT /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}

#### Parameters

- **name** (*in path*): string, required

  name of the Ingress

- **namespace** (*in path*): string, required

  namespace

- **body**: Ingress, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **pretty** (*in query*): string

  pretty

#### Response

200 (Ingress): OK

201 (Ingress): Created

401: Unauthorized

### `update` replace status of the specified Ingress

#### HTTP Request

PUT /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}/status

#### Parameters

- **name** (*in path*): string, required

  name of the Ingress

- **namespace** (*in path*): string, required

  namespace

- **body**: Ingress, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **pretty** (*in query*): string

  pretty

#### Response

200 (Ingress): OK

201 (Ingress): Created

401: Unauthorized

### `patch` partially update the specified Ingress

#### HTTP Request

PATCH /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}

#### Parameters

- **name** (*in path*): string, required

  name of the Ingress

- **namespace** (*in path*): string, required

  namespace

- **body**: Patch, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **force** (*in query*): boolean

  force

- **pretty** (*in query*): string

  pretty

#### Response

200 (Ingress): OK

201 (Ingress): Created

401: Unauthorized

### `patch` partially update status of the specified Ingress

#### HTTP Request

PATCH /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}/status

#### Parameters

- **name** (*in path*): string, required

  name of the Ingress

- **namespace** (*in path*): string, required

  namespace

- **body**: Patch, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **force** (*in query*): boolean

  force

- **pretty** (*in query*): string

  pretty

#### Response

200 (Ingress): OK

201 (Ingress): Created

401: Unauthorized

### `delete` delete an Ingress

#### HTTP Request

DELETE /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}

#### Parameters

- **name** (*in path*): string, required

  name of the Ingress

- **namespace** (*in path*): string, required

  namespace

- **body**: DeleteOptions

- **dryRun** (*in query*): string

  dryRun

- **gracePeriodSeconds** (*in query*): integer

  gracePeriodSeconds

- **pretty** (*in query*): string

  pretty

- **propagationPolicy** (*in query*): string

  propagationPolicy

#### Response

200 (Status): OK

202 (Status): Accepted

401: Unauthorized

### `deletecollection` delete collection of Ingress

#### HTTP Request

DELETE /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses

#### Parameters

- **namespace** (*in path*): string, required

  namespace

- **body**: DeleteOptions

- **continue** (*in query*): string

  continue

- **dryRun** (*in query*): string

  dryRun

- **fieldSelector** (*in query*): string

  fieldSelector

- **gracePeriodSeconds** (*in query*): integer

  gracePeriodSeconds

- **labelSelector** (*in query*): string

  labelSelector

- **limit** (*in query*): integer

  limit

- **pretty** (*in query*): string

  pretty

- **propagationPolicy** (*in query*): string

  propagationPolicy

- **resourceVersion** (*in query*): string

  resourceVersion

- **resourceVersionMatch** (*in query*): string

  resourceVersionMatch

- **sendInitialEvents** (*in query*): boolean

  sendInitialEvents

- **timeoutSeconds** (*in query*): integer

  timeoutSeconds

#### Response

200 (Status): OK

401: Unauthorized

api metadata    apiVersion   networking k8s io v1    import   k8s io api networking v1    kind   Ingress  content type   api reference  description   Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend   title   Ingress  weight  4 auto generated  true           The file is auto generated from the Go source code of the component using a generic  generator  https   github com kubernetes sigs reference docs    To learn how to generate the reference documentation  please read  Contributing to the reference documentation   docs contribute generate ref docs    To update the reference content  please follow the   Contributing upstream   docs contribute generate ref docs contribute upstream   guide  You can file document formatting bugs against the  reference docs  https   github com kubernetes sigs reference docs   project        apiVersion  networking k8s io v1    import  k8s io api networking v1        Ingress   Ingress   Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend  An Ingress can be configured to give services externally reachable urls  load balance traffic  terminate SSL  offer name based virtual hosting etc    hr       apiVersion    networking k8s io v1       kind    Ingress       metadata     a href    ObjectMeta  a      Standard object s metadata  More info  https   git k8s io community contributors devel sig architecture api conventions md metadata      spec     a href    IngressSpec  a      spec is the desired state of the Ingress  More info  https   git k8s io community contributors devel sig architecture api conventions md spec and status      status     a href    IngressStatus  a      status is the current state of the Ingress  More info  https   git k8s io community contributors devel sig architecture api conventions md spec and status         IngressSpec   IngressSpec   IngressSpec describes the Ingress the user wishes to exist    hr       defaultBackend     a href    IngressBackend  a      defaultBackend is the backend that should handle requests that don t match any rule  If Rules are not specified  DefaultBackend must be specified  If DefaultBackend is not set  the handling of requests that do not match any of the rules will be up to the Ingress controller       ingressClassName    string     ingressClassName is the name of an IngressClass cluster resource  Ingress controller implementations use this field to know whether they should be serving this Ingress resource  by a transitive connection  controller    IngressClass    Ingress resource   Although the  kubernetes io ingress class  annotation  simple constant name  was never formally defined  it was widely supported by Ingress controllers to create a direct binding between Ingress controller and Ingress resources  Newly created Ingress resources should prefer using the field  However  even though the annotation is officially deprecated  for backwards compatibility reasons  ingress controllers should still honor that annotation if present       rules      IngressRule      Atomic  will be replaced during a merge       rules is a list of host rules used to configure the Ingress  If unspecified  or no rule matches  all traffic is sent to the default backend      a name  IngressRule    a     IngressRule represents the rules mapping the paths under a specified host to the related backend services  Incoming requests are first evaluated for a host match  then routed to the backend associated with the matching IngressRuleValue          rules host    string       host is the fully qualified domain name of a network host  as defined by RFC 3986  Note the following deviations from the  host  part of the URI as defined in RFC 3986  1  IPs are not allowed  Currently an IngressRuleValue can only apply to        the IP in the Spec of the parent Ingress      2  The     delimiter is not respected because ports are not allowed         Currently the port of an Ingress is implicitly  80 for http and         443 for https      Both these may change in the future  Incoming requests are matched against the host before the IngressRuleValue  If the host is unspecified  the Ingress routes all traffic based on the specified IngressRuleValue           host can be  precise  which is a domain name without the terminating dot of a network host  e g   foo bar com   or  wildcard   which is a domain name prefixed with a single wildcard label  e g     foo com    The wildcard character     must appear by itself as the first DNS label and matches only a single label  You cannot have a wildcard label by itself  e g  Host          Requests will be matched against the Host field in the following way  1  If host is precise  the request matches this rule if the http host header is equal to Host  2  If host is a wildcard  then the request matches this rule if the http host header is to equal to the suffix  removing the first label  of the wildcard rule         rules http    HTTPIngressRuleValue         a name  HTTPIngressRuleValue    a       HTTPIngressRuleValue is a list of http selectors pointing to backends  In the example  http    host   path   searchpart     backend where where parts of the url correspond to RFC 3986  this resource will be used to match against everything after the last     and before the first     or                rules http paths      HTTPIngressPath   required         Atomic  will be replaced during a merge               paths is a collection of paths that map requests to backends          a name  HTTPIngressPath    a         HTTPIngressPath associates a path with a backend  Incoming urls matching the path are forwarded to the backend              rules http paths backend     a href    IngressBackend  a    required          backend defines the referenced service endpoint to which the traffic will be forwarded to             rules http paths pathType    string   required          pathType determines the interpretation of the path matching  PathType can be one of the following values    Exact  Matches the URL path exactly    Prefix  Matches based on a URL path prefix split by      Matching is           done on a path element by element basis  A path element refers is the           list of labels in the path split by the     separator  A request is a           match for path p if every p is an element wise prefix of p of the           request path  Note that if the last element of the path is a substring           of the last element in request path  it is not a match  e g   foo bar           matches  foo bar baz  but does not match  foo barbaz             ImplementationSpecific  Interpretation of the Path matching is up to           the IngressClass  Implementations can treat this as a separate PathType           or treat it identically to Prefix or Exact path types          Implementations are required to support all path types             rules http paths path    string           path is matched against the path of an incoming request  Currently it can contain characters disallowed from the conventional  path  part of a URL as defined by RFC 3986  Paths must begin with a     and must be present when using PathType with value  Exact  or  Prefix        tls      IngressTLS      Atomic  will be replaced during a merge       tls represents the TLS configuration  Currently the Ingress only supports a single TLS port  443  If multiple members of this list specify different hosts  they will be multiplexed on the same port according to the hostname specified through the SNI TLS extension  if the ingress controller fulfilling the ingress supports SNI      a name  IngressTLS    a     IngressTLS describes the transport layer security associated with an ingress          tls hosts      string        Atomic  will be replaced during a merge           hosts is a list of hosts included in the TLS certificate  The values in this list must match the name s used in the tlsSecret  Defaults to the wildcard host setting for the loadbalancer controller fulfilling this Ingress  if left unspecified         tls secretName    string       secretName is the name of the secret used to terminate TLS traffic on port 443  Field is left optional to allow TLS routing based on SNI hostname alone  If the SNI host in a listener conflicts with the  Host  header field used by an IngressRule  the SNI host is used for termination and value of the  Host  header is used for routing          IngressBackend   IngressBackend   IngressBackend describes all endpoints for a given service and port    hr       resource     a href    TypedLocalObjectReference  a      resource is an ObjectRef to another Kubernetes resource in the namespace of the Ingress object  If resource is specified  a service Name and service Port must not be specified  This is a mutually exclusive setting with  Service        service    IngressServiceBackend     service references a service as a backend  This is a mutually exclusive setting with  Resource       a name  IngressServiceBackend    a     IngressServiceBackend references a Kubernetes Service as a Backend          service name    string   required      name is the referenced service  The service must exist in the same namespace as the Ingress object         service port    ServiceBackendPort       port of the referenced service  A port name or port number is required for a IngressServiceBackend        a name  ServiceBackendPort    a       ServiceBackendPort is the service port being referenced            service port name    string         name is the name of the port on the Service  This is a mutually exclusive setting with  Number            service port number    int32         number is the numerical port number  e g  80  on the Service  This is a mutually exclusive setting with  Name           IngressStatus   IngressStatus   IngressStatus describe the current state of the Ingress    hr       loadBalancer    IngressLoadBalancerStatus     loadBalancer contains the current status of the load balancer      a name  IngressLoadBalancerStatus    a     IngressLoadBalancerStatus represents the status of a load balancer          loadBalancer ingress      IngressLoadBalancerIngress        Atomic  will be replaced during a merge           ingress is a list containing ingress points for the load balancer        a name  IngressLoadBalancerIngress    a       IngressLoadBalancerIngress represents the status of a load balancer ingress point            loadBalancer ingress hostname    string         hostname is set for load balancer ingress points that are DNS based           loadBalancer ingress ip    string         ip is set for load balancer ingress points that are IP based           loadBalancer ingress ports      IngressPortStatus          Atomic  will be replaced during a merge               ports provides information about the ports exposed by this LoadBalancer          a name  IngressPortStatus    a         IngressPortStatus represents the error condition of a service port             loadBalancer ingress ports port    int32   required          port is the port number of the ingress port             loadBalancer ingress ports protocol    string   required          protocol is the protocol of the ingress port  The supported values are   TCP    UDP    SCTP             loadBalancer ingress ports error    string           error is to record the problem with the service port The format of the error shall comply with the following rules    built in error values shall be specified in this file and those shall use           CamelCase names           cloud provider specific error values must have names that comply with the           format foo example com CamelCase          IngressList   IngressList   IngressList is a collection of Ingress    hr       items       a href    Ingress  a    required    items is the list of Ingress       apiVersion    string     APIVersion defines the versioned schema of this representation of an object  Servers should convert recognized schemas to the latest internal value  and may reject unrecognized values  More info  https   git k8s io community contributors devel sig architecture api conventions md resources      kind    string     Kind is a string value representing the REST resource this object represents  Servers may infer this from the endpoint the client submits requests to  Cannot be updated  In CamelCase  More info  https   git k8s io community contributors devel sig architecture api conventions md types kinds      metadata     a href    ListMeta  a      Standard object s metadata  More info  https   git k8s io community contributors devel sig architecture api conventions md metadata         Operations   Operations      hr             get  read the specified Ingress       HTTP Request  GET  apis networking k8s io v1 namespaces  namespace  ingresses  name        Parameters       name     in path    string  required    name of the Ingress       namespace     in path    string  required     a href    namespace  a        pretty     in query    string     a href    pretty  a          Response   200   a href    Ingress  a    OK  401  Unauthorized        get  read status of the specified Ingress       HTTP Request  GET  apis networking k8s io v1 namespaces  namespace  ingresses  name  status       Parameters       name     in path    string  required    name of the Ingress       namespace     in path    string  required     a href    namespace  a        pretty     in query    string     a href    pretty  a          Response   200   a href    Ingress  a    OK  401  Unauthorized        list  list or watch objects of kind Ingress       HTTP Request  GET  apis networking k8s io v1 namespaces  namespace  ingresses       Parameters       namespace     in path    string  required     a href    namespace  a        allowWatchBookmarks     in query    boolean     a href    allowWatchBookmarks  a        continue     in query    string     a href    continue  a        fieldSelector     in query    string     a href    fieldSelector  a        labelSelector     in query    string     a href    labelSelector  a        limit     in query    integer     a href    limit  a        pretty     in query    string     a href    pretty  a        resourceVersion     in query    string     a href    resourceVersion  a        resourceVersionMatch     in query    string     a href    resourceVersionMatch  a        sendInitialEvents     in query    boolean     a href    sendInitialEvents  a        timeoutSeconds     in query    integer     a href    timeoutSeconds  a        watch     in query    boolean     a href    watch  a          Response   200   a href    IngressList  a    OK  401  Unauthorized        list  list or watch objects of kind Ingress       HTTP Request  GET  apis networking k8s io v1 ingresses       Parameters       allowWatchBookmarks     in query    boolean     a href    allowWatchBookmarks  a        continue     in query    string     a href    continue  a        fieldSelector     in query    string     a href    fieldSelector  a        labelSelector     in query    string     a href    labelSelector  a        limit     in query    integer     a href    limit  a        pretty     in query    string     a href    pretty  a        resourceVersion     in query    string     a href    resourceVersion  a        resourceVersionMatch     in query    string     a href    resourceVersionMatch  a        sendInitialEvents     in query    boolean     a href    sendInitialEvents  a        timeoutSeconds     in query    integer     a href    timeoutSeconds  a        watch     in query    boolean     a href    watch  a          Response   200   a href    IngressList  a    OK  401  Unauthorized        create  create an Ingress       HTTP Request  POST  apis networking k8s io v1 namespaces  namespace  ingresses       Parameters       namespace     in path    string  required     a href    namespace  a        body     a href    Ingress  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        pretty     in query    string     a href    pretty  a          Response   200   a href    Ingress  a    OK  201   a href    Ingress  a    Created  202   a href    Ingress  a    Accepted  401  Unauthorized        update  replace the specified Ingress       HTTP Request  PUT  apis networking k8s io v1 namespaces  namespace  ingresses  name        Parameters       name     in path    string  required    name of the Ingress       namespace     in path    string  required     a href    namespace  a        body     a href    Ingress  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        pretty     in query    string     a href    pretty  a          Response   200   a href    Ingress  a    OK  201   a href    Ingress  a    Created  401  Unauthorized        update  replace status of the specified Ingress       HTTP Request  PUT  apis networking k8s io v1 namespaces  namespace  ingresses  name  status       Parameters       name     in path    string  required    name of the Ingress       namespace     in path    string  required     a href    namespace  a        body     a href    Ingress  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        pretty     in query    string     a href    pretty  a          Response   200   a href    Ingress  a    OK  201   a href    Ingress  a    Created  401  Unauthorized        patch  partially update the specified Ingress       HTTP Request  PATCH  apis networking k8s io v1 namespaces  namespace  ingresses  name        Parameters       name     in path    string  required    name of the Ingress       namespace     in path    string  required     a href    namespace  a        body     a href    Patch  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        force     in query    boolean     a href    force  a        pretty     in query    string     a href    pretty  a          Response   200   a href    Ingress  a    OK  201   a href    Ingress  a    Created  401  Unauthorized        patch  partially update status of the specified Ingress       HTTP Request  PATCH  apis networking k8s io v1 namespaces  namespace  ingresses  name  status       Parameters       name     in path    string  required    name of the Ingress       namespace     in path    string  required     a href    namespace  a        body     a href    Patch  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        force     in query    boolean     a href    force  a        pretty     in query    string     a href    pretty  a          Response   200   a href    Ingress  a    OK  201   a href    Ingress  a    Created  401  Unauthorized        delete  delete an Ingress       HTTP Request  DELETE  apis networking k8s io v1 namespaces  namespace  ingresses  name        Parameters       name     in path    string  required    name of the Ingress       namespace     in path    string  required     a href    namespace  a        body     a href    DeleteOptions  a            dryRun     in query    string     a href    dryRun  a        gracePeriodSeconds     in query    integer     a href    gracePeriodSeconds  a        pretty     in query    string     a href    pretty  a        propagationPolicy     in query    string     a href    propagationPolicy  a          Response   200   a href    Status  a    OK  202   a href    Status  a    Accepted  401  Unauthorized        deletecollection  delete collection of Ingress       HTTP Request  DELETE  apis networking k8s io v1 namespaces  namespace  ingresses       Parameters       namespace     in path    string  required     a href    namespace  a        body     a href    DeleteOptions  a            continue     in query    string     a href    continue  a        dryRun     in query    string     a href    dryRun  a        fieldSelector     in query    string     a href    fieldSelector  a        gracePeriodSeconds     in query    integer     a href    gracePeriodSeconds  a        labelSelector     in query    string     a href    labelSelector  a        limit     in query    integer     a href    limit  a        pretty     in query    string     a href    pretty  a        propagationPolicy     in query    string     a href    propagationPolicy  a        resourceVersion     in query    string     a href    resourceVersion  a        resourceVersionMatch     in query    string     a href    resourceVersionMatch  a        sendInitialEvents     in query    boolean     a href    sendInitialEvents  a        timeoutSeconds     in query    integer     a href    timeoutSeconds  a          Response   200   a href    Status  a    OK  401  Unauthorized


kubernetes reference kind Common Parameters title Common Parameters apiVersion contenttype apireference import weight 10 apimetadata autogenerated true

Answer:
---
api_metadata:
  apiVersion: ""
  import: ""
  kind: "Common Parameters"
content_type: "api_reference"
description: ""
title: "Common Parameters"
weight: 10
auto_generated: true
---

## allowWatchBookmarks {#allowWatchBookmarks}

allowWatchBookmarks requests watch events with type "BOOKMARK". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.

## continue {#continue}

The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the "next key".

This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.

## dryRun {#dryRun}

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

## fieldManager {#fieldManager}

fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.

## fieldSelector {#fieldSelector}

A selector to restrict the list of returned objects by their fields. Defaults to everything.

## fieldValidation {#fieldValidation}

fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

## force {#force}

Force is going to "force" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.

## gracePeriodSeconds {#gracePeriodSeconds}

The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.

## labelSelector {#labelSelector}

A selector to restrict the list of returned objects by their labels. Defaults to everything.

## limit {#limit}

limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.

The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.

## namespace {#namespace}

object name and auth scope, such as for teams and projects

## pretty {#pretty}

If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).

## propagationPolicy {#propagationPolicy}

Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.

## resourceVersion {#resourceVersion}

resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.

Defaults to unset

## resourceVersionMatch {#resourceVersionMatch}

resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.

Defaults to unset

## sendInitialEvents {#sendInitialEvents}

`sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic "Bookmark" event  will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `"k8s.io/initial-events-end": "true"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched.

When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan
  is interpreted as "data at least as new as the provided `resourceVersion`"
  and the bookmark event is send when the state is synced
  to a `resourceVersion` at least as fresh as the one provided by the ListOptions.
  If `resourceVersion` is unset, this is interpreted as "consistent read" and the
  bookmark event is send when the state is synced at least to the moment
  when request started being processed.
- `resourceVersionMatch` set to any other value or unset
  Invalid error is returned.

Defaults to true if `resourceVersion=""` or `resourceVersion="0"` (for backward compatibility reasons) and to false otherwise.

## timeoutSeconds {#timeoutSeconds}

Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.

## watch {#watch}

Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.

api metadata    apiVersion       import       kind   Common Parameters  content type   api reference  description     title   Common Parameters  weight  10 auto generated  true           The file is auto generated from the Go source code of the component using a generic  generator  https   github com kubernetes sigs reference docs    To learn how to generate the reference documentation  please read  Contributing to the reference documentation   docs contribute generate ref docs    To update the reference content  please follow the   Contributing upstream   docs contribute generate ref docs contribute upstream   guide  You can file document formatting bugs against the  reference docs  https   github com kubernetes sigs reference docs   project               allowWatchBookmarks   allowWatchBookmarks   allowWatchBookmarks requests watch events with type  BOOKMARK   Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server s discretion  Clients should not assume bookmarks are returned at any specific interval  nor may they assume the server will send any BOOKMARK event during a session  If this is not a watch  this field is ignored    hr          continue   continue   The continue option should be set when retrieving more results from the server  Since this value is server defined  clients may only use the continue value from a previous query result with identical query parameters  except for the value of continue  and the server may reject a continue value it does not recognize  If the specified continue value is no longer valid whether due to expiration  generally five to fifteen minutes  or a configuration change on the server  the server will respond with a 410 ResourceExpired error together with a continue token  If the client needs a consistent list  it must restart their list without the continue field  Otherwise  the client may send another list request with the token received with the 410 error  the server will respond with a list starting from the next key  but from the latest snapshot  which is inconsistent from the previous list results   objects that are created  modified  or deleted after the first list request will be included in the response  as long as their keys are after the  next key    This field is not supported when watch is true  Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications    hr          dryRun   dryRun   When present  indicates that modifications should not be persisted  An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request  Valid values are    All  all dry run stages will be processed   hr          fieldManager   fieldManager   fieldManager is a name associated with the actor or entity that is making these changes  The value must be less than or 128 characters long  and only contain printable characters  as defined by https   golang org pkg unicode  IsPrint    hr          fieldSelector   fieldSelector   A selector to restrict the list of returned objects by their fields  Defaults to everything    hr          fieldValidation   fieldValidation   fieldValidation instructs the server on how to handle objects in the request  POST PUT PATCH  containing unknown or duplicate fields  Valid values are    Ignore  This will ignore any unknown fields that are silently dropped from the object  and will ignore all but the last duplicate field that the decoder encounters  This is the default behavior prior to v1 23    Warn  This will send a warning via the standard warning response header for each unknown field that is dropped from the object  and for each duplicate field that is encountered  The request will still succeed if there are no other errors  and will only persist the last of any duplicate fields  This is the default in v1 23    Strict  This will fail the request with a BadRequest error if any unknown fields would be dropped from the object  or if any duplicate fields are present  The error returned from the server will contain all unknown and duplicate fields encountered    hr          force   force   Force is going to  force  Apply requests  It means user will re acquire conflicting fields owned by other people  Force flag must be unset for non apply patch requests    hr          gracePeriodSeconds   gracePeriodSeconds   The duration in seconds before the object should be deleted  Value must be non negative integer  The value zero indicates delete immediately  If this value is nil  the default grace period for the specified type will be used  Defaults to a per object value if not specified  zero means delete immediately    hr          labelSelector   labelSelector   A selector to restrict the list of returned objects by their labels  Defaults to everything    hr          limit   limit   limit is a maximum number of responses to return for a list call  If more items exist  the server will set the  continue  field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results  Setting a limit may return fewer than the requested amount of items  up to zero items  in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available  Servers may choose not to support the limit argument and will return all of the available results  If limit is specified and the continue field is empty  clients may assume that no more results are available  This field is not supported if watch is true   The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit   that is  no objects created  modified  or deleted after the first request is issued will be included in any subsequent continued requests  This is sometimes referred to as a consistent snapshot  and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects  If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned    hr          namespace   namespace   object name and auth scope  such as for teams and projects   hr          pretty   pretty   If  true   then the output is pretty printed  Defaults to  false  unless the user agent indicates a browser or command line HTTP tool  curl and wget     hr          propagationPolicy   propagationPolicy   Whether and how garbage collection will be performed  Either this field or OrphanDependents may be set  but not both  The default policy is decided by the existing finalizer set in the metadata finalizers and the resource specific default policy  Acceptable values are   Orphan    orphan the dependents   Background    allow the garbage collector to delete the dependents in the background   Foreground    a cascading policy that deletes all dependents in the foreground    hr          resourceVersion   resourceVersion   resourceVersion sets a constraint on what resource versions a request may be served from  See https   kubernetes io docs reference using api api concepts  resource versions for details   Defaults to unset   hr          resourceVersionMatch   resourceVersionMatch   resourceVersionMatch determines how resourceVersion is applied to list calls  It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https   kubernetes io docs reference using api api concepts  resource versions for details   Defaults to unset   hr          sendInitialEvents   sendInitialEvents    sendInitialEvents true  may be set together with  watch true   In that case  the watch stream will begin with synthetic events to produce the current state of objects in the collection  Once all such events have been sent  a synthetic  Bookmark  event  will be sent  The bookmark will report the ResourceVersion  RV  corresponding to the set of objects  and be marked with   k8s io initial events end    true   annotation  Afterwards  the watch stream will proceed as usual  sending watch events corresponding to changes  subsequent to the RV  to objects watched   When  sendInitialEvents  option is set  we require  resourceVersionMatch  option to also be set  The semantic of the watch request is as following     resourceVersionMatch    NotOlderThan   is interpreted as  data at least as new as the provided  resourceVersion     and the bookmark event is send when the state is synced   to a  resourceVersion  at least as fresh as the one provided by the ListOptions    If  resourceVersion  is unset  this is interpreted as  consistent read  and the   bookmark event is send when the state is synced at least to the moment   when request started being processed     resourceVersionMatch  set to any other value or unset   Invalid error is returned   Defaults to true if  resourceVersion     or  resourceVersion  0    for backward compatibility reasons  and to false otherwise    hr          timeoutSeconds   timeoutSeconds   Timeout for the list watch call  This limits the duration of the call  regardless of any activity or inactivity    hr          watch   watch   Watch for changes to the described resources and return them as a stream of add  update  and remove notifications  Specify resourceVersion    hr


kubernetes reference kind Status import k8s io apimachinery pkg apis meta v1 title Status Status is a return value for calls that don t return other objects apiVersion contenttype apireference apimetadata weight 12 autogenerated true

Answer:
---
api_metadata:
  apiVersion: ""
  import: "k8s.io/apimachinery/pkg/apis/meta/v1"
  kind: "Status"
content_type: "api_reference"
description: "Status is a return value for calls that don't return other objects."
title: "Status"
weight: 12
auto_generated: true
---

`import "k8s.io/apimachinery/pkg/apis/meta/v1"`

Status is a return value for calls that don't return other objects.

- **apiVersion** (string)

  APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

- **code** (int32)

  Suggested HTTP return code for this status, 0 if not set.

- **details** (StatusDetails)

  *Atomic: will be replaced during a merge*

  Extended data associated with the reason.  Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type.

  *StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.*

  - **details.causes** ([]StatusCause)

    *Atomic: will be replaced during a merge*

    The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.

    *StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.*

    - **details.causes.field** (string)

      The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed.  Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.

      Examples:
        "name" - the field "name" on the current resource
        "items[0].name" - the field "name" on the first array entry in "items"

    - **details.causes.message** (string)

      A human-readable description of the cause of the error.  This field may be presented as-is to a reader.

    - **details.causes.reason** (string)

      A machine-readable description of the cause of the error. If this value is empty there is no information available.

  - **details.group** (string)

    The group attribute of the resource associated with the status StatusReason.

  - **details.kind** (string)

    The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

  - **details.name** (string)

    The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).

  - **details.retryAfterSeconds** (int32)

    If specified, the time in seconds before the operation should be retried. Some errors may indicate the client must take an alternate action - for those errors this field may indicate how long to wait before taking the alternate action.

  - **details.uid** (string)

    UID of the resource. (when there is a single resource which can be described). More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids

- **kind** (string)

  Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

- **message** (string)

  A human-readable description of the status of this operation.

- **metadata** (ListMeta)

  Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

- **reason** (string)

  A machine-readable description of why this operation is in the "Failure" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it.

- **status** (string)

  Status of the operation. One of: "Success" or "Failure". More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

api metadata    apiVersion       import   k8s io apimachinery pkg apis meta v1    kind   Status  content type   api reference  description   Status is a return value for calls that don t return other objects   title   Status  weight  12 auto generated  true           The file is auto generated from the Go source code of the component using a generic  generator  https   github com kubernetes sigs reference docs    To learn how to generate the reference documentation  please read  Contributing to the reference documentation   docs contribute generate ref docs    To update the reference content  please follow the   Contributing upstream   docs contribute generate ref docs contribute upstream   guide  You can file document formatting bugs against the  reference docs  https   github com kubernetes sigs reference docs   project          import  k8s io apimachinery pkg apis meta v1     Status is a return value for calls that don t return other objects    hr       apiVersion    string     APIVersion defines the versioned schema of this representation of an object  Servers should convert recognized schemas to the latest internal value  and may reject unrecognized values  More info  https   git k8s io community contributors devel sig architecture api conventions md resources      code    int32     Suggested HTTP return code for this status  0 if not set       details    StatusDetails      Atomic  will be replaced during a merge       Extended data associated with the reason   Each reason may define its own extended details  This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type      a name  StatusDetails    a     StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response  The Reason field of a Status object defines what attributes will be set  Clients must ignore fields that do not match the defined type of each attribute  and should assume that any attribute may be empty  invalid  or under defined          details causes      StatusCause        Atomic  will be replaced during a merge           The Causes array includes more details associated with the StatusReason failure  Not all StatusReasons may provide detailed causes        a name  StatusCause    a       StatusCause provides more information about an api Status failure  including cases when multiple errors are encountered            details causes field    string         The field of the resource that has caused this error  as named by its JSON serialization  May include dot and postfix notation for nested attributes  Arrays are zero indexed   Fields may appear more than once in an array of causes due to fields having multiple errors  Optional               Examples           name    the field  name  on the current resource          items 0  name    the field  name  on the first array entry in  items           details causes message    string         A human readable description of the cause of the error   This field may be presented as is to a reader           details causes reason    string         A machine readable description of the cause of the error  If this value is empty there is no information available         details group    string       The group attribute of the resource associated with the status StatusReason         details kind    string       The kind attribute of the resource associated with the status StatusReason  On some operations may differ from the requested resource Kind  More info  https   git k8s io community contributors devel sig architecture api conventions md types kinds        details name    string       The name attribute of the resource associated with the status StatusReason  when there is a single name which can be described          details retryAfterSeconds    int32       If specified  the time in seconds before the operation should be retried  Some errors may indicate the client must take an alternate action   for those errors this field may indicate how long to wait before taking the alternate action         details uid    string       UID of the resource   when there is a single resource which can be described   More info  https   kubernetes io docs concepts overview working with objects names uids      kind    string     Kind is a string value representing the REST resource this object represents  Servers may infer this from the endpoint the client submits requests to  Cannot be updated  In CamelCase  More info  https   git k8s io community contributors devel sig architecture api conventions md types kinds      message    string     A human readable description of the status of this operation       metadata     a href    ListMeta  a      Standard list metadata  More info  https   git k8s io community contributors devel sig architecture api conventions md types kinds      reason    string     A machine readable description of why this operation is in the  Failure  status  If this value is empty there is no information available  A Reason clarifies an HTTP status code but does not override it       status    string     Status of the operation  One of   Success  or  Failure   More info  https   git k8s io community contributors devel sig architecture api conventions md spec and status


kubernetes reference weight 7 import k8s io apimachinery pkg apis meta v1 apiVersion contenttype apireference kind ObjectMeta apimetadata autogenerated true ObjectMeta is metadata that all persisted resources must have which includes all objects users must create title ObjectMeta

Answer:
---
api_metadata:
  apiVersion: ""
  import: "k8s.io/apimachinery/pkg/apis/meta/v1"
  kind: "ObjectMeta"
content_type: "api_reference"
description: "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create."
title: "ObjectMeta"
weight: 7
auto_generated: true
---

`import "k8s.io/apimachinery/pkg/apis/meta/v1"`

ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.

- **name** (string)

  Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names

- **generateName** (string)

  GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.

  If this field is specified and the generated name exists, the server will return a 409.

  Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency

- **namespace** (string)

  Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.

  Must be a DNS_LABEL. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces

- **labels** (map[string]string)

  Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels

- **annotations** (map[string]string)

  Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations

### System {#System}

- **finalizers** ([]string)

  *Set: unique values will be kept during a merge*

  Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order.  Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list.

- **managedFields** ([]ManagedFieldsEntry)

  *Atomic: will be replaced during a merge*

  ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like "ci-cd". The set of fields is always in the version that the workflow used when modifying the object.

  *ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.*

  - **managedFields.apiVersion** (string)

    APIVersion defines the version of this resource that this field set applies to. The format is "group/version" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted.

  - **managedFields.fieldsType** (string)

    FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: "FieldsV1"

  - **managedFields.fieldsV1** (FieldsV1)

    FieldsV1 holds the first JSON version format as described in the "FieldsV1" type.

    *FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.

    Each key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:<name>', where <name> is the name of a field in a struct, or key in a map 'v:<value>', where <value> is the exact json formatted value of a list item 'i:<index>', where <index> is position of a item in a list 'k:<keys>', where <keys> is a map of  a list item's key fields to their unique values If a key maps to an empty Fields value, the field that key represents is part of the set.

    The exact format is defined in sigs.k8s.io/structured-merge-diff*

  - **managedFields.manager** (string)

    Manager is an identifier of the workflow managing these fields.

  - **managedFields.operation** (string)

    Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.

  - **managedFields.subresource** (string)

    Subresource is the name of the subresource used to update that object, or empty string if the object was updated through the main resource. The value of this field is used to distinguish between managers, even if they share the same name. For example, a status update will be distinct from a regular update using the same manager name. Note that the APIVersion field is not related to the Subresource field and it always corresponds to the version of the main resource.

  - **managedFields.time** (Time)

    Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over.

    *Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.*

- **ownerReferences** ([]OwnerReference)

  *Patch strategy: merge on key `uid`*

  *Map: unique values on key uid will be kept during a merge*

  List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.

  *OwnerReference contains enough information to let you identify an owning object. An owning object must be in the same namespace as the dependent, or be cluster-scoped, so there is no namespace field.*

  - **ownerReferences.apiVersion** (string), required

    API version of the referent.

  - **ownerReferences.kind** (string), required

    Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

  - **ownerReferences.name** (string), required

    Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names

  - **ownerReferences.uid** (string), required

    UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids

  - **ownerReferences.blockOwnerDeletion** (boolean)

    If true, AND if the owner has the "foregroundDeletion" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion for how the garbage collector interacts with this field and enforces the foreground deletion. Defaults to false. To set this field, a user needs "delete" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.

  - **ownerReferences.controller** (boolean)

    If true, this reference points to the managing controller.

### Read-only {#Read-only}

- **creationTimestamp** (Time)

  CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.

  Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

  *Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.*

- **deletionGracePeriodSeconds** (int64)

  Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.

- **deletionTimestamp** (Time)

  DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.

  Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

  *Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.*

- **generation** (int64)

  A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.

- **resourceVersion** (string)

  An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.

  Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

- **selfLink** (string)

  Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.

- **uid** (string)

  UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.

  Populated by the system. Read-only. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids

api metadata    apiVersion       import   k8s io apimachinery pkg apis meta v1    kind   ObjectMeta  content type   api reference  description   ObjectMeta is metadata that all persisted resources must have  which includes all objects users must create   title   ObjectMeta  weight  7 auto generated  true           The file is auto generated from the Go source code of the component using a generic  generator  https   github com kubernetes sigs reference docs    To learn how to generate the reference documentation  please read  Contributing to the reference documentation   docs contribute generate ref docs    To update the reference content  please follow the   Contributing upstream   docs contribute generate ref docs contribute upstream   guide  You can file document formatting bugs against the  reference docs  https   github com kubernetes sigs reference docs   project          import  k8s io apimachinery pkg apis meta v1     ObjectMeta is metadata that all persisted resources must have  which includes all objects users must create    hr       name    string     Name must be unique within a namespace  Is required when creating resources  although some resources may allow a client to request the generation of an appropriate name automatically  Name is primarily intended for creation idempotence and configuration definition  Cannot be updated  More info  https   kubernetes io docs concepts overview working with objects names names      generateName    string     GenerateName is an optional prefix  used by the server  to generate a unique name ONLY IF the Name field has not been provided  If this field is used  the name returned to the client will be different than the name passed  This value will also be combined with a unique suffix  The provided value has the same validation rules as the Name field  and may be truncated by the length of the suffix required to make the value unique on the server       If this field is specified and the generated name exists  the server will return a 409       Applied only if Name is not specified  More info  https   git k8s io community contributors devel sig architecture api conventions md idempotency      namespace    string     Namespace defines the space within which each name must be unique  An empty namespace is equivalent to the  default  namespace  but  default  is the canonical representation  Not all objects are required to be scoped to a namespace   the value of this field for those objects will be empty       Must be a DNS LABEL  Cannot be updated  More info  https   kubernetes io docs concepts overview working with objects namespaces      labels    map string string     Map of string keys and values that can be used to organize and categorize  scope and select  objects  May match selectors of replication controllers and services  More info  https   kubernetes io docs concepts overview working with objects labels      annotations    map string string     Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata  They are not queryable and should be preserved when modifying objects  More info  https   kubernetes io docs concepts overview working with objects annotations        System   System        finalizers      string      Set  unique values will be kept during a merge       Must be empty before the object is deleted from the registry  Each entry is an identifier for the responsible component that will remove the entry from the list  If the deletionTimestamp of the object is non nil  entries in this list can only be removed  Finalizers may be processed and removed in any order   Order is NOT enforced because it introduces significant risk of stuck finalizers  finalizers is a shared field  any actor with permission can reorder it  If the finalizer list is processed in order  then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal  field value  external system  or other  produced by a component responsible for a finalizer later in the list  resulting in a deadlock  Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list       managedFields      ManagedFieldsEntry      Atomic  will be replaced during a merge       ManagedFields maps workflow id and version to the set of fields that are managed by that workflow  This is mostly for internal housekeeping  and users typically shouldn t need to set or understand this field  A workflow can be the user s name  a controller s name  or the name of a specific apply path like  ci cd   The set of fields is always in the version that the workflow used when modifying the object      a name  ManagedFieldsEntry    a     ManagedFieldsEntry is a workflow id  a FieldSet and the group version of the resource that the fieldset applies to          managedFields apiVersion    string       APIVersion defines the version of this resource that this field set applies to  The format is  group version  just like the top level APIVersion field  It is necessary to track the version of a field set because it cannot be automatically converted         managedFields fieldsType    string       FieldsType is the discriminator for the different fields format and version  There is currently only one possible value   FieldsV1         managedFields fieldsV1    FieldsV1       FieldsV1 holds the first JSON version format as described in the  FieldsV1  type        a name  FieldsV1    a       FieldsV1 stores a set of fields in a data structure like a Trie  in JSON format           Each key is either a     representing the field itself  and will always map to an empty set  or a string representing a sub field or item  The string will follow one of these four formats   f  name    where  name  is the name of a field in a struct  or key in a map  v  value    where  value  is the exact json formatted value of a list item  i  index    where  index  is position of a item in a list  k  keys    where  keys  is a map of  a list item s key fields to their unique values If a key maps to an empty Fields value  the field that key represents is part of the set           The exact format is defined in sigs k8s io structured merge diff         managedFields manager    string       Manager is an identifier of the workflow managing these fields         managedFields operation    string       Operation is the type of operation which lead to this ManagedFieldsEntry being created  The only valid values for this field are  Apply  and  Update          managedFields subresource    string       Subresource is the name of the subresource used to update that object  or empty string if the object was updated through the main resource  The value of this field is used to distinguish between managers  even if they share the same name  For example  a status update will be distinct from a regular update using the same manager name  Note that the APIVersion field is not related to the Subresource field and it always corresponds to the version of the main resource         managedFields time    Time       Time is the timestamp of when the ManagedFields entry was added  The timestamp will also be updated if a field is added  the manager changes any of the owned fields value or removes a field  The timestamp does not update when a field is removed from the entry because another manager took it over        a name  Time    a       Time is a wrapper around time Time which supports correct marshaling to YAML and JSON   Wrappers are provided for many of the factory methods that the time package offers        ownerReferences      OwnerReference      Patch strategy  merge on key  uid         Map  unique values on key uid will be kept during a merge       List of objects depended by this object  If ALL objects in the list have been deleted  this object will be garbage collected  If this object is managed by a controller  then an entry in this list will point to this controller  with the controller field set to true  There cannot be more than one managing controller      a name  OwnerReference    a     OwnerReference contains enough information to let you identify an owning object  An owning object must be in the same namespace as the dependent  or be cluster scoped  so there is no namespace field          ownerReferences apiVersion    string   required      API version of the referent         ownerReferences kind    string   required      Kind of the referent  More info  https   git k8s io community contributors devel sig architecture api conventions md types kinds        ownerReferences name    string   required      Name of the referent  More info  https   kubernetes io docs concepts overview working with objects names names        ownerReferences uid    string   required      UID of the referent  More info  https   kubernetes io docs concepts overview working with objects names uids        ownerReferences blockOwnerDeletion    boolean       If true  AND if the owner has the  foregroundDeletion  finalizer  then the owner cannot be deleted from the key value store until this reference is removed  See https   kubernetes io docs concepts architecture garbage collection  foreground deletion for how the garbage collector interacts with this field and enforces the foreground deletion  Defaults to false  To set this field  a user needs  delete  permission of the owner  otherwise 422  Unprocessable Entity  will be returned         ownerReferences controller    boolean       If true  this reference points to the managing controller       Read only   Read only        creationTimestamp    Time     CreationTimestamp is a timestamp representing the server time when this object was created  It is not guaranteed to be set in happens before order across separate operations  Clients may not set this value  It is represented in RFC3339 form and is in UTC       Populated by the system  Read only  Null for lists  More info  https   git k8s io community contributors devel sig architecture api conventions md metadata     a name  Time    a     Time is a wrapper around time Time which supports correct marshaling to YAML and JSON   Wrappers are provided for many of the factory methods that the time package offers        deletionGracePeriodSeconds    int64     Number of seconds allowed for this object to gracefully terminate before it will be removed from the system  Only set when deletionTimestamp is also set  May only be shortened  Read only       deletionTimestamp    Time     DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted  This field is set by the server when a graceful deletion is requested by the user  and is not directly settable by a client  The resource is expected to be deleted  no longer visible from resource lists  and not reachable by name  after the time in this field  once the finalizers list is empty  As long as the finalizers list contains items  deletion is blocked  Once the deletionTimestamp is set  this value may not be unset or be set further into the future  although it may be shortened or the resource may be deleted prior to this time  For example  a user may request that a pod is deleted in 30 seconds  The Kubelet will react by sending a graceful termination signal to the containers in the pod  After that 30 seconds  the Kubelet will send a hard termination signal  SIGKILL  to the container and after cleanup  remove the pod from the API  In the presence of network partitions  this object may still exist after this timestamp  until an administrator or automated process can determine the resource is fully terminated  If not set  graceful deletion of the object has not been requested       Populated by the system when a graceful deletion is requested  Read only  More info  https   git k8s io community contributors devel sig architecture api conventions md metadata     a name  Time    a     Time is a wrapper around time Time which supports correct marshaling to YAML and JSON   Wrappers are provided for many of the factory methods that the time package offers        generation    int64     A sequence number representing a specific generation of the desired state  Populated by the system  Read only       resourceVersion    string     An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed  May be used for optimistic concurrency  change detection  and the watch operation on a resource or set of resources  Clients must treat these values as opaque and passed unmodified back to the server  They may only be valid for a particular resource or set of resources       Populated by the system  Read only  Value must be treated as opaque by clients and   More info  https   git k8s io community contributors devel sig architecture api conventions md concurrency control and consistency      selfLink    string     Deprecated  selfLink is a legacy read only field that is no longer populated by the system       uid    string     UID is the unique in time and space value for this object  It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations       Populated by the system  Read only  More info  https   kubernetes io docs concepts overview working with objects names uids