# K8sManifestResource Properties

- Package: [CommunityToolkit.Aspire.Hosting.Kind](/reference/api/csharp/communitytoolkit.aspire.hosting.kind.md)
- Type: [K8sManifestResource](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/k8smanifestresource.md)
- Kind: `Properties`
- Members: `11`

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

<a id="applytimeout"></a>

## ApplyTimeout

- Name: `ApplyTimeout`
- Modifiers: `get; set`
- Returns: `TimeSpan`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/3ebe72753ae604ec3c9e343865740e6f8512e1b6/src/CommunityToolkit.Aspire.Hosting.Kind/K8sManifestResource.cs)

Gets or sets the maximum time to wait for `kubectl apply` to complete.

```csharp
public TimeSpan ApplyTimeout { get; set; }
```

<a id="clusterreadytimeout"></a>

## ClusterReadyTimeout

- Name: `ClusterReadyTimeout`
- Modifiers: `get; set`
- Returns: `TimeSpan`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/3ebe72753ae604ec3c9e343865740e6f8512e1b6/src/CommunityToolkit.Aspire.Hosting.Kind/K8sManifestResource.cs)

Gets or sets the maximum time to wait for the Kubernetes API to become reachable before running `kubectl apply`.

```csharp
public TimeSpan ClusterReadyTimeout { get; set; }
```

<a id="crdwaitbehavior"></a>

## CrdWaitBehavior

- Name: `CrdWaitBehavior`
- Modifiers: `get; set`
- Returns: [CrdWaitBehavior](/reference/api/csharp/communitytoolkit.aspire.hosting.kind/crdwaitbehavior.md)
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/3ebe72753ae604ec3c9e343865740e6f8512e1b6/src/CommunityToolkit.Aspire.Hosting.Kind/K8sManifestResource.cs)

Gets or sets how CRD wait failures are handled.

```csharp
public CrdWaitBehavior CrdWaitBehavior { get; set; }
```

<a id="crdwaittimeout"></a>

## CrdWaitTimeout

- Name: `CrdWaitTimeout`
- Modifiers: `get; set`
- Returns: `TimeSpan`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/3ebe72753ae604ec3c9e343865740e6f8512e1b6/src/CommunityToolkit.Aspire.Hosting.Kind/K8sManifestResource.cs)

Gets or sets the maximum time to wait for applied CRDs to reach the `Established` condition.

```csharp
public TimeSpan CrdWaitTimeout { get; set; }
```

<a id="fieldmanager"></a>

## FieldManager

- Name: `FieldManager`
- Modifiers: `nullable` `get; set`
- Returns: `string?`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/3ebe72753ae604ec3c9e343865740e6f8512e1b6/src/CommunityToolkit.Aspire.Hosting.Kind/K8sManifestResource.cs)

Gets the field manager name used with server-side apply (maps to `kubectl apply --field-manager`). When `null`, kubectl uses its default ( `kubectl`).

```csharp
public string? FieldManager { get; set; }
```

<a id="forceconflicts"></a>

## ForceConflicts

- Name: `ForceConflicts`
- Modifiers: `get; set`
- Returns: `bool`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/3ebe72753ae604ec3c9e343865740e6f8512e1b6/src/CommunityToolkit.Aspire.Hosting.Kind/K8sManifestResource.cs)

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`.

```csharp
public bool ForceConflicts { get; set; }
```

<a id="inlinecontent"></a>

## InlineContent

- Name: `InlineContent`
- Modifiers: `nullable` `get; set`
- Returns: `string?`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/3ebe72753ae604ec3c9e343865740e6f8512e1b6/src/CommunityToolkit.Aspire.Hosting.Kind/K8sManifestResource.cs)

Gets or sets inline manifest content applied with `kubectl apply -f -`.

```csharp
public string? InlineContent { get; set; }
```

<a id="iskustomize"></a>

## IsKustomize

- Name: `IsKustomize`
- Modifiers: `get; set`
- Returns: `bool`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/3ebe72753ae604ec3c9e343865740e6f8512e1b6/src/CommunityToolkit.Aspire.Hosting.Kind/K8sManifestResource.cs)

Gets or sets whether this resource represents a Kustomize overlay directory.

```csharp
public bool IsKustomize { get; set; }
```

<a id="manifestpath"></a>

## ManifestPath

- Name: `ManifestPath`
- Modifiers: `get`
- Returns: `string`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/3ebe72753ae604ec3c9e343865740e6f8512e1b6/src/CommunityToolkit.Aspire.Hosting.Kind/K8sManifestResource.cs#L29)

Gets the manifest path passed to `kubectl apply`. Accepts an absolute file path, an absolute directory path, or `<inline>` for standard input.

```csharp
public string ManifestPath { get; }
```

<a id="recursive"></a>

## Recursive

- Name: `Recursive`
- Modifiers: `get; set`
- Returns: `bool`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/3ebe72753ae604ec3c9e343865740e6f8512e1b6/src/CommunityToolkit.Aspire.Hosting.Kind/K8sManifestResource.cs)

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.

```csharp
public bool Recursive { get; set; }
```

<a id="serverside"></a>

## ServerSide

- Name: `ServerSide`
- Modifiers: `get; set`
- Returns: `bool`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/3ebe72753ae604ec3c9e343865740e6f8512e1b6/src/CommunityToolkit.Aspire.Hosting.Kind/K8sManifestResource.cs)

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.

```csharp
public bool ServerSide { get; set; }
```
