12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- // Copyright 2022 Google LLC
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- syntax = "proto3";
- package google.cloud.batch.v1;
- option csharp_namespace = "Google.Cloud.Batch.V1";
- option go_package = "google.golang.org/genproto/googleapis/cloud/batch/v1;batch";
- option java_multiple_files = true;
- option java_outer_classname = "VolumeProto";
- option java_package = "com.google.cloud.batch.v1";
- option objc_class_prefix = "GCB";
- option php_namespace = "Google\\Cloud\\Batch\\V1";
- option ruby_package = "Google::Cloud::Batch::V1";
- // Volume describes a volume and parameters for it to be mounted to a VM.
- message Volume {
- // The source for the volume.
- oneof source {
- // A Network File System (NFS) volume. For example, a
- // Filestore file share.
- NFS nfs = 1;
- // A Google Cloud Storage (GCS) volume.
- GCS gcs = 3;
- // Device name of an attached disk volume, which should align with a
- // device_name specified by
- // job.allocation_policy.instances[0].policy.disks[i].device_name or
- // defined by the given instance template in
- // job.allocation_policy.instances[0].instance_template.
- string device_name = 6;
- }
- // The mount path for the volume, e.g. /mnt/disks/share.
- string mount_path = 4;
- // For Google Cloud Storage (GCS), mount options are the options supported by
- // the gcsfuse tool (https://github.com/GoogleCloudPlatform/gcsfuse).
- // For existing persistent disks, mount options provided by the
- // mount command (https://man7.org/linux/man-pages/man8/mount.8.html) except
- // writing are supported. This is due to restrictions of multi-writer mode
- // (https://cloud.google.com/compute/docs/disks/sharing-disks-between-vms).
- // For other attached disks and Network File System (NFS), mount options are
- // these supported by the mount command
- // (https://man7.org/linux/man-pages/man8/mount.8.html).
- repeated string mount_options = 5;
- }
- // Represents an NFS volume.
- message NFS {
- // The IP address of the NFS.
- string server = 1;
- // Remote source path exported from the NFS, e.g., "/share".
- string remote_path = 2;
- }
- // Represents a Google Cloud Storage volume.
- message GCS {
- // Remote path, either a bucket name or a subdirectory of a bucket, e.g.:
- // bucket_name, bucket_name/subdirectory/
- string remote_path = 1;
- }
|