@@ -100,6 +100,11 @@ service Controller {
100
100
returns (ControllerGetVolumeResponse ) {
101
101
option (alpha_method) = true ;
102
102
}
103
+
104
+ rpc ControllerModifyVolume (ModifyVolumeRequest )
105
+ returns (ModifyVolumeResponse ) {
106
+ option (alpha_method) = true ;
107
+ }
103
108
}
104
109
105
110
service GroupController {
@@ -350,7 +355,8 @@ message CreateVolumeRequest {
350
355
// This field is REQUIRED.
351
356
repeated VolumeCapability volume_capabilities = 3 ;
352
357
353
- // Plugin specific parameters passed in as opaque key-value pairs.
358
+ // Plugin specific parameters passed in as opaque key-value pairs
359
+ // for provision time.
354
360
// This field is OPTIONAL. The Plugin is responsible for parsing and
355
361
// validating these parameters. COs will treat these as opaque.
356
362
map <string , string > parameters = 4 ;
@@ -376,6 +382,10 @@ message CreateVolumeRequest {
376
382
// VOLUME_ACCESSIBILITY_CONSTRAINTS plugin capability, the SP MAY
377
383
// choose where the provisioned volume is accessible from.
378
384
TopologyRequirement accessibility_requirements = 7 ;
385
+
386
+ // This field is OPTIONAL. This allows the CO to specify the
387
+ // mutable volume parameters to apply.
388
+ map <string , string > mutable_parameters = 8 [(alpha_field) = true ];
379
389
}
380
390
381
391
// Specifies what source the volume will be created from. One of the
@@ -974,6 +984,27 @@ message ControllerGetVolumeResponse {
974
984
// This field is REQUIRED.
975
985
VolumeStatus status = 2 ;
976
986
}
987
+ message ModifyVolumeRequest {
988
+ option (alpha_message) = true ;
989
+
990
+ // Contains identity information for the existing volume.
991
+ // This field is REQUIRED.
992
+ string volume_id = 1 ;
993
+
994
+ // Secrets required by plugin to complete modify volume request.
995
+ // This field is OPTIONAL. Refer to the `Secrets Requirements`
996
+ // section on how to use this field.
997
+ map <string , string > secrets = 2 [(csi_secret) = true ];
998
+
999
+ // This field is OPTIONAL.This allows the CO to specify the
1000
+ // mutable parameters to apply.
1001
+ map <string , string > mutable_parameters = 3 ;
1002
+ }
1003
+
1004
+ message ModifyVolumeResponse {
1005
+ option (alpha_message) = true ;
1006
+ }
1007
+
977
1008
message GetCapacityRequest {
978
1009
// If specified, the Plugin SHALL report the capacity of the storage
979
1010
// that can be used to provision volumes that satisfy ALL of the
@@ -1113,6 +1144,10 @@ message ControllerServiceCapability {
1113
1144
// SINGLE_NODE_SINGLE_WRITER and/or SINGLE_NODE_MULTI_WRITER are
1114
1145
// supported, in order to permit older COs to continue working.
1115
1146
SINGLE_NODE_MULTI_WRITER = 13 [(alpha_enum_value) = true ];
1147
+
1148
+ // Indicates the SP supports modifying volume with mutable
1149
+ // parameters. See ModifyVolume for details.
1150
+ MODIFY_VOLUME = 14 [(alpha_enum_value) = true ];
1116
1151
}
1117
1152
1118
1153
Type type = 1 ;
0 commit comments