/* tslint:disable */ /* eslint-disable */ /** * 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 { exists } from '../runtime'; import { IoK8sApiCoreV1SecretReference, IoK8sApiCoreV1SecretReferenceFromJSON, IoK8sApiCoreV1SecretReferenceToJSON, } from './'; /** * Represents a Rados Block Device mount that lasts the lifetime of a pod. RBD volumes support ownership management and SELinux relabeling. * @export * @interface IoK8sApiCoreV1RBDPersistentVolumeSource */ export interface IoK8sApiCoreV1RBDPersistentVolumeSource { /** * fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd * @type {string} * @memberof IoK8sApiCoreV1RBDPersistentVolumeSource */ fsType?: string; /** * image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it * @type {string} * @memberof IoK8sApiCoreV1RBDPersistentVolumeSource */ image: string; /** * keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it * @type {string} * @memberof IoK8sApiCoreV1RBDPersistentVolumeSource */ keyring?: string; /** * monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it * @type {Array} * @memberof IoK8sApiCoreV1RBDPersistentVolumeSource */ monitors: Array; /** * pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it * @type {string} * @memberof IoK8sApiCoreV1RBDPersistentVolumeSource */ pool?: string; /** * readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it * @type {boolean} * @memberof IoK8sApiCoreV1RBDPersistentVolumeSource */ readOnly?: boolean; /** * * @type {IoK8sApiCoreV1SecretReference} * @memberof IoK8sApiCoreV1RBDPersistentVolumeSource */ secretRef?: IoK8sApiCoreV1SecretReference; /** * user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it * @type {string} * @memberof IoK8sApiCoreV1RBDPersistentVolumeSource */ user?: string; } export function IoK8sApiCoreV1RBDPersistentVolumeSourceFromJSON( json: any, ): IoK8sApiCoreV1RBDPersistentVolumeSource { return IoK8sApiCoreV1RBDPersistentVolumeSourceFromJSONTyped(json, false); } export function IoK8sApiCoreV1RBDPersistentVolumeSourceFromJSONTyped( json: any, _ignoreDiscriminator: boolean, ): IoK8sApiCoreV1RBDPersistentVolumeSource { if (json === undefined || json === null) { return json; } return { fsType: !exists(json, 'fsType') ? undefined : json['fsType'], image: json['image'], keyring: !exists(json, 'keyring') ? undefined : json['keyring'], monitors: json['monitors'], pool: !exists(json, 'pool') ? undefined : json['pool'], readOnly: !exists(json, 'readOnly') ? undefined : json['readOnly'], secretRef: !exists(json, 'secretRef') ? undefined : IoK8sApiCoreV1SecretReferenceFromJSON(json['secretRef']), user: !exists(json, 'user') ? undefined : json['user'], }; } export function IoK8sApiCoreV1RBDPersistentVolumeSourceToJSON( value?: IoK8sApiCoreV1RBDPersistentVolumeSource | null, ): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { fsType: value.fsType, image: value.image, keyring: value.keyring, monitors: value.monitors, pool: value.pool, readOnly: value.readOnly, secretRef: IoK8sApiCoreV1SecretReferenceToJSON(value.secretRef), user: value.user, }; }