summaryrefslogtreecommitdiff
path: root/third_party/googleapis/google/cloud/batch/v1alpha/volume.proto
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/googleapis/google/cloud/batch/v1alpha/volume.proto')
-rw-r--r--third_party/googleapis/google/cloud/batch/v1alpha/volume.proto90
1 files changed, 90 insertions, 0 deletions
diff --git a/third_party/googleapis/google/cloud/batch/v1alpha/volume.proto b/third_party/googleapis/google/cloud/batch/v1alpha/volume.proto
new file mode 100644
index 0000000..b71a62b
--- /dev/null
+++ b/third_party/googleapis/google/cloud/batch/v1alpha/volume.proto
@@ -0,0 +1,90 @@
+// 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.v1alpha;
+
+option csharp_namespace = "Google.Cloud.Batch.V1Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/batch/v1alpha;batch";
+option java_multiple_files = true;
+option java_outer_classname = "VolumeProto";
+option java_package = "com.google.cloud.batch.v1alpha";
+option objc_class_prefix = "GCB";
+option php_namespace = "Google\\Cloud\\Batch\\V1alpha";
+option ruby_package = "Google::Cloud::Batch::V1alpha";
+
+// Volume and mount parameters to be associated with a TaskSpec. A TaskSpec
+// might describe zero, one, or multiple volumes to be mounted as part of the
+// task.
+message Volume {
+ // The source for the volume.
+ oneof source {
+ // An NFS source for the volume (could be a Filestore, for example).
+ NFS nfs = 1;
+
+ // A persistent disk source for the volume.
+ PD pd = 2 [deprecated = true];
+
+ // A Google Cloud Storage source for the volume.
+ GCS gcs = 3;
+
+ // Device name of an attached disk
+ string device_name = 6;
+ }
+
+ // Mount path for the volume, e.g. /mnt/share
+ string mount_path = 4;
+
+ // Mount options
+ // For Google Cloud Storage, mount options are the global options supported by
+ // gcsfuse tool. Batch will use them to mount the volume with the following
+ // command:
+ // "gcsfuse [global options] bucket mountpoint".
+ // For PD, NFS, mount options are these supported by /etc/fstab. Batch will
+ // use Fstab to mount such volumes.
+ // https://help.ubuntu.com/community/Fstab
+ repeated string mount_options = 5;
+}
+
+// Represents an NFS server and remote path: <server>:<remote_path>
+message NFS {
+ // URI of the NFS server, e.g. an IP address.
+ string server = 1;
+
+ // Remote source path exported from NFS, e.g., "/share".
+ string remote_path = 2;
+}
+
+// Represents a GCP persistent disk
+message PD {
+ // PD disk name, e.g. pd-1.
+ string disk = 1;
+
+ // PD device name, e.g. persistent-disk-1.
+ string device = 2;
+
+ // Whether this is an existing PD. Default is false. If false, i.e., new
+ // PD, we will format it into ext4 and mount to the given path. If true, i.e.,
+ // existing PD, it should be in ext4 format and we will mount it to the given
+ // path.
+ bool existing = 3 [deprecated = true];
+}
+
+// Represents a Google Cloud Storage volume source config.
+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;
+}