@stolostron/multicluster-sdk
Version:
Provides extensions and APIs that dynamic plugins can use to leverage multicluster capabilities provided by Red Hat Advanced Cluster Management.
95 lines • 3.29 kB
TypeScript
import { AccessReviewResourceAttributes, K8sModel, K8sResourceCommon, Patch, QueryParams, ResourceLinkProps, WatchK8sResource } from '@openshift-console/dynamic-plugin-sdk';
export type Fleet<T> = T & {
cluster?: string;
};
export type FleetK8sResourceCommon = Fleet<K8sResourceCommon>;
export type FleetWatchK8sResource = Fleet<WatchK8sResource>;
export type FleetWatchK8sResources<R extends FleetResourcesObject> = {
[k in keyof R]: FleetWatchK8sResource;
};
export type FleetWatchK8sResult<R extends FleetK8sResourceCommon | FleetK8sResourceCommon[]> = [
R | undefined,
boolean,
any
];
export type FleetResourcesObject = {
[key: string]: FleetK8sResourceCommon | FleetK8sResourceCommon[];
};
export type FleetWatchK8sResultsObject<R extends K8sResourceCommon | K8sResourceCommon[]> = {
data: R | undefined;
loaded: boolean;
loadError?: any;
};
export type FleetWatchK8sResults<R extends FleetResourcesObject> = {
[k in keyof R]: FleetWatchK8sResultsObject<R[k]>;
};
export type FleetAccessReviewResourceAttributes = Fleet<AccessReviewResourceAttributes>;
export type FleetResourceLinkProps = Fleet<ResourceLinkProps>;
export type FleetResourceEventStreamProps = {
resource: FleetK8sResourceCommon;
};
export type FleetK8sCreateUpdateOptions<R extends FleetK8sResourceCommon> = {
model: K8sModel;
name?: string;
ns?: string;
path?: string;
cluster?: string;
queryParams?: QueryParams;
data: R;
};
export type FleetK8sGetOptions = {
model: K8sModel;
name?: string;
ns?: string;
path?: string;
cluster?: string;
queryParams?: QueryParams;
requestInit?: RequestInit;
};
export type FleetK8sPatchOptions<R extends FleetK8sResourceCommon> = {
model: K8sModel;
name?: string;
ns?: string;
path?: string;
cluster?: string;
queryParams?: QueryParams;
resource: R;
data: Patch[];
};
export type FleetK8sDeleteOptions<R extends FleetK8sResourceCommon> = {
model: K8sModel;
name?: string;
ns?: string;
path?: string;
cluster?: string;
queryParams?: QueryParams;
resource: R;
requestInit?: RequestInit;
json?: Record<string, any>;
};
export type FleetK8sListOptions = {
model: K8sModel;
queryParams: {
[key: string]: any;
};
requestInit?: RequestInit;
};
/**
* Structured data containing cluster names organized by cluster sets.
*
* Clusters without an explicit cluster set label are automatically assigned to the "default" cluster set.
* The "global" key is a special set that contains all clusters (when includeGlobal is true).
*/
export type ClusterSetData = Record<string, string[]>;
/**
* Options for advanced cluster name retrieval with cluster set organization.
*/
export type FleetClusterNamesOptions = {
/** Whether to return all clusters regardless of availability status. Defaults to false. */
returnAllClusters?: boolean;
/** Specific cluster set names to include. If not specified, includes all cluster sets including "default". Should not include "global" - use includeGlobal instead. */
clusterSets?: string[];
/** Whether to include a special "global" set containing all clusters. Defaults to false. */
includeGlobal?: boolean;
};
//# sourceMappingURL=fleet.d.ts.map