# K8sManifestResource

- Kind: `class`
- Package: [CommunityToolkit.Aspire.Hosting.Kind](/reference/api/csharp/communitytoolkit.aspire.hosting.kind.md)
- Version: `13.5.1-beta.736`
- Namespace: `Aspire.Hosting.ApplicationModel`
- Target framework: `net10.0`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/3ebe72753ae604ec3c9e343865740e6f8512e1b6/src/CommunityToolkit.Aspire.Hosting.Kind/K8sManifestResource.cs)
- Inherits: [KindDeployedResource](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/kinddeployedresource.md)

A Kubernetes manifest applied to a Kind cluster via `kubectl apply`.

## Definition

```csharp
namespace Aspire.Hosting.ApplicationModel;

public class K8sManifestResource
    : Aspire.Hosting.ApplicationModel.KindDeployedResource
{
    // ...
}
```

## ATS metadata

### ATS export

- Type ID: `CommunityToolkit.Aspire.Hosting.Kind/K8sManifestResource`
- Public instance properties are exported as ATS capabilities.

## Constructors

- [K8sManifestResource(string, string, KindClusterResource)](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/k8smanifestresource/constructors.md#constructor-string-string-kindclusterresource) -- A Kubernetes manifest applied to a Kind cluster via `kubectl apply`.

## Properties

- [ApplyTimeout](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/k8smanifestresource/properties.md#applytimeout) : `TimeSpan` `get; set` -- Gets or sets the maximum time to wait for `kubectl apply` to complete.
- [ClusterReadyTimeout](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/k8smanifestresource/properties.md#clusterreadytimeout) : `TimeSpan` `get; set` -- Gets or sets the maximum time to wait for the Kubernetes API to become reachable before running `kubectl apply`.
- [CrdWaitBehavior](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/k8smanifestresource/properties.md#crdwaitbehavior) : [CrdWaitBehavior](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/crdwaitbehavior.md) `get; set` -- Gets or sets how CRD wait failures are handled.
- [CrdWaitTimeout](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/k8smanifestresource/properties.md#crdwaittimeout) : `TimeSpan` `get; set` -- Gets or sets the maximum time to wait for applied CRDs to reach the `Established` condition.
- [FieldManager](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/k8smanifestresource/properties.md#fieldmanager) : `string?` `get; set` -- Gets the field manager name used with server-side apply (maps to `kubectl apply --field-manager`). When `null`, kubectl uses its default ( `kubectl`).
- [ForceConflicts](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/k8smanifestresource/properties.md#forceconflicts) : `bool` `get; set` -- Gets or sets whether to force conflicts on server-side apply (maps to `kubectl apply --server-side --force-conflicts`). Only meaningful when [K8sManifestResource.ServerSide](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/k8smanifestresource/properties.md#serverside) is `true`.
- [InlineContent](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/k8smanifestresource/properties.md#inlinecontent) : `string?` `get; set` -- Gets or sets inline manifest content applied with `kubectl apply -f -`.
- [IsKustomize](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/k8smanifestresource/properties.md#iskustomize) : `bool` `get; set` -- Gets or sets whether this resource represents a Kustomize overlay directory.
- [ManifestPath](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/k8smanifestresource/properties.md#manifestpath) : `string` `get` -- Gets the manifest path passed to `kubectl apply`. Accepts an absolute file path, an absolute directory path, or `<inline>` for standard input.
- [Recursive](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/k8smanifestresource/properties.md#recursive) : `bool` `get; set` -- Gets or sets whether to recursively apply manifests in subdirectories (maps to `kubectl apply --recursive`). Only meaningful when [K8sManifestResource.ManifestPath](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/k8smanifestresource/properties.md#manifestpath) is a directory.
- [ServerSide](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/k8smanifestresource/properties.md#serverside) : `bool` `get; set` -- Gets or sets whether to apply the manifest server-side (maps to `kubectl apply --server-side`). Server-side apply is required for large CRDs that exceed the client-side annotation size limit.
