# KubernetesEnvironmentResource

- 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 KubernetesEnvironmentResource
  extends IComputeEnvironmentResource,
    IResource {
  dashboardEnabled: boolean;
  defaultImagePullPolicy: string;
  defaultServiceType: string;
  defaultStorageClassName: string;
  defaultStorageReadWritePolicy: string;
  defaultStorageSize: string;
  defaultStorageType: string;
  helmChartDescription: string;
  helmChartName: string;
  helmChartVersion: string;
  kubeConfigPath: string;
  addGateway(name: string): KubernetesGatewayResource;
  addIngress(name: string): KubernetesIngressResource;
  addNodePool(name: string): KubernetesNodePoolResource;
  configureDashboard(configure: (obj: KubernetesAspireDashboardResource) => Promise<void>): KubernetesEnvironmentResource;
  withDashboard(enabled?: boolean): KubernetesEnvironmentResource;
  withHelm(configure?: (obj: HelmChartOptions) => Promise<void>): KubernetesEnvironmentResource;
  withProperties(configure: (obj: KubernetesEnvironmentResource) => Promise<void>): KubernetesEnvironmentResource;
}
```

## Properties

- `dashboardEnabled`: `boolean` `get - set` -- Gets the DashboardEnabled property
- `defaultImagePullPolicy`: `string` `get - set` -- Gets the DefaultImagePullPolicy property
- `defaultServiceType`: `string` `get - set` -- Gets the DefaultServiceType property
- `defaultStorageClassName`: `string` `get - set` -- Gets the DefaultStorageClassName property
- `defaultStorageReadWritePolicy`: `string` `get - set` -- Gets the DefaultStorageReadWritePolicy property
- `defaultStorageSize`: `string` `get - set` -- Gets the DefaultStorageSize property
- `defaultStorageType`: `string` `get - set` -- Gets the DefaultStorageType property
- `helmChartDescription`: `string` `get - set` -- Gets the HelmChartDescription property
- `helmChartName`: `string` `get - set` -- Gets the HelmChartName property
- `helmChartVersion`: `string` `get - set` -- Gets the HelmChartVersion property
- `kubeConfigPath`: `string` `get - set` -- Gets the KubeConfigPath property

## Methods

- [addGateway](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesenvironmentresource/addgateway.md) -- `method` -- Adds a Kubernetes Gateway API Gateway resource
    ```typescript
  addGateway(name: string): KubernetesGatewayResource
  ```
- [addIngress](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesenvironmentresource/addingress.md) -- `method` -- Adds a Kubernetes Ingress resource for HTTP routing
    ```typescript
  addIngress(name: string): KubernetesIngressResource
  ```
- [addNodePool](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesenvironmentresource/addnodepool.md) -- `method` -- Adds a named node pool to a Kubernetes environment
    ```typescript
  addNodePool(name: string): KubernetesNodePoolResource
  ```
- [configureDashboard](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesenvironmentresource/configuredashboard.md) -- `method` -- Configures the Aspire dashboard resource for the Kubernetes environment
    ```typescript
  configureDashboard(configure: (obj: KubernetesAspireDashboardResource) => Promise<void>): KubernetesEnvironmentResource
  ```
- [withDashboard](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesenvironmentresource/withdashboard.md) -- `method` -- Enables or disables the Aspire dashboard for the Kubernetes environment
    ```typescript
  withDashboard(enabled?: boolean): KubernetesEnvironmentResource
  ```
- [withHelm](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesenvironmentresource/withhelm.md) -- `method` -- Configures Helm chart deployment settings
    ```typescript
  withHelm(configure?: (obj: HelmChartOptions) => Promise<void>): KubernetesEnvironmentResource
  ```
- [withProperties](/reference/api/typescript/aspire.hosting.kubernetes/kubernetesenvironmentresource/withproperties.md) -- `method` -- Configures properties of a Kubernetes environment
    ```typescript
  withProperties(configure: (obj: KubernetesEnvironmentResource) => Promise<void>): KubernetesEnvironmentResource
  ```
