# KubernetesIngressResource

- Module: [Aspire.Hosting.Kubernetes](/reference/api/typescript/aspire.hosting.kubernetes.md)
- Version: `13.3.0-preview.1.26254.5`
- Kind: `handle`
- Source: [GitHub](https://github.com/microsoft/aspire)

## Definition

```typescript
interface KubernetesIngressResource
  extends IResource,
    IResourceWithParent,
    KubernetesEnvironmentResource]] {
  withDefaultBackend(endpoint: EndpointReference): KubernetesIngressResource;
  withHostname(hostname: string): KubernetesIngressResource;
  withIngressAnnotation(
      key: string,
      value: string): KubernetesIngressResource;
  withIngressAnnotationParam(
      key: string,
      value: ParameterResource): KubernetesIngressResource;
  withIngressClass(className: string): KubernetesIngressResource;
  withIngressClassParam(className: ParameterResource): KubernetesIngressResource;
  withIngressHostnameParam(hostname: ParameterResource): KubernetesIngressResource;
  withIngressHostRoute(
      host: string,
      path: string,
      endpoint: EndpointReference,
      pathType?: IngressPathType): KubernetesIngressResource;
  withIngressPathRoute(
      path: string,
      endpoint: EndpointReference,
      pathType?: IngressPathType): KubernetesIngressResource;
  withIngressTlsAuto(): KubernetesIngressResource;
  withIngressTlsParam(secretName: ParameterResource): KubernetesIngressResource;
  withTls(secretName: string): KubernetesIngressResource;
}
```

## Methods

- [withDefaultBackend](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesingressresource/withdefaultbackend.md) -- `method` -- Sets the default backend for a Kubernetes Ingress
    ```typescript
  withDefaultBackend(endpoint: EndpointReference): KubernetesIngressResource
  ```
- [withHostname](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesingressresource/withhostname.md) -- `method` -- Adds a hostname to a Kubernetes Ingress
    ```typescript
  withHostname(hostname: string): KubernetesIngressResource
  ```
- [withIngressAnnotation](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesingressresource/withingressannotation.md) -- `method` -- Adds a Kubernetes metadata annotation to a Kubernetes Ingress
    ```typescript
  withIngressAnnotation(key: string, value: string): KubernetesIngressResource
  ```
- [withIngressAnnotationParam](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesingressresource/withingressannotationparam.md) -- `method` -- Adds a parameterized Kubernetes metadata annotation to an Ingress
    ```typescript
  withIngressAnnotationParam(key: string, value: ParameterResource): KubernetesIngressResource
  ```
- [withIngressClass](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesingressresource/withingressclass.md) -- `method` -- Sets the ingress class for a Kubernetes Ingress
    ```typescript
  withIngressClass(className: string): KubernetesIngressResource
  ```
- [withIngressClassParam](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesingressresource/withingressclassparam.md) -- `method` -- Sets a parameterized ingress class for a Kubernetes Ingress
    ```typescript
  withIngressClassParam(className: ParameterResource): KubernetesIngressResource
  ```
- [withIngressHostnameParam](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesingressresource/withingresshostnameparam.md) -- `method` -- Adds a parameterized hostname to a Kubernetes Ingress
    ```typescript
  withIngressHostnameParam(hostname: ParameterResource): KubernetesIngressResource
  ```
- [withIngressHostRoute](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesingressresource/withingresshostroute.md) -- `method` -- Adds a host-and-path route to a Kubernetes Ingress
    ```typescript
  withIngressHostRoute(host: string, path: string, endpoint: EndpointReference, pathType?: IngressPathType): KubernetesIngressResource
  ```
- [withIngressPathRoute](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesingressresource/withingresspathroute.md) -- `method` -- Adds a path-based route to a Kubernetes Ingress
    ```typescript
  withIngressPathRoute(path: string, endpoint: EndpointReference, pathType?: IngressPathType): KubernetesIngressResource
  ```
- [withIngressTlsAuto](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesingressresource/withingresstlsauto.md) -- `method` -- Configures TLS for a Kubernetes Ingress with an auto-generated secret
    ```typescript
  withIngressTlsAuto(): KubernetesIngressResource
  ```
- [withIngressTlsParam](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesingressresource/withingresstlsparam.md) -- `method` -- Configures TLS for a Kubernetes Ingress with a parameterized secret
    ```typescript
  withIngressTlsParam(secretName: ParameterResource): KubernetesIngressResource
  ```
- [withTls](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesingressresource/withtls.md) -- `method` -- Configures TLS for a Kubernetes Ingress using a K8S secret
    ```typescript
  withTls(secretName: string): KubernetesIngressResource
  ```
