@@ -363,15 +363,22 @@ message Volume {
363
363
// subsequent calls to refer to the provisioned volume.
364
364
string id = 2 ;
365
365
366
- // Attributes reflect static properties of a volume and MUST be passed
367
- // to volume validation and publishing calls.
368
- // Attributes SHALL be opaque to a CO. Attributes SHALL NOT be mutable
369
- // and SHALL be safe for the CO to cache. Attributes SHOULD NOT
370
- // contain sensitive information. Attributes MAY NOT uniquely identify
371
- // a volume. A volume uniquely identified by `id` SHALL always report
372
- // the same attributes. This field is OPTIONAL and when present MUST
373
- // be passed to volume validation and publishing calls.
374
- map <string , string > attributes = 3 ;
366
+ // Opaque static properties of the volume. SP MAY use this field to
367
+ // ensure subsequent volume validation and publishing calls have
368
+ // contextual information.
369
+ // The contents of this field SHALL be opaque to a CO.
370
+ // The contents of this field SHALL NOT be mutable.
371
+ // The contents of this field SHALL be safe for the CO to cache.
372
+ // The contents of this field SHOULD NOT contain sensitive
373
+ // information.
374
+ // The contents of this field SHOULD NOT be used for uniquely
375
+ // identifying a volume. The `id` alone should be sufficient to
376
+ // identify the volume.
377
+ // A volume uniquely identified by `id` SHALL always report the same
378
+ // volume_context.
379
+ // This field is OPTIONAL and when present MUST be passed to volume
380
+ // validation and publishing calls.
381
+ map <string , string > volume_context = 3 ;
375
382
376
383
// If specified, indicates that the volume is not empty and is
377
384
// pre-populated with data from the specified source.
@@ -609,18 +616,27 @@ message ControllerPublishVolumeRequest {
609
616
// `Secrets Requirements` section on how to use this field.
610
617
map <string , string > secrets = 5 [(csi_secret) = true ];
611
618
612
- // Attributes of the volume to be used on a node . This field is
613
- // OPTIONAL and MUST match the attributes of the Volume identified
614
- // by `volume_id`.
615
- map <string , string > volume_attributes = 6 ;
619
+ // Volume context as returned by CO in CreateVolumeRequest . This field
620
+ // is OPTIONAL and MUST match the volume_context of the volume
621
+ // identified by `volume_id`.
622
+ map <string , string > volume_context = 6 ;
616
623
}
617
624
618
625
message ControllerPublishVolumeResponse {
619
- // The SP specific information that will be passed to the Plugin in
620
- // the subsequent `NodeStageVolume` or `NodePublishVolume` calls
621
- // for the given volume.
622
- // This information is opaque to the CO. This field is OPTIONAL.
623
- map <string , string > publish_info = 1 ;
626
+ // Opaque static publish properties of the volume. SP MAY use this
627
+ // field to ensure subsequent `NodeStageVolume` or `NodePublishVolume`
628
+ // calls calls have contextual information.
629
+ // The contents of this field SHALL be opaque to a CO.
630
+ // The contents of this field SHALL NOT be mutable.
631
+ // The contents of this field SHALL be safe for the CO to cache.
632
+ // The contents of this field SHOULD NOT contain sensitive
633
+ // information.
634
+ // The contents of this field SHOULD NOT be used for uniquely
635
+ // identifying a volume. The `id` alone should be sufficient to
636
+ // identify the volume.
637
+ // This field is OPTIONAL and when present MUST be passed to
638
+ // subsequent `NodeStageVolume` or `NodePublishVolume` calls
639
+ map <string , string > publish_context = 1 ;
624
640
}
625
641
message ControllerUnpublishVolumeRequest {
626
642
// The ID of the volume. This field is REQUIRED.
@@ -648,9 +664,10 @@ message ValidateVolumeCapabilitiesRequest {
648
664
// The ID of the volume to check. This field is REQUIRED.
649
665
string volume_id = 1 ;
650
666
651
- // Attributes of the volume to check. This field is OPTIONAL and MUST
652
- // match the attributes of the Volume identified by `volume_id`.
653
- map <string , string > volume_attributes = 2 ;
667
+ // Volume context as returned by CO in CreateVolumeRequest. This field
668
+ // is OPTIONAL and MUST match the volume_context of the volume
669
+ // identified by `volume_id`.
670
+ map <string , string > volume_context = 2 ;
654
671
655
672
// The capabilities that the CO wants to check for the volume. This
656
673
// call SHALL return "confirmed" only if all the volume capabilities
@@ -669,9 +686,9 @@ message ValidateVolumeCapabilitiesRequest {
669
686
670
687
message ValidateVolumeCapabilitiesResponse {
671
688
message Confirmed {
672
- // Volume attributes validated by the plugin.
689
+ // Volume context validated by the plugin.
673
690
// This field is OPTIONAL.
674
- map <string , string > volume_attributes = 1 ;
691
+ map <string , string > volume_context = 1 ;
675
692
676
693
// Volume capabilities supported by the plugin.
677
694
// This field is REQUIRED.
@@ -944,7 +961,7 @@ message NodeStageVolumeRequest {
944
961
// has `PUBLISH_UNPUBLISH_VOLUME` controller capability, and SHALL be
945
962
// left unset if the corresponding Controller Plugin does not have
946
963
// this capability. This is an OPTIONAL field.
947
- map <string , string > publish_info = 2 ;
964
+ map <string , string > publish_context = 2 ;
948
965
949
966
// The path to which the volume MAY be staged. It MUST be an
950
967
// absolute path in the root filesystem of the process serving this
@@ -967,10 +984,10 @@ message NodeStageVolumeRequest {
967
984
// section on how to use this field.
968
985
map <string , string > secrets = 5 [(csi_secret) = true ];
969
986
970
- // Attributes of the volume to stage . This field is OPTIONAL and
971
- // MUST match the attributes of the `Volume` identified by
972
- // `volume_id`.
973
- map <string , string > volume_attributes = 6 ;
987
+ // Volume context as returned by CO in CreateVolumeRequest . This field
988
+ // is OPTIONAL and MUST match the volume_context of the volume
989
+ // identified by `volume_id`.
990
+ map <string , string > volume_context = 6 ;
974
991
}
975
992
976
993
message NodeStageVolumeResponse {
@@ -998,7 +1015,7 @@ message NodePublishVolumeRequest {
998
1015
// has `PUBLISH_UNPUBLISH_VOLUME` controller capability, and SHALL be
999
1016
// left unset if the corresponding Controller Plugin does not have
1000
1017
// this capability. This is an OPTIONAL field.
1001
- map <string , string > publish_info = 2 ;
1018
+ map <string , string > publish_context = 2 ;
1002
1019
1003
1020
// The path to which the volume was staged by `NodeStageVolume`.
1004
1021
// It MUST be an absolute path in the root filesystem of the process
@@ -1032,10 +1049,10 @@ message NodePublishVolumeRequest {
1032
1049
// section on how to use this field.
1033
1050
map <string , string > secrets = 7 [(csi_secret) = true ];
1034
1051
1035
- // Attributes of the volume to publish . This field is OPTIONAL and
1036
- // MUST match the attributes of the Volume identified by
1037
- // `volume_id`.
1038
- map <string , string > volume_attributes = 8 ;
1052
+ // Volume context as returned by CO in CreateVolumeRequest . This field
1053
+ // is OPTIONAL and MUST match the volume_context of the volume
1054
+ // identified by `volume_id`.
1055
+ map <string , string > volume_context = 8 ;
1039
1056
}
1040
1057
1041
1058
message NodePublishVolumeResponse {
0 commit comments