diff --git a/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/AllocationPolicy.java b/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/AllocationPolicy.java index 53e426424e05..cf8249dcbc3d 100644 --- a/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/AllocationPolicy.java +++ b/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/AllocationPolicy.java @@ -43,6 +43,7 @@ private AllocationPolicy() { instanceTemplates_ = com.google.protobuf.LazyStringArrayList.emptyList(); provisioningModels_ = java.util.Collections.emptyList(); serviceAccountEmail_ = ""; + tags_ = com.google.protobuf.LazyStringArrayList.emptyList(); } @java.lang.Override @@ -14331,6 +14332,86 @@ public com.google.cloud.batch.v1alpha.AllocationPolicy.PlacementPolicy getPlacem : placement_; } + public static final int TAGS_FIELD_NUMBER = 11; + + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList tags_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + /** + * + * + *
+ * Optional. Tags applied to the VM instances. + * + * The tags identify valid sources or targets for network firewalls. + * Each tag must be 1-63 characters long, and comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + *+ * + *
repeated string tags = 11 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return A list containing the tags.
+ */
+ public com.google.protobuf.ProtocolStringList getTagsList() {
+ return tags_;
+ }
+ /**
+ *
+ *
+ * + * Optional. Tags applied to the VM instances. + * + * The tags identify valid sources or targets for network firewalls. + * Each tag must be 1-63 characters long, and comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + *+ * + *
repeated string tags = 11 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The count of tags.
+ */
+ public int getTagsCount() {
+ return tags_.size();
+ }
+ /**
+ *
+ *
+ * + * Optional. Tags applied to the VM instances. + * + * The tags identify valid sources or targets for network firewalls. + * Each tag must be 1-63 characters long, and comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + *+ * + *
repeated string tags = 11 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param index The index of the element to return.
+ * @return The tags at the given index.
+ */
+ public java.lang.String getTags(int index) {
+ return tags_.get(index);
+ }
+ /**
+ *
+ *
+ * + * Optional. Tags applied to the VM instances. + * + * The tags identify valid sources or targets for network firewalls. + * Each tag must be 1-63 characters long, and comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + *+ * + *
repeated string tags = 11 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param index The index of the value to return.
+ * @return The bytes of the tags at the given index.
+ */
+ public com.google.protobuf.ByteString getTagsBytes(int index) {
+ return tags_.getByteString(index);
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -14379,6 +14460,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (placement_ != null) {
output.writeMessage(10, getPlacement());
}
+ for (int i = 0; i < tags_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 11, tags_.getRaw(i));
+ }
getUnknownFields().writeTo(output);
}
@@ -14440,6 +14524,14 @@ public int getSerializedSize() {
if (placement_ != null) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, getPlacement());
}
+ {
+ int dataSize = 0;
+ for (int i = 0; i < tags_.size(); i++) {
+ dataSize += computeStringSizeNoTag(tags_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getTagsList().size();
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -14481,6 +14573,7 @@ public boolean equals(final java.lang.Object obj) {
if (hasPlacement()) {
if (!getPlacement().equals(other.getPlacement())) return false;
}
+ if (!getTagsList().equals(other.getTagsList())) return false;
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@@ -14530,6 +14623,10 @@ public int hashCode() {
hash = (37 * hash) + PLACEMENT_FIELD_NUMBER;
hash = (53 * hash) + getPlacement().hashCode();
}
+ if (getTagsCount() > 0) {
+ hash = (37 * hash) + TAGS_FIELD_NUMBER;
+ hash = (53 * hash) + getTagsList().hashCode();
+ }
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@@ -14727,6 +14824,7 @@ public Builder clear() {
placementBuilder_.dispose();
placementBuilder_ = null;
}
+ tags_ = com.google.protobuf.LazyStringArrayList.emptyList();
return this;
}
@@ -14809,6 +14907,10 @@ private void buildPartial0(com.google.cloud.batch.v1alpha.AllocationPolicy resul
if (((from_bitField0_ & 0x00000200) != 0)) {
result.placement_ = placementBuilder_ == null ? placement_ : placementBuilder_.build();
}
+ if (((from_bitField0_ & 0x00000400) != 0)) {
+ tags_.makeImmutable();
+ result.tags_ = tags_;
+ }
}
@java.lang.Override
@@ -14926,6 +15028,16 @@ public Builder mergeFrom(com.google.cloud.batch.v1alpha.AllocationPolicy other)
if (other.hasPlacement()) {
mergePlacement(other.getPlacement());
}
+ if (!other.tags_.isEmpty()) {
+ if (tags_.isEmpty()) {
+ tags_ = other.tags_;
+ bitField0_ |= 0x00000400;
+ } else {
+ ensureTagsIsMutable();
+ tags_.addAll(other.tags_);
+ }
+ onChanged();
+ }
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -15041,6 +15153,13 @@ public Builder mergeFrom(
bitField0_ |= 0x00000200;
break;
} // case 82
+ case 90:
+ {
+ java.lang.String s = input.readStringRequireUtf8();
+ ensureTagsIsMutable();
+ tags_.add(s);
+ break;
+ } // case 90
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -17316,6 +17435,216 @@ public Builder clearPlacement() {
return placementBuilder_;
}
+ private com.google.protobuf.LazyStringArrayList tags_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
+
+ private void ensureTagsIsMutable() {
+ if (!tags_.isModifiable()) {
+ tags_ = new com.google.protobuf.LazyStringArrayList(tags_);
+ }
+ bitField0_ |= 0x00000400;
+ }
+ /**
+ *
+ *
+ * + * Optional. Tags applied to the VM instances. + * + * The tags identify valid sources or targets for network firewalls. + * Each tag must be 1-63 characters long, and comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + *+ * + *
repeated string tags = 11 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return A list containing the tags.
+ */
+ public com.google.protobuf.ProtocolStringList getTagsList() {
+ tags_.makeImmutable();
+ return tags_;
+ }
+ /**
+ *
+ *
+ * + * Optional. Tags applied to the VM instances. + * + * The tags identify valid sources or targets for network firewalls. + * Each tag must be 1-63 characters long, and comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + *+ * + *
repeated string tags = 11 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The count of tags.
+ */
+ public int getTagsCount() {
+ return tags_.size();
+ }
+ /**
+ *
+ *
+ * + * Optional. Tags applied to the VM instances. + * + * The tags identify valid sources or targets for network firewalls. + * Each tag must be 1-63 characters long, and comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + *+ * + *
repeated string tags = 11 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param index The index of the element to return.
+ * @return The tags at the given index.
+ */
+ public java.lang.String getTags(int index) {
+ return tags_.get(index);
+ }
+ /**
+ *
+ *
+ * + * Optional. Tags applied to the VM instances. + * + * The tags identify valid sources or targets for network firewalls. + * Each tag must be 1-63 characters long, and comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + *+ * + *
repeated string tags = 11 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param index The index of the value to return.
+ * @return The bytes of the tags at the given index.
+ */
+ public com.google.protobuf.ByteString getTagsBytes(int index) {
+ return tags_.getByteString(index);
+ }
+ /**
+ *
+ *
+ * + * Optional. Tags applied to the VM instances. + * + * The tags identify valid sources or targets for network firewalls. + * Each tag must be 1-63 characters long, and comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + *+ * + *
repeated string tags = 11 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param index The index to set the value at.
+ * @param value The tags to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTags(int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureTagsIsMutable();
+ tags_.set(index, value);
+ bitField0_ |= 0x00000400;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. Tags applied to the VM instances. + * + * The tags identify valid sources or targets for network firewalls. + * Each tag must be 1-63 characters long, and comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + *+ * + *
repeated string tags = 11 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The tags to add.
+ * @return This builder for chaining.
+ */
+ public Builder addTags(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureTagsIsMutable();
+ tags_.add(value);
+ bitField0_ |= 0x00000400;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. Tags applied to the VM instances. + * + * The tags identify valid sources or targets for network firewalls. + * Each tag must be 1-63 characters long, and comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + *+ * + *
repeated string tags = 11 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param values The tags to add.
+ * @return This builder for chaining.
+ */
+ public Builder addAllTags(java.lang.Iterable+ * Optional. Tags applied to the VM instances. + * + * The tags identify valid sources or targets for network firewalls. + * Each tag must be 1-63 characters long, and comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + *+ * + *
repeated string tags = 11 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearTags() {
+ tags_ = com.google.protobuf.LazyStringArrayList.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000400);
+ ;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. Tags applied to the VM instances. + * + * The tags identify valid sources or targets for network firewalls. + * Each tag must be 1-63 characters long, and comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + *+ * + *
repeated string tags = 11 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The bytes of the tags to add.
+ * @return This builder for chaining.
+ */
+ public Builder addTagsBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensureTagsIsMutable();
+ tags_.add(value);
+ bitField0_ |= 0x00000400;
+ onChanged();
+ return this;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
diff --git a/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/AllocationPolicyOrBuilder.java b/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/AllocationPolicyOrBuilder.java
index 332d809a6610..3430b1bfd939 100644
--- a/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/AllocationPolicyOrBuilder.java
+++ b/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/AllocationPolicyOrBuilder.java
@@ -565,4 +565,71 @@ java.lang.String getLabelsOrDefault(
* .google.cloud.batch.v1alpha.AllocationPolicy.PlacementPolicy placement = 10;
*/
com.google.cloud.batch.v1alpha.AllocationPolicy.PlacementPolicyOrBuilder getPlacementOrBuilder();
+
+ /**
+ *
+ *
+ * + * Optional. Tags applied to the VM instances. + * + * The tags identify valid sources or targets for network firewalls. + * Each tag must be 1-63 characters long, and comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + *+ * + *
repeated string tags = 11 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return A list containing the tags.
+ */
+ java.util.List+ * Optional. Tags applied to the VM instances. + * + * The tags identify valid sources or targets for network firewalls. + * Each tag must be 1-63 characters long, and comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + *+ * + *
repeated string tags = 11 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The count of tags.
+ */
+ int getTagsCount();
+ /**
+ *
+ *
+ * + * Optional. Tags applied to the VM instances. + * + * The tags identify valid sources or targets for network firewalls. + * Each tag must be 1-63 characters long, and comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + *+ * + *
repeated string tags = 11 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param index The index of the element to return.
+ * @return The tags at the given index.
+ */
+ java.lang.String getTags(int index);
+ /**
+ *
+ *
+ * + * Optional. Tags applied to the VM instances. + * + * The tags identify valid sources or targets for network firewalls. + * Each tag must be 1-63 characters long, and comply with + * [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). + *+ * + *
repeated string tags = 11 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param index The index of the value to return.
+ * @return The bytes of the tags at the given index.
+ */
+ com.google.protobuf.ByteString getTagsBytes(int index);
}
diff --git a/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/JobProto.java b/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/JobProto.java
index 1d716f482129..a75e6ce12b0a 100644
--- a/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/JobProto.java
+++ b/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/JobProto.java
@@ -229,7 +229,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\016new_task_state\030\003 \001(\0162,.google.cloud.bat"
+ "ch.v1alpha.TaskStatus.State\"K\n\004Type\022\024\n\020T"
+ "YPE_UNSPECIFIED\020\000\022\025\n\021JOB_STATE_CHANGED\020\001"
- + "\022\026\n\022TASK_STATE_CHANGED\020\002\"\240\021\n\020AllocationP"
+ + "\022\026\n\022TASK_STATE_CHANGED\020\002\"\264\021\n\020AllocationP"
+ "olicy\022M\n\010location\030\001 \001(\0132;.google.cloud.b"
+ "atch.v1alpha.AllocationPolicy.LocationPo"
+ "licy\022Q\n\010instance\030\002 \001(\0132;.google.cloud.ba"
@@ -248,70 +248,71 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "ch.v1alpha.AllocationPolicy.NetworkPolic"
+ "y\022O\n\tplacement\030\n \001(\0132<.google.cloud.batc"
+ "h.v1alpha.AllocationPolicy.PlacementPoli"
- + "cy\032E\n\016LocationPolicy\022\031\n\021allowed_location"
- + "s\030\001 \003(\t\022\030\n\020denied_locations\030\002 \003(\t\032q\n\004Dis"
- + "k\022\017\n\005image\030\004 \001(\tH\000\022\022\n\010snapshot\030\005 \001(\tH\000\022\014"
- + "\n\004type\030\001 \001(\t\022\017\n\007size_gb\030\002 \001(\003\022\026\n\016disk_in"
- + "terface\030\006 \001(\tB\r\n\013data_source\032\217\001\n\014Attache"
- + "dDisk\022E\n\010new_disk\030\001 \001(\01321.google.cloud.b"
- + "atch.v1alpha.AllocationPolicy.DiskH\000\022\027\n\r"
- + "existing_disk\030\002 \001(\tH\000\022\023\n\013device_name\030\003 \001"
- + "(\tB\n\n\010attached\032i\n\013Accelerator\022\014\n\004type\030\001 "
- + "\001(\t\022\r\n\005count\030\002 \001(\003\022\037\n\023install_gpu_driver"
- + "s\030\003 \001(\010B\002\030\001\022\034\n\016driver_version\030\004 \001(\tB\004\342A\001"
- + "\001\032\272\003\n\016InstancePolicy\022!\n\025allowed_machine_"
- + "types\030\001 \003(\tB\002\030\001\022\024\n\014machine_type\030\002 \001(\t\022\030\n"
- + "\020min_cpu_platform\030\003 \001(\t\022Z\n\022provisioning_"
- + "model\030\004 \001(\0162>.google.cloud.batch.v1alpha"
- + ".AllocationPolicy.ProvisioningModel\022N\n\014a"
- + "ccelerators\030\005 \003(\01328.google.cloud.batch.v"
- + "1alpha.AllocationPolicy.Accelerator\022D\n\tb"
- + "oot_disk\030\010 \001(\01321.google.cloud.batch.v1al"
- + "pha.AllocationPolicy.Disk\022H\n\005disks\030\006 \003(\013"
- + "29.google.cloud.batch.v1alpha.Allocation"
- + "Policy.AttachedDisk\022\031\n\013reservation\030\007 \001(\t"
- + "B\004\342A\001\001\032\266\001\n\030InstancePolicyOrTemplate\022M\n\006p"
- + "olicy\030\001 \001(\0132;.google.cloud.batch.v1alpha"
- + ".AllocationPolicy.InstancePolicyH\000\022\033\n\021in"
- + "stance_template\030\002 \001(\tH\000\022\033\n\023install_gpu_d"
- + "rivers\030\003 \001(\010B\021\n\017policy_template\032W\n\020Netwo"
- + "rkInterface\022\017\n\007network\030\001 \001(\t\022\022\n\nsubnetwo"
- + "rk\030\002 \001(\t\022\036\n\026no_external_ip_address\030\003 \001(\010"
- + "\032j\n\rNetworkPolicy\022Y\n\022network_interfaces\030"
- + "\001 \003(\0132=.google.cloud.batch.v1alpha.Alloc"
- + "ationPolicy.NetworkInterface\032<\n\017Placemen"
- + "tPolicy\022\023\n\013collocation\030\001 \001(\t\022\024\n\014max_dist"
- + "ance\030\002 \001(\003\032-\n\013LabelsEntry\022\013\n\003key\030\001 \001(\t\022\r"
- + "\n\005value\030\002 \001(\t:\0028\001\"`\n\021ProvisioningModel\022\""
- + "\n\036PROVISIONING_MODEL_UNSPECIFIED\020\000\022\014\n\010ST"
- + "ANDARD\020\001\022\010\n\004SPOT\020\002\022\017\n\013PREEMPTIBLE\020\003\"\227\006\n\t"
- + "TaskGroup\022\022\n\004name\030\001 \001(\tB\004\342A\001\003\022=\n\ttask_sp"
- + "ec\030\003 \001(\0132$.google.cloud.batch.v1alpha.Ta"
- + "skSpecB\004\342A\001\002\022\022\n\ntask_count\030\004 \001(\003\022\023\n\013para"
- + "llelism\030\005 \001(\003\022Q\n\021scheduling_policy\030\006 \001(\016"
- + "26.google.cloud.batch.v1alpha.TaskGroup."
- + "SchedulingPolicy\022G\n\021allocation_policy\030\007 "
- + "\001(\0132,.google.cloud.batch.v1alpha.Allocat"
- + "ionPolicy\022A\n\006labels\030\010 \003(\01321.google.cloud"
- + ".batch.v1alpha.TaskGroup.LabelsEntry\022B\n\021"
- + "task_environments\030\t \003(\0132\'.google.cloud.b"
- + "atch.v1alpha.Environment\022\033\n\023task_count_p"
- + "er_node\030\n \001(\003\022\032\n\022require_hosts_file\030\013 \001("
- + "\010\022\026\n\016permissive_ssh\030\014 \001(\010\022\034\n\016enable_oslo"
- + "gin\030\r \001(\010B\004\342A\001\001\032-\n\013LabelsEntry\022\013\n\003key\030\001 "
- + "\001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\\\n\020SchedulingPoli"
- + "cy\022!\n\035SCHEDULING_POLICY_UNSPECIFIED\020\000\022\027\n"
- + "\023AS_SOON_AS_POSSIBLE\020\001\022\014\n\010IN_ORDER\020\002:o\352A"
- + "l\n\036batch.googleapis.com/TaskGroup\022Jproje"
- + "cts/{project}/locations/{location}/jobs/"
- + "{job}/taskGroups/{task_group}\"/\n\016Service"
- + "Account\022\r\n\005email\030\001 \001(\t\022\016\n\006scopes\030\002 \003(\tB\302"
- + "\001\n\036com.google.cloud.batch.v1alphaB\010JobPr"
- + "otoP\001Z4cloud.google.com/go/batch/apiv1al"
- + "pha/batchpb;batchpb\242\002\003GCB\252\002\032Google.Cloud"
- + ".Batch.V1Alpha\312\002\032Google\\Cloud\\Batch\\V1al"
- + "pha\352\002\035Google::Cloud::Batch::V1alphab\006pro"
- + "to3"
+ + "cy\022\022\n\004tags\030\013 \003(\tB\004\342A\001\001\032E\n\016LocationPolicy"
+ + "\022\031\n\021allowed_locations\030\001 \003(\t\022\030\n\020denied_lo"
+ + "cations\030\002 \003(\t\032q\n\004Disk\022\017\n\005image\030\004 \001(\tH\000\022\022"
+ + "\n\010snapshot\030\005 \001(\tH\000\022\014\n\004type\030\001 \001(\t\022\017\n\007size"
+ + "_gb\030\002 \001(\003\022\026\n\016disk_interface\030\006 \001(\tB\r\n\013dat"
+ + "a_source\032\217\001\n\014AttachedDisk\022E\n\010new_disk\030\001 "
+ + "\001(\01321.google.cloud.batch.v1alpha.Allocat"
+ + "ionPolicy.DiskH\000\022\027\n\rexisting_disk\030\002 \001(\tH"
+ + "\000\022\023\n\013device_name\030\003 \001(\tB\n\n\010attached\032i\n\013Ac"
+ + "celerator\022\014\n\004type\030\001 \001(\t\022\r\n\005count\030\002 \001(\003\022\037"
+ + "\n\023install_gpu_drivers\030\003 \001(\010B\002\030\001\022\034\n\016drive"
+ + "r_version\030\004 \001(\tB\004\342A\001\001\032\272\003\n\016InstancePolicy"
+ + "\022!\n\025allowed_machine_types\030\001 \003(\tB\002\030\001\022\024\n\014m"
+ + "achine_type\030\002 \001(\t\022\030\n\020min_cpu_platform\030\003 "
+ + "\001(\t\022Z\n\022provisioning_model\030\004 \001(\0162>.google"
+ + ".cloud.batch.v1alpha.AllocationPolicy.Pr"
+ + "ovisioningModel\022N\n\014accelerators\030\005 \003(\01328."
+ + "google.cloud.batch.v1alpha.AllocationPol"
+ + "icy.Accelerator\022D\n\tboot_disk\030\010 \001(\01321.goo"
+ + "gle.cloud.batch.v1alpha.AllocationPolicy"
+ + ".Disk\022H\n\005disks\030\006 \003(\01329.google.cloud.batc"
+ + "h.v1alpha.AllocationPolicy.AttachedDisk\022"
+ + "\031\n\013reservation\030\007 \001(\tB\004\342A\001\001\032\266\001\n\030InstanceP"
+ + "olicyOrTemplate\022M\n\006policy\030\001 \001(\0132;.google"
+ + ".cloud.batch.v1alpha.AllocationPolicy.In"
+ + "stancePolicyH\000\022\033\n\021instance_template\030\002 \001("
+ + "\tH\000\022\033\n\023install_gpu_drivers\030\003 \001(\010B\021\n\017poli"
+ + "cy_template\032W\n\020NetworkInterface\022\017\n\007netwo"
+ + "rk\030\001 \001(\t\022\022\n\nsubnetwork\030\002 \001(\t\022\036\n\026no_exter"
+ + "nal_ip_address\030\003 \001(\010\032j\n\rNetworkPolicy\022Y\n"
+ + "\022network_interfaces\030\001 \003(\0132=.google.cloud"
+ + ".batch.v1alpha.AllocationPolicy.NetworkI"
+ + "nterface\032<\n\017PlacementPolicy\022\023\n\013collocati"
+ + "on\030\001 \001(\t\022\024\n\014max_distance\030\002 \001(\003\032-\n\013Labels"
+ + "Entry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"`\n"
+ + "\021ProvisioningModel\022\"\n\036PROVISIONING_MODEL"
+ + "_UNSPECIFIED\020\000\022\014\n\010STANDARD\020\001\022\010\n\004SPOT\020\002\022\017"
+ + "\n\013PREEMPTIBLE\020\003\"\270\006\n\tTaskGroup\022\022\n\004name\030\001 "
+ + "\001(\tB\004\342A\001\003\022=\n\ttask_spec\030\003 \001(\0132$.google.cl"
+ + "oud.batch.v1alpha.TaskSpecB\004\342A\001\002\022\022\n\ntask"
+ + "_count\030\004 \001(\003\022\023\n\013parallelism\030\005 \001(\003\022Q\n\021sch"
+ + "eduling_policy\030\006 \001(\01626.google.cloud.batc"
+ + "h.v1alpha.TaskGroup.SchedulingPolicy\022G\n\021"
+ + "allocation_policy\030\007 \001(\0132,.google.cloud.b"
+ + "atch.v1alpha.AllocationPolicy\022A\n\006labels\030"
+ + "\010 \003(\01321.google.cloud.batch.v1alpha.TaskG"
+ + "roup.LabelsEntry\022B\n\021task_environments\030\t "
+ + "\003(\0132\'.google.cloud.batch.v1alpha.Environ"
+ + "ment\022\033\n\023task_count_per_node\030\n \001(\003\022\032\n\022req"
+ + "uire_hosts_file\030\013 \001(\010\022\026\n\016permissive_ssh\030"
+ + "\014 \001(\010\022\036\n\016enable_oslogin\030\r \001(\010B\006\030\001\342A\001\001\022\035\n"
+ + "\017run_as_non_root\030\016 \001(\010B\004\342A\001\001\032-\n\013LabelsEn"
+ + "try\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\\\n\020S"
+ + "chedulingPolicy\022!\n\035SCHEDULING_POLICY_UNS"
+ + "PECIFIED\020\000\022\027\n\023AS_SOON_AS_POSSIBLE\020\001\022\014\n\010I"
+ + "N_ORDER\020\002:o\352Al\n\036batch.googleapis.com/Tas"
+ + "kGroup\022Jprojects/{project}/locations/{lo"
+ + "cation}/jobs/{job}/taskGroups/{task_grou"
+ + "p}\"/\n\016ServiceAccount\022\r\n\005email\030\001 \001(\t\022\016\n\006s"
+ + "copes\030\002 \003(\tB\302\001\n\036com.google.cloud.batch.v"
+ + "1alphaB\010JobProtoP\001Z4cloud.google.com/go/"
+ + "batch/apiv1alpha/batchpb;batchpb\242\002\003GCB\252\002"
+ + "\032Google.Cloud.Batch.V1Alpha\312\002\032Google\\Clo"
+ + "ud\\Batch\\V1alpha\352\002\035Google::Cloud::Batch:"
+ + ":V1alphab\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -468,6 +469,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Labels",
"Network",
"Placement",
+ "Tags",
});
internal_static_google_cloud_batch_v1alpha_AllocationPolicy_LocationPolicy_descriptor =
internal_static_google_cloud_batch_v1alpha_AllocationPolicy_descriptor
@@ -594,6 +596,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"RequireHostsFile",
"PermissiveSsh",
"EnableOslogin",
+ "RunAsNonRoot",
});
internal_static_google_cloud_batch_v1alpha_TaskGroup_LabelsEntry_descriptor =
internal_static_google_cloud_batch_v1alpha_TaskGroup_descriptor.getNestedTypes().get(0);
diff --git a/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/Runnable.java b/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/Runnable.java
index 0e7173e27eb8..fe509c6731f0 100644
--- a/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/Runnable.java
+++ b/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/Runnable.java
@@ -384,11 +384,13 @@ public interface ContainerOrBuilder
*
*
* - * Optional. Not yet implemented. - * If set to true, container will run with Image streaming. + * Optional. If set to true, container will run with Image streaming. * The container runtime will be changed to containerd * instead of docker. Currently, only imageUri, commands, entrypoint * and volumes are supported and any other fields will be ignored. + * Please refer + * [here](https://github.com/GoogleCloudPlatform/batch-samples/tree/main/api-samples/image-streaming) + * for the feature requirements and limitations. ** *
bool enable_image_streaming = 12 [(.google.api.field_behavior) = OPTIONAL];
@@ -915,11 +917,13 @@ public com.google.protobuf.ByteString getPasswordBytes() {
*
*
* - * Optional. Not yet implemented. - * If set to true, container will run with Image streaming. + * Optional. If set to true, container will run with Image streaming. * The container runtime will be changed to containerd * instead of docker. Currently, only imageUri, commands, entrypoint * and volumes are supported and any other fields will be ignored. + * Please refer + * [here](https://github.com/GoogleCloudPlatform/batch-samples/tree/main/api-samples/image-streaming) + * for the feature requirements and limitations. ** *
bool enable_image_streaming = 12 [(.google.api.field_behavior) = OPTIONAL];
@@ -2571,11 +2575,13 @@ public Builder setPasswordBytes(com.google.protobuf.ByteString value) {
*
*
* - * Optional. Not yet implemented. - * If set to true, container will run with Image streaming. + * Optional. If set to true, container will run with Image streaming. * The container runtime will be changed to containerd * instead of docker. Currently, only imageUri, commands, entrypoint * and volumes are supported and any other fields will be ignored. + * Please refer + * [here](https://github.com/GoogleCloudPlatform/batch-samples/tree/main/api-samples/image-streaming) + * for the feature requirements and limitations. ** *
bool enable_image_streaming = 12 [(.google.api.field_behavior) = OPTIONAL];
@@ -2590,11 +2596,13 @@ public boolean getEnableImageStreaming() {
*
*
* - * Optional. Not yet implemented. - * If set to true, container will run with Image streaming. + * Optional. If set to true, container will run with Image streaming. * The container runtime will be changed to containerd * instead of docker. Currently, only imageUri, commands, entrypoint * and volumes are supported and any other fields will be ignored. + * Please refer + * [here](https://github.com/GoogleCloudPlatform/batch-samples/tree/main/api-samples/image-streaming) + * for the feature requirements and limitations. ** *
bool enable_image_streaming = 12 [(.google.api.field_behavior) = OPTIONAL];
@@ -2613,11 +2621,13 @@ public Builder setEnableImageStreaming(boolean value) {
*
*
* - * Optional. Not yet implemented. - * If set to true, container will run with Image streaming. + * Optional. If set to true, container will run with Image streaming. * The container runtime will be changed to containerd * instead of docker. Currently, only imageUri, commands, entrypoint * and volumes are supported and any other fields will be ignored. + * Please refer + * [here](https://github.com/GoogleCloudPlatform/batch-samples/tree/main/api-samples/image-streaming) + * for the feature requirements and limitations. ** *
bool enable_image_streaming = 12 [(.google.api.field_behavior) = OPTIONAL];
diff --git a/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/TaskGroup.java b/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/TaskGroup.java
index 94d10a6ced06..03fcf88a445e 100644
--- a/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/TaskGroup.java
+++ b/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/TaskGroup.java
@@ -784,8 +784,8 @@ public boolean getPermissiveSsh() {
*
*
* - * Optional. When true, Batch will use the OS Login generated POSIX account to - * exeucute the runnables instead of the default root user. + * Optional. Deprecated: When true, Batch will use the OS Login generated + * POSIX account to exeucute the runnables instead of the default root user. * * To control root or non-root privilege for runnable execution, the project \ * Admin user needs to configure IAM roles according to @@ -795,15 +795,40 @@ public boolean getPermissiveSsh() { * roles/compute.osLogin should be granted to the Batch job submitter. ** - *
bool enable_oslogin = 13 [(.google.api.field_behavior) = OPTIONAL];
+ * bool enable_oslogin = 13 [deprecated = true, (.google.api.field_behavior) = OPTIONAL];
+ *
*
+ * @deprecated google.cloud.batch.v1alpha.TaskGroup.enable_oslogin is deprecated. See
+ * google/cloud/batch/v1alpha/job.proto;l=710
* @return The enableOslogin.
*/
@java.lang.Override
+ @java.lang.Deprecated
public boolean getEnableOslogin() {
return enableOslogin_;
}
+ public static final int RUN_AS_NON_ROOT_FIELD_NUMBER = 14;
+ private boolean runAsNonRoot_ = false;
+ /**
+ *
+ *
+ * + * Optional. If not set or set to false, Batch will use root user to execute + * runnables. If set to true, Batch will make sure to run the runnables using + * non-root user. Currently, the non-root user Batch used is generated by OS + * login. Reference: https://cloud.google.com/compute/docs/oslogin + *+ * + *
bool run_as_non_root = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The runAsNonRoot.
+ */
+ @java.lang.Override
+ public boolean getRunAsNonRoot() {
+ return runAsNonRoot_;
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -855,6 +880,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (enableOslogin_ != false) {
output.writeBool(13, enableOslogin_);
}
+ if (runAsNonRoot_ != false) {
+ output.writeBool(14, runAsNonRoot_);
+ }
getUnknownFields().writeTo(output);
}
@@ -909,6 +937,9 @@ public int getSerializedSize() {
if (enableOslogin_ != false) {
size += com.google.protobuf.CodedOutputStream.computeBoolSize(13, enableOslogin_);
}
+ if (runAsNonRoot_ != false) {
+ size += com.google.protobuf.CodedOutputStream.computeBoolSize(14, runAsNonRoot_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -942,6 +973,7 @@ public boolean equals(final java.lang.Object obj) {
if (getRequireHostsFile() != other.getRequireHostsFile()) return false;
if (getPermissiveSsh() != other.getPermissiveSsh()) return false;
if (getEnableOslogin() != other.getEnableOslogin()) return false;
+ if (getRunAsNonRoot() != other.getRunAsNonRoot()) return false;
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@@ -985,6 +1017,8 @@ public int hashCode() {
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getPermissiveSsh());
hash = (37 * hash) + ENABLE_OSLOGIN_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getEnableOslogin());
+ hash = (37 * hash) + RUN_AS_NON_ROOT_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getRunAsNonRoot());
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@@ -1170,6 +1204,7 @@ public Builder clear() {
requireHostsFile_ = false;
permissiveSsh_ = false;
enableOslogin_ = false;
+ runAsNonRoot_ = false;
return this;
}
@@ -1254,6 +1289,9 @@ private void buildPartial0(com.google.cloud.batch.v1alpha.TaskGroup result) {
if (((from_bitField0_ & 0x00000800) != 0)) {
result.enableOslogin_ = enableOslogin_;
}
+ if (((from_bitField0_ & 0x00001000) != 0)) {
+ result.runAsNonRoot_ = runAsNonRoot_;
+ }
}
@java.lang.Override
@@ -1362,6 +1400,9 @@ public Builder mergeFrom(com.google.cloud.batch.v1alpha.TaskGroup other) {
if (other.getEnableOslogin() != false) {
setEnableOslogin(other.getEnableOslogin());
}
+ if (other.getRunAsNonRoot() != false) {
+ setRunAsNonRoot(other.getRunAsNonRoot());
+ }
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -1474,6 +1515,12 @@ public Builder mergeFrom(
bitField0_ |= 0x00000800;
break;
} // case 104
+ case 112:
+ {
+ runAsNonRoot_ = input.readBool();
+ bitField0_ |= 0x00001000;
+ break;
+ } // case 112
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -3105,8 +3152,8 @@ public Builder clearPermissiveSsh() {
*
*
* - * Optional. When true, Batch will use the OS Login generated POSIX account to - * exeucute the runnables instead of the default root user. + * Optional. Deprecated: When true, Batch will use the OS Login generated + * POSIX account to exeucute the runnables instead of the default root user. * * To control root or non-root privilege for runnable execution, the project \ * Admin user needs to configure IAM roles according to @@ -3116,11 +3163,15 @@ public Builder clearPermissiveSsh() { * roles/compute.osLogin should be granted to the Batch job submitter. ** - *
bool enable_oslogin = 13 [(.google.api.field_behavior) = OPTIONAL];
+ * bool enable_oslogin = 13 [deprecated = true, (.google.api.field_behavior) = OPTIONAL];
+ *
*
+ * @deprecated google.cloud.batch.v1alpha.TaskGroup.enable_oslogin is deprecated. See
+ * google/cloud/batch/v1alpha/job.proto;l=710
* @return The enableOslogin.
*/
@java.lang.Override
+ @java.lang.Deprecated
public boolean getEnableOslogin() {
return enableOslogin_;
}
@@ -3128,8 +3179,8 @@ public boolean getEnableOslogin() {
*
*
* - * Optional. When true, Batch will use the OS Login generated POSIX account to - * exeucute the runnables instead of the default root user. + * Optional. Deprecated: When true, Batch will use the OS Login generated + * POSIX account to exeucute the runnables instead of the default root user. * * To control root or non-root privilege for runnable execution, the project \ * Admin user needs to configure IAM roles according to @@ -3139,11 +3190,15 @@ public boolean getEnableOslogin() { * roles/compute.osLogin should be granted to the Batch job submitter. ** - *
bool enable_oslogin = 13 [(.google.api.field_behavior) = OPTIONAL];
+ * bool enable_oslogin = 13 [deprecated = true, (.google.api.field_behavior) = OPTIONAL];
+ *
*
+ * @deprecated google.cloud.batch.v1alpha.TaskGroup.enable_oslogin is deprecated. See
+ * google/cloud/batch/v1alpha/job.proto;l=710
* @param value The enableOslogin to set.
* @return This builder for chaining.
*/
+ @java.lang.Deprecated
public Builder setEnableOslogin(boolean value) {
enableOslogin_ = value;
@@ -3155,8 +3210,8 @@ public Builder setEnableOslogin(boolean value) {
*
*
* - * Optional. When true, Batch will use the OS Login generated POSIX account to - * exeucute the runnables instead of the default root user. + * Optional. Deprecated: When true, Batch will use the OS Login generated + * POSIX account to exeucute the runnables instead of the default root user. * * To control root or non-root privilege for runnable execution, the project \ * Admin user needs to configure IAM roles according to @@ -3166,10 +3221,14 @@ public Builder setEnableOslogin(boolean value) { * roles/compute.osLogin should be granted to the Batch job submitter. ** - *
bool enable_oslogin = 13 [(.google.api.field_behavior) = OPTIONAL];
+ * bool enable_oslogin = 13 [deprecated = true, (.google.api.field_behavior) = OPTIONAL];
+ *
*
+ * @deprecated google.cloud.batch.v1alpha.TaskGroup.enable_oslogin is deprecated. See
+ * google/cloud/batch/v1alpha/job.proto;l=710
* @return This builder for chaining.
*/
+ @java.lang.Deprecated
public Builder clearEnableOslogin() {
bitField0_ = (bitField0_ & ~0x00000800);
enableOslogin_ = false;
@@ -3177,6 +3236,68 @@ public Builder clearEnableOslogin() {
return this;
}
+ private boolean runAsNonRoot_;
+ /**
+ *
+ *
+ * + * Optional. If not set or set to false, Batch will use root user to execute + * runnables. If set to true, Batch will make sure to run the runnables using + * non-root user. Currently, the non-root user Batch used is generated by OS + * login. Reference: https://cloud.google.com/compute/docs/oslogin + *+ * + *
bool run_as_non_root = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The runAsNonRoot.
+ */
+ @java.lang.Override
+ public boolean getRunAsNonRoot() {
+ return runAsNonRoot_;
+ }
+ /**
+ *
+ *
+ * + * Optional. If not set or set to false, Batch will use root user to execute + * runnables. If set to true, Batch will make sure to run the runnables using + * non-root user. Currently, the non-root user Batch used is generated by OS + * login. Reference: https://cloud.google.com/compute/docs/oslogin + *+ * + *
bool run_as_non_root = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The runAsNonRoot to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRunAsNonRoot(boolean value) {
+
+ runAsNonRoot_ = value;
+ bitField0_ |= 0x00001000;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. If not set or set to false, Batch will use root user to execute + * runnables. If set to true, Batch will make sure to run the runnables using + * non-root user. Currently, the non-root user Batch used is generated by OS + * login. Reference: https://cloud.google.com/compute/docs/oslogin + *+ * + *
bool run_as_non_root = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearRunAsNonRoot() {
+ bitField0_ = (bitField0_ & ~0x00001000);
+ runAsNonRoot_ = false;
+ onChanged();
+ return this;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
diff --git a/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/TaskGroupOrBuilder.java b/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/TaskGroupOrBuilder.java
index 579a0bc34de1..a7c5cfee177f 100644
--- a/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/TaskGroupOrBuilder.java
+++ b/java-batch/proto-google-cloud-batch-v1alpha/src/main/java/com/google/cloud/batch/v1alpha/TaskGroupOrBuilder.java
@@ -413,8 +413,8 @@ java.lang.String getLabelsOrDefault(
*
*
* - * Optional. When true, Batch will use the OS Login generated POSIX account to - * exeucute the runnables instead of the default root user. + * Optional. Deprecated: When true, Batch will use the OS Login generated + * POSIX account to exeucute the runnables instead of the default root user. * * To control root or non-root privilege for runnable execution, the project \ * Admin user needs to configure IAM roles according to @@ -424,9 +424,29 @@ java.lang.String getLabelsOrDefault( * roles/compute.osLogin should be granted to the Batch job submitter. ** - *
bool enable_oslogin = 13 [(.google.api.field_behavior) = OPTIONAL];
+ * bool enable_oslogin = 13 [deprecated = true, (.google.api.field_behavior) = OPTIONAL];
+ *
*
+ * @deprecated google.cloud.batch.v1alpha.TaskGroup.enable_oslogin is deprecated. See
+ * google/cloud/batch/v1alpha/job.proto;l=710
* @return The enableOslogin.
*/
+ @java.lang.Deprecated
boolean getEnableOslogin();
+
+ /**
+ *
+ *
+ * + * Optional. If not set or set to false, Batch will use root user to execute + * runnables. If set to true, Batch will make sure to run the runnables using + * non-root user. Currently, the non-root user Batch used is generated by OS + * login. Reference: https://cloud.google.com/compute/docs/oslogin + *+ * + *
bool run_as_non_root = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The runAsNonRoot.
+ */
+ boolean getRunAsNonRoot();
}
diff --git a/java-batch/proto-google-cloud-batch-v1alpha/src/main/proto/google/cloud/batch/v1alpha/job.proto b/java-batch/proto-google-cloud-batch-v1alpha/src/main/proto/google/cloud/batch/v1alpha/job.proto
index bad02721e8f0..427dfa59d600 100644
--- a/java-batch/proto-google-cloud-batch-v1alpha/src/main/proto/google/cloud/batch/v1alpha/job.proto
+++ b/java-batch/proto-google-cloud-batch-v1alpha/src/main/proto/google/cloud/batch/v1alpha/job.proto
@@ -608,6 +608,13 @@ message AllocationPolicy {
// The placement policy.
PlacementPolicy placement = 10;
+
+ // Optional. Tags applied to the VM instances.
+ //
+ // The tags identify valid sources or targets for network firewalls.
+ // Each tag must be 1-63 characters long, and comply with
+ // [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
+ repeated string tags = 11 [(google.api.field_behavior) = OPTIONAL];
}
// A TaskGroup defines one or more Tasks that all share the same TaskSpec.
@@ -692,8 +699,8 @@ message TaskGroup {
// VMs running the Batch tasks in the same TaskGroup.
bool permissive_ssh = 12;
- // Optional. When true, Batch will use the OS Login generated POSIX account to
- // exeucute the runnables instead of the default root user.
+ // Optional. Deprecated: When true, Batch will use the OS Login generated
+ // POSIX account to exeucute the runnables instead of the default root user.
//
// To control root or non-root privilege for runnable execution, the project \
// Admin user needs to configure IAM roles according to
@@ -701,7 +708,14 @@ message TaskGroup {
// Specifically, if a root execution is needed, the roles/compute.osAdminLogin
// should be granted to the Batch job submitter. Otherwise,
// roles/compute.osLogin should be granted to the Batch job submitter.
- bool enable_oslogin = 13 [(google.api.field_behavior) = OPTIONAL];
+ bool enable_oslogin = 13
+ [deprecated = true, (google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If not set or set to false, Batch will use root user to execute
+ // runnables. If set to true, Batch will make sure to run the runnables using
+ // non-root user. Currently, the non-root user Batch used is generated by OS
+ // login. Reference: https://cloud.google.com/compute/docs/oslogin
+ bool run_as_non_root = 14 [(google.api.field_behavior) = OPTIONAL];
}
// Carries information about a Google Cloud service account.
diff --git a/java-batch/proto-google-cloud-batch-v1alpha/src/main/proto/google/cloud/batch/v1alpha/task.proto b/java-batch/proto-google-cloud-batch-v1alpha/src/main/proto/google/cloud/batch/v1alpha/task.proto
index 4c61e4f333bc..cc9bbf61f1e6 100644
--- a/java-batch/proto-google-cloud-batch-v1alpha/src/main/proto/google/cloud/batch/v1alpha/task.proto
+++ b/java-batch/proto-google-cloud-batch-v1alpha/src/main/proto/google/cloud/batch/v1alpha/task.proto
@@ -208,11 +208,13 @@ message Runnable {
// password from the Secret Manager;
string password = 11;
- // Optional. Not yet implemented.
- // If set to true, container will run with Image streaming.
+ // Optional. If set to true, container will run with Image streaming.
// The container runtime will be changed to containerd
// instead of docker. Currently, only imageUri, commands, entrypoint
// and volumes are supported and any other fields will be ignored.
+ // Please refer
+ // [here](https://github.com/GoogleCloudPlatform/batch-samples/tree/main/api-samples/image-streaming)
+ // for the feature requirements and limitations.
bool enable_image_streaming = 12 [(google.api.field_behavior) = OPTIONAL];
}