mirror of https://github.com/rancher/ui.git
This commit is contained in:
parent
aff9ac7f15
commit
c93c1a091b
|
|
@ -4,26 +4,26 @@ import Resource from 'ember-api-store/models/resource';
|
|||
|
||||
const SOURCES = [];
|
||||
registerSource('aws-ebs', 'awsElasticBlockStore', true);
|
||||
registerSource('azure-disk', 'azureDisk', '');
|
||||
registerSource('azure-file', 'azureFile', '');
|
||||
registerSource('cephfs', 'cephfs', '');
|
||||
registerSource('cinder', 'cinder', '');
|
||||
registerSource('fc', 'fc', '');
|
||||
registerSource('flex-volume', 'flexVolume', '');
|
||||
registerSource('flocker', 'flocker', '');
|
||||
registerSource('gce-pd', 'gcePersistentDisk', '');
|
||||
registerSource('glusterfs', 'glusterfs', '');
|
||||
registerSource('host-path', 'hostPath', '');
|
||||
registerSource('iscsi', 'iscsi', '');
|
||||
registerSource('local', 'local', '');
|
||||
registerSource('nfs', 'nfs', '');
|
||||
registerSource('photon', 'photonPersistentDisk', '');
|
||||
registerSource('portworx', 'portworxVolume', '');
|
||||
registerSource('quobyte', 'quobyte', '');
|
||||
registerSource('rbd', 'rbd', '');
|
||||
registerSource('scaleio', 'scaleIO', '');
|
||||
registerSource('storageos', 'storageos', '');
|
||||
registerSource('vsphere-volume', 'vsphereVolume', '');
|
||||
registerSource('azure-disk', 'azureDisk', true);
|
||||
registerSource('azure-file', 'azureFile', true);
|
||||
registerSource('cephfs', 'cephfs', true);
|
||||
registerSource('cinder', 'cinder', true);
|
||||
registerSource('fc', 'fc', true);
|
||||
registerSource('flex-volume', 'flexVolume', true);
|
||||
registerSource('flocker', 'flocker', true);
|
||||
registerSource('gce-pd', 'gcePersistentDisk', true);
|
||||
registerSource('glusterfs', 'glusterfs', true);
|
||||
registerSource('host-path', 'hostPath', true);
|
||||
registerSource('iscsi', 'iscsi', true);
|
||||
registerSource('local', 'local', true);
|
||||
registerSource('nfs', 'nfs', true);
|
||||
registerSource('photon', 'photonPersistentDisk', true);
|
||||
registerSource('portworx', 'portworxVolume', true);
|
||||
registerSource('quobyte', 'quobyte', true);
|
||||
registerSource('rbd', 'rbd', true);
|
||||
registerSource('scaleio', 'scaleIO', true);
|
||||
registerSource('storageos', 'storageos', true);
|
||||
registerSource('vsphere-volume', 'vsphereVolume', true);
|
||||
|
||||
export function registerSource(name, field, component) {
|
||||
if ( component === true ) {
|
||||
|
|
|
|||
|
|
@ -26,6 +26,16 @@ export default Component.extend(ViewNewEdit, {
|
|||
updateOptions(ary) {
|
||||
set(this, 'primaryResource.mountOptions', ary);
|
||||
},
|
||||
|
||||
updateParams(key, map) {
|
||||
getSources().forEach(source => {
|
||||
if(source.value === key){
|
||||
set(this, `primaryResource.${key}`, map);
|
||||
} else {
|
||||
set(this, `primaryResource.${source.value}`, null);
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
init() {
|
||||
|
|
@ -123,8 +133,13 @@ export default Component.extend(ViewNewEdit, {
|
|||
|
||||
sourceComponent: computed('sourceName', function() {
|
||||
const name = get(this, 'sourceName');
|
||||
if ( name ) {
|
||||
return `volume-source/source-${name}`;
|
||||
const sources = getSources();
|
||||
const entry = sources.findBy('name', name);
|
||||
if (entry) {
|
||||
return {
|
||||
component: `volume-source/source-${name}`,
|
||||
field: entry.value,
|
||||
}
|
||||
}
|
||||
}),
|
||||
});
|
||||
|
|
|
|||
|
|
@ -80,9 +80,11 @@
|
|||
expandOnInit=true
|
||||
}}
|
||||
{{#if sourceComponent}}
|
||||
{{component sourceComponent
|
||||
{{component sourceComponent.component
|
||||
plugin=sourceComponent.field
|
||||
editing=notView
|
||||
volume=model
|
||||
changed=(action "updateParams")
|
||||
}}
|
||||
{{else}}
|
||||
<p class="text-muted">Choose a Volume Source above...</p>
|
||||
|
|
|
|||
|
|
@ -1,24 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
import { get, set } from '@ember/object';
|
||||
|
||||
const FIELD = 'awsElasticBlockStore';
|
||||
const TYPE = 'awsElasticBlockStoreVolumeSource';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
volume: null,
|
||||
|
||||
didReceiveAttrs() {
|
||||
if ( !get(this, `volume.${FIELD}`) ) {
|
||||
set(this, `volume.${FIELD}`, get(this, 'store').createRecord({
|
||||
type: TYPE,
|
||||
}));
|
||||
}
|
||||
|
||||
// @TODO-2.0 hack, the field is called type...
|
||||
set(this, `volume.${FIELD}.type`, '');
|
||||
},
|
||||
inputDidUpdate: observer('config.{fsType,readOnly,partition,volumeID}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,6 +1,41 @@
|
|||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.awsElasticBlockStore.fsType.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.fsType}}
|
||||
{{input type="text" value=config.fsType classNames="form-control" placeholder=(t 'cruPersistentVolume.awsElasticBlockStore.fsType.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.awsElasticBlockStore.partition.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.partition}}
|
||||
{{input-integer type="text" value=config.partition classNames="form-control" placeholder=(t 'cruPersistentVolume.awsElasticBlockStore.partition.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col span-6">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.awsElasticBlockStore.readOnly.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.readOnly}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.awsElasticBlockStore.volumeID.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.volumeID}}
|
||||
{{input type="text" value=config.volumeID classNames="form-control" placeholder=(t 'cruPersistentVolume.awsElasticBlockStore.volumeID.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{cachingMode,diskName,diskURI,fsType,kind,readOnly}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.azureDisk.cachingMode.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.cachingMode}}
|
||||
{{input type="text" value=config.cachingMode classNames="form-control" placeholder=(t 'cruPersistentVolume.azureDisk.cachingMode.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.azureDisk.diskName.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.diskName}}
|
||||
{{input type="text" value=config.diskName classNames="form-control" placeholder=(t 'cruPersistentVolume.azureDisk.diskName.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.azureDisk.diskURI.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.diskURI}}
|
||||
{{input type="text" value=config.diskURI classNames="form-control" placeholder=(t 'cruPersistentVolume.azureDisk.diskURI.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.azureDisk.fsType.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.fsType}}
|
||||
{{input type="text" value=config.fsType classNames="form-control" placeholder=(t 'cruPersistentVolume.azureDisk.fsType.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.azureDisk.kind.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.kind}}
|
||||
{{input type="text" value=config.kind classNames="form-control" placeholder=(t 'cruPersistentVolume.azureDisk.kind.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.azureDisk.readOnly.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.readOnly}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{readOnly,secretName,secretNamespace,shareName}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.azureFile.readOnly.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.readOnly}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.azureFile.secretName.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.secretName}}
|
||||
{{input type="text" value=config.secretName classNames="form-control" placeholder=(t 'cruPersistentVolume.azureFile.secretName.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.azureFile.secretNamespace.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.secretNamespace}}
|
||||
{{input type="text" value=config.secretNamespace classNames="form-control" placeholder=(t 'cruPersistentVolume.azureFile.secretNamespace.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.azureFile.shareName.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.shareName}}
|
||||
{{input type="text" value=config.shareName classNames="form-control" placeholder=(t 'cruPersistentVolume.azureFile.shareName.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{monitors.[],path,readOnly,secretFile,secretRef.name,secretRef.namespace,user}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
{{form-value-array
|
||||
initialValues=config.monitors
|
||||
editing=editing
|
||||
valueLabel="cruPersistentVolume.cephfs.monitors.label"
|
||||
addActionLabel="cruPersistentVolume.cephfs.monitors.addActionLabel"
|
||||
changed=(action "updateOptions" "monitors")
|
||||
}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.cephfs.path.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.path}}
|
||||
{{input type="text" value=config.path classNames="form-control" placeholder=(t 'cruPersistentVolume.cephfs.path.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.cephfs.readOnly.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.readOnly}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.cephfs.secretFile.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.secretFile}}
|
||||
{{input type="text" value=config.secretFile classNames="form-control" placeholder=(t 'cruPersistentVolume.cephfs.secretFile.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.cephfs.secretRef.label'}}</label>
|
||||
<div>
|
||||
<div class="inline-block mr-5">
|
||||
<label>{{t 'cruPersistentVolume.cephfs.secretRef.name.label'}}</label>
|
||||
{{#input-or-display class="inline-block" editable=editing value=config.secretRef.name}}
|
||||
{{input type="text" value=config.secretRef.name classNames="form-control" placeholder=(t 'cruPersistentVolume.cephfs.secretRef.name.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
<div class="inline-block">
|
||||
<label>{{t 'cruPersistentVolume.cephfs.secretRef.namespace.label'}}</label>
|
||||
{{#input-or-display class="inline-block" editable=editing value=config.secretRef.namespace}}
|
||||
{{input type="text" value=config.secretRef.namespace classNames="form-control" placeholder=(t 'cruPersistentVolume.cephfs.secretRef.namespace.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.cephfs.user.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.user}}
|
||||
{{input type="text" value=config.user classNames="form-control" placeholder=(t 'cruPersistentVolume.cephfs.user.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{readOnly,fsType,volumeID}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.cinder.fsType.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.fsType}}
|
||||
{{input type="text" value=config.fsType classNames="form-control" placeholder=(t 'cruPersistentVolume.cinder.fsType.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.cinder.readOnly.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.readOnly}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.cinder.volumeID.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.volumeID}}
|
||||
{{input type="text" value=config.volumeID classNames="form-control" placeholder=(t 'cruPersistentVolume.cinder.volumeID.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{readOnly,fsType,lun,targetWWNs.[],wwids.[]}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.fc.fsType.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.fsType}}
|
||||
{{input type="text" value=config.fsType classNames="form-control" placeholder=(t 'cruPersistentVolume.fc.fsType.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.fc.lun.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.lun}}
|
||||
{{input-integer type="text" value=config.lun classNames="form-control" placeholder=(t 'cruPersistentVolume.fc.lun.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.fc.readOnly.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.readOnly}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
{{form-value-array
|
||||
initialValues=config.targetWWNs
|
||||
editing=editing
|
||||
valueLabel="cruPersistentVolume.fc.targetWWNs.label"
|
||||
addActionLabel="cruPersistentVolume.fc.targetWWNs.addActionLabel"
|
||||
changed=(action "updateOptions" "targetWWNs")
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
{{form-value-array
|
||||
initialValues=config.wwids
|
||||
editing=editing
|
||||
valueLabel="cruPersistentVolume.fc.wwids.label"
|
||||
addActionLabel="cruPersistentVolume.fc.wwids.addActionLabel"
|
||||
changed=(action "updateOptions" "wwids")
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{driver,fsType,readOnly,options,secretRef.name,}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.flexVolume.driver.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.driver}}
|
||||
{{input type="text" value=config.driver classNames="form-control" placeholder=(t 'cruPersistentVolume.flexVolume.driver.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.flexVolume.fsType.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.fsType}}
|
||||
{{input type="text" value=config.fsType classNames="form-control" placeholder=(t 'cruPersistentVolume.flexVolume.fsType.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
{{form-key-value
|
||||
initialMap=config.options
|
||||
editing=editing
|
||||
header=(t 'cruPersistentVolume.flexVolume.options.label')
|
||||
addActionLabel="cruPersistentVolume.flexVolume.options.addActionLabel"
|
||||
changed=(action "updateOptions" "options")
|
||||
}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.flexVolume.readOnly.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.readOnly}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.flexVolume.secretRef.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.secretRef.name}}
|
||||
{{input type="text" value=config.secretRef.name classNames="form-control" placeholder=(t 'cruPersistentVolume.flexVolume.secretRef.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{datasetName,datasetUUID}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.flocker.datasetName.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.datasetName}}
|
||||
{{input type="text" value=config.datasetName classNames="form-control" placeholder=(t 'cruPersistentVolume.flocker.datasetName.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.flocker.datasetUUID.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.datasetUUID}}
|
||||
{{input type="text" value=config.datasetUUID classNames="form-control" placeholder=(t 'cruPersistentVolume.flocker.datasetUUID.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{pdName,partition,fsType,readOnly}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.gcePersistentDisk.fsType.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.fsType}}
|
||||
{{input type="text" value=config.fsType classNames="form-control" placeholder=(t 'cruPersistentVolume.gcePersistentDisk.fsType.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.gcePersistentDisk.partition.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.partition}}
|
||||
{{input-integer type="text" value=config.partition classNames="form-control" placeholder=(t 'cruPersistentVolume.gcePersistentDisk.partition.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.gcePersistentDisk.pdName.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.pdName}}
|
||||
{{input type="text" value=config.pdName classNames="form-control" placeholder=(t 'cruPersistentVolume.gcePersistentDisk.pdName.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.gcePersistentDisk.readOnly.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.readOnly}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{path,readOnly,endpoints}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.glusterfs.endpoints.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.endpoints}}
|
||||
{{input type="text" value=config.endpoints classNames="form-control" placeholder=(t 'cruPersistentVolume.glusterfs.endpoints.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.glusterfs.path.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.path}}
|
||||
{{input type="text" value=config.path classNames="form-control" placeholder=(t 'cruPersistentVolume.glusterfs.path.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.glusterfs.readOnly.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.readOnly}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,12 +1,11 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
import { get } from '@ember/object';
|
||||
|
||||
const FIELD = 'hostPath';
|
||||
const TYPE = 'hostPathVolumeSource';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
export default Component.extend({
|
||||
layout,
|
||||
field: FIELD,
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{chapAuthDiscovery,chapAuthSession,fsType,initiatorName,iqn,iscsiInterface,lun,portals.[],readOnly,secretRef.name,targetPortal}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,123 @@
|
|||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.iscsi.chapAuthDiscovery.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.chapAuthDiscovery value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.chapAuthDiscovery value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.chapAuthDiscovery}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.iscsi.chapAuthSession.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.chapAuthSession value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.chapAuthSession value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.chapAuthSession}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.iscsi.fsType.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.fsType}}
|
||||
{{input type="text" value=config.fsType classNames="form-control" placeholder=(t 'cruPersistentVolume.iscsi.fsType.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.iscsi.initiatorName.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.initiatorName}}
|
||||
{{input type="text" value=config.initiatorName classNames="form-control" placeholder=(t 'cruPersistentVolume.iscsi.initiatorName.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.iscsi.iqn.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.iqn}}
|
||||
{{input type="text" value=config.iqn classNames="form-control" placeholder=(t 'cruPersistentVolume.iscsi.iqn.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.iscsi.iscsiInterface.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.iscsiInterface}}
|
||||
{{input type="text" value=config.iscsiInterface classNames="form-control" placeholder=(t 'cruPersistentVolume.iscsi.iscsiInterface.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.iscsi.lun.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.lun}}
|
||||
{{input-integer type="text" value=config.lun classNames="form-control" placeholder=(t 'cruPersistentVolume.iscsi.lun.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
{{form-value-array
|
||||
initialValues=config.portals
|
||||
editing=editing
|
||||
valueLabel="cruPersistentVolume.iscsi.portals.label"
|
||||
addActionLabel="cruPersistentVolume.iscsi.portals.addActionLabel"
|
||||
changed=(action "updateOptions" "portals")
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.iscsi.readOnly.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.readOnly}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.iscsi.secretRef.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.secretRef.name}}
|
||||
{{input type="text" value=config.secretRef.name classNames="form-control" placeholder=(t 'cruPersistentVolume.iscsi.secretRef.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.iscsi.targetPortal.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.targetPortal}}
|
||||
{{input type="text" value=config.targetPortal classNames="form-control" placeholder=(t 'cruPersistentVolume.iscsi.targetPortal.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{path}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.local.path.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.path}}
|
||||
{{input type="text" value=config.path classNames="form-control" placeholder=(t 'cruPersistentVolume.local.path.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{path,readOnly,server}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.nfs.path.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.path}}
|
||||
{{input type="text" value=config.path classNames="form-control" placeholder=(t 'cruPersistentVolume.nfs.path.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.nfs.readOnly.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.readOnly}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.nfs.server.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.server}}
|
||||
{{input type="text" value=config.server classNames="form-control" placeholder=(t 'cruPersistentVolume.nfs.server.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{fsType,pdID}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.photonPersistentDisk.fsType.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.fsType}}
|
||||
{{input type="text" value=config.fsType classNames="form-control" placeholder=(t 'cruPersistentVolume.photonPersistentDisk.fsType.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.photonPersistentDisk.pdID.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.pdID}}
|
||||
{{input type="text" value=config.pdID classNames="form-control" placeholder=(t 'cruPersistentVolume.photonPersistentDisk.pdID.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{fsType,readOnly,volumeID}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.portworxVolume.fsType.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.fsType}}
|
||||
{{input type="text" value=config.fsType classNames="form-control" placeholder=(t 'cruPersistentVolume.portworxVolume.fsType.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.portworxVolume.readOnly.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.readOnly}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.portworxVolume.volumeID.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.volumeID}}
|
||||
{{input type="text" value=config.volumeID classNames="form-control" placeholder=(t 'cruPersistentVolume.portworxVolume.volumeID.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{group,readOnly,registry,user,volume}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.quobyte.group.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.group}}
|
||||
{{input type="text" value=config.group classNames="form-control" placeholder=(t 'cruPersistentVolume.quobyte.group.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.quobyte.readOnly.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.readOnly}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.quobyte.registry.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.registry}}
|
||||
{{input type="text" value=config.registry classNames="form-control" placeholder=(t 'cruPersistentVolume.quobyte.registry.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.quobyte.user.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.user}}
|
||||
{{input type="text" value=config.user classNames="form-control" placeholder=(t 'cruPersistentVolume.quobyte.user.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.quobyte.volume.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.volume}}
|
||||
{{input type="text" value=config.volume classNames="form-control" placeholder=(t 'cruPersistentVolume.quobyte.volume.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{fsType,image,keyring,monitors.[],pool,readOnly,secretRef.name,user}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.rbd.fsType.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.fsType}}
|
||||
{{input type="text" value=config.fsType classNames="form-control" placeholder=(t 'cruPersistentVolume.rbd.fsType.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.rbd.image.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.image}}
|
||||
{{input type="text" value=config.image classNames="form-control" placeholder=(t 'cruPersistentVolume.rbd.image.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.rbd.keyring.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.keyring}}
|
||||
{{input type="text" value=config.keyring classNames="form-control" placeholder=(t 'cruPersistentVolume.rbd.keyring.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
{{form-value-array
|
||||
initialValues=config.monitors
|
||||
editing=editing
|
||||
valueLabel="cruPersistentVolume.rbd.monitors.label"
|
||||
addActionLabel="cruPersistentVolume.rbd.monitors.addActionLabel"
|
||||
changed=(action "updateOptions" "monitors")
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.rbd.pool.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.pool}}
|
||||
{{input type="text" value=config.pool classNames="form-control" placeholder=(t 'cruPersistentVolume.rbd.pool.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.rbd.readOnly.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.readOnly}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.rbd.secretRef.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.secretRef.name}}
|
||||
{{input type="text" value=config.secretRef.name classNames="form-control" placeholder=(t 'cruPersistentVolume.rbd.secretRef.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.rbd.user.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.user}}
|
||||
{{input type="text" value=config.user classNames="form-control" placeholder=(t 'cruPersistentVolume.rbd.user.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{fsType,gateway,protectionDomain,readOnly,secretRef.name,secretRef.namespace,sslEnabled,storageMode,storagePool,system,volumeName}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,112 @@
|
|||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.scaleIO.fsType.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.fsType}}
|
||||
{{input type="text" value=config.fsType classNames="form-control" placeholder=(t 'cruPersistentVolume.scaleIO.fsType.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.scaleIO.gateway.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.gateway}}
|
||||
{{input type="text" value=config.gateway classNames="form-control" placeholder=(t 'cruPersistentVolume.scaleIO.gateway.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.scaleIO.protectionDomain.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.protectionDomain}}
|
||||
{{input type="text" value=config.protectionDomain classNames="form-control" placeholder=(t 'cruPersistentVolume.scaleIO.protectionDomain.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.scaleIO.readOnly.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.readOnly}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.scaleIO.secretRef.label'}}</label>
|
||||
<div>
|
||||
<div class="inline-block mr-5">
|
||||
<label>{{t 'cruPersistentVolume.scaleIO.secretRef.name.label'}}</label>
|
||||
{{#input-or-display class="inline-block" editable=editing value=config.secretRef.name}}
|
||||
{{input type="text" value=config.secretRef.name classNames="form-control" placeholder=(t 'cruPersistentVolume.scaleIO.secretRef.name.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
<div class="inline-block">
|
||||
<label>{{t 'cruPersistentVolume.scaleIO.secretRef.namespace.label'}}</label>
|
||||
{{#input-or-display class="inline-block" editable=editing value=config.secretRef.namespace}}
|
||||
{{input type="text" value=config.secretRef.namespace classNames="form-control" placeholder=(t 'cruPersistentVolume.scaleIO.secretRef.namespace.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.scaleIO.sslEnabled.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.sslEnabled value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.sslEnabled value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.sslEnabled}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.scaleIO.storageMode.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.storageMode}}
|
||||
{{input type="text" value=config.storageMode classNames="form-control" placeholder=(t 'cruPersistentVolume.scaleIO.storageMode.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.scaleIO.storagePool.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.storagePool}}
|
||||
{{input type="text" value=config.storagePool classNames="form-control" placeholder=(t 'cruPersistentVolume.scaleIO.storagePool.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.scaleIO.system.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.system}}
|
||||
{{input type="text" value=config.system classNames="form-control" placeholder=(t 'cruPersistentVolume.scaleIO.system.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.scaleIO.volumeName.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.volumeName}}
|
||||
{{input type="text" value=config.volumeName classNames="form-control" placeholder=(t 'cruPersistentVolume.scaleIO.volumeName.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{fsType,readOnly,secretRef.name,secretRef.namespace,volumeName,volumeNamespace}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.storageos.fsType.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.fsType}}
|
||||
{{input type="text" value=config.fsType classNames="form-control" placeholder=(t 'cruPersistentVolume.storageos.fsType.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.storageos.readOnly.label'}}</label>
|
||||
{{#if editing}}
|
||||
<div class="text-muted">
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=true}} {{t 'generic.yes'}}
|
||||
</label>
|
||||
<label>
|
||||
{{radio-button selection=config.readOnly value=false}} {{t 'generic.no'}}
|
||||
</label>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="text-muted">
|
||||
{{config.readOnly}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.storageos.secretRef.label'}}</label>
|
||||
<div>
|
||||
<div class="inline-block mr-5">
|
||||
<label>{{t 'cruPersistentVolume.storageos.secretRef.name.label'}}</label>
|
||||
{{#input-or-display class="inline-block" editable=editing value=config.secretRef.name}}
|
||||
{{input type="text" value=config.secretRef.name classNames="form-control" placeholder=(t 'cruPersistentVolume.storageos.secretRef.name.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
<div class="inline-block">
|
||||
<label>{{t 'cruPersistentVolume.storageos.secretRef.namespace.label'}}</label>
|
||||
{{#input-or-display class="inline-block" editable=editing value=config.secretRef.namespace}}
|
||||
{{input type="text" value=config.secretRef.namespace classNames="form-control" placeholder=(t 'cruPersistentVolume.storageos.secretRef.namespace.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.storageos.volumeName.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.volumeName}}
|
||||
{{input type="text" value=config.volumeName classNames="form-control" placeholder=(t 'cruPersistentVolume.storageos.volumeName.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.storageos.volumeNamespace.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.volumeNamespace}}
|
||||
{{input type="text" value=config.volumeNamespace classNames="form-control" placeholder=(t 'cruPersistentVolume.storageos.volumeNamespace.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
import Component from '@ember/component';
|
||||
import layout from './template';
|
||||
import { get, setProperties, computed, observer } from '@ember/object';
|
||||
import VolumeSource from 'shared/mixins/volume-source';
|
||||
|
||||
export default Component.extend(VolumeSource, {
|
||||
layout,
|
||||
|
||||
inputDidUpdate: observer('config.{fsType,storagePolicyID,storagePolicyName,volumePath}', function () {
|
||||
this.sendUpdate();
|
||||
}),
|
||||
});
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.vsphereVolume.fsType.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.fsType}}
|
||||
{{input type="text" value=config.fsType classNames="form-control" placeholder=(t 'cruPersistentVolume.vsphereVolume.fsType.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.vsphereVolume.storagePolicyID.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.storagePolicyID}}
|
||||
{{input type="text" value=config.storagePolicyID classNames="form-control" placeholder=(t 'cruPersistentVolume.vsphereVolume.storagePolicyID.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-20">
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.vsphereVolume.storagePolicyName.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.storagePolicyName}}
|
||||
{{input type="text" value=config.storagePolicyName classNames="form-control" placeholder=(t 'cruPersistentVolume.vsphereVolume.storagePolicyName.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
|
||||
<div class="col span-6">
|
||||
<label class="acc-label">{{t 'cruPersistentVolume.vsphereVolume.volumePath.label'}}</label>
|
||||
{{#input-or-display editable=editing value=config.volumePath}}
|
||||
{{input type="text" value=config.volumePath classNames="form-control" placeholder=(t 'cruPersistentVolume.vsphereVolume.volumePath.placeholder')}}
|
||||
{{/input-or-display}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,27 +1,94 @@
|
|||
import Mixin from '@ember/object/mixin';
|
||||
import { get, set } from '@ember/object';
|
||||
import { get, set, computed, setProperties } from '@ember/object';
|
||||
import { inject as service } from '@ember/service';
|
||||
|
||||
export default Mixin.create({
|
||||
clusterStore: service(),
|
||||
// Inputs from comonent caller
|
||||
volume: null,
|
||||
editing: null,
|
||||
|
||||
// Override from component definition
|
||||
field: null,
|
||||
plugin: null,
|
||||
fields: null,
|
||||
|
||||
// Locals
|
||||
config: null,
|
||||
|
||||
didReceiveAttrs() {
|
||||
this._super(...arguments);
|
||||
const plugin = get(this, 'plugin');
|
||||
const typeName = this.getTypeName();
|
||||
const schema = get(this, 'clusterStore').getById('schema', typeName);
|
||||
const resourceFields = get(schema, 'resourceFields');
|
||||
|
||||
const field = get(this,'field');
|
||||
let config = get(this, `volume.${field}`);
|
||||
if ( !config ) {
|
||||
config = this.configForNew();
|
||||
set(this, `volume.${field}`, config);
|
||||
}
|
||||
|
||||
set(this, 'config', config);
|
||||
const changes = {};
|
||||
const fields = [];
|
||||
Object.keys(resourceFields).forEach(key => {
|
||||
const field = resourceFields[key];
|
||||
set(field, 'fieldKey', key);
|
||||
fields.push(field);
|
||||
const value = get(this, `volume.${plugin}.${key}`);
|
||||
if (value !== undefined) {
|
||||
changes[key] = value;
|
||||
} else if (get(field, 'default') !== undefined) {
|
||||
changes[key] = get(field, 'default')
|
||||
} else if (get(field, 'type') === 'localObjectReference') {
|
||||
changes[key] = {
|
||||
name: '',
|
||||
};
|
||||
} else if (get(field, 'type') === 'objectReference') {
|
||||
changes[key] = {
|
||||
name: '',
|
||||
};
|
||||
} else if (get(field, 'type') === 'localObjectReference') {
|
||||
changes[key] = {
|
||||
name: '',
|
||||
namespace: '',
|
||||
};
|
||||
} else if (get(field, 'type') === 'secretReference') {
|
||||
changes[key] = {
|
||||
name: '',
|
||||
namespace: '',
|
||||
};
|
||||
} else if (get(field, 'type') === 'array[string]') {
|
||||
changes[key] = [];
|
||||
} else if (get(field, 'type') === 'map[string]') {
|
||||
changes[key] = {};
|
||||
} else {
|
||||
changes[key] = '';
|
||||
}
|
||||
});
|
||||
setProperties(this, {
|
||||
config: changes,
|
||||
fields,
|
||||
});
|
||||
this.sendUpdate();
|
||||
},
|
||||
|
||||
sendUpdate: function () {
|
||||
const plugin = get(this, 'plugin');
|
||||
const fields = get(this, 'fields') || [];
|
||||
const out = {};
|
||||
fields.forEach(field => {
|
||||
const key = field.fieldKey;
|
||||
const value = get(this, `config.${key}`);
|
||||
if (value !== undefined && value !== '') {
|
||||
out[key] = value;
|
||||
}
|
||||
});
|
||||
console.log(plugin, out)
|
||||
this.sendAction('changed', plugin, out);
|
||||
},
|
||||
|
||||
getTypeName: function () {
|
||||
const plugin = get(this, 'plugin');
|
||||
return get(this, 'clusterStore').getById('schema', 'persistentvolume').resourceFields[plugin].type.toLocaleLowerCase();
|
||||
},
|
||||
|
||||
actions: {
|
||||
updateOptions(key, ary) {
|
||||
set(this, `config.${key}`, ary);
|
||||
},
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-azure-disk/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-azure-file/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-cephfs/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-cinder/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-fc/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-flex-volume/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-flocker/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-gce-pd/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-glusterfs/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-iscsi/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-local/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-nfs/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-photon/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-portworx/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-quobyte/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-rbd/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-scaleio/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-storageos/component';
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { default } from 'shared/components/volume-source/source-vsphere-volume/component';
|
||||
|
|
@ -1761,7 +1761,304 @@ cruPersistentVolume:
|
|||
label: Mount Options
|
||||
addActionLabel: Add Option
|
||||
noData: No Mount Options
|
||||
|
||||
awsElasticBlockStore:
|
||||
fsType:
|
||||
label: FS Type
|
||||
placeholder: "e.g. ext4"
|
||||
readOnly:
|
||||
label: Read Only
|
||||
partition:
|
||||
label: Partition
|
||||
placeholder: "e.g. 1"
|
||||
volumeID:
|
||||
label: Volume ID
|
||||
placeholder: "e.g. volume1"
|
||||
azureDisk:
|
||||
cachingMode:
|
||||
label: Caching Mode
|
||||
placeholder: "e.g. None"
|
||||
diskName:
|
||||
label: Disk Name
|
||||
placeholder: "e.g. kubernetes-pvc"
|
||||
diskURI:
|
||||
label: Disk URI
|
||||
placeholder: "e.g. https://example.com/disk"
|
||||
fsType:
|
||||
label: FS Type
|
||||
placeholder: "e.g. ext4"
|
||||
kind:
|
||||
label: Kind
|
||||
placeholder: "e.g. PersistentVolumeClaim"
|
||||
readOnly:
|
||||
label: Read Only
|
||||
azureFile:
|
||||
secretName:
|
||||
label: Secret Name
|
||||
placeholder: "e.g. secret"
|
||||
secretNamespace:
|
||||
label: Secret Namespace
|
||||
placeholder: "e.g. default"
|
||||
shareName:
|
||||
label: Share Name
|
||||
placeholder: "e.g. abc"
|
||||
readOnly:
|
||||
label: Read Only
|
||||
cephfs:
|
||||
monitors:
|
||||
label: Monitors
|
||||
addActionLabel: Add
|
||||
path:
|
||||
label: Path
|
||||
placeholder: "e.g. /var"
|
||||
readOnly:
|
||||
label: Read Only
|
||||
secretFile:
|
||||
label: Secret File
|
||||
placeholder: "e.g. secret"
|
||||
secretRef:
|
||||
name:
|
||||
label: Name
|
||||
placeholder: "e.g. abc"
|
||||
namespace:
|
||||
label: Namespace
|
||||
placeholder: "e.g. default"
|
||||
label: Secret
|
||||
user:
|
||||
label: User
|
||||
placeholder: "e.g. root"
|
||||
rbd:
|
||||
fsType:
|
||||
label: FS Type
|
||||
placeholder: "e.g. ext4"
|
||||
image:
|
||||
label: Image
|
||||
placeholder: "e.g. image"
|
||||
keyring:
|
||||
label: Key Ring
|
||||
placeholder: "e.g. /etc/ceph/keyring"
|
||||
monitors:
|
||||
label: Monitors
|
||||
addActionLabel: Add
|
||||
pool:
|
||||
label: Pool
|
||||
placeholder: "e.g. rbd"
|
||||
readOnly:
|
||||
label: Read Only
|
||||
secretRef:
|
||||
label: Secret
|
||||
placeholder: "e.g. secret"
|
||||
user:
|
||||
label: User
|
||||
placeholder: "e.g. root"
|
||||
fc:
|
||||
fsType:
|
||||
label: FS Type
|
||||
placeholder: "e.g. ext4"
|
||||
lun:
|
||||
label: Lun
|
||||
placeholder: "e.g. 2"
|
||||
readOnly:
|
||||
label: Read Only
|
||||
targetWWNs:
|
||||
label: Target WWNs
|
||||
addActionLabel: Add
|
||||
wwids:
|
||||
label: Wwids
|
||||
addActionLabel: Add
|
||||
flexVolume:
|
||||
driver:
|
||||
label: Driver
|
||||
placeholder: "e.g. driver"
|
||||
fsType:
|
||||
label: FS Type
|
||||
placeholder: "e.g. ext4"
|
||||
options:
|
||||
label: Options
|
||||
addActionLabel: Add
|
||||
readOnly:
|
||||
label: Read Only
|
||||
secretRef:
|
||||
label: Secret
|
||||
placeholder: "e.g. secret"
|
||||
flocker:
|
||||
datasetName:
|
||||
label: Dataset Name
|
||||
placeholder: "e.g. dataset"
|
||||
datasetUUID:
|
||||
label: Dataset UUID
|
||||
placeholder: "e.g. uuid"
|
||||
glusterfs:
|
||||
endpoints:
|
||||
label: Endpoints
|
||||
placeholder: "e.g. 10.240.106.152:1"
|
||||
path:
|
||||
label: Path
|
||||
placeholder: "e.g. kube_vol"
|
||||
readOnly:
|
||||
label: Read Only
|
||||
gcePersistentDisk:
|
||||
fsType:
|
||||
label: FS Type
|
||||
placeholder: "e.g. ext4"
|
||||
partition:
|
||||
label: Partition
|
||||
placeholder: "e.g. 1"
|
||||
pdName:
|
||||
label: PD Name
|
||||
placeholder: "e.g. abc"
|
||||
readOnly:
|
||||
label: Read Only
|
||||
iscsi:
|
||||
chapAuthDiscovery:
|
||||
label: Chap Auth Discovery
|
||||
chapAuthSession:
|
||||
label: Chap Auth Session
|
||||
fsType:
|
||||
label: FS Type
|
||||
placeholder: "e.g. ext4"
|
||||
initiatorName:
|
||||
label: Initiator Name
|
||||
placeholder: "e.g. abc"
|
||||
iqn:
|
||||
label: IQN
|
||||
placeholder: "e.g. 2"
|
||||
iscsiInterface:
|
||||
label: iSCSI Interface
|
||||
placeholder: "e.g. interface"
|
||||
lun:
|
||||
label: Lun
|
||||
placeholder: "e.g. 2"
|
||||
portals:
|
||||
label: Portals
|
||||
addActionLabel: Add
|
||||
readOnly:
|
||||
label: Read Only
|
||||
secretRef:
|
||||
label: Secret
|
||||
placeholder: "e.g. secret"
|
||||
targetPortal:
|
||||
label: Target Portal
|
||||
placeholder: "e.g. portal"
|
||||
local:
|
||||
path:
|
||||
label: Path
|
||||
placeholder: "e.g. /var"
|
||||
nfs:
|
||||
path:
|
||||
label: Path
|
||||
placeholder: "e.g. /var"
|
||||
readOnly:
|
||||
label: Read Only
|
||||
server:
|
||||
label: Server
|
||||
placeholder: "e.g. 10.244.1.4"
|
||||
cinder:
|
||||
fsType:
|
||||
label: FS Type
|
||||
placeholder: "e.g. ext4"
|
||||
readOnly:
|
||||
label: Read Only
|
||||
volumeID:
|
||||
label: Volume ID
|
||||
placeholder: "e.g. vol"
|
||||
photonPersistentDisk:
|
||||
fsType:
|
||||
label: FS Type
|
||||
placeholder: "e.g. ext4"
|
||||
pdID:
|
||||
label: PD ID
|
||||
placeholder: "e.g. abc"
|
||||
portworxVolume:
|
||||
fsType:
|
||||
label: FS Type
|
||||
placeholder: "e.g. ext4"
|
||||
readOnly:
|
||||
label: Read Only
|
||||
volumeID:
|
||||
label: Volume ID
|
||||
placeholder: "e.g. abc"
|
||||
quobyte:
|
||||
group:
|
||||
label: Group
|
||||
placeholder: "e.g. abc"
|
||||
readOnly:
|
||||
label: Read Only
|
||||
registry:
|
||||
label: Registry
|
||||
placeholder: "e.g. abc"
|
||||
user:
|
||||
label: User
|
||||
placeholder: "e.g. root"
|
||||
volume:
|
||||
label: Volume
|
||||
placeholder: "e.g. vol"
|
||||
scaleIO:
|
||||
fsType:
|
||||
label: FS Type
|
||||
placeholder: "e.g. ext4"
|
||||
gateway:
|
||||
label: Gateway
|
||||
placeholder: "e.g. https://localhost:443/api"
|
||||
protectionDomain:
|
||||
label: Protection Domain
|
||||
placeholder: "e.g. pd01"
|
||||
readOnly:
|
||||
label: Read Only
|
||||
secretRef:
|
||||
name:
|
||||
label: Name
|
||||
placeholder: "e.g. secret"
|
||||
namespace:
|
||||
label: Namespace
|
||||
placeholder: "e.g. default"
|
||||
label: Secret
|
||||
sslEnabled:
|
||||
label: SSL Enabled
|
||||
storageMode:
|
||||
label: Storage Mode
|
||||
placeholder: "e.g. ThinProvisioned"
|
||||
storagePool:
|
||||
label: Storage Pool
|
||||
placeholder: "e.g. sp01"
|
||||
system:
|
||||
label: System
|
||||
placeholder: "e.g. scaleio"
|
||||
volumeName:
|
||||
label: Volume Name
|
||||
placeholder: "e.g. vol-0"
|
||||
storageos:
|
||||
fsType:
|
||||
label: FS Type
|
||||
placeholder: "e.g. ext4"
|
||||
readOnly:
|
||||
label: Read Only
|
||||
secretRef:
|
||||
name:
|
||||
label: Name
|
||||
placeholder: "e.g. secret"
|
||||
namespace:
|
||||
label: Namespace
|
||||
placeholder: "e.g. default"
|
||||
label: Secret
|
||||
volumeName:
|
||||
label: Volume Name
|
||||
placeholder: "e.g. vol"
|
||||
volumeNamespace:
|
||||
label: Volume Namespace
|
||||
placeholder: "e.g. default"
|
||||
vsphereVolume:
|
||||
fsType:
|
||||
label: FS Type
|
||||
placeholder: "e.g. ext4"
|
||||
storagePolicyID:
|
||||
label: Storage Policy ID
|
||||
placeholder: "e.g. sp1"
|
||||
storagePolicyName:
|
||||
label: Storage Policy Name
|
||||
placeholder: "e.g. sp"
|
||||
volumePath:
|
||||
label: Volume Path
|
||||
placeholder: "e.g. /"
|
||||
cruStorageClass:
|
||||
name:
|
||||
placeholder: e.g. storage
|
||||
|
|
|
|||
Loading…
Reference in New Issue