in src/Azure.Deployments.Extensibility.Extensions.Kubernetes/Api/K8sApiDiscovery.cs [58:83]
private async Task<V1APIResource?> TryFastFindApiResourceAsync(GroupVersionKind groupVersionKind, CancellationToken cancellationToken)
{
var (group, version, kind) = groupVersionKind;
if (K8sApiCatalog.Instance.TryFindMatchingRecord(new(group, version, kind)) is { } apiMetadata)
{
var serverVersionInfo = await this.client.GetServerVersionInfoAsync(cancellationToken);
var serverMajorVersion = int.Parse(serverVersionInfo.Major);
var serverMinorVersion = int.Parse(serverVersionInfo.Minor);
var serverMajorMinorVersion = new SemVersion(serverMajorVersion, serverMinorVersion);
if (apiMetadata.Matches(serverMajorMinorVersion))
{
return new V1APIResource
{
Group = group,
Version = version,
Kind = kind,
Name = apiMetadata.Plural,
Namespaced = apiMetadata.Namespaced,
};
}
}
return null;
}