| File: Resources\ResourceRequirementsV1.cs | Web Access |
| Project: src\src\Aspire.Hosting.Kubernetes\Aspire.Hosting.Kubernetes.csproj (Aspire.Hosting.Kubernetes) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using YamlDotNet.Serialization; namespace Aspire.Hosting.Kubernetes.Resources; /// <summary> /// Represents the resource requirements for a container or a pod in a Kubernetes environment. /// </summary> /// <remarks> /// The <see cref="ResourceRequirementsV1"/> class is used to define the resource constraints /// that a container or pod should adhere to, specified through claims, limits, and requests. /// </remarks> [YamlSerializable] public sealed class ResourceRequirementsV1 { /// <summary> /// Represents a collection of resource claims associated with the resource requirements. /// Each claim defines specific resource requests or constraints. /// </summary> [YamlMember(Alias = "claims")] public List<ResourceClaimV1> Claims { get; } = []; /// <summary> /// Represents the resource limits for a Kubernetes resource. /// Limits specify the maximum amount of resources (e.g., CPU, memory) /// that a container can use. The keys represent the resource types, /// and the corresponding values specify the quantity limit for each resource. /// </summary> [YamlMember(Alias = "limits")] public Dictionary<string, string> Limits { get; } = []; /// <summary> /// Gets the resource requests for the container or pod. /// </summary> /// <remarks> /// Represents the minimum amount of each resource type that the container or pod requests. /// The resources are identified by their names as keys in the dictionary, /// and the corresponding values specify the requested quantity (e.g., CPU or memory). /// </remarks> [YamlMember(Alias = "requests")] public Dictionary<string, string> Requests { get; } = []; }