# ReplicaSetSpecV1 Properties

- Package: [Aspire.Hosting.Kubernetes](/reference/api/csharp/aspire.hosting.kubernetes.md)
- Type: [ReplicaSetSpecV1](/reference/api/csharp/aspire.hosting.kubernetes/replicasetspecv1.md)
- Kind: `Properties`
- Members: `4`

Defines the specification for a Kubernetes ReplicaSet.

## MinReadySeconds

- Name: `MinReadySeconds`
- Modifiers: `nullable` `get; set`
- Returns: `int?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/5bd693ae1897dee5e2ce71c2cc08879c1c7eff51/src/Aspire.Hosting.Kubernetes/Resources/ReplicaSetSpecV1.cs)

Specifies the minimum time, in seconds, a pod should remain in the Ready state before it is considered available.

```csharp
public int? MinReadySeconds { get; set; }
```

## Remarks

This property is used to define a stabilization period for newly created pods in a ReplicaSet. Pods must remain in the Ready state for at least the specified number of seconds before being considered available for scaling decisions or readiness. A value of null or 0 indicates no stabilization period is required.

## Replicas

- Name: `Replicas`
- Modifiers: `nullable` `get; set`
- Returns: `int?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/5bd693ae1897dee5e2ce71c2cc08879c1c7eff51/src/Aspire.Hosting.Kubernetes/Resources/ReplicaSetSpecV1.cs)

Gets or sets the desired number of replicas for the ReplicaSet.

```csharp
public int? Replicas { get; set; }
```

## Remarks

This property specifies the number of pod replicas that should be maintained by the ReplicaSet. If not specified, the default value is determined by the Kubernetes control plane.

## Selector

- Name: `Selector`
- Modifiers: `get; set`
- Returns: [LabelSelectorV1](/reference/api/csharp/aspire.hosting.kubernetes/labelselectorv1.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/5bd693ae1897dee5e2ce71c2cc08879c1c7eff51/src/Aspire.Hosting.Kubernetes/Resources/ReplicaSetSpecV1.cs)

Gets or sets the label selector for this ReplicaSet specification. This selector is used to identify and target which set of Pods the ReplicaSet will manage.

```csharp
public LabelSelectorV1 Selector { get; set; }
```

## Remarks

The selector contains criteria for filtering resources based on their labels. It may include: - MatchLabels: Specifies the labels that must explicitly match. - MatchExpressions: Allows defining complex rules for label matching. Both components can be used together to create comprehensive selection criteria.

## Template

- Name: `Template`
- Modifiers: `get; set`
- Returns: [PodTemplateSpecV1](/reference/api/csharp/aspire.hosting.kubernetes/podtemplatespecv1.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/5bd693ae1897dee5e2ce71c2cc08879c1c7eff51/src/Aspire.Hosting.Kubernetes/Resources/ReplicaSetSpecV1.cs)

Gets or sets the template that defines the specification of the pods to be created.

```csharp
public PodTemplateSpecV1 Template { get; set; }
```

## Remarks

The template is a PodTemplateSpec object that includes the pod-specific metadata and desired state configuration. It is used to define the settings for pods generated by the ReplicaSet.
