-
Notifications
You must be signed in to change notification settings - Fork 592
/
selectors.ts
28 lines (24 loc) · 1.11 KB
/
selectors.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import * as _ from 'lodash';
import { K8sResourceKind } from '@console/internal/module/k8s';
import { getStorageSize } from '../selectors';
import { V1alpha1DataVolume } from '../../types/vm/disk/V1alpha1DataVolume';
import { V1DataVolumeTemplateSpec } from '../../types';
export const getDataVolumeResources = (dataVolume: K8sResourceKind) =>
_.get(dataVolume, 'spec.pvc.resources');
export const getDataVolumeStorageSize = (dataVolume: K8sResourceKind): string =>
getStorageSize(getDataVolumeResources(dataVolume));
export const getDataVolumeAccessModes = (dataVolume: K8sResourceKind) =>
_.get(dataVolume, 'spec.pvc.accessModes');
export const getDataVolumeVolumeMode = (dataVolume: K8sResourceKind) =>
_.get(dataVolume, 'spec.pvc.volumeMode');
export const getDataVolumeStorageClassName = (dataVolume: K8sResourceKind): string =>
_.get(dataVolume, 'spec.pvc.storageClassName');
export const toDataVolumeTemplateSpec = (
dataVolume: V1alpha1DataVolume,
): V1DataVolumeTemplateSpec =>
dataVolume
? {
metadata: _.get(dataVolume, 'metadata'),
spec: _.get(dataVolume, 'spec'),
}
: null;