/* tslint:disable */ /* eslint-disable */ /** * ELEMENTS API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 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 { exists, mapValues } from '../runtime'; import { NFSPermission, NFSPermissionFromJSON, NFSPermissionFromJSONTyped, NFSPermissionToJSON, VolumeReference, VolumeReferenceFromJSON, VolumeReferenceFromJSONTyped, VolumeReferenceToJSON, } from './'; /** * * @export * @interface Share */ export interface Share { /** * * @type {number} * @memberof Share */ id: number; /** * * @type {Array} * @memberof Share */ sharingNfsPermissions?: Array; /** * * @type {VolumeReference} * @memberof Share */ volume: VolumeReference; /** * * @type {string} * @memberof Share */ name: string; /** * * @type {string} * @memberof Share */ path?: string; /** * * @type {boolean} * @memberof Share */ shareSmb?: boolean; /** * * @type {boolean} * @memberof Share */ shareNfs?: boolean; /** * * @type {boolean} * @memberof Share */ shareAfp?: boolean; /** * * @type {boolean} * @memberof Share */ sharingReadOnly?: boolean; /** * * @type {boolean} * @memberof Share */ sharingHidden?: boolean; /** * * @type {boolean} * @memberof Share */ sharingRequireLogin?: boolean; /** * * @type {string} * @memberof Share */ smbExtraConfig?: string; /** * * @type {string} * @memberof Share */ afpExtraConfig?: string; /** * * @type {number} * @memberof Share */ rwAccessGroup?: number | null; /** * * @type {number} * @memberof Share */ roAccessGroup?: number | null; } export function ShareFromJSON(json: any): Share { return ShareFromJSONTyped(json, false); } export function ShareFromJSONTyped(json: any, ignoreDiscriminator: boolean): Share { if ((json === undefined) || (json === null)) { return json; } return { 'id': json['id'], 'sharingNfsPermissions': !exists(json, 'sharing_nfs_permissions') ? undefined : ((json['sharing_nfs_permissions'] as Array).map(NFSPermissionFromJSON)), 'volume': VolumeReferenceFromJSON(json['volume']), 'name': json['name'], 'path': !exists(json, 'path') ? undefined : json['path'], 'shareSmb': !exists(json, 'share_smb') ? undefined : json['share_smb'], 'shareNfs': !exists(json, 'share_nfs') ? undefined : json['share_nfs'], 'shareAfp': !exists(json, 'share_afp') ? undefined : json['share_afp'], 'sharingReadOnly': !exists(json, 'sharing_read_only') ? undefined : json['sharing_read_only'], 'sharingHidden': !exists(json, 'sharing_hidden') ? undefined : json['sharing_hidden'], 'sharingRequireLogin': !exists(json, 'sharing_require_login') ? undefined : json['sharing_require_login'], 'smbExtraConfig': !exists(json, 'smb_extra_config') ? undefined : json['smb_extra_config'], 'afpExtraConfig': !exists(json, 'afp_extra_config') ? undefined : json['afp_extra_config'], 'rwAccessGroup': !exists(json, 'rw_access_group') ? undefined : json['rw_access_group'], 'roAccessGroup': !exists(json, 'ro_access_group') ? undefined : json['ro_access_group'], }; } export function ShareToJSON(value?: Share | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'id': value.id, 'sharing_nfs_permissions': value.sharingNfsPermissions === undefined ? undefined : ((value.sharingNfsPermissions as Array).map(NFSPermissionToJSON)), 'volume': VolumeReferenceToJSON(value.volume), 'name': value.name, 'path': value.path, 'share_smb': value.shareSmb, 'share_nfs': value.shareNfs, 'share_afp': value.shareAfp, 'sharing_read_only': value.sharingReadOnly, 'sharing_hidden': value.sharingHidden, 'sharing_require_login': value.sharingRequireLogin, 'smb_extra_config': value.smbExtraConfig, 'afp_extra_config': value.afpExtraConfig, 'rw_access_group': value.rwAccessGroup, 'ro_access_group': value.roAccessGroup, }; }