1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.netapp.v1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/netapp/v1/common.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 24*d5c09012SAndroid Build Coastguard Worker 25*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.NetApp.V1"; 26*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/netapp/apiv1/netapppb;netapppb"; 27*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 28*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "VolumeProto"; 29*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.netapp.v1"; 30*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\NetApp\\V1"; 31*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::NetApp::V1"; 32*d5c09012SAndroid Build Coastguard Worker 33*d5c09012SAndroid Build Coastguard Worker// Protocols is an enum of all the supported network protocols for a volume. 34*d5c09012SAndroid Build Coastguard Workerenum Protocols { 35*d5c09012SAndroid Build Coastguard Worker // Unspecified protocol 36*d5c09012SAndroid Build Coastguard Worker PROTOCOLS_UNSPECIFIED = 0; 37*d5c09012SAndroid Build Coastguard Worker 38*d5c09012SAndroid Build Coastguard Worker // NFS V3 protocol 39*d5c09012SAndroid Build Coastguard Worker NFSV3 = 1; 40*d5c09012SAndroid Build Coastguard Worker 41*d5c09012SAndroid Build Coastguard Worker // NFS V4 protocol 42*d5c09012SAndroid Build Coastguard Worker NFSV4 = 2; 43*d5c09012SAndroid Build Coastguard Worker 44*d5c09012SAndroid Build Coastguard Worker // SMB protocol 45*d5c09012SAndroid Build Coastguard Worker SMB = 3; 46*d5c09012SAndroid Build Coastguard Worker} 47*d5c09012SAndroid Build Coastguard Worker 48*d5c09012SAndroid Build Coastguard Worker// AccessType is an enum of all the supported access types for a volume. 49*d5c09012SAndroid Build Coastguard Workerenum AccessType { 50*d5c09012SAndroid Build Coastguard Worker // Unspecified Access Type 51*d5c09012SAndroid Build Coastguard Worker ACCESS_TYPE_UNSPECIFIED = 0; 52*d5c09012SAndroid Build Coastguard Worker 53*d5c09012SAndroid Build Coastguard Worker // Read Only 54*d5c09012SAndroid Build Coastguard Worker READ_ONLY = 1; 55*d5c09012SAndroid Build Coastguard Worker 56*d5c09012SAndroid Build Coastguard Worker // Read Write 57*d5c09012SAndroid Build Coastguard Worker READ_WRITE = 2; 58*d5c09012SAndroid Build Coastguard Worker 59*d5c09012SAndroid Build Coastguard Worker // None 60*d5c09012SAndroid Build Coastguard Worker READ_NONE = 3; 61*d5c09012SAndroid Build Coastguard Worker} 62*d5c09012SAndroid Build Coastguard Worker 63*d5c09012SAndroid Build Coastguard Worker// SMBSettings 64*d5c09012SAndroid Build Coastguard Worker// Modifies the behaviour of a SMB volume. 65*d5c09012SAndroid Build Coastguard Workerenum SMBSettings { 66*d5c09012SAndroid Build Coastguard Worker // Unspecified default option 67*d5c09012SAndroid Build Coastguard Worker SMB_SETTINGS_UNSPECIFIED = 0; 68*d5c09012SAndroid Build Coastguard Worker 69*d5c09012SAndroid Build Coastguard Worker // SMB setting encrypt data 70*d5c09012SAndroid Build Coastguard Worker ENCRYPT_DATA = 1; 71*d5c09012SAndroid Build Coastguard Worker 72*d5c09012SAndroid Build Coastguard Worker // SMB setting browsable 73*d5c09012SAndroid Build Coastguard Worker BROWSABLE = 2; 74*d5c09012SAndroid Build Coastguard Worker 75*d5c09012SAndroid Build Coastguard Worker // SMB setting notify change 76*d5c09012SAndroid Build Coastguard Worker CHANGE_NOTIFY = 3; 77*d5c09012SAndroid Build Coastguard Worker 78*d5c09012SAndroid Build Coastguard Worker // SMB setting not to notify change 79*d5c09012SAndroid Build Coastguard Worker NON_BROWSABLE = 4; 80*d5c09012SAndroid Build Coastguard Worker 81*d5c09012SAndroid Build Coastguard Worker // SMB setting oplocks 82*d5c09012SAndroid Build Coastguard Worker OPLOCKS = 5; 83*d5c09012SAndroid Build Coastguard Worker 84*d5c09012SAndroid Build Coastguard Worker // SMB setting to show snapshots 85*d5c09012SAndroid Build Coastguard Worker SHOW_SNAPSHOT = 6; 86*d5c09012SAndroid Build Coastguard Worker 87*d5c09012SAndroid Build Coastguard Worker // SMB setting to show previous versions 88*d5c09012SAndroid Build Coastguard Worker SHOW_PREVIOUS_VERSIONS = 7; 89*d5c09012SAndroid Build Coastguard Worker 90*d5c09012SAndroid Build Coastguard Worker // SMB setting to access volume based on enumerartion 91*d5c09012SAndroid Build Coastguard Worker ACCESS_BASED_ENUMERATION = 8; 92*d5c09012SAndroid Build Coastguard Worker 93*d5c09012SAndroid Build Coastguard Worker // Continuously available enumeration 94*d5c09012SAndroid Build Coastguard Worker CONTINUOUSLY_AVAILABLE = 9; 95*d5c09012SAndroid Build Coastguard Worker} 96*d5c09012SAndroid Build Coastguard Worker 97*d5c09012SAndroid Build Coastguard Worker// The security style of the volume, can be either UNIX or NTFS. 98*d5c09012SAndroid Build Coastguard Workerenum SecurityStyle { 99*d5c09012SAndroid Build Coastguard Worker // SecurityStyle is unspecified 100*d5c09012SAndroid Build Coastguard Worker SECURITY_STYLE_UNSPECIFIED = 0; 101*d5c09012SAndroid Build Coastguard Worker 102*d5c09012SAndroid Build Coastguard Worker // SecurityStyle uses NTFS 103*d5c09012SAndroid Build Coastguard Worker NTFS = 1; 104*d5c09012SAndroid Build Coastguard Worker 105*d5c09012SAndroid Build Coastguard Worker // SecurityStyle uses UNIX 106*d5c09012SAndroid Build Coastguard Worker UNIX = 2; 107*d5c09012SAndroid Build Coastguard Worker} 108*d5c09012SAndroid Build Coastguard Worker 109*d5c09012SAndroid Build Coastguard Worker// Actions to be restricted for a volume. 110*d5c09012SAndroid Build Coastguard Workerenum RestrictedAction { 111*d5c09012SAndroid Build Coastguard Worker // Unspecified restricted action 112*d5c09012SAndroid Build Coastguard Worker RESTRICTED_ACTION_UNSPECIFIED = 0; 113*d5c09012SAndroid Build Coastguard Worker 114*d5c09012SAndroid Build Coastguard Worker // Prevent volume from being deleted when mounted. 115*d5c09012SAndroid Build Coastguard Worker DELETE = 1; 116*d5c09012SAndroid Build Coastguard Worker} 117*d5c09012SAndroid Build Coastguard Worker 118*d5c09012SAndroid Build Coastguard Worker// Message for requesting list of Volumes 119*d5c09012SAndroid Build Coastguard Workermessage ListVolumesRequest { 120*d5c09012SAndroid Build Coastguard Worker // Required. Parent value for ListVolumesRequest 121*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 122*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 123*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 124*d5c09012SAndroid Build Coastguard Worker child_type: "netapp.googleapis.com/Volume" 125*d5c09012SAndroid Build Coastguard Worker } 126*d5c09012SAndroid Build Coastguard Worker ]; 127*d5c09012SAndroid Build Coastguard Worker 128*d5c09012SAndroid Build Coastguard Worker // Requested page size. Server may return fewer items than requested. 129*d5c09012SAndroid Build Coastguard Worker // If unspecified, the server will pick an appropriate default. 130*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2; 131*d5c09012SAndroid Build Coastguard Worker 132*d5c09012SAndroid Build Coastguard Worker // A token identifying a page of results the server should return. 133*d5c09012SAndroid Build Coastguard Worker string page_token = 3; 134*d5c09012SAndroid Build Coastguard Worker 135*d5c09012SAndroid Build Coastguard Worker // Filtering results 136*d5c09012SAndroid Build Coastguard Worker string filter = 4; 137*d5c09012SAndroid Build Coastguard Worker 138*d5c09012SAndroid Build Coastguard Worker // Hint for how to order the results 139*d5c09012SAndroid Build Coastguard Worker string order_by = 5; 140*d5c09012SAndroid Build Coastguard Worker} 141*d5c09012SAndroid Build Coastguard Worker 142*d5c09012SAndroid Build Coastguard Worker// Message for response to listing Volumes 143*d5c09012SAndroid Build Coastguard Workermessage ListVolumesResponse { 144*d5c09012SAndroid Build Coastguard Worker // The list of Volume 145*d5c09012SAndroid Build Coastguard Worker repeated Volume volumes = 1; 146*d5c09012SAndroid Build Coastguard Worker 147*d5c09012SAndroid Build Coastguard Worker // A token identifying a page of results the server should return. 148*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 149*d5c09012SAndroid Build Coastguard Worker 150*d5c09012SAndroid Build Coastguard Worker // Locations that could not be reached. 151*d5c09012SAndroid Build Coastguard Worker repeated string unreachable = 3; 152*d5c09012SAndroid Build Coastguard Worker} 153*d5c09012SAndroid Build Coastguard Worker 154*d5c09012SAndroid Build Coastguard Worker// Message for getting a Volume 155*d5c09012SAndroid Build Coastguard Workermessage GetVolumeRequest { 156*d5c09012SAndroid Build Coastguard Worker // Required. Name of the volume 157*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 158*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 159*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "netapp.googleapis.com/Volume" } 160*d5c09012SAndroid Build Coastguard Worker ]; 161*d5c09012SAndroid Build Coastguard Worker} 162*d5c09012SAndroid Build Coastguard Worker 163*d5c09012SAndroid Build Coastguard Worker// Message for creating a Volume 164*d5c09012SAndroid Build Coastguard Workermessage CreateVolumeRequest { 165*d5c09012SAndroid Build Coastguard Worker // Required. Value for parent. 166*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 167*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 168*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 169*d5c09012SAndroid Build Coastguard Worker child_type: "netapp.googleapis.com/Volume" 170*d5c09012SAndroid Build Coastguard Worker } 171*d5c09012SAndroid Build Coastguard Worker ]; 172*d5c09012SAndroid Build Coastguard Worker 173*d5c09012SAndroid Build Coastguard Worker // Required. Id of the requesting volume 174*d5c09012SAndroid Build Coastguard Worker // If auto-generating Id server-side, remove this field and 175*d5c09012SAndroid Build Coastguard Worker // Id from the method_signature of Create RPC 176*d5c09012SAndroid Build Coastguard Worker string volume_id = 2 [(google.api.field_behavior) = REQUIRED]; 177*d5c09012SAndroid Build Coastguard Worker 178*d5c09012SAndroid Build Coastguard Worker // Required. The volume being created. 179*d5c09012SAndroid Build Coastguard Worker Volume volume = 3 [(google.api.field_behavior) = REQUIRED]; 180*d5c09012SAndroid Build Coastguard Worker} 181*d5c09012SAndroid Build Coastguard Worker 182*d5c09012SAndroid Build Coastguard Worker// Message for updating a Volume 183*d5c09012SAndroid Build Coastguard Workermessage UpdateVolumeRequest { 184*d5c09012SAndroid Build Coastguard Worker // Required. Field mask is used to specify the fields to be overwritten in the 185*d5c09012SAndroid Build Coastguard Worker // Volume resource by the update. 186*d5c09012SAndroid Build Coastguard Worker // The fields specified in the update_mask are relative to the resource, not 187*d5c09012SAndroid Build Coastguard Worker // the full request. A field will be overwritten if it is in the mask. If the 188*d5c09012SAndroid Build Coastguard Worker // user does not provide a mask then all fields will be overwritten. 189*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 1 190*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 191*d5c09012SAndroid Build Coastguard Worker 192*d5c09012SAndroid Build Coastguard Worker // Required. The volume being updated 193*d5c09012SAndroid Build Coastguard Worker Volume volume = 2 [(google.api.field_behavior) = REQUIRED]; 194*d5c09012SAndroid Build Coastguard Worker} 195*d5c09012SAndroid Build Coastguard Worker 196*d5c09012SAndroid Build Coastguard Worker// Message for deleting a Volume 197*d5c09012SAndroid Build Coastguard Workermessage DeleteVolumeRequest { 198*d5c09012SAndroid Build Coastguard Worker // Required. Name of the volume 199*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 200*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 201*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "netapp.googleapis.com/Volume" } 202*d5c09012SAndroid Build Coastguard Worker ]; 203*d5c09012SAndroid Build Coastguard Worker 204*d5c09012SAndroid Build Coastguard Worker // If this field is set as true, CCFE will not block the volume resource 205*d5c09012SAndroid Build Coastguard Worker // deletion even if it has any snapshots resource. (Otherwise, the request 206*d5c09012SAndroid Build Coastguard Worker // will only work if the volume has no snapshots.) 207*d5c09012SAndroid Build Coastguard Worker bool force = 2; 208*d5c09012SAndroid Build Coastguard Worker} 209*d5c09012SAndroid Build Coastguard Worker 210*d5c09012SAndroid Build Coastguard Worker// RevertVolumeRequest reverts the given volume to the specified snapshot. 211*d5c09012SAndroid Build Coastguard Workermessage RevertVolumeRequest { 212*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the volume, in the format of 213*d5c09012SAndroid Build Coastguard Worker // projects/{project_id}/locations/{location}/volumes/{volume_id}. 214*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 215*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 216*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "netapp.googleapis.com/Volume" } 217*d5c09012SAndroid Build Coastguard Worker ]; 218*d5c09012SAndroid Build Coastguard Worker 219*d5c09012SAndroid Build Coastguard Worker // Required. The snapshot resource ID, in the format 'my-snapshot', where the 220*d5c09012SAndroid Build Coastguard Worker // specified ID is the {snapshot_id} of the fully qualified name like 221*d5c09012SAndroid Build Coastguard Worker // projects/{project_id}/locations/{location_id}/volumes/{volume_id}/snapshots/{snapshot_id} 222*d5c09012SAndroid Build Coastguard Worker string snapshot_id = 2 [(google.api.field_behavior) = REQUIRED]; 223*d5c09012SAndroid Build Coastguard Worker} 224*d5c09012SAndroid Build Coastguard Worker 225*d5c09012SAndroid Build Coastguard Worker// Volume provides a filesystem that you can mount. 226*d5c09012SAndroid Build Coastguard Workermessage Volume { 227*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 228*d5c09012SAndroid Build Coastguard Worker type: "netapp.googleapis.com/Volume" 229*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/volumes/{volume}" 230*d5c09012SAndroid Build Coastguard Worker plural: "volumes" 231*d5c09012SAndroid Build Coastguard Worker singular: "volume" 232*d5c09012SAndroid Build Coastguard Worker }; 233*d5c09012SAndroid Build Coastguard Worker 234*d5c09012SAndroid Build Coastguard Worker // The volume states 235*d5c09012SAndroid Build Coastguard Worker enum State { 236*d5c09012SAndroid Build Coastguard Worker // Unspecified Volume State 237*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 238*d5c09012SAndroid Build Coastguard Worker 239*d5c09012SAndroid Build Coastguard Worker // Volume State is Ready 240*d5c09012SAndroid Build Coastguard Worker READY = 1; 241*d5c09012SAndroid Build Coastguard Worker 242*d5c09012SAndroid Build Coastguard Worker // Volume State is Creating 243*d5c09012SAndroid Build Coastguard Worker CREATING = 2; 244*d5c09012SAndroid Build Coastguard Worker 245*d5c09012SAndroid Build Coastguard Worker // Volume State is Deleting 246*d5c09012SAndroid Build Coastguard Worker DELETING = 3; 247*d5c09012SAndroid Build Coastguard Worker 248*d5c09012SAndroid Build Coastguard Worker // Volume State is Updating 249*d5c09012SAndroid Build Coastguard Worker UPDATING = 4; 250*d5c09012SAndroid Build Coastguard Worker 251*d5c09012SAndroid Build Coastguard Worker // Volume State is Restoring 252*d5c09012SAndroid Build Coastguard Worker RESTORING = 5; 253*d5c09012SAndroid Build Coastguard Worker 254*d5c09012SAndroid Build Coastguard Worker // Volume State is Disabled 255*d5c09012SAndroid Build Coastguard Worker DISABLED = 6; 256*d5c09012SAndroid Build Coastguard Worker 257*d5c09012SAndroid Build Coastguard Worker // Volume State is Error 258*d5c09012SAndroid Build Coastguard Worker ERROR = 7; 259*d5c09012SAndroid Build Coastguard Worker } 260*d5c09012SAndroid Build Coastguard Worker 261*d5c09012SAndroid Build Coastguard Worker // Identifier. Name of the volume 262*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = IDENTIFIER]; 263*d5c09012SAndroid Build Coastguard Worker 264*d5c09012SAndroid Build Coastguard Worker // Output only. State of the volume 265*d5c09012SAndroid Build Coastguard Worker State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 266*d5c09012SAndroid Build Coastguard Worker 267*d5c09012SAndroid Build Coastguard Worker // Output only. State details of the volume 268*d5c09012SAndroid Build Coastguard Worker string state_details = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 269*d5c09012SAndroid Build Coastguard Worker 270*d5c09012SAndroid Build Coastguard Worker // Output only. Create time of the volume 271*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 4 272*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 273*d5c09012SAndroid Build Coastguard Worker 274*d5c09012SAndroid Build Coastguard Worker // Required. Share name of the volume 275*d5c09012SAndroid Build Coastguard Worker string share_name = 5 [(google.api.field_behavior) = REQUIRED]; 276*d5c09012SAndroid Build Coastguard Worker 277*d5c09012SAndroid Build Coastguard Worker // Output only. This field is not implemented. The values provided in this 278*d5c09012SAndroid Build Coastguard Worker // field are ignored. 279*d5c09012SAndroid Build Coastguard Worker string psa_range = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; 280*d5c09012SAndroid Build Coastguard Worker 281*d5c09012SAndroid Build Coastguard Worker // Required. StoragePool name of the volume 282*d5c09012SAndroid Build Coastguard Worker string storage_pool = 7 [ 283*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 284*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 285*d5c09012SAndroid Build Coastguard Worker type: "netapp.googleapis.com/StoragePool" 286*d5c09012SAndroid Build Coastguard Worker } 287*d5c09012SAndroid Build Coastguard Worker ]; 288*d5c09012SAndroid Build Coastguard Worker 289*d5c09012SAndroid Build Coastguard Worker // Output only. VPC Network name. 290*d5c09012SAndroid Build Coastguard Worker // Format: projects/{project}/global/networks/{network} 291*d5c09012SAndroid Build Coastguard Worker string network = 8 [ 292*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OUTPUT_ONLY, 293*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "compute.googleapis.com/Network" } 294*d5c09012SAndroid Build Coastguard Worker ]; 295*d5c09012SAndroid Build Coastguard Worker 296*d5c09012SAndroid Build Coastguard Worker // Output only. Service level of the volume 297*d5c09012SAndroid Build Coastguard Worker ServiceLevel service_level = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; 298*d5c09012SAndroid Build Coastguard Worker 299*d5c09012SAndroid Build Coastguard Worker // Required. Capacity in GIB of the volume 300*d5c09012SAndroid Build Coastguard Worker int64 capacity_gib = 10 [(google.api.field_behavior) = REQUIRED]; 301*d5c09012SAndroid Build Coastguard Worker 302*d5c09012SAndroid Build Coastguard Worker // Optional. Export policy of the volume 303*d5c09012SAndroid Build Coastguard Worker ExportPolicy export_policy = 11 [(google.api.field_behavior) = OPTIONAL]; 304*d5c09012SAndroid Build Coastguard Worker 305*d5c09012SAndroid Build Coastguard Worker // Required. Protocols required for the volume 306*d5c09012SAndroid Build Coastguard Worker repeated Protocols protocols = 12 [(google.api.field_behavior) = REQUIRED]; 307*d5c09012SAndroid Build Coastguard Worker 308*d5c09012SAndroid Build Coastguard Worker // Optional. SMB share settings for the volume. 309*d5c09012SAndroid Build Coastguard Worker repeated SMBSettings smb_settings = 13 310*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 311*d5c09012SAndroid Build Coastguard Worker 312*d5c09012SAndroid Build Coastguard Worker // Output only. Mount options of this volume 313*d5c09012SAndroid Build Coastguard Worker repeated MountOption mount_options = 14 314*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 315*d5c09012SAndroid Build Coastguard Worker 316*d5c09012SAndroid Build Coastguard Worker // Optional. Default unix style permission (e.g. 777) the mount point will be 317*d5c09012SAndroid Build Coastguard Worker // created with. Applicable for NFS protocol types only. 318*d5c09012SAndroid Build Coastguard Worker string unix_permissions = 15 [(google.api.field_behavior) = OPTIONAL]; 319*d5c09012SAndroid Build Coastguard Worker 320*d5c09012SAndroid Build Coastguard Worker // Optional. Labels as key value pairs 321*d5c09012SAndroid Build Coastguard Worker map<string, string> labels = 16 [(google.api.field_behavior) = OPTIONAL]; 322*d5c09012SAndroid Build Coastguard Worker 323*d5c09012SAndroid Build Coastguard Worker // Optional. Description of the volume 324*d5c09012SAndroid Build Coastguard Worker string description = 17 [(google.api.field_behavior) = OPTIONAL]; 325*d5c09012SAndroid Build Coastguard Worker 326*d5c09012SAndroid Build Coastguard Worker // Optional. SnapshotPolicy for a volume. 327*d5c09012SAndroid Build Coastguard Worker SnapshotPolicy snapshot_policy = 18 [(google.api.field_behavior) = OPTIONAL]; 328*d5c09012SAndroid Build Coastguard Worker 329*d5c09012SAndroid Build Coastguard Worker // Optional. Snap_reserve specifies percentage of volume storage reserved for 330*d5c09012SAndroid Build Coastguard Worker // snapshot storage. Default is 0 percent. 331*d5c09012SAndroid Build Coastguard Worker double snap_reserve = 19 [(google.api.field_behavior) = OPTIONAL]; 332*d5c09012SAndroid Build Coastguard Worker 333*d5c09012SAndroid Build Coastguard Worker // Optional. Snapshot_directory if enabled (true) the volume will contain a 334*d5c09012SAndroid Build Coastguard Worker // read-only .snapshot directory which provides access to each of the volume's 335*d5c09012SAndroid Build Coastguard Worker // snapshots. 336*d5c09012SAndroid Build Coastguard Worker bool snapshot_directory = 20 [(google.api.field_behavior) = OPTIONAL]; 337*d5c09012SAndroid Build Coastguard Worker 338*d5c09012SAndroid Build Coastguard Worker // Output only. Used capacity in GIB of the volume. This is computed 339*d5c09012SAndroid Build Coastguard Worker // periodically and it does not represent the realtime usage. 340*d5c09012SAndroid Build Coastguard Worker int64 used_gib = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; 341*d5c09012SAndroid Build Coastguard Worker 342*d5c09012SAndroid Build Coastguard Worker // Optional. Security Style of the Volume 343*d5c09012SAndroid Build Coastguard Worker SecurityStyle security_style = 22 [(google.api.field_behavior) = OPTIONAL]; 344*d5c09012SAndroid Build Coastguard Worker 345*d5c09012SAndroid Build Coastguard Worker // Optional. Flag indicating if the volume is a kerberos volume or not, export 346*d5c09012SAndroid Build Coastguard Worker // policy rules control kerberos security modes (krb5, krb5i, krb5p). 347*d5c09012SAndroid Build Coastguard Worker bool kerberos_enabled = 23 [(google.api.field_behavior) = OPTIONAL]; 348*d5c09012SAndroid Build Coastguard Worker 349*d5c09012SAndroid Build Coastguard Worker // Output only. Flag indicating if the volume is NFS LDAP enabled or not. 350*d5c09012SAndroid Build Coastguard Worker bool ldap_enabled = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; 351*d5c09012SAndroid Build Coastguard Worker 352*d5c09012SAndroid Build Coastguard Worker // Output only. Specifies the ActiveDirectory name of a SMB volume. 353*d5c09012SAndroid Build Coastguard Worker string active_directory = 25 [ 354*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OUTPUT_ONLY, 355*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 356*d5c09012SAndroid Build Coastguard Worker type: "netapp.googleapis.com/ActiveDirectory" 357*d5c09012SAndroid Build Coastguard Worker } 358*d5c09012SAndroid Build Coastguard Worker ]; 359*d5c09012SAndroid Build Coastguard Worker 360*d5c09012SAndroid Build Coastguard Worker // Optional. Specifies the source of the volume to be created from. 361*d5c09012SAndroid Build Coastguard Worker RestoreParameters restore_parameters = 26 362*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 363*d5c09012SAndroid Build Coastguard Worker 364*d5c09012SAndroid Build Coastguard Worker // Output only. Specifies the KMS config to be used for volume encryption. 365*d5c09012SAndroid Build Coastguard Worker string kms_config = 27 [ 366*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OUTPUT_ONLY, 367*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 368*d5c09012SAndroid Build Coastguard Worker type: "netapp.googleapis.com/KmsConfig" 369*d5c09012SAndroid Build Coastguard Worker } 370*d5c09012SAndroid Build Coastguard Worker ]; 371*d5c09012SAndroid Build Coastguard Worker 372*d5c09012SAndroid Build Coastguard Worker // Output only. Specified the current volume encryption key source. 373*d5c09012SAndroid Build Coastguard Worker EncryptionType encryption_type = 28 374*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 375*d5c09012SAndroid Build Coastguard Worker 376*d5c09012SAndroid Build Coastguard Worker // Output only. Indicates whether the volume is part of a replication 377*d5c09012SAndroid Build Coastguard Worker // relationship. 378*d5c09012SAndroid Build Coastguard Worker bool has_replication = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; 379*d5c09012SAndroid Build Coastguard Worker 380*d5c09012SAndroid Build Coastguard Worker // BackupConfig of the volume. 381*d5c09012SAndroid Build Coastguard Worker optional BackupConfig backup_config = 30; 382*d5c09012SAndroid Build Coastguard Worker 383*d5c09012SAndroid Build Coastguard Worker // Optional. List of actions that are restricted on this volume. 384*d5c09012SAndroid Build Coastguard Worker repeated RestrictedAction restricted_actions = 31 385*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 386*d5c09012SAndroid Build Coastguard Worker} 387*d5c09012SAndroid Build Coastguard Worker 388*d5c09012SAndroid Build Coastguard Worker// Defines the export policy for the volume. 389*d5c09012SAndroid Build Coastguard Workermessage ExportPolicy { 390*d5c09012SAndroid Build Coastguard Worker // Required. List of export policy rules 391*d5c09012SAndroid Build Coastguard Worker repeated SimpleExportPolicyRule rules = 1 392*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 393*d5c09012SAndroid Build Coastguard Worker} 394*d5c09012SAndroid Build Coastguard Worker 395*d5c09012SAndroid Build Coastguard Worker// An export policy rule describing various export options. 396*d5c09012SAndroid Build Coastguard Workermessage SimpleExportPolicyRule { 397*d5c09012SAndroid Build Coastguard Worker // Comma separated list of allowed clients IP addresses 398*d5c09012SAndroid Build Coastguard Worker optional string allowed_clients = 1; 399*d5c09012SAndroid Build Coastguard Worker 400*d5c09012SAndroid Build Coastguard Worker // Whether Unix root access will be granted. 401*d5c09012SAndroid Build Coastguard Worker optional string has_root_access = 2; 402*d5c09012SAndroid Build Coastguard Worker 403*d5c09012SAndroid Build Coastguard Worker // Access type (ReadWrite, ReadOnly, None) 404*d5c09012SAndroid Build Coastguard Worker optional AccessType access_type = 3; 405*d5c09012SAndroid Build Coastguard Worker 406*d5c09012SAndroid Build Coastguard Worker // NFS V3 protocol. 407*d5c09012SAndroid Build Coastguard Worker optional bool nfsv3 = 4; 408*d5c09012SAndroid Build Coastguard Worker 409*d5c09012SAndroid Build Coastguard Worker // NFS V4 protocol. 410*d5c09012SAndroid Build Coastguard Worker optional bool nfsv4 = 5; 411*d5c09012SAndroid Build Coastguard Worker 412*d5c09012SAndroid Build Coastguard Worker // If enabled (true) the rule defines a read only access for clients matching 413*d5c09012SAndroid Build Coastguard Worker // the 'allowedClients' specification. It enables nfs clients to mount using 414*d5c09012SAndroid Build Coastguard Worker // 'authentication' kerberos security mode. 415*d5c09012SAndroid Build Coastguard Worker optional bool kerberos_5_read_only = 6; 416*d5c09012SAndroid Build Coastguard Worker 417*d5c09012SAndroid Build Coastguard Worker // If enabled (true) the rule defines read and write access for clients 418*d5c09012SAndroid Build Coastguard Worker // matching the 'allowedClients' specification. It enables nfs clients to 419*d5c09012SAndroid Build Coastguard Worker // mount using 'authentication' kerberos security mode. The 420*d5c09012SAndroid Build Coastguard Worker // 'kerberos5ReadOnly' value be ignored if this is enabled. 421*d5c09012SAndroid Build Coastguard Worker optional bool kerberos_5_read_write = 7; 422*d5c09012SAndroid Build Coastguard Worker 423*d5c09012SAndroid Build Coastguard Worker // If enabled (true) the rule defines a read only access for clients matching 424*d5c09012SAndroid Build Coastguard Worker // the 'allowedClients' specification. It enables nfs clients to mount using 425*d5c09012SAndroid Build Coastguard Worker // 'integrity' kerberos security mode. 426*d5c09012SAndroid Build Coastguard Worker optional bool kerberos_5i_read_only = 8; 427*d5c09012SAndroid Build Coastguard Worker 428*d5c09012SAndroid Build Coastguard Worker // If enabled (true) the rule defines read and write access for clients 429*d5c09012SAndroid Build Coastguard Worker // matching the 'allowedClients' specification. It enables nfs clients to 430*d5c09012SAndroid Build Coastguard Worker // mount using 'integrity' kerberos security mode. The 'kerberos5iReadOnly' 431*d5c09012SAndroid Build Coastguard Worker // value be ignored if this is enabled. 432*d5c09012SAndroid Build Coastguard Worker optional bool kerberos_5i_read_write = 9; 433*d5c09012SAndroid Build Coastguard Worker 434*d5c09012SAndroid Build Coastguard Worker // If enabled (true) the rule defines a read only access for clients matching 435*d5c09012SAndroid Build Coastguard Worker // the 'allowedClients' specification. It enables nfs clients to mount using 436*d5c09012SAndroid Build Coastguard Worker // 'privacy' kerberos security mode. 437*d5c09012SAndroid Build Coastguard Worker optional bool kerberos_5p_read_only = 10; 438*d5c09012SAndroid Build Coastguard Worker 439*d5c09012SAndroid Build Coastguard Worker // If enabled (true) the rule defines read and write access for clients 440*d5c09012SAndroid Build Coastguard Worker // matching the 'allowedClients' specification. It enables nfs clients to 441*d5c09012SAndroid Build Coastguard Worker // mount using 'privacy' kerberos security mode. The 'kerberos5pReadOnly' 442*d5c09012SAndroid Build Coastguard Worker // value be ignored if this is enabled. 443*d5c09012SAndroid Build Coastguard Worker optional bool kerberos_5p_read_write = 11; 444*d5c09012SAndroid Build Coastguard Worker} 445*d5c09012SAndroid Build Coastguard Worker 446*d5c09012SAndroid Build Coastguard Worker// Snapshot Policy for a volume. 447*d5c09012SAndroid Build Coastguard Workermessage SnapshotPolicy { 448*d5c09012SAndroid Build Coastguard Worker // If enabled, make snapshots automatically according to the schedules. 449*d5c09012SAndroid Build Coastguard Worker // Default is false. 450*d5c09012SAndroid Build Coastguard Worker optional bool enabled = 1; 451*d5c09012SAndroid Build Coastguard Worker 452*d5c09012SAndroid Build Coastguard Worker // Hourly schedule policy. 453*d5c09012SAndroid Build Coastguard Worker optional HourlySchedule hourly_schedule = 2; 454*d5c09012SAndroid Build Coastguard Worker 455*d5c09012SAndroid Build Coastguard Worker // Daily schedule policy. 456*d5c09012SAndroid Build Coastguard Worker optional DailySchedule daily_schedule = 3; 457*d5c09012SAndroid Build Coastguard Worker 458*d5c09012SAndroid Build Coastguard Worker // Weekly schedule policy. 459*d5c09012SAndroid Build Coastguard Worker optional WeeklySchedule weekly_schedule = 4; 460*d5c09012SAndroid Build Coastguard Worker 461*d5c09012SAndroid Build Coastguard Worker // Monthly schedule policy. 462*d5c09012SAndroid Build Coastguard Worker optional MonthlySchedule monthly_schedule = 5; 463*d5c09012SAndroid Build Coastguard Worker} 464*d5c09012SAndroid Build Coastguard Worker 465*d5c09012SAndroid Build Coastguard Worker// Make a snapshot every hour e.g. at 04:00, 05:00, 06:00. 466*d5c09012SAndroid Build Coastguard Workermessage HourlySchedule { 467*d5c09012SAndroid Build Coastguard Worker // The maximum number of Snapshots to keep for the hourly schedule 468*d5c09012SAndroid Build Coastguard Worker optional double snapshots_to_keep = 1; 469*d5c09012SAndroid Build Coastguard Worker 470*d5c09012SAndroid Build Coastguard Worker // Set the minute of the hour to start the snapshot (0-59), defaults to the 471*d5c09012SAndroid Build Coastguard Worker // top of the hour (0). 472*d5c09012SAndroid Build Coastguard Worker optional double minute = 2; 473*d5c09012SAndroid Build Coastguard Worker} 474*d5c09012SAndroid Build Coastguard Worker 475*d5c09012SAndroid Build Coastguard Worker// Make a snapshot every day e.g. at 04:00, 05:20, 23:50 476*d5c09012SAndroid Build Coastguard Workermessage DailySchedule { 477*d5c09012SAndroid Build Coastguard Worker // The maximum number of Snapshots to keep for the hourly schedule 478*d5c09012SAndroid Build Coastguard Worker optional double snapshots_to_keep = 1; 479*d5c09012SAndroid Build Coastguard Worker 480*d5c09012SAndroid Build Coastguard Worker // Set the minute of the hour to start the snapshot (0-59), defaults to the 481*d5c09012SAndroid Build Coastguard Worker // top of the hour (0). 482*d5c09012SAndroid Build Coastguard Worker optional double minute = 2; 483*d5c09012SAndroid Build Coastguard Worker 484*d5c09012SAndroid Build Coastguard Worker // Set the hour to start the snapshot (0-23), defaults to midnight (0). 485*d5c09012SAndroid Build Coastguard Worker optional double hour = 3; 486*d5c09012SAndroid Build Coastguard Worker} 487*d5c09012SAndroid Build Coastguard Worker 488*d5c09012SAndroid Build Coastguard Worker// Make a snapshot every week e.g. at Monday 04:00, Wednesday 05:20, Sunday 489*d5c09012SAndroid Build Coastguard Worker// 23:50 490*d5c09012SAndroid Build Coastguard Workermessage WeeklySchedule { 491*d5c09012SAndroid Build Coastguard Worker // The maximum number of Snapshots to keep for the hourly schedule 492*d5c09012SAndroid Build Coastguard Worker optional double snapshots_to_keep = 1; 493*d5c09012SAndroid Build Coastguard Worker 494*d5c09012SAndroid Build Coastguard Worker // Set the minute of the hour to start the snapshot (0-59), defaults to the 495*d5c09012SAndroid Build Coastguard Worker // top of the hour (0). 496*d5c09012SAndroid Build Coastguard Worker optional double minute = 2; 497*d5c09012SAndroid Build Coastguard Worker 498*d5c09012SAndroid Build Coastguard Worker // Set the hour to start the snapshot (0-23), defaults to midnight (0). 499*d5c09012SAndroid Build Coastguard Worker optional double hour = 3; 500*d5c09012SAndroid Build Coastguard Worker 501*d5c09012SAndroid Build Coastguard Worker // Set the day or days of the week to make a snapshot. Accepts a comma 502*d5c09012SAndroid Build Coastguard Worker // separated days of the week. Defaults to 'Sunday'. 503*d5c09012SAndroid Build Coastguard Worker optional string day = 4; 504*d5c09012SAndroid Build Coastguard Worker} 505*d5c09012SAndroid Build Coastguard Worker 506*d5c09012SAndroid Build Coastguard Worker// Make a snapshot once a month e.g. at 2nd 04:00, 7th 05:20, 24th 23:50 507*d5c09012SAndroid Build Coastguard Workermessage MonthlySchedule { 508*d5c09012SAndroid Build Coastguard Worker // The maximum number of Snapshots to keep for the hourly schedule 509*d5c09012SAndroid Build Coastguard Worker optional double snapshots_to_keep = 1; 510*d5c09012SAndroid Build Coastguard Worker 511*d5c09012SAndroid Build Coastguard Worker // Set the minute of the hour to start the snapshot (0-59), defaults to the 512*d5c09012SAndroid Build Coastguard Worker // top of the hour (0). 513*d5c09012SAndroid Build Coastguard Worker optional double minute = 2; 514*d5c09012SAndroid Build Coastguard Worker 515*d5c09012SAndroid Build Coastguard Worker // Set the hour to start the snapshot (0-23), defaults to midnight (0). 516*d5c09012SAndroid Build Coastguard Worker optional double hour = 3; 517*d5c09012SAndroid Build Coastguard Worker 518*d5c09012SAndroid Build Coastguard Worker // Set the day or days of the month to make a snapshot (1-31). Accepts a 519*d5c09012SAndroid Build Coastguard Worker // comma separated number of days. Defaults to '1'. 520*d5c09012SAndroid Build Coastguard Worker optional string days_of_month = 4; 521*d5c09012SAndroid Build Coastguard Worker} 522*d5c09012SAndroid Build Coastguard Worker 523*d5c09012SAndroid Build Coastguard Worker// View only mount options for a volume. 524*d5c09012SAndroid Build Coastguard Workermessage MountOption { 525*d5c09012SAndroid Build Coastguard Worker // Export string 526*d5c09012SAndroid Build Coastguard Worker string export = 1; 527*d5c09012SAndroid Build Coastguard Worker 528*d5c09012SAndroid Build Coastguard Worker // Full export string 529*d5c09012SAndroid Build Coastguard Worker string export_full = 2; 530*d5c09012SAndroid Build Coastguard Worker 531*d5c09012SAndroid Build Coastguard Worker // Protocol to mount with. 532*d5c09012SAndroid Build Coastguard Worker Protocols protocol = 3; 533*d5c09012SAndroid Build Coastguard Worker 534*d5c09012SAndroid Build Coastguard Worker // Instructions for mounting 535*d5c09012SAndroid Build Coastguard Worker string instructions = 4; 536*d5c09012SAndroid Build Coastguard Worker} 537*d5c09012SAndroid Build Coastguard Worker 538*d5c09012SAndroid Build Coastguard Worker// The RestoreParameters if volume is created from a snapshot or backup. 539*d5c09012SAndroid Build Coastguard Workermessage RestoreParameters { 540*d5c09012SAndroid Build Coastguard Worker // The source that the volume is created from. 541*d5c09012SAndroid Build Coastguard Worker oneof source { 542*d5c09012SAndroid Build Coastguard Worker // Full name of the snapshot resource. 543*d5c09012SAndroid Build Coastguard Worker // Format: 544*d5c09012SAndroid Build Coastguard Worker // projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot} 545*d5c09012SAndroid Build Coastguard Worker string source_snapshot = 1; 546*d5c09012SAndroid Build Coastguard Worker 547*d5c09012SAndroid Build Coastguard Worker // Full name of the backup resource. 548*d5c09012SAndroid Build Coastguard Worker // Format: 549*d5c09012SAndroid Build Coastguard Worker // projects/{project}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id} 550*d5c09012SAndroid Build Coastguard Worker string source_backup = 2; 551*d5c09012SAndroid Build Coastguard Worker } 552*d5c09012SAndroid Build Coastguard Worker} 553*d5c09012SAndroid Build Coastguard Worker 554*d5c09012SAndroid Build Coastguard Worker// BackupConfig contains backup related config on a volume. 555*d5c09012SAndroid Build Coastguard Workermessage BackupConfig { 556*d5c09012SAndroid Build Coastguard Worker // Optional. When specified, schedule backups will be created based on the 557*d5c09012SAndroid Build Coastguard Worker // policy configuration. 558*d5c09012SAndroid Build Coastguard Worker repeated string backup_policies = 1 [ 559*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OPTIONAL, 560*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 561*d5c09012SAndroid Build Coastguard Worker type: "netapp.googleapis.com/BackupPolicy" 562*d5c09012SAndroid Build Coastguard Worker } 563*d5c09012SAndroid Build Coastguard Worker ]; 564*d5c09012SAndroid Build Coastguard Worker 565*d5c09012SAndroid Build Coastguard Worker // Optional. Name of backup vault. 566*d5c09012SAndroid Build Coastguard Worker // Format: 567*d5c09012SAndroid Build Coastguard Worker // projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id} 568*d5c09012SAndroid Build Coastguard Worker string backup_vault = 2 [ 569*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OPTIONAL, 570*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 571*d5c09012SAndroid Build Coastguard Worker type: "netapp.googleapis.com/BackupVault" 572*d5c09012SAndroid Build Coastguard Worker } 573*d5c09012SAndroid Build Coastguard Worker ]; 574*d5c09012SAndroid Build Coastguard Worker 575*d5c09012SAndroid Build Coastguard Worker // Optional. When set to true, scheduled backup is enabled on the volume. 576*d5c09012SAndroid Build Coastguard Worker // This field should be nil when there's no backup policy attached. 577*d5c09012SAndroid Build Coastguard Worker optional bool scheduled_backup_enabled = 3 578*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 579*d5c09012SAndroid Build Coastguard Worker} 580