| File: Resources\ExternalMetricSourceV2.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 an external metric source in Kubernetes for configuring autoscaling behavior /// based on metrics from external components or monitoring systems. /// </summary> /// <remarks> /// This class defines the external metric to be monitored and the specific target value /// associated with it. The `metric` property identifies the external metric by name /// and optional label selectors. The `target` property provides the desired value, /// average value, or utilization percentage for the metric, as part of the autoscaling configuration. /// </remarks> [YamlSerializable] public sealed class ExternalMetricSourceV2 { /// <summary> /// Represents the metric property utilized in the ExternalMetricSourceV2 class. /// This property is of type MetricIdentifierV2 and is used to identify and define /// a specific metric in the context of Kubernetes resource configurations. /// </summary> /// <remarks> /// The Metric property is typically used to specify the name and any optional selector /// for a particular metric, allowing for detailed filtering or identification when /// integrating with Kubernetes metrics APIs or external monitoring tools. /// </remarks> [YamlMember(Alias = "metric")] public MetricIdentifierV2 Metric { get; set; } = new(); /// <summary> /// Defines the target configuration for a metric in a Kubernetes-based context. /// </summary> /// <remarks> /// The target specifies the desired state or value for a metric, which is used /// to define scaling behavior or monitor system performance. This includes the /// type of target, the desired value, and optionally the average value or utilization. /// </remarks> [YamlMember(Alias = "target")] public MetricTargetV2 Target { get; set; } = new(); }