/* 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 { IoK8sApiCoreV1LocalObjectReference, IoK8sApiCoreV1LocalObjectReferenceFromJSON, IoK8sApiCoreV1LocalObjectReferenceToJSON, } from './'; /** * ScaleIOVolumeSource represents a persistent ScaleIO volume * @export * @interface IoK8sApiCoreV1ScaleIOVolumeSource */ export interface IoK8sApiCoreV1ScaleIOVolumeSource { /** * fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Default is "xfs". * @type {string} * @memberof IoK8sApiCoreV1ScaleIOVolumeSource */ fsType?: string; /** * gateway is the host address of the ScaleIO API Gateway. * @type {string} * @memberof IoK8sApiCoreV1ScaleIOVolumeSource */ gateway: string; /** * protectionDomain is the name of the ScaleIO Protection Domain for the configured storage. * @type {string} * @memberof IoK8sApiCoreV1ScaleIOVolumeSource */ protectionDomain?: string; /** * readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. * @type {boolean} * @memberof IoK8sApiCoreV1ScaleIOVolumeSource */ readOnly?: boolean; /** * * @type {IoK8sApiCoreV1LocalObjectReference} * @memberof IoK8sApiCoreV1ScaleIOVolumeSource */ secretRef: IoK8sApiCoreV1LocalObjectReference; /** * sslEnabled Flag enable/disable SSL communication with Gateway, default false * @type {boolean} * @memberof IoK8sApiCoreV1ScaleIOVolumeSource */ sslEnabled?: boolean; /** * storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned. * @type {string} * @memberof IoK8sApiCoreV1ScaleIOVolumeSource */ storageMode?: string; /** * storagePool is the ScaleIO Storage Pool associated with the protection domain. * @type {string} * @memberof IoK8sApiCoreV1ScaleIOVolumeSource */ storagePool?: string; /** * system is the name of the storage system as configured in ScaleIO. * @type {string} * @memberof IoK8sApiCoreV1ScaleIOVolumeSource */ system: string; /** * volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source. * @type {string} * @memberof IoK8sApiCoreV1ScaleIOVolumeSource */ volumeName?: string; } export function IoK8sApiCoreV1ScaleIOVolumeSourceFromJSON( json: any, ): IoK8sApiCoreV1ScaleIOVolumeSource { return IoK8sApiCoreV1ScaleIOVolumeSourceFromJSONTyped(json, false); } export function IoK8sApiCoreV1ScaleIOVolumeSourceFromJSONTyped( json: any, _ignoreDiscriminator: boolean, ): IoK8sApiCoreV1ScaleIOVolumeSource { if (json === undefined || json === null) { return json; } return { fsType: !exists(json, 'fsType') ? undefined : json['fsType'], gateway: json['gateway'], protectionDomain: !exists(json, 'protectionDomain') ? undefined : json['protectionDomain'], readOnly: !exists(json, 'readOnly') ? undefined : json['readOnly'], secretRef: IoK8sApiCoreV1LocalObjectReferenceFromJSON(json['secretRef']), sslEnabled: !exists(json, 'sslEnabled') ? undefined : json['sslEnabled'], storageMode: !exists(json, 'storageMode') ? undefined : json['storageMode'], storagePool: !exists(json, 'storagePool') ? undefined : json['storagePool'], system: json['system'], volumeName: !exists(json, 'volumeName') ? undefined : json['volumeName'], }; } export function IoK8sApiCoreV1ScaleIOVolumeSourceToJSON( value?: IoK8sApiCoreV1ScaleIOVolumeSource | null, ): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { fsType: value.fsType, gateway: value.gateway, protectionDomain: value.protectionDomain, readOnly: value.readOnly, secretRef: IoK8sApiCoreV1LocalObjectReferenceToJSON(value.secretRef), sslEnabled: value.sslEnabled, storageMode: value.storageMode, storagePool: value.storagePool, system: value.system, volumeName: value.volumeName, }; }