# ResourceSpec

- Kind: `class`
- Package: [Aspire.Hosting.Docker](/reference/api/csharp/aspire.hosting.docker.md)
- Version: `13.3.0`
- Namespace: `Aspire.Hosting.Docker.Resources.ServiceNodes.Swarm`
- Target framework: `net8.0`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/5bd693ae1897dee5e2ce71c2cc08879c1c7eff51/src/Aspire.Hosting.Docker/Resources/ServiceNodes/Swarm/ResourceSpec.cs)

Represents resource specifications for a Docker service.

## Definition

```csharp
namespace Aspire.Hosting.Docker.Resources.ServiceNodes.Swarm;

public sealed class ResourceSpec
{
    // ...
}
```

## Remarks

The `ResourceSpec` class is used to define constraints on CPU and memory for a service in the Docker Swarm mode. These configurations can be applied to set limits or reservations for resources.

## Constructors

- [ResourceSpec](/reference/api/csharp/aspire.hosting.docker/resourcespec/constructors.md#constructor)

## Properties

- [Cpus](/reference/api/csharp/aspire.hosting.docker/resourcespec/properties.md#cpus) : `string?` `get; set` -- Represents the amount of CPU resources allocated for a specific service node in the swarm configuration. The value is typically expressed in terms of CPU shares or fractions, depending on the context.
- [Memory](/reference/api/csharp/aspire.hosting.docker/resourcespec/properties.md#memory) : `string?` `get; set` -- Represents the memory resource specification for the service. This property defines the amount of memory allocated as a resource. The value is typically specified as a string representing the size, for example "512M" for 512 megabytes.
