2016-08-17 05:25:42 +00:00
< rd-header >
2018-06-06 16:12:35 +00:00
< rd-header-title title-text = "Create volume" > < / rd-header-title >
2020-04-10 21:54:53 +00:00
< rd-header-content > < a ui-sref = "docker.volumes" > Volumes< / a > > Add volume < / rd-header-content >
2016-08-17 05:25:42 +00:00
< / rd-header >
< div class = "row" >
2018-05-06 07:15:57 +00:00
< div class = "col-sm-12" >
2016-08-17 05:25:42 +00:00
< rd-widget >
< rd-widget-body >
2018-08-09 08:33:16 +00:00
< form class = "form-horizontal" name = "volumeCreationForm" >
2016-08-17 05:25:42 +00:00
<!-- name - input -->
< div class = "form-group" >
2018-08-09 08:33:16 +00:00
< label for = "volume_name" class = "col-sm-2 col-md-1 control-label text-left" > Name< / label >
< div class = "col-sm-10 col-md-11" >
2020-04-10 21:54:53 +00:00
< input type = "text" class = "form-control" ng-model = "formValues.Name" id = "volume_name" placeholder = "e.g. myVolume" / >
2016-08-17 05:25:42 +00:00
< / div >
< / div >
<!-- !name - input -->
2017-03-27 12:44:39 +00:00
< div class = "col-sm-12 form-section-title" >
Driver configuration
< / div >
2016-08-17 05:25:42 +00:00
<!-- driver - input -->
< div class = "form-group" >
2018-08-09 08:33:16 +00:00
< label for = "volume_driver" class = "col-sm-2 col-md-1 control-label text-left" > Driver< / label >
< div class = "col-sm-10 col-md-11" >
2017-04-01 10:18:46 +00:00
< select class = "form-control" ng-options = "driver for driver in availableVolumeDrivers" ng-model = "formValues.Driver" ng-if = "availableVolumeDrivers.length > 0" >
< option disabled hidden value = "" > Select a driver< / option >
< / select >
2020-04-10 21:54:53 +00:00
< input type = "text" class = "form-control" ng-model = "formValues.Driver" id = "volume_driver" placeholder = "e.g. driverName" ng-if = "availableVolumeDrivers.length === 0" / >
2016-08-17 05:25:42 +00:00
< / div >
< / div >
<!-- !driver - input -->
<!-- driver - options -->
2020-05-15 01:28:51 +00:00
< div class = "form-group" ng-hide = "formValues.CIFSData.useCIFS || formValues.NFSData.useNFS" >
2017-03-27 12:44:39 +00:00
< div class = "col-sm-12" style = "margin-top: 5px;" >
< label class = "control-label text-left" >
Driver options
2020-04-10 21:54:53 +00:00
< portainer-tooltip
position="bottom"
message="Driver options are specific to the selected driver. Please refer to the selected driver documentation."
>< / portainer-tooltip >
2017-03-27 12:44:39 +00:00
< / label >
< span class = "label label-default interactive" style = "margin-left: 10px;" ng-click = "addDriverOption()" >
< i class = "fa fa-plus-circle" aria-hidden = "true" > < / i > add driver option
2016-08-17 05:25:42 +00:00
< / span >
< / div >
<!-- driver - options - input - list -->
2017-03-27 12:44:39 +00:00
< div class = "col-sm-12 form-inline" style = "margin-top: 10px;" >
2016-08-17 05:25:42 +00:00
< div ng-repeat = "option in formValues.DriverOptions" style = "margin-top: 2px;" >
< div class = "input-group col-sm-5 input-group-sm" >
< span class = "input-group-addon" > name< / span >
2020-04-10 21:54:53 +00:00
< input type = "text" class = "form-control" ng-model = "option.name" placeholder = "e.g. mountpoint" / >
2016-08-17 05:25:42 +00:00
< / div >
< div class = "input-group col-sm-5 input-group-sm" >
< span class = "input-group-addon" > value< / span >
2020-04-10 21:54:53 +00:00
< input type = "text" class = "form-control" ng-model = "option.value" placeholder = "e.g. /path/on/host" / >
2016-08-17 05:25:42 +00:00
< / div >
2017-03-27 12:44:39 +00:00
< button class = "btn btn-sm btn-danger" type = "button" ng-click = "removeDriverOption($index)" >
< i class = "fa fa-trash" aria-hidden = "true" > < / i >
< / button >
2016-08-17 05:25:42 +00:00
< / div >
< / div >
<!-- !driver - options - input - list -->
< / div >
<!-- !driver - options -->
2018-08-09 08:33:16 +00:00
<!-- nfs - management -->
2020-05-15 01:28:51 +00:00
< div class = "form-group col-md-12" >
< label for = "useNFS" class = "control-label text-left" >
Use NFS volume
< / label >
< label class = "switch" style = "margin-left: 20px;" >
< input type = "checkbox" name = "useNFS" ng-model = "formValues.NFSData.useNFS" ng-click = "formValues.CIFSData.useCIFS = false" / >
< i > < / i >
< / label >
< div ng-if = "formValues.NFSData.useNFS" class = "small text-muted" style = "margin-top: 10px;" >
Ensure < code > nfs-utils< / code > are installed on your hosts.
< / div >
< / div >
2018-08-09 08:33:16 +00:00
< volumes-nfs-form data = "formValues.NFSData" ng-show = "formValues.Driver === 'local'" > < / volumes-nfs-form >
<!-- !nfs - management -->
2020-05-15 01:28:51 +00:00
<!-- cifs - management -->
< div class = "form-group col-md-12" >
< label for = "useCIFS" class = "control-label text-left" >
Use CIFS volume
< / label >
< label class = "switch" style = "margin-left: 20px;" >
< input type = "checkbox" name = "useCIFS" ng-model = "formValues.CIFSData.useCIFS" ng-click = "formValues.NFSData.useNFS = false" / >
< i > < / i >
< / label >
< div ng-if = "formValues.CIFSData.useCIFS" class = "small text-muted" style = "margin-top: 10px;" >
Ensure < code > cifs-utils< / code > are installed on your hosts.
< / div >
< / div >
< volumes-cifs-form data = "formValues.CIFSData" ng-show = "formValues.Driver === 'local'" > < / volumes-cifs-form >
<!-- !cifs - management -->
2018-01-21 16:26:24 +00:00
<!-- storidge -->
< div ng-if = "formValues.Driver === 'cio:latest'" >
< div class = "col-sm-12 form-section-title" >
Storidge
< / div >
< storidge-profile-selector storidge-profile = "formValues.StoridgeProfile" > < / storidge-profile-selector >
< / div >
<!-- storidge -->
2018-07-23 09:31:21 +00:00
< div ng-if = "applicationState.endpoint.mode.agentProxy && applicationState.endpoint.mode.provider === 'DOCKER_SWARM_MODE' && formValues.Driver === 'local'" >
2018-05-06 07:15:57 +00:00
< div class = "col-sm-12 form-section-title" >
Deployment
< / div >
<!-- node - selection -->
2020-04-10 21:54:53 +00:00
< node-selector model = "formValues.NodeName" > < / node-selector >
2018-05-06 07:15:57 +00:00
<!-- !node - selection -->
< / div >
2017-05-23 18:56:10 +00:00
<!-- access - control -->
2017-08-10 08:35:23 +00:00
< por-access-control-form form-data = "formValues.AccessControlData" ng-if = "applicationState.application.authentication" > < / por-access-control-form >
2017-05-23 18:56:10 +00:00
<!-- !access - control -->
2017-03-27 12:44:39 +00:00
<!-- actions -->
< div class = "col-sm-12 form-section-title" >
Actions
< / div >
< div class = "form-group" >
< div class = "col-sm-12" >
2020-04-10 21:54:53 +00:00
< button
type="button"
class="btn btn-primary btn-sm"
ng-click="create()"
2020-05-15 01:28:51 +00:00
ng-disabled="state.actionInProgress || (formValues.NFSData.useNFS & & !volumeCreationForm.nfsInformationForm.$valid) || (formValues.CIFSData.useCIFS & & !volumeCreationForm.cifsInformationForm.$valid)"
2020-04-10 21:54:53 +00:00
button-spinner="state.actionInProgress"
>
2017-11-12 21:39:12 +00:00
< span ng-hide = "state.actionInProgress" > Create the volume< / span >
< span ng-show = "state.actionInProgress" > Creating volume...< / span >
2017-11-12 19:27:28 +00:00
< / button >
2017-05-23 18:56:10 +00:00
< span class = "text-danger" ng-if = "state.formValidationError" style = "margin-left: 5px;" > {{ state.formValidationError }}< / span >
2017-03-27 12:44:39 +00:00
< / div >
< / div >
<!-- !actions -->
2016-08-17 05:25:42 +00:00
< / form >
< / rd-widget-body >
< / rd-widget >
< / div >
< / div >