pub async fn pinned_kind(
    client: &'_ Client,
    gvk: &'_ GroupVersionKind
) -> Result<(ApiResource, ApiCapabilities), Error>
This is supported on crate feature client only.
Expand description

Single discovery for a single GVK

This is an optimized function that avoids the unnecessary listing of api groups. It merely requests the api group resources for the specified apigroup, and then resolves the kind.

use kube::{Client, api::{Api, DynamicObject, GroupVersionKind}, discovery, ResourceExt};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = Client::try_default().await?;
    let gvk = GroupVersionKind::gvk("apiregistration.k8s.io", "v1", "APIService");
    let (ar, caps) = discovery::pinned_kind(&client, &gvk).await?;
    let api: Api<DynamicObject> = Api::all_with(client.clone(), &ar);
    for service in api.list(&Default::default()).await? {
        println!("Found APIService: {}", service.name());
    }
    Ok(())
}