/**
 * Kubernetes
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1.22.2
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */ import { RequestFile } from './models' ; import { V1LabelSelector } from './v1LabelSelector' ; import { V1ObjectMeta } from './v1ObjectMeta' ; /**
* CSIStorageCapacity stores the result of one CSI GetCapacity call. For a given StorageClass, this describes the available capacity in a particular topology segment.  This can be used when considering where to instantiate new PersistentVolumes.  For example this can express things like: - StorageClass \"standard\" has \"1234 GiB\" available in \"topology.kubernetes.io/zone=us-east1\" - StorageClass \"localssd\" has \"10 GiB\" available in \"kubernetes.io/hostname=knode-abc123\"  The following three cases all imply that no capacity is available for a certain combination: - no object exists with suitable topology and storage class name - such an object exists, but the capacity is unset - such an object exists, but the capacity is zero  The producer of these objects can decide which approach is more suitable.  They are consumed by the kube-scheduler if the CSIStorageCapacity beta feature gate is enabled there and a CSI driver opts into capacity-aware scheduling with CSIDriver.StorageCapacity.
*/ export class V1beta1CSIStorageCapacity { /**
    * 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
    */ 'apiVersion' ? : string ; /**
    * Capacity is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.  The semantic is currently (CSI spec 1.2) defined as: The available capacity, in bytes, of the storage that can be used to provision volumes. If not set, that information is currently unavailable and treated like zero capacity.
    */ 'capacity' ? : 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
    */ 'kind' ? : string ; /**
    * MaximumVolumeSize is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.  This is defined since CSI spec 1.4.0 as the largest size that may be used in a CreateVolumeRequest.capacity_range.required_bytes field to create a volume with the same parameters as those in GetCapacityRequest. The corresponding value in the Kubernetes API is ResourceRequirements.Requests in a volume claim.
    */ 'maximumVolumeSize' ? : string ; 'metadata' ? : V1ObjectMeta ; 'nodeTopology' ? : V1LabelSelector ; /**
    * The name of the StorageClass that the reported capacity applies to. It must meet the same requirements as the name of a StorageClass object (non-empty, DNS subdomain). If that object no longer exists, the CSIStorageCapacity object is obsolete and should be removed by its creator. This field is immutable.
    */ 'storageClassName' : string ; static discriminator : string | undefined = undefined ; static attributeTypeMap : Array < { name : string ; baseName : string ; type : string ; } > = [ { "name" : "apiVersion" , "baseName" : "apiVersion" , "type" : "string" } , { "name" : "capacity" , "baseName" : "capacity" , "type" : "string" } , { "name" : "kind" , "baseName" : "kind" , "type" : "string" } , { "name" : "maximumVolumeSize" , "baseName" : "maximumVolumeSize" , "type" : "string" } , { "name" : "metadata" , "baseName" : "metadata" , "type" : "V1ObjectMeta" } , { "name" : "nodeTopology" , "baseName" : "nodeTopology" , "type" : "V1LabelSelector" } , { "name" : "storageClassName" , "baseName" : "storageClassName" , "type" : "string" } ] ; static getAttributeTypeMap ( ) { return V1beta1CSIStorageCapacity . attributeTypeMap ; } }