@codingame/kubevirt-api
Version:
kubevirt OpenAPI automation for TypeScript
57 lines (56 loc) • 3.69 kB
TypeScript
/**
* Kubernetes
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: unversioned
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { IoK8sApiResourceV1alpha3ResourceSliceSpec, IoK8sApimachineryPkgApisMetaV1ObjectMeta } from './';
/**
* ResourceSlice represents one or more resources in a pool of similar resources, managed by a common driver. A pool may span more than one ResourceSlice, and exactly how many ResourceSlices comprise a pool is determined by the driver.
*
* At the moment, the only supported resources are devices with attributes and capacities. Each device in a given pool, regardless of how many ResourceSlices, must have a unique name. The ResourceSlice in which a device gets published may change over time. The unique identifier for a device is the tuple <driver name>, <pool name>, <device name>.
*
* Whenever a driver needs to update a pool, it increments the pool.Spec.Pool.Generation number and updates all ResourceSlices with that new number and new resource definitions. A consumer must only use ResourceSlices with the highest generation number and ignore all others.
*
* When allocating all resources in a pool matching certain criteria or when looking for the best solution among several different alternatives, a consumer should check the number of ResourceSlices in a pool (included in each ResourceSlice) to determine whether its view of a pool is complete and if not, should wait until the driver has completed updating the pool.
*
* For resources that are not local to a node, the node name is not set. Instead, the driver may use a node selector to specify where the devices are available.
*
* This is an alpha type and requires enabling the DynamicResourceAllocation feature gate.
* @export
* @interface IoK8sApiResourceV1alpha3ResourceSlice
*/
export interface IoK8sApiResourceV1alpha3ResourceSlice {
/**
* APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
* @type {string}
* @memberof IoK8sApiResourceV1alpha3ResourceSlice
*/
apiVersion?: string;
/**
* Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
* @type {string}
* @memberof IoK8sApiResourceV1alpha3ResourceSlice
*/
kind?: string;
/**
*
* @type {IoK8sApimachineryPkgApisMetaV1ObjectMeta}
* @memberof IoK8sApiResourceV1alpha3ResourceSlice
*/
metadata?: IoK8sApimachineryPkgApisMetaV1ObjectMeta;
/**
*
* @type {IoK8sApiResourceV1alpha3ResourceSliceSpec}
* @memberof IoK8sApiResourceV1alpha3ResourceSlice
*/
spec: IoK8sApiResourceV1alpha3ResourceSliceSpec;
}
export declare function IoK8sApiResourceV1alpha3ResourceSliceFromJSON(json: any): IoK8sApiResourceV1alpha3ResourceSlice;
export declare function IoK8sApiResourceV1alpha3ResourceSliceFromJSONTyped(json: any, _ignoreDiscriminator: boolean): IoK8sApiResourceV1alpha3ResourceSlice;
export declare function IoK8sApiResourceV1alpha3ResourceSliceToJSON(value?: IoK8sApiResourceV1alpha3ResourceSlice | null): any;