Files
csharp/examples/customResource/cResource.cs
Boshi Lian 5de1c25cf1 migrate to record (#1665)
* migrate to record

* chore: update project files and clean up unused references

* refactor: convert classes to records and simplify constructors for IntOrString, ResourceQuantity, and V1Patch

* fix: define IsExternalInit to resolve CS0518 error in IntOrString

* refactor: change IntOrString and ResourceQuantity from records to structs, update implicit conversions, and simplify null checks

* refactor: add JsonPropertyName attribute to Value property in IntOrString struct

* refactor: simplify V1Patch constructor and improve argument validation

* refactor: remove unnecessary CultureInfo parameter in ToInt method

* Update src/KubernetesClient/Models/ResourceQuantity.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/KubernetesClient/Models/IntOrString.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Revert "Update src/KubernetesClient/Models/ResourceQuantity.cs"

This reverts commit 62b20a691554659e28d419067220dc1a0620133b.

* refactor: remove commented-out formatting check and simplify build command

* refactor: remove IValidate.cs from project references in Aot and Classic

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-22 14:20:13 -07:00

34 lines
818 B
C#

using k8s.Models;
using System.Text.Json.Serialization;
namespace customResource
{
public class CResource : CustomResource<CResourceSpec, CResourceStatus>
{
public override string ToString()
{
var labels = "{";
foreach (var kvp in Metadata.Labels)
{
labels += kvp.Key + " : " + kvp.Value + ", ";
}
labels = labels.TrimEnd(',', ' ') + "}";
return $"{Metadata.Name} (Labels: {labels}), Spec: {Spec.CityName}";
}
}
public record CResourceSpec
{
[JsonPropertyName("cityName")]
public string CityName { get; set; }
}
public record CResourceStatus : V1Status
{
[JsonPropertyName("temperature")]
public string Temperature { get; set; }
}
}