# KubernetesGatewayResource Constructors

- Package: [Aspire.Hosting.Kubernetes](/reference/api/csharp/aspire.hosting.kubernetes.md)
- Type: [KubernetesGatewayResource](/reference/api/csharp/aspire.hosting.kubernetes/kubernetesgatewayresource.md)
- Kind: `Constructors`
- Members: `1`

Represents a Kubernetes Gateway API Gateway as a first-class resource in the Aspire application model. A Gateway defines listeners (ports, protocols, TLS) and HTTPRoutes attach to it for routing.

## KubernetesGatewayResource(string, KubernetesEnvironmentResource)

- Name: `Constructor(string, KubernetesEnvironmentResource)`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/5bd693ae1897dee5e2ce71c2cc08879c1c7eff51/src/Aspire.Hosting.Kubernetes/KubernetesGatewayResource.cs#L37-L82)

Represents a Kubernetes Gateway API Gateway as a first-class resource in the Aspire application model. A Gateway defines listeners (ports, protocols, TLS) and HTTPRoutes attach to it for routing.

```csharp
public class KubernetesGatewayResource
{
    public KubernetesGatewayResource(
        string name,
        KubernetesEnvironmentResource environment)
    {
        // ...
    }
}
```

## Parameters

- `name` (`string`)
  The name of the gateway resource.
- `environment` ([KubernetesEnvironmentResource](/reference/api/csharp/aspire.hosting.kubernetes/kubernetesenvironmentresource.md))
  The parent Kubernetes environment resource.

## Remarks

Create a gateway using [KubernetesGatewayExtensions.AddGateway(IResourceBuilder<KubernetesEnvironmentResource>, string)](/reference/api/csharp/aspire.hosting.kubernetes/kubernetesgatewayextensions/methods.md#addgateway-iresourcebuilder-kubernetesenvironmentresource-string) and configure routes using [KubernetesGatewayExtensions.WithRoute(IResourceBuilder<KubernetesGatewayResource>, string, EndpointReference, IngressPathType)](/reference/api/csharp/aspire.hosting.kubernetes/kubernetesgatewayextensions/methods.md#withroute-iresourcebuilder-kubernetesgatewayresource-string-endpointreference-ingresspathtype).

At publish time, the gateway generates a `gateway.networking.k8s.io/v1 Gateway` resource with auto-inferred listeners and one or more `HTTPRoute` resources in the Helm chart output.

## Examples

```csharp
var k8s = builder.AddKubernetesEnvironment("k8s");
var gateway = k8s.AddGateway("public")
    .WithGatewayClass("azure-alb-external");

var api = builder.AddProject<MyApi>("api");
gateway.WithRoute("/api", api.GetEndpoint("http"));
```
