diff --git a/google/cloud/batch/v1alpha/batch.proto b/google/cloud/batch/v1alpha/batch.proto index 97b3171ca4..cc6dd16a53 100644 --- a/google/cloud/batch/v1alpha/batch.proto +++ b/google/cloud/batch/v1alpha/batch.proto @@ -107,8 +107,9 @@ message CreateJobRequest { ]; // ID used to uniquely identify the Job within its parent scope. - // This field should contain at most 63 characters. - // Only alphanumeric characters or '-' are accepted. + // This field should contain at most 63 characters and must start with + // lowercase characters. + // Only lowercase characters, numbers and '-' are accepted. // The '-' character cannot be the first or the last one. // A system generated ID will be used if the field is not set. // diff --git a/google/cloud/batch/v1alpha/batch_v1alpha.yaml b/google/cloud/batch/v1alpha/batch_v1alpha.yaml index b021fc5a39..6c1e9867f5 100644 --- a/google/cloud/batch/v1alpha/batch_v1alpha.yaml +++ b/google/cloud/batch/v1alpha/batch_v1alpha.yaml @@ -117,3 +117,6 @@ authentication: oauth: canonical_scopes: |- https://www.googleapis.com/auth/cloud-platform + +publishing: + organization: CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED diff --git a/google/cloud/batch/v1alpha/job.proto b/google/cloud/batch/v1alpha/job.proto index dc224aa432..27d2b53811 100644 --- a/google/cloud/batch/v1alpha/job.proto +++ b/google/cloud/batch/v1alpha/job.proto @@ -318,7 +318,7 @@ message AllocationPolicy { string disk_interface = 6; } - // A new or an existing persistent disk or a local ssd attached to a VM + // A new or an existing persistent disk (PD) or a local ssd attached to a VM // instance. message AttachedDisk { oneof attached { @@ -335,7 +335,7 @@ message AllocationPolicy { string device_name = 3; } - // Accelerator describes Compute Engine accelerators to be attached to VMs. + // Accelerator describes Compute Engine accelerators to be attached to the VM. message Accelerator { // The accelerator type. For example, "nvidia-tesla-t4". // See `gcloud compute accelerator-types list`. @@ -367,12 +367,14 @@ message AllocationPolicy { ProvisioningModel provisioning_model = 4; // The accelerators attached to each VM instance. - // Not yet implemented. repeated Accelerator accelerators = 5; // Non-boot disks to be attached for each VM created by this InstancePolicy. - // New disks will be deleted when the attached VM is deleted. + // New disks will be deleted when the VM is deleted. repeated AttachedDisk disks = 6; + + // If specified, VMs will be allocated only inside the matching reservation. + string reservation = 7; } // Either an InstancePolicy or an instance template. @@ -451,7 +453,7 @@ message AllocationPolicy { // Deprecated: please use instances[0].template instead. repeated string instance_templates = 3 [deprecated = true]; - // Deprecated: please use instances[i].policy.provisioning_model instead. + // Deprecated: please use instances[0].policy.provisioning_model instead. repeated ProvisioningModel provisioning_models = 4 [deprecated = true]; // Deprecated: please use service_account instead. diff --git a/google/cloud/batch/v1alpha/task.proto b/google/cloud/batch/v1alpha/task.proto index 42b0856853..6b69165bf5 100644 --- a/google/cloud/batch/v1alpha/task.proto +++ b/google/cloud/batch/v1alpha/task.proto @@ -131,12 +131,12 @@ message Runnable { bool block_external_network = 9; // Optional username for logging in to a docker registry. If username - // matches `projects/*/secrets/*/versions/*` then Batch will read the + // matches "projects/*/secrets/*/versions/*" then Batch will read the // username from the Secret Manager. string username = 10; // Optional password for logging in to a docker registry. If password - // matches `projects/*/secrets/*/versions/*` then Batch will read the + // matches "projects/*/secrets/*/versions/*" then Batch will read the // password from the Secret Manager; string password = 11; } diff --git a/google/cloud/batch/v1alpha/volume.proto b/google/cloud/batch/v1alpha/volume.proto index b71a62bb8b..4112d2363a 100644 --- a/google/cloud/batch/v1alpha/volume.proto +++ b/google/cloud/batch/v1alpha/volume.proto @@ -25,49 +25,53 @@ 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. +// Volume describes a volume and parameters for it to be mounted to a VM. message Volume { // The source for the volume. oneof source { - // An NFS source for the volume (could be a Filestore, for example). + // A Network File System (NFS) volume. For example, a + // Filestore file share. NFS nfs = 1; - // A persistent disk source for the volume. + // Deprecated: please use device_name instead. PD pd = 2 [deprecated = true]; - // A Google Cloud Storage source for the volume. + // A Google Cloud Storage (GCS) volume. GCS gcs = 3; - // Device name of an attached disk + // 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; } - // Mount path for the volume, e.g. /mnt/share + // The mount path for the volume, e.g. /mnt/disks/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 + // 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 server and remote path: : +// Represents an NFS volume. message NFS { - // URI of the NFS server, e.g. an IP address. + // The IP address of the NFS. string server = 1; - // Remote source path exported from NFS, e.g., "/share". + // Remote source path exported from the NFS, e.g., "/share". string remote_path = 2; } -// Represents a GCP persistent disk +// Deprecated: please use device_name instead. message PD { // PD disk name, e.g. pd-1. string disk = 1; @@ -82,7 +86,7 @@ message PD { bool existing = 3 [deprecated = true]; } -// Represents a Google Cloud Storage volume source config. +// 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/