@stolostron/multicluster-sdk
Version:
Provides extensions and APIs that dynamic plugins can use to leverage multicluster capabilities provided by Red Hat Advanced Cluster Management.
25 lines • 1.4 kB
TypeScript
import { CodeRef, ExtensionDeclaration } from '@openshift-console/dynamic-plugin-sdk/lib/types';
import { ExtensionK8sGroupKindModel, ExtensionK8sModel } from '@openshift-console/dynamic-plugin-sdk';
import { FleetK8sResourceCommon } from '../types/fleet';
import { RESOURCE_ROUTE_TYPE } from '../api/constants';
export type ResourceRouteHandler = (props: {
/** The cluster where the resource is located. */
cluster: string;
/** The namespace where the resource is located (if the resource is namespace-scoped). */
namespace?: string;
/** The name of the resource. */
name: string;
/** The resource, augmented with cluster property. */
resource: FleetK8sResourceCommon;
/** The model for the resource. */
model: ExtensionK8sModel;
}) => string | undefined;
export type ResourceRouteProps = {
/** The model for which this resource route should be used. */
model: ExtensionK8sGroupKindModel;
/** The handler function that returns the route path for the resource. */
handler: CodeRef<ResourceRouteHandler>;
};
/** This extension allows plugins to customize the route used for resources of the given kind. Search results and resource links will direct to the route returned by the implementing function. */
export type ResourceRoute = ExtensionDeclaration<typeof RESOURCE_ROUTE_TYPE, ResourceRouteProps>;
//# sourceMappingURL=resource.d.ts.map