@stolostron/multicluster-sdk
Version:
Provides extensions and APIs that dynamic plugins can use to leverage multicluster capabilities provided by Red Hat Advanced Cluster Management.
38 lines • 1.85 kB
TypeScript
import { ResolvedExtension } from '@openshift-console/dynamic-plugin-sdk';
import { ResourceRoute, ResourceRouteHandler } from '../extensions/resource';
import { Extension } from '@openshift-console/dynamic-plugin-sdk/lib/types';
export declare const isResourceRoute: (e: Extension) => e is ResourceRoute;
/**
* Find matching ResourceRoute extension
* First checks for exact version match, then falls back to version-agnostic match.
*
* @param extensions - Array of resolved resource route extensions
* @param group - The resource group (e.g., 'kubevirt.io')
* @param kind - The resource kind (e.g., 'VirtualMachine')
* @param version - The resource version (e.g., 'v1')
* @returns The handler function if found, null otherwise
*/
export declare const findResourceRouteHandler: (extensions: ResolvedExtension<ResourceRoute>[] | undefined, group: string | undefined, kind: string, version?: string) => ResourceRouteHandler | null;
/**
* Get extension resource path with parameters
* Convenience function that combines finding the handler and calling it
*
* @param extensions - Array of resolved resource route extensions
* @param group - The resource group (e.g., 'kubevirt.io')
* @param kind - The resource kind (e.g., 'VirtualMachine')
* @param version - The resource version (e.g., 'v1')
* @param params - Parameters to pass to the handler function
* @returns The extension path if found, null otherwise
*/
export declare const getExtensionResourcePath: (extensions: ResolvedExtension<ResourceRoute>[] | undefined, group: string | undefined, kind: string, version?: string, params?: {
cluster: string;
namespace?: string;
name: string;
resource: any;
model: {
group?: string;
version?: string;
kind: string;
};
}) => string | null;
//# sourceMappingURL=resourceRouteUtils.d.ts.map